Rush has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/373150 )
Change subject: openstack: glance as module/profile/role for deployments
......................................................................
openstack: glance as module/profile/role for deployments
Bug: T171494
Change-Id: Ie250ee4889cd144293c4339b42f01eb16f933ed6
---
M hieradata/codfw/profile/openstack/labtest.yaml
A hieradata/codfw/profile/openstack/labtest/glance.yaml
M hieradata/codfw/profile/openstack/labtestn.yaml
A hieradata/codfw/profile/openstack/labtestn/glance.yaml
A hieradata/common/profile/openstack/base/glance.yaml
M hieradata/common/profile/openstack/base/keystone.yaml
M hieradata/eqiad/profile/openstack/main.yaml
A hieradata/eqiad/profile/openstack/main/glance.yaml
D modules/openstack/manifests/glance/service.pp
R modules/openstack2/files/liberty/glance/policy.json
A modules/openstack2/manifests/glance/image_sync.pp
A modules/openstack2/manifests/glance/monitor.pp
A modules/openstack2/manifests/glance/service.pp
R modules/openstack2/templates/liberty/glance/glance-api.conf.erb
R modules/openstack2/templates/liberty/glance/glance-registry.conf.erb
A modules/profile/manifests/openstack/base/glance.pp
A modules/profile/manifests/openstack/labtest/glance.pp
A modules/profile/manifests/openstack/labtestn/glance.pp
A modules/profile/manifests/openstack/main/glance.pp
D modules/role/manifests/labs/openstack/glance/server.pp
M modules/role/manifests/labs/openstack/nova/controller.pp
M modules/role/manifests/wmcs/openstack/labtest/control.pp
M modules/role/manifests/wmcs/openstack/labtestn/control.pp
M modules/role/manifests/wmcs/openstack/main/control.pp
24 files changed, 314 insertions(+), 165 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/50/373150/1
diff --git a/hieradata/codfw/profile/openstack/labtest.yaml
b/hieradata/codfw/profile/openstack/labtest.yaml
index 6be5986..3e698ce 100644
--- a/hieradata/codfw/profile/openstack/labtest.yaml
+++ b/hieradata/codfw/profile/openstack/labtest.yaml
@@ -1,5 +1,6 @@
profile::openstack::labtest::version: 'liberty'
profile::openstack::labtest::nova_controller:
'labtestcontrol2001.wikimedia.org'
+profile::openstack::labtest::nova_controller_standby: ''
profile::openstack::labtest::rabbit_monitor_user: 'monitoring'
profile::openstack::labtest::rabbit_file_handles: 8192
profile::openstack::labtest::osm_host: 'labtestwikitech.wikimedia.org'
diff --git a/hieradata/codfw/profile/openstack/labtest/glance.yaml
b/hieradata/codfw/profile/openstack/labtest/glance.yaml
new file mode 100644
index 0000000..0ab782e
--- /dev/null
+++ b/hieradata/codfw/profile/openstack/labtest/glance.yaml
@@ -0,0 +1 @@
+profile::openstack::labtest::glance::db_host:
'labtestcontrol2001.wikimedia.org'
diff --git a/hieradata/codfw/profile/openstack/labtestn.yaml
b/hieradata/codfw/profile/openstack/labtestn.yaml
index 4fdb9ac..0aeb103 100644
--- a/hieradata/codfw/profile/openstack/labtestn.yaml
+++ b/hieradata/codfw/profile/openstack/labtestn.yaml
@@ -1,5 +1,6 @@
profile::openstack::labtestn::version: 'liberty'
profile::openstack::labtestn::nova_controller:
'labtestcontrol2003.wikimedia.org'
+profile::openstack::labtestn::nova_controller_standby: ''
profile::openstack::labtestn::rabbit_monitor_user: 'monitoring'
profile::openstack::labtestn::rabbit_file_handles: 8192
profile::openstack::labtestn::osm_host: 'labtestnwikitech.wikimedia.org'
diff --git a/hieradata/codfw/profile/openstack/labtestn/glance.yaml
b/hieradata/codfw/profile/openstack/labtestn/glance.yaml
new file mode 100644
index 0000000..71fbc32
--- /dev/null
+++ b/hieradata/codfw/profile/openstack/labtestn/glance.yaml
@@ -0,0 +1 @@
+profile::openstack::labtestn::glance::db_host:
'labtestcontrol2003.wikimedia.org'
diff --git a/hieradata/common/profile/openstack/base/glance.yaml
b/hieradata/common/profile/openstack/base/glance.yaml
new file mode 100644
index 0000000..31fd0a4
--- /dev/null
+++ b/hieradata/common/profile/openstack/base/glance.yaml
@@ -0,0 +1,4 @@
+profile::openstack::base::glance::db_user: 'glance'
+profile::openstack::base::glance::db_name: 'glance'
+profile::openstack::base::glance::data_dir: '/srv/glance'
+profile::openstack::base::glance::image_dir: '/srv/glance/images'
diff --git a/hieradata/common/profile/openstack/base/keystone.yaml
b/hieradata/common/profile/openstack/base/keystone.yaml
index 3041820..28a02e6 100644
--- a/hieradata/common/profile/openstack/base/keystone.yaml
+++ b/hieradata/common/profile/openstack/base/keystone.yaml
@@ -2,4 +2,5 @@
profile::openstack::base::keystone::db_user: 'keystone'
profile::openstack::base::keystone::auth_protocol: 'http'
profile::openstack::base::keystone::auth_port: '35357'
+profile::openstack::base::keystone::public_port: '5000'
profile::openstack::base::keystone::wiki_status_page_prefix: 'Nova_Resource:'
diff --git a/hieradata/eqiad/profile/openstack/main.yaml
b/hieradata/eqiad/profile/openstack/main.yaml
index 08550c2..2098a60 100644
--- a/hieradata/eqiad/profile/openstack/main.yaml
+++ b/hieradata/eqiad/profile/openstack/main.yaml
@@ -1,5 +1,6 @@
profile::openstack::main::version: 'liberty'
profile::openstack::main::nova_controller: 'labcontrol1001.wikimedia.org'
+profile::openstack::main::nova_controller_standby:
'labcontrol1002.wikimedia.org'
profile::openstack::main::osm_host: 'wikitech.wikimedia.org'
profile::openstack::main::rabbit_monitor_user: 'monitoring'
profile::openstack::main::rabbit_file_handles: 8192
diff --git a/hieradata/eqiad/profile/openstack/main/glance.yaml
b/hieradata/eqiad/profile/openstack/main/glance.yaml
new file mode 100644
index 0000000..cc82ca6
--- /dev/null
+++ b/hieradata/eqiad/profile/openstack/main/glance.yaml
@@ -0,0 +1 @@
+profile::openstack::main::glance::db_host: 'm5-master.eqiad.wmnet'
diff --git a/modules/openstack/manifests/glance/service.pp
b/modules/openstack/manifests/glance/service.pp
deleted file mode 100644
index 91092c9..0000000
--- a/modules/openstack/manifests/glance/service.pp
+++ /dev/null
@@ -1,144 +0,0 @@
-class openstack::glance::service(
- $active_server,
- $standby_server,
- $keystone_host,
- $glanceconfig,
- $keystoneconfig,
- $openstack_version=$::openstack::version,
- $glance_data = '/srv/glance/',
-) {
- $glance_images_dir = "${glance_data}/images"
- $keystone_host_ip = ipresolve($keystone_host,4)
- $keystone_admin_uri =
"http://${active_server}:${keystoneconfig['auth_port']}"
- $keystone_public_uri =
"http://${active_server}:${keystoneconfig['public_port']}"
-
- # Set up a keypair and rsync image files between active and standby
- user { 'glancesync':
- ensure => present,
- name => 'glancesync',
- shell => '/bin/sh',
- comment => 'glance rsync user',
- gid => 'glance',
- managehome => true,
- require => Package['glance'],
- system => true,
- }
-
- ssh::userkey { 'glancesync':
- ensure => present,
- require => User['glancesync'],
- content => secret('ssh/glancesync/glancesync.pub'),
- }
-
- package { 'glance':
- ensure => present,
- }
-
- file { $glance_data:
- ensure => directory,
- owner => 'glance',
- group => 'glance',
- require => Package['glance'],
- mode => '0755',
- }
-
- # This is 775 so that the glancesync user can rsync to it.
- file { $glance_images_dir:
- ensure => directory,
- owner => 'glance',
- group => 'glance',
- require => Package['glance'],
- mode => '0775',
- }
-
- file {
- '/etc/glance/glance-api.conf':
- content =>
template("openstack/${openstack_version}/glance/glance-api.conf.erb"),
- owner => 'glance',
- group => 'nogroup',
- notify => Service['glance-api'],
- require => Package['glance'],
- mode => '0440';
- '/etc/glance/glance-registry.conf':
- content =>
template("openstack/${openstack_version}/glance/glance-registry.conf.erb"),
- owner => 'glance',
- group => 'nogroup',
- notify => Service['glance-registry'],
- require => Package['glance'],
- mode => '0440';
- '/etc/glance/policy.json':
- source =>
"puppet:///modules/openstack/${openstack_version}/glance/policy.json",
- mode => '0644',
- owner => 'root',
- group => 'root',
- notify => Service['glance-api'],
- require => Package['glance'];
- }
-
- file { '/home/glancesync/.ssh':
- ensure => directory,
- owner => 'glancesync',
- group => 'glance',
- mode => '0700',
- require => User['glancesync'],
- }
-
- file { '/home/glancesync/.ssh/id_rsa':
- content => secret('ssh/glancesync/glancesync.key'),
- owner => 'glancesync',
- group => 'glance',
- mode => '0600',
- require => File['/home/glancesync/.ssh'],
- show_diff => false,
- }
-
- if $::fqdn == $active_server {
- service { 'glance-api':
- ensure => running,
- require => Package['glance'],
- }
-
- service { 'glance-registry':
- ensure => running,
- require => Package['glance'],
- }
-
- if $standby_server != $active_server {
- cron { 'rsync_glance_images':
- command => "/usr/bin/rsync --delete --delete-after -aSO
${glance_images_dir}/ ${standby_server}:${glance_images_dir}/",
- minute => 15,
- user => 'glancesync',
- require => User['glancesync'],
- }
- } else {
- # If the active and the standby are the same, it's not useful to
sync
- cron { 'rsync_glance_images':
- ensure => absent,
- command => "/usr/bin/rsync -aS ${glance_images_dir}/*
${standby_server}:${glance_images_dir}/",
- minute => 15,
- user => 'glancesync',
- require => User['glancesync'],
- }
- }
-
- monitoring::service { 'glance-api-http':
- description => 'glance-api http',
- check_command => 'check_http_on_port!9292',
- }
- } else {
- service { 'glance-api':
- ensure => stopped,
- require => Package['glance'],
- }
-
- service { 'glance-registry':
- ensure => stopped,
- require => Package['glance'],
- }
- cron { 'rsync_chown_images':
- command => "chown -R glance ${glance_images_dir}/*",
- minute => 30,
- user => 'root',
- }
- }
-}
diff --git a/modules/openstack/files/liberty/glance/policy.json
b/modules/openstack2/files/liberty/glance/policy.json
similarity index 100%
rename from modules/openstack/files/liberty/glance/policy.json
rename to modules/openstack2/files/liberty/glance/policy.json
diff --git a/modules/openstack2/manifests/glance/image_sync.pp
b/modules/openstack2/manifests/glance/image_sync.pp
new file mode 100644
index 0000000..b6cb67b
--- /dev/null
+++ b/modules/openstack2/manifests/glance/image_sync.pp
@@ -0,0 +1,82 @@
+class openstack2::glance::image_sync(
+ $active,
+ $version,
+ $glance_image_dir,
+ $nova_controller_standby='',
+) {
+
+ require openstack2::glance::service
+
+ # Cron doesn't take a bool
+ if $active {
+ $ensure = 'present'
+ }
+ else {
+ $ensure = 'absent'
+ }
+
+ # Set up a keypair and rsync image files between active and standby
+ user { 'glancesync':
+ ensure => present,
+ name => 'glancesync',
+ shell => '/bin/sh',
+ comment => 'glance rsync user',
+ gid => 'glance',
+ managehome => true,
+ require => Package['glance'],
+ system => true,
+ }
+
+ ssh::userkey { 'glancesync':
+ ensure => present,
+ require => User['glancesync'],
+ content => secret('ssh/glancesync/glancesync.pub'),
+ }
+
+ file { '/home/glancesync/.ssh':
+ ensure => directory,
+ owner => 'glancesync',
+ group => 'glance',
+ mode => '0700',
+ require => User['glancesync'],
+ }
+
+ file { '/home/glancesync/.ssh/id_rsa':
+ content => secret('ssh/glancesync/glancesync.key'),
+ owner => 'glancesync',
+ group => 'glance',
+ mode => '0600',
+ require => File['/home/glancesync/.ssh'],
+ show_diff => false,
+ }
+
+ if $active and !empty($nova_controller_standby) {
+ cron { 'rsync_glance_images':
+ ensure => $ensure,
+ command => "/usr/bin/rsync --delete --delete-after -aSO
${glance_image_dir}/ ${nova_controller_standby}:${glance_image_dir}/",
+ minute => 15,
+ user => 'glancesync',
+ require => User['glancesync'],
+ }
+ }
+
+ # If we are not the active server and are definitely
+ # the standby then setup the permissions insurance
+ # XXX: what is this for?
+ if !($active) {
+
+ if ($::fqdn == $nova_controller_standby) {
+ $chown_ensure = 'present'
+ }
+ else {
+ $chown_ensure = 'absent'
+ }
+
+ cron { 'rsync_chown_images':
+ ensure => $chown_ensure,
+ command => "chown -R glance ${glance_image_dir}/*",
+ minute => 30,
+ user => 'root',
+ }
+ }
+}
diff --git a/modules/openstack2/manifests/glance/monitor.pp
b/modules/openstack2/manifests/glance/monitor.pp
new file mode 100644
index 0000000..b34dc9a
--- /dev/null
+++ b/modules/openstack2/manifests/glance/monitor.pp
@@ -0,0 +1,20 @@
+class openstack2::glance::monitor(
+ $active,
+) {
+
+ require openstack2::glance::service
+
+ # nagios doesn't take a bool
+ if $active {
+ $ensure = 'present'
+ }
+ else {
+ $ensure = 'absent'
+ }
+
+ monitoring::service { 'glance-api-http':
+ ensure => $ensure,
+ description => 'glance-api http',
+ check_command => 'check_http_on_port!9292',
+ }
+}
diff --git a/modules/openstack2/manifests/glance/service.pp
b/modules/openstack2/manifests/glance/service.pp
new file mode 100644
index 0000000..27937ac
--- /dev/null
+++ b/modules/openstack2/manifests/glance/service.pp
@@ -0,0 +1,84 @@
+class openstack2::glance::service(
+ $active,
+ $version,
+ $nova_controller_ip,
+ $nova_controller_standby,
+ $db_user,
+ $db_pass,
+ $db_name,
+ $db_host,
+ $glance_data,
+ $glance_image_dir,
+ $ldap_user_pass,
+ $keystone_admin_uri,
+ $keystone_public_uri,
+) {
+
+ package { 'glance':
+ ensure => present,
+ }
+
+ file { $glance_data:
+ ensure => directory,
+ owner => 'glance',
+ group => 'glance',
+ require => Package['glance'],
+ mode => '0755',
+ }
+
+ # This is 775 so that the glancesync user can rsync to it.
+ file { $glance_image_dir:
+ ensure => directory,
+ owner => 'glance',
+ group => 'glance',
+ require => Package['glance'],
+ mode => '0775',
+ }
+
+ file {
+ '/etc/glance/glance-api.conf':
+ content =>
template("openstack2/${version}/glance/glance-api.conf.erb"),
+ owner => 'glance',
+ group => 'nogroup',
+ mode => '0440',
+ notify => Service['glance-api'],
+ require => Package['glance'];
+ '/etc/glance/glance-registry.conf':
+ content =>
template("openstack2/${version}/glance/glance-registry.conf.erb"),
+ owner => 'glance',
+ group => 'nogroup',
+ mode => '0440',
+ notify => Service['glance-registry'],
+ require => Package['glance'];
+ '/etc/glance/policy.json':
+ source =>
"puppet:///modules/openstack2/${version}/glance/policy.json",
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ notify => Service['glance-api'],
+ require => Package['glance'];
+ }
+
+ if $active {
+
+ service { 'glance-api':
+ ensure => running,
+ require => Package['glance'],
+ }
+
+ service { 'glance-registry':
+ ensure => running,
+ require => Package['glance'],
+ }
+ } else {
+ service { 'glance-api':
+ ensure => stopped,
+ require => Package['glance'],
+ }
+
+ service { 'glance-registry':
+ ensure => stopped,
+ require => Package['glance'],
+ }
+ }
+}
diff --git a/modules/openstack/templates/liberty/glance/glance-api.conf.erb
b/modules/openstack2/templates/liberty/glance/glance-api.conf.erb
similarity index 97%
rename from modules/openstack/templates/liberty/glance/glance-api.conf.erb
rename to modules/openstack2/templates/liberty/glance/glance-api.conf.erb
index 1a5efa2..74ad292 100644
--- a/modules/openstack/templates/liberty/glance/glance-api.conf.erb
+++ b/modules/openstack2/templates/liberty/glance/glance-api.conf.erb
@@ -21,7 +21,7 @@
#image_size_cap = 1099511627776
# Address to bind the API server
-bind_host = <%= @glanceconfig["bind_ip"] %>
+bind_host = <%= @nova_controller_ip %>
# Port the bind the API server to
bind_port = 9292
@@ -96,7 +96,7 @@
# ============ Registry Options ===============================
# Address to find the registry server
-registry_host = <%= @glanceconfig["bind_ip"] %>
+registry_host = <%= @nova_controller_ip %>
# Port the registry server is listening on
registry_port = 9191
@@ -279,7 +279,7 @@
auth_uri = <%= @keystone_public_uri %>
identity_uri = <%= @keystone_admin_uri %>
admin_user = novaadmin
-admin_password = <%= @keystoneconfig["ldap_user_pass"] %>
+admin_password = <%= @ldap_user_pass %>
[paste_deploy]
# Name of the paste configuration file that defines the available pipelines
@@ -295,7 +295,7 @@
# SQLAlchemy connection string for the reference implementation
# registry server. Any valid SQLAlchemy connection string is fine.
# See:
http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine
-connection = mysql://<%= @glanceconfig["db_user"] %>:<%=
@glanceconfig["db_pass"] %>@<%= @glanceconfig["db_host"] %>/<%=
@glanceconfig["db_name"] %>
+connection = mysql://<%= @db_user %>:<%= @db_pass %>@<%= @db_host %>/<%=
@db_name %>
[glance_store]
# Which backend scheme should Glance use by default is not specified
@@ -320,4 +320,3 @@
rabbit_notification_exchange = glance
rabbit_notification_topic = glance_notifications
rabbit_durable_queues = False
-
diff --git
a/modules/openstack/templates/liberty/glance/glance-registry.conf.erb
b/modules/openstack2/templates/liberty/glance/glance-registry.conf.erb
similarity index 91%
rename from modules/openstack/templates/liberty/glance/glance-registry.conf.erb
rename to modules/openstack2/templates/liberty/glance/glance-registry.conf.erb
index 83141a1..eaf3cc3 100644
--- a/modules/openstack/templates/liberty/glance/glance-registry.conf.erb
+++ b/modules/openstack2/templates/liberty/glance/glance-registry.conf.erb
@@ -6,7 +6,7 @@
debug = False
# Address to bind the registry server
-bind_host = <%= @glanceconfig["bind_ip"] %>
+bind_host = <%= @nova_controller_ip %>
# Port the bind the registry server to
bind_port = 9191
@@ -58,7 +58,7 @@
auth_uri = <%= @keystone_public_uri %>
identity_uri = <%= @keystone_admin_uri %>
admin_user = novaadmin
-admin_password = <%= @keystoneconfig["ldap_user_pass"] %>
+admin_password = <%= @ldap_user_pass %>
[paste_deploy]
# Name of the paste configuration file that defines the available pipelines
@@ -75,7 +75,7 @@
# SQLAlchemy connection string for the reference implementation
# registry server. Any valid SQLAlchemy connection string is fine.
# See:
http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine
-connection = mysql://<%= @glanceconfig["db_user"] %>:<%=
@glanceconfig["db_pass"] %>@<%= @glanceconfig["db_host"] %>/<%=
@glanceconfig["db_name"] %>
+connection = mysql://<%= @db_user %>:<%= @db_pass %>@<%= @db_host %>/<%=
@db_name %>
# Period in seconds after which SQLAlchemy should reestablish its connection
# to the database.
diff --git a/modules/profile/manifests/openstack/base/glance.pp
b/modules/profile/manifests/openstack/base/glance.pp
new file mode 100644
index 0000000..30b0e3d
--- /dev/null
+++ b/modules/profile/manifests/openstack/base/glance.pp
@@ -0,0 +1,35 @@
+class profile::openstack::base::glance(
+ $version = hiera('profile::openstack::base::version'),
+ $nova_controller = hiera('profile::openstack::base::nova_controller'),
+ $nova_controller_standby =
hiera('profile::openstack::base::nova_controller_stanbdy'),
+ $auth_port = hiera('profile::openstack::base::keystone::auth_port'),
+ $public_port = hiera('profile::openstack::base::keystone::public_port'),
+ $db_user = hiera('profile::openstack::base::glance::db_user'),
+ $db_name = hiera('profile::openstack::base::glance::db_name'),
+ $db_pass = hiera('profile::openstack::base::glance::db_pass'),
+ $db_host = hiera('profile::openstack::base::glance::db_host'),
+ $ldap_user_pass = hiera('profile::openstack::base::ldap_user_pass'),
+ $glance_data = hiera('profile::openstack::base::glance::data_dir'),
+ $glance_image_dir = hiera('profile::openstack::base::glance::image_dir'),
+ ) {
+
+ $keystone_admin_uri = "http://${nova_controller}:${auth_port}"
+ $keystone_public_uri = "http://${nova_controller}:${public_port}"
+ $nova_controller_ip = ipresolve($nova_controller,4)
+
+ class { 'openstack2::glance::service':
+ version => $version,
+ active => $::fqdn == $nova_controller,
+ nova_controller_ip => $nova_controller_ip,
+ keystone_admin_uri => $keystone_admin_uri,
+ keystone_public_uri => $keystone_public_uri,
+ db_user => db_user,
+ db_pass => db_pass,
+ db_name => db_name,
+ db_host => db_host,
+ ldap_user_pass => $ldap_user_pass,
+ nova_controller_standby => $nova_controller_standby,
+ glance_data => $glance_data,
+ glance_image_dir => $glance_image_dir,
+ }
+}
diff --git a/modules/profile/manifests/openstack/labtest/glance.pp
b/modules/profile/manifests/openstack/labtest/glance.pp
new file mode 100644
index 0000000..f81fe40
--- /dev/null
+++ b/modules/profile/manifests/openstack/labtest/glance.pp
@@ -0,0 +1,23 @@
+class profile::openstack::labtest::glance(
+ $version = hiera('profile::openstack::labtest::version'),
+ $nova_controller = hiera('profile::openstack::labtest::nova_controller'),
+ $nova_controller_standby =
hiera('profile::openstack::labtest::nova_controller_standby'),
+ $db_pass = hiera('profile::openstack::labtest::glance::db_pass'),
+ $db_host = hiera('profile::openstack::labtest::glance::db_host'),
+ $ldap_user_pass = hiera('profile::openstack::labtest::ldap_user_pass'),
+ ) {
+
+ require ::profile::openstack::labtest::cloudrepo
+ class {'profile::openstack::base::glance':
+ version => $version,
+ nova_controller => $nova_controller,
+ nova_controller_standby => $nova_controller_standby,
+ db_pass => $db_pass,
+ db_host => $db_host,
+ ldap_user_pass => $ldap_user_pass,
+ }
+
+ class {'openstack2::glance::monitor':
+ active => ($::fqdn == $nova_controller),
+ }
+}
diff --git a/modules/profile/manifests/openstack/labtestn/glance.pp
b/modules/profile/manifests/openstack/labtestn/glance.pp
new file mode 100644
index 0000000..61cc111
--- /dev/null
+++ b/modules/profile/manifests/openstack/labtestn/glance.pp
@@ -0,0 +1,19 @@
+class profile::openstack::labtestn::glance(
+ $version = hiera('profile::openstack::labtestn::version'),
+ $nova_controller = hiera('profile::openstack::labtestn::nova_controller'),
+ $nova_controller_standby =
hiera('profile::openstack::labtestn::nova_controller_standby'),
+ $db_pass = hiera('profile::openstack::labtestn::glance::db_pass'),
+ $db_host = hiera('profile::openstack::labtestn::glance::db_host'),
+ $ldap_user_pass = hiera('profile::openstack::labtestn::ldap_user_pass'),
+ ) {
+
+ require ::profile::openstack::labtestn::cloudrepo
+ class {'profile::openstack::base::glance':
+ version => $version,
+ nova_controller => $nova_controller,
+ nova_controller_standby => $nova_controller_standby,
+ db_pass => $db_pass,
+ db_host => $db_host,
+ ldap_user_pass => $ldap_user_pass,
+ }
+}
diff --git a/modules/profile/manifests/openstack/main/glance.pp
b/modules/profile/manifests/openstack/main/glance.pp
new file mode 100644
index 0000000..4aed478
--- /dev/null
+++ b/modules/profile/manifests/openstack/main/glance.pp
@@ -0,0 +1,30 @@
+class profile::openstack::main::glance(
+ $version = hiera('profile::openstack::main::version'),
+ $nova_controller = hiera('profile::openstack::main::nova_controller'),
+ $nova_controller_standby =
hiera('profile::openstack::main::nova_controller_standby'),
+ $db_pass = hiera('profile::openstack::main::glance::db_pass'),
+ $db_host = hiera('profile::openstack::main::glance::db_host'),
+ $ldap_user_pass = hiera('profile::openstack::main::ldap_user_pass'),
+ ) {
+
+ require ::profile::openstack::main::cloudrepo
+ class {'profile::openstack::base::glance':
+ version => $version,
+ nova_controller => $nova_controller,
+ nova_controller_standby => $nova_controller_standby,
+ db_pass => $db_pass,
+ db_host => $db_host,
+ ldap_user_pass => $ldap_user_pass,
+ }
+
+ class {'openstack2::glance::image_sync':
+ active => ($::fqdn == $nova_controller),
+ version => $version,
+ glance_image_dir => $glance_image_dir,
+ nova_controller_standby => $nova_controller_standby,
+ }
+
+ class {'openstack2::glance::monitor':
+ active => ($::fqdn == $nova_controller),
+ }
+}
diff --git a/modules/role/manifests/labs/openstack/glance/server.pp
b/modules/role/manifests/labs/openstack/glance/server.pp
deleted file mode 100644
index 91d3dbc..0000000
--- a/modules/role/manifests/labs/openstack/glance/server.pp
+++ /dev/null
@@ -1,12 +0,0 @@
-class role::labs::openstack::glance::server {
-
- system::role { $name: }
-
- class { 'openstack::glance::service':
- active_server => hiera('labs_nova_controller'),
- standby_server => hiera('labs_nova_controller_spare'),
- keystone_host => hiera('labs_keystone_host'),
- glanceconfig => hiera_hash('glanceconfig', {}),
- keystoneconfig => hiera_hash('keystoneconfig', {}),
- }
-}
diff --git a/modules/role/manifests/labs/openstack/nova/controller.pp
b/modules/role/manifests/labs/openstack/nova/controller.pp
index 03b77eb..8e77168 100644
--- a/modules/role/manifests/labs/openstack/nova/controller.pp
+++ b/modules/role/manifests/labs/openstack/nova/controller.pp
@@ -3,7 +3,6 @@
system::role { $name: }
require openstack
- include role::labs::openstack::glance::server
include ::openstack::nova::conductor
include ::openstack::nova::spiceproxy
include ::openstack::nova::scheduler
diff --git a/modules/role/manifests/wmcs/openstack/labtest/control.pp
b/modules/role/manifests/wmcs/openstack/labtest/control.pp
index e222364..e8abfe1 100644
--- a/modules/role/manifests/wmcs/openstack/labtest/control.pp
+++ b/modules/role/manifests/wmcs/openstack/labtest/control.pp
@@ -2,4 +2,5 @@
include ::profile::openstack::labtest::observerenv
include ::profile::openstack::labtest::rabbitmq
include ::profile::openstack::labtest::keystone::service
+ include ::profile::openstack::labtest::glance
}
diff --git a/modules/role/manifests/wmcs/openstack/labtestn/control.pp
b/modules/role/manifests/wmcs/openstack/labtestn/control.pp
index efcc95e..2e8f05e 100644
--- a/modules/role/manifests/wmcs/openstack/labtestn/control.pp
+++ b/modules/role/manifests/wmcs/openstack/labtestn/control.pp
@@ -2,4 +2,5 @@
include ::profile::openstack::labtestn::observerenv
include ::profile::openstack::labtestn::rabbitmq
include ::profile::openstack::labtestn::keystone::service
+ include ::profile::openstack::labtestn::glance
}
diff --git a/modules/role/manifests/wmcs/openstack/main/control.pp
b/modules/role/manifests/wmcs/openstack/main/control.pp
index 0b39950..afc5eea 100644
--- a/modules/role/manifests/wmcs/openstack/main/control.pp
+++ b/modules/role/manifests/wmcs/openstack/main/control.pp
@@ -2,4 +2,5 @@
include ::profile::openstack::main::observerenv
include ::profile::openstack::main::rabbitmq
include ::profile::openstack::main::keystone::service
+ include ::profile::openstack::main::glance
}
--
To view, visit https://gerrit.wikimedia.org/r/373150
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie250ee4889cd144293c4339b42f01eb16f933ed6
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Rush <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits