From acb2e9e6f0cfa1ce95323c4c65d48fce59e6c49b Mon Sep 17 00:00:00 2001
From: Jeremy Stanley <fungi@yuggoth.org>
Date: Wed, 6 Jun 2018 22:08:08 +0000
Subject: [PATCH] Template credentials for Packet Host/Platform 9

Packet Host and Platform 9 have generously agreed to donate some
compute resources to our testing efforts. Add Nodepool and
Puppetmaster credentials for them.

Change-Id: I705c4204abca060c35a1a417791a67229b78cd02
---
 manifests/site.pp                             |  6 ++++++
 .../templates/nodepool/clouds.yaml.erb        | 10 ++++++++++
 .../puppetmaster/all-clouds.yaml.erb          | 20 +++++++++++++++++++
 .../puppetmaster/ansible-clouds.yaml.erb      | 10 ++++++++++
 playbooks/clouds_layouts.yml                  | 12 +++++++++++
 5 files changed, 58 insertions(+)

diff --git a/manifests/site.pp b/manifests/site.pp
index 16f402ec66..71f5186ecd 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -1089,6 +1089,9 @@ node /^nl\d+\.openstack\.org$/ {
   $limestone_username             = hiera('nodepool_limestone_username', 'username')
   $limestone_password             = hiera('nodepool_limestone_password')
   $limestone_project              = hiera('nodepool_limestone_project', 'project')
+  $packethost_username            = hiera('nodepool_packethost_username', 'username')
+  $packethost_password            = hiera('nodepool_packethost_password')
+  $packethost_project             = hiera('nodepool_packethost_project', 'project')
   $clouds_yaml                    = template("openstack_project/nodepool/clouds.yaml.erb")
 
   class { 'openstack_project::server':
@@ -1149,6 +1152,9 @@ node /^nb\d+\.openstack\.org$/ {
   $limestone_username            = hiera('nodepool_limestone_username', 'username')
   $limestone_password            = hiera('nodepool_limestone_password')
   $limestone_project             = hiera('nodepool_limestone_project', 'project')
+  $packethost_username            = hiera('nodepool_packethost_username', 'username')
+  $packethost_password            = hiera('nodepool_packethost_password')
+  $packethost_project             = hiera('nodepool_packethost_project', 'project')
   $clouds_yaml                   = template("openstack_project/nodepool/clouds.yaml.erb")
 
   class { 'openstack_project::server':
diff --git a/modules/openstack_project/templates/nodepool/clouds.yaml.erb b/modules/openstack_project/templates/nodepool/clouds.yaml.erb
index b7ba71a2c5..1793554183 100644
--- a/modules/openstack_project/templates/nodepool/clouds.yaml.erb
+++ b/modules/openstack_project/templates/nodepool/clouds.yaml.erb
@@ -96,3 +96,13 @@ clouds:
     identity_api_version: 3
     floating_ip_source: None
     cacert: /home/nodepool/.config/openstack/limestone_cacert.pem
+  packethost:
+    regions:
+      - us-west-1
+    auth:
+      auth_url: https://packet.platform9.net/keystone
+      username: <%= @packethost_username %>
+      password: <%= @packethost_password %>
+      project_name: <%= @packethost_project %>
+      user_domain_name: default
+      project_domain_name: default
diff --git a/modules/openstack_project/templates/puppetmaster/all-clouds.yaml.erb b/modules/openstack_project/templates/puppetmaster/all-clouds.yaml.erb
index 5e2f1f878e..a6a10edc3b 100644
--- a/modules/openstack_project/templates/puppetmaster/all-clouds.yaml.erb
+++ b/modules/openstack_project/templates/puppetmaster/all-clouds.yaml.erb
@@ -171,3 +171,23 @@ clouds:
       project_domain_name: default
     identity_api_version: 3
     cacert: /etc/openstack/limestone_cacert.pem
+  openstackci-packethost:
+    regions:
+      - us-west-1
+    auth:
+      auth_url: https://packet.platform9.net/keystone
+      username: <%= @puppetmaster_clouds['openstackci_packethost_username'] %>
+      password: <%= @puppetmaster_clouds['openstackci_packethost_password'] %>
+      project_name: <%= @puppetmaster_clouds['openstackci_packethost_project_name'] %>
+      user_domain_name: default
+      project_domain_name: default
+  openstackzuul-packethost:
+    regions:
+      - us-west-1
+    auth:
+      auth_url: https://packet.platform9.net/keystone
+      username: <%= @puppetmaster_clouds['openstackzuul_packethost_username'] %>
+      password: <%= @puppetmaster_clouds['openstackzuul_packethost_password'] %>
+      project_name: <%= @puppetmaster_clouds['openstackzuul_packethost_project_name'] %>
+      user_domain_name: default
+      project_domain_name: default
diff --git a/modules/openstack_project/templates/puppetmaster/ansible-clouds.yaml.erb b/modules/openstack_project/templates/puppetmaster/ansible-clouds.yaml.erb
index 8485ab9ea0..c08a0f04fd 100644
--- a/modules/openstack_project/templates/puppetmaster/ansible-clouds.yaml.erb
+++ b/modules/openstack_project/templates/puppetmaster/ansible-clouds.yaml.erb
@@ -96,3 +96,13 @@ clouds:
       project_domain_name: default
     identity_api_version: 3
     cacert: /etc/openstack/limestone_cacert.pem
+  openstackci-packethost:
+    regions:
+      - us-west-1
+    auth:
+      auth_url: https://packet.platform9.net/keystone
+      username: <%= @puppetmaster_clouds['openstackci_packethost_username'] %>
+      password: <%= @puppetmaster_clouds['openstackci_packethost_password'] %>
+      project_name: <%= @puppetmaster_clouds['openstackci_packethost_project_name'] %>
+      user_domain_name: default
+      project_domain_name: default
diff --git a/playbooks/clouds_layouts.yml b/playbooks/clouds_layouts.yml
index ec77a8c7e5..e71a6f31c5 100644
--- a/playbooks/clouds_layouts.yml
+++ b/playbooks/clouds_layouts.yml
@@ -320,3 +320,15 @@ clouds:
     profiles:
       - openstackci-keypairs
       - openstackci-security
+  - name: openstackci-packethost
+    oscc_cloud: openstackci-packethost
+    region_name: us-west-1
+    profiles:
+      - openstackci-keypairs
+      - openstackci-security
+  - name: openstackzuul-packethost
+    oscc_cloud: openstackzuul-packethost
+    region_name: us-west-1
+    profiles:
+      - openstackci-keypairs
+      - openstackci-security