Andrew Bogott has submitted this change and it was merged.

Change subject: Add wmflabsorg-domainadminenv.sh script and refactor novaenv.sh 
classes
......................................................................


Add wmflabsorg-domainadminenv.sh script and refactor novaenv.sh classes

We're going to need special credentials for designate's handling
of the wmflabs.org domain; this patch sets up credentials for
that and adds a new script, 'designateenv.sh' to use with
commandline tools.

This patch also creates a new class to create both novaenv.sh
and designateenv.sh, and adds those files to the horizon host.

Change-Id: Iba8f6ad97807fafc36b4995750a208801b4019d9
---
M hieradata/eqiad.yaml
M manifests/role/horizon.pp
M modules/openstack/manifests/adminscripts.pp
A modules/openstack/manifests/envscripts.pp
A modules/openstack/templates/wmflabsorg-domainadminenv.sh.erb
M modules/role/manifests/labs/openstack/nova.pp
6 files changed, 46 insertions(+), 8 deletions(-)

Approvals:
  Andrew Bogott: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/hieradata/eqiad.yaml b/hieradata/eqiad.yaml
index 125b16e..500df62 100644
--- a/hieradata/eqiad.yaml
+++ b/hieradata/eqiad.yaml
@@ -144,6 +144,7 @@
   controller_hostname: *labsnovacontroller
   domain_id_internal_forward: '114f1333-c2c1-44d3-beb4-ebed1a91742b'
   domain_id_internal_reverse: '8d114f3c-815b-466c-bdd4-9b91f704ea60'
+  wmflabsdotorg_project: 'wmflabsdotorg'
 
 labs_baremetal_servers:
   - '10.64.20.12'
diff --git a/manifests/role/horizon.pp b/manifests/role/horizon.pp
index 287ce4e..e07fe6e 100644
--- a/manifests/role/horizon.pp
+++ b/manifests/role/horizon.pp
@@ -1,6 +1,7 @@
 class role::horizon {
     include role::labs::openstack::nova::common
     $novaconfig = $role::labs::openstack::nova::common::novaconfig
+    $designateconfig = hiera_hash('designateconfig', {})
 
     class { 'openstack::horizon::service':
         openstack_version => $::openstack_version,
@@ -11,4 +12,9 @@
         proto => 'tcp',
         port  => '80',
     }
+
+    class { '::openstack::envscripts':
+        novaconfig => $novaconfig,
+        designateconfig => $designateconfig
+    }
 }
diff --git a/modules/openstack/manifests/adminscripts.pp 
b/modules/openstack/manifests/adminscripts.pp
index 964efbb..529ed74 100644
--- a/modules/openstack/manifests/adminscripts.pp
+++ b/modules/openstack/manifests/adminscripts.pp
@@ -15,14 +15,6 @@
         ensure => present,
     }
 
-    # Handy script to set up environment for commandline nova magic
-    file { '/root/novaenv.sh':
-        content => template('openstack/novaenv.sh.erb'),
-        mode    => '0755',
-        owner   => 'root',
-        group   => 'root',
-    }
-
     # Script to cold-migrate instances between compute nodes
     file { '/root/cold-nova-migrate':
         ensure => present,
diff --git a/modules/openstack/manifests/envscripts.pp 
b/modules/openstack/manifests/envscripts.pp
new file mode 100644
index 0000000..6d968a6
--- /dev/null
+++ b/modules/openstack/manifests/envscripts.pp
@@ -0,0 +1,22 @@
+# Scripts to set up shell environment for openstack commandline
+class openstack::envscripts(
+    $novaconfig,
+    $designateconfig
+    ) {
+
+    # Handy script to set up environment for commandline nova magic
+    file { '/root/novaenv.sh':
+        content => template('openstack/novaenv.sh.erb'),
+        mode    => '0755',
+        owner   => 'root',
+        group   => 'root',
+    }
+
+    # Handy script to set up environment for commandline nova magic
+    file { '/root/wmflabsorg-domainadminenv.sh':
+        content => template('openstack/wmflabsorg-domainadminenv.sh.erb'),
+        mode    => '0755',
+        owner   => 'root',
+        group   => 'root',
+    }
+}
diff --git a/modules/openstack/templates/wmflabsorg-domainadminenv.sh.erb 
b/modules/openstack/templates/wmflabsorg-domainadminenv.sh.erb
new file mode 100644
index 0000000..49ea7e6
--- /dev/null
+++ b/modules/openstack/templates/wmflabsorg-domainadminenv.sh.erb
@@ -0,0 +1,11 @@
+# The wmflabs.org domain is stored in a special project called 'wmflabsorg'.
+#  This script sets up credentials for access within that project.
+export OS_USERNAME="<%= @designateconfig['wmflabsdotorg_admin'] %>"
+export OS_PROJECT_DOMAIN_ID="default"
+export OS_USER_DOMAIN_ID="default"
+export OS_PASSWORD="<%= @designateconfig['wmflabsdotorg_pass'] %>"
+export OS_AUTH_URL="http://<%= @nova_controller_hostname %>:35357/v3"
+export OS_REGION_NAME="<%= @nova_region %>"
+export OS_TENANT_NAME="<%= @designateconfig['wmflabsdotorg_project'] %>"
+export OS_NO_CACHE=1
+export OS_IDENTITY_API_VERSION=3
diff --git a/modules/role/manifests/labs/openstack/nova.pp 
b/modules/role/manifests/labs/openstack/nova.pp
index edf5018..c57d2ec 100644
--- a/modules/role/manifests/labs/openstack/nova.pp
+++ b/modules/role/manifests/labs/openstack/nova.pp
@@ -135,11 +135,17 @@
 
     include role::labs::openstack::nova::common
     $novaconfig = $role::labs::openstack::nova::common::novaconfig
+    $designateconfig = hiera_hash('designateconfig', {})
 
     class { '::openstack::adminscripts':
         novaconfig => $novaconfig
     }
 
+    class { '::openstack::envscripts':
+        novaconfig => $novaconfig,
+        designateconfig => $designateconfig
+    }
+
     class { '::openstack::spreadcheck':
         novaconfig => $novaconfig
     }

-- 
To view, visit https://gerrit.wikimedia.org/r/277255
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iba8f6ad97807fafc36b4995750a208801b4019d9
Gerrit-PatchSet: 4
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Andrew Bogott <[email protected]>
Gerrit-Reviewer: Alex Monk <[email protected]>
Gerrit-Reviewer: Andrew Bogott <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to