Manage clouds.yaml on puppetmaster with puppet

For launch_node and for ansible-inventory we need a functioning
clouds.yaml file. The file should really just contain the entries we
actually need, becuase we don't want to be listing all the hosts
in nodepool. However, we do want ALL of the entries available, so the
all-clouds template has them all there. Not sure where we want that file
to go though.

Change-Id: Ibee80f9a4d8f159a626e2b4c2e9639134a559ae4
This commit is contained in:
Monty Taylor 2015-11-25 12:13:47 -05:00
parent 00a0d57847
commit b22ce9214c
4 changed files with 186 additions and 4 deletions

View File

@ -255,6 +255,7 @@ node 'puppetmaster.openstack.org' {
root_rsa_key => hiera('puppetmaster_root_rsa_key'), root_rsa_key => hiera('puppetmaster_root_rsa_key'),
jenkins_api_user => hiera('jenkins_api_user', 'username'), jenkins_api_user => hiera('jenkins_api_user', 'username'),
jenkins_api_key => hiera('jenkins_api_key'), jenkins_api_key => hiera('jenkins_api_key'),
puppetmaster_clouds => hiera('puppetmaster_clouds'),
} }
} }

View File

@ -2,6 +2,7 @@
# #
class openstack_project::puppetmaster ( class openstack_project::puppetmaster (
$jenkins_api_key, $jenkins_api_key,
$puppetmaster_clouds,
$jenkins_api_user = 'hudson-openstack', $jenkins_api_user = 'hudson-openstack',
$root_rsa_key = 'xxx', $root_rsa_key = 'xxx',
$puppetdb = true, $puppetdb = true,
@ -77,6 +78,21 @@ class openstack_project::puppetmaster (
mode => '0750', mode => '0750',
} }
file { '/etc/openstack':
ensure => directory,
owner => 'root',
group => 'admin',
mode => '0750',
}
file { '/etc/openstack/clouds.yaml':
ensure => present,
owner => 'root',
group => 'root',
mode => '0600',
content => template('openstack_project/puppetmaster/ansible-clouds.yaml.erb'),
}
# For puppet master apache serving. # For puppet master apache serving.
package { 'puppetmaster-passenger': package { 'puppetmaster-passenger':
ensure => present, ensure => present,

View File

@ -0,0 +1,122 @@
clouds:
admin-bluebox:
region_name: RegionOne
auth:
auth_url: https://montytaylor-sjc.openstack.blueboxgrid.com:5001/v2.0
username: <%= @puppetmaster_clouds['admin_bluebox_username'] %>
password: <%= @puppetmaster_clouds['admin_bluebox_password'] %>
project_name: <%= @puppetmaster_clouds['admin_bluebox_project_name'] %>
infra-files-ro:
profile: rackspace
auth:
username: <%= @puppetmaster_clouds['infra_files_ro_username'] %>
password: <%= @puppetmaster_clouds['infra_files_ro_password'] %>
project_name: <%= @puppetmaster_clouds['infra_files_ro_project_name'] %>
region_name: DFW
infra-files-rw:
profile: rackspace
auth:
username: <%= @puppetmaster_clouds['infra_files_rw_username'] %>
password: <%= @puppetmaster_clouds['infra_files_rw_password'] %>
project_name: <%= @puppetmaster_clouds['infra_files_rw_project_name'] %>
region_name: DFW
openstackci2-hpcloud:
profile: hp
auth:
username: <%= @puppetmaster_clouds['openstackci2_hpcloud_username'] %>
password: <%= @puppetmaster_clouds['openstackci2_hpcloud_password'] %>
project_name: <%= @puppetmaster_clouds['openstackci2_hpcloud_project_name'] %>
regions:
- region-a.geo-1
- region-b.geo-1
openstackci-bluebox:
region_name: RegionOne
auth:
auth_url: https://montytaylor-sjc.openstack.blueboxgrid.com:5001/v2.0
username: <%= @puppetmaster_clouds['openstackci_bluebox_username'] %>
password: <%= @puppetmaster_clouds['openstackci_bluebox_password'] %>
project_name: <%= @puppetmaster_clouds['openstackci_bluebox_project_name'] %>
openstackci-internap:
region_name: nyj01
profile: internap
auth:
username: <%= @puppetmaster_clouds['openstackci_internap_username'] %>
password: <%= @puppetmaster_clouds['openstackci_internap_password'] %>
project_name: <%= @puppetmaster_clouds['openstackci_internap_project_name'] %>
openstackjenkins-internap:
region_name: nyj01
profile: internap
auth:
username: <%= @puppetmaster_clouds['openstackjenkins_internap_username'] %>
password: <%= @puppetmaster_clouds['openstackjenkins_internap_password'] %>
project_name: <%= @puppetmaster_clouds['openstackjenkins_internap_project_name'] %>
openstackci-ovh:
regions:
- GRA1
- SBG1
profile: ovh
auth:
username: <%= @puppetmaster_clouds['openstackci_ovh_username'] %>
password: <%= @puppetmaster_clouds['openstackci_ovh_password'] %>
project_name: <%= @puppetmaster_clouds['openstackci_ovh_project_name'] %>
openstackci-rax:
regions:
- DFW
- ORD
- IAD
profile: rackspace
auth:
username: <%= @puppetmaster_clouds['openstackci_rax_username'] %>
password: <%= @puppetmaster_clouds['openstackci_rax_password'] %>
project_id: <%= @puppetmaster_clouds['openstackci_rax_project_id'] %>
openstackjenkins-hpcloud:
profile: hp
auth:
username: <%= @puppetmaster_clouds['openstackjenkins_hpcloud_username'] %>
password: <%= @puppetmaster_clouds['openstackjenkins_hpcloud_password'] %>
project_name: <%= @puppetmaster_clouds['openstackjenkins_hpcloud_project_name'] %>
regions:
- region-a.geo-1
- region-b.geo-1
openstackjenkins-bluebox:
region_name: RegionOne
auth:
auth_url: https://montytaylor-sjc.openstack.blueboxgrid.com:5001/v2.0
username: <%= @puppetmaster_clouds['openstackjenkins_bluebox_username'] %>
password: <%= @puppetmaster_clouds['openstackjenkins_bluebox_password'] %>
project_name: <%= @puppetmaster_clouds['openstackjenkins_bluebox_project_name'] %>
openstackjenkins-rax:
regions:
- DFW
- ORD
- IAD
profile: rackspace
auth:
username: <%= @puppetmaster_clouds['openstackjenkins_rax_username'] %>
password: <%= @puppetmaster_clouds['openstackjenkins_rax_password'] %>
project_id: <%= @puppetmaster_clouds['openstackjenkins_rax_project_id'] %>
openstackjenkins-ovh:
regions:
- GRA1
- SBG1
profile: ovh
auth:
username: <%= @puppetmaster_clouds['openstackjenkins_ovh_username'] %>
password: <%= @puppetmaster_clouds['openstackjenkins_ovh_password'] %>
project_name: <%= @puppetmaster_clouds['openstackjenkins_ovh_project_name'] %>
openstack-rax:
regions:
- DFW
- ORD
- IAD
profile: rackspace
auth:
username: <%= @puppetmaster_clouds['openstack_rax_username'] %>
password: <%= @puppetmaster_clouds['openstack_rax_password'] %>
project_id: <%= @puppetmaster_clouds['openstack_rax_project_id'] %>
openstack-nodepool-tripleo:
auth:
auth_url: https://ci-overcloud.rh1.tripleo.org:13000/v2.0
username: <%= @puppetmaster_clouds['openstack_nodepool_tripleo_username'] %>
password: <%= @puppetmaster_clouds['openstack_nodepool_tripleo_password'] %>
project_name: <%= @puppetmaster_clouds['openstack_nodepool_tripleo_project_name'] %>

View File

@ -0,0 +1,43 @@
clouds:
openstackci2-hpcloud:
profile: hp
auth:
username: <%= @puppetmaster_clouds['openstackci2_hpcloud_username'] %>
password: <%= @puppetmaster_clouds['openstackci2_hpcloud_password'] %>
project_name: <%= @puppetmaster_clouds['openstackci2_hpcloud_project_name'] %>
regions:
- region-a.geo-1
- region-b.geo-1
openstackci-bluebox:
region_name: RegionOne
auth:
auth_url: https://montytaylor-sjc.openstack.blueboxgrid.com:5001/v2.0
username: <%= @puppetmaster_clouds['openstackci_bluebox_username'] %>
password: <%= @puppetmaster_clouds['openstackci_bluebox_password'] %>
project_name: <%= @puppetmaster_clouds['openstackci_bluebox_project_name'] %>
openstackci-internap:
region_name: nyj01
profile: internap
auth:
username: <%= @puppetmaster_clouds['openstackci_internap_username'] %>
password: <%= @puppetmaster_clouds['openstackci_internap_password'] %>
project_name: <%= @puppetmaster_clouds['openstackci_internap_project_name'] %>
openstackci-ovh:
regions:
- GRA1
- SBG1
profile: ovh
auth:
username: <%= @puppetmaster_clouds['openstackci_ovh_username'] %>
password: <%= @puppetmaster_clouds['openstackci_ovh_password'] %>
project_name: <%= @puppetmaster_clouds['openstackci_ovh_project_name'] %>
openstackci-rax:
regions:
- DFW
- ORD
- IAD
profile: rackspace
auth:
username: <%= @puppetmaster_clouds['openstackci_rax_username'] %>
password: <%= @puppetmaster_clouds['openstackci_rax_password'] %>
project_id: <%= @puppetmaster_clouds['openstackci_rax_project_id'] %>