Manage nodepool configurations using the common-ci solution
in puppet-openstackci
Remove nodepool.yaml.erb from this repo as openstackci::nodepool
will pull it in from project-config/nodepool/nodepool.yaml
Remove the tox nodepool environment and test dependency as it
has been migrated to project-config
The nodepool logging template file and associated tool that generates the file
will remain in this repo. In the short term, updates to nodepool.yaml in
project-config repo may require a related change in this repo to update the logging
configuration. In the longer term, nodepool will be updated to automatically
log image creations without needing a customized logging configuration.
Depends-on: I89207d100eb4b6bbb502a6ed38831f49e4b29096
Depends-on: I473a1b78acdb035eb379394a7ed5f771434dc942
Depends-on: I6b01ab7260a41927fff34b9b81b631ea2c933f22
Change-Id: I2b45a7145805368b1598d3a3e8a94f0e4eb8cf2d
Now that we are putting the sensitive jenkins and nodepool database
credentials in the new secure.conf file, let's remove the sensitive
information from nodepool.yaml.
Depends-On: Ifa4d500c52974b9fd3a0b7fd9c28cf8f52899ca9
Change-Id: Ib045c104daac15360e62f46e3e5683c7a387bc96
In Ie9381740e3644feaee1f1b201499e3a253677f39 we created a new parameter
for the jenkins masters credentials as part of a move to put credentials
in their own config file.
Depends-On: Ie9381740e3644feaee1f1b201499e3a253677f39
Change-Id: I774b03ad49b232a11c0046dda5e0364bb1dcaede
As we move to using shade through nodepool, several things can consume
clouds.yaml via os-client-config. ansible openstack modules can also read
the file, as well as python-openstackclient. SO - if we start putting
clouds.yaml files places, then we can opt in to using it instead of
directories full of shell script env vars.
Change-Id: If25ee14f06a4530da4779e062b1ad46238e44f2e
Generate a logging configuration template for nodepool that splits
image-build logs out into separate files.
A tool to generate and maintain this file based on the nodepool
configuration is added.
The logging configuration template this tool creates is added
alongside the main configuration. This is passed to the deployment
puppet module via a parameter.
Change-Id: I4723c68e5c83b536560e0a8bd7b73e312b46fc02
Depends-on: Iec77fb62c353d09186140b23912caf02225a643b
The openstack_project::nodepool class does not expose vhost_name
parameter that is available in nodepool::init.pp class.
Change-Id: Ie975b4798d5219a3debde453e297bed3be72e9e6
Closes-Bug: 1383657
This change allows using absolute paths for 'nodepool_template',
instead of assuming that the templates will always live within
'openstack_project/manifests/nodepool'.
Change-Id: I480188d23b338c4011fd614c7377cb4c7e244ab5
Closes-Bug: 1383719
In order to use disk-image-builder to build nodepool images, we need
a few things. First, we need additional debs to be installed for
disk-image-builder to work. Then we need the image elements themselves
to describe the images we want to create. Also, a few helper scripts
for locally working with the disk images have been included.
Tested with build-image.sh script; devstack-gate-trusty.qcow2 created
correctly
Change-Id: I539743147341dc5b387d103fecd3e9ff0f01fdfc
The patch to add nodepool to jenkins-dev (https://review.openstack.org/#/c/57333)
did not work.
There were a few issues with it:
1. jenkins-dev.pp was passing literal strings to the nodepool module, instead it
should be passing in the variables.
2. jenkins-dev.pp was calling ::nodepool but puppet seems to think that it wants
::openstack_project::nodepool due to puppet's scoping weirdness :(
3. The script to build nodepool machines needed the jenkins_dev_ssh_key.
Fixes to above issues:
1. This is trivial, just passed the variables thru instead of literal strings.
2. The nodepool.pp module is renamed to nodepool_prod.pp to prevent the scoping problem.
3. We use the dev jenkins ssh key with dev nodepool by allowing the nodepool module
to pass arbitrary env settings through the defaults file.
Change-Id: Id91053212f088079ff1b0f06ebdce5c381f5cd19