Merge "Optional Cinder support for undercloud"

This commit is contained in:
Jenkins
2016-12-15 12:47:11 +00:00
committed by Gerrit Code Review
6 changed files with 91 additions and 1 deletions

View File

@@ -56,6 +56,7 @@ Exec<| title == 'ironic-dbsync' |> { refreshonly => false }
Exec<| title == 'mistral-db-sync' |> { refreshonly => false }
Exec<| title == 'mistral-db-populate' |> { refreshonly => false }
Exec<| title == 'zaqar-manage db_sync' |> { refreshonly => false }
Exec<| title == 'cinder-manage db_sync' |> { refreshonly => false }
if count(hiera('ntp::servers')) > 0 {
include ::ntp
@@ -546,6 +547,40 @@ if str2bool(hiera('enable_zaqar', true)) {
}
}
if str2bool(hiera('enable_cinder', true)) {
$cinder_dsn = split(hiera('cinder::database_connection'), '[@:/?]')
class { '::cinder::db::mysql':
user => $cinder_dsn[3],
password => $cinder_dsn[4],
host => $cinder_dsn[5],
dbname => $cinder_dsn[6],
allowed_hosts => $allowed_hosts,
}
include ::cinder::keystone::auth
include ::cinder
include ::cinder::api
include ::cinder::cron::db_purge
include ::cinder::config
include ::cinder::glance
include ::cinder::scheduler
include ::cinder::volume
include ::cinder::wsgi::apache
$cinder_backend_name = hiera('cinder_backend_name')
cinder::backend::iscsi { $cinder_backend_name:
iscsi_ip_address => hiera('cinder_iscsi_address'),
iscsi_helper => 'lioadm',
iscsi_protocol => 'iscsi'
}
include ::cinder::backends
if str2bool(hiera('cinder_enable_test_volume', false)) {
include ::cinder::setup_test_volume
}
}
# dependency of pxe_drac
ensure_resource('package', 'python-dracclient')
# dependency of pxe_ilo

View File

@@ -534,6 +534,39 @@ zaqar::messaging::mongodb::uri: mongodb://127.0.0.1:27017
zaqar::message_pipeline: 'zaqar.notification.notifier'
zaqar::max_messages_post_size: 1048576
# Cinder
cinder_backend_name: 'undercloud_iscsi'
cinder_enable_test_volume: false
cinder_iscsi_address: {{LOCAL_IP}}
cinder::api::enable_proxy_headers_parsing: true
cinder::api::service_name: 'httpd'
cinder::api::nova_catalog_info: 'compute:Compute Service:internalURL'
cinder::backends::enabled_backends: ["%{hiera('cinder_backend_name')}"]
cinder::cron::db_purge::destination: "/dev/null"
cinder::database_connection: mysql+pymysql://cinder:{{UNDERCLOUD_CINDER_PASSWORD}}@{{LOCAL_IP}}/cinder
cinder::db::database_db_max_retries: -1
cinder::db::database_max_retries: -1
cinder::debug: "%{hiera('debug')}"
cinder::glance::glance_api_servers: {{UNDERCLOUD_ENDPOINT_GLANCE_PUBLIC}}
cinder::keystone::auth::tenant: 'service'
cinder::keystone::auth::public_url: {{UNDERCLOUD_ENDPOINT_CINDER_PUBLIC}}
cinder::keystone::auth::internal_url: {{UNDERCLOUD_ENDPOINT_CINDER_INTERNAL}}
cinder::keystone::auth::admin_url: {{UNDERCLOUD_ENDPOINT_CINDER_ADMIN}}
cinder::keystone::auth::region: 'regionOne'
cinder::keystone::auth::password: {{UNDERCLOUD_CINDER_PASSWORD}}
cinder::keystone::authtoken::project_name: 'service'
cinder::keystone::authtoken::auth_uri: "%{hiera('keystone_auth_uri')}"
cinder::keystone::authtoken::auth_url: "%{hiera('keystone_identity_uri')}"
cinder::keystone::authtoken::password: {{UNDERCLOUD_CINDER_PASSWORD}}
cinder::rabbit_userid: {{UNDERCLOUD_RABBIT_USERNAME}}
cinder::rabbit_password: {{UNDERCLOUD_RABBIT_PASSWORD}}
cinder::rabbit_host: {{LOCAL_IP}}
cinder::scheduler::scheduler_driver: cinder.scheduler.filter_scheduler.FilterScheduler
cinder::setup_test_volume::size: '10280M'
cinder::wsgi::apache::bind_host: {{LOCAL_IP}}
cinder::wsgi::apache::ssl: false
cinder::wsgi::apache::workers: "%{::os_workers}"
# HAproxy
tripleo::profile::base::haproxy::step: 1
tripleo::haproxy::haproxy_stats_password: {{UNDERCLOUD_HAPROXY_STATS_PASSWORD}}
@@ -602,6 +635,7 @@ enable_zaqar: {{ENABLE_ZAQAR}}
enable_validations: {{ENABLE_VALIDATIONS}}
enable_telemetry: {{ENABLE_TELEMETRY}}
enable_ui: {{ENABLE_UI}}
enable_cinder: {{ENABLE_CINDER}}
# Path to install configuration files
tripleo_install_user: {{TRIPLEO_INSTALL_USER}}

View File

@@ -21,3 +21,4 @@ UNDERCLOUD_SWIFT_HASH_SUFFIX=$(sudo hiera swift::swift_hash_suffix)
UNDERCLOUD_SWIFT_PASSWORD=$(sudo hiera swift::proxy::authtoken::admin_password)
UNDERCLOUD_MISTRAL_PASSWORD=$(sudo hiera mistral::admin_password)
UNDERCLOUD_ZAQAR_PASSWORD=$(sudo hiera zaqar::keystone::authtoken::password)
UNDERCLOUD_CINDER_PASSWORD=$(sudo hiera cinder::keystone::authtoken::password)

View File

@@ -290,7 +290,7 @@ class TestGenerateEnvironment(BaseTestCase):
env = undercloud._generate_environment('.')
endpoint_vars = {k: v for (k, v) in env.items()
if k.startswith('UNDERCLOUD_ENDPOINT')}
self.assertEqual(39, len(endpoint_vars))
self.assertEqual(42, len(endpoint_vars))
# Spot check one service
self.assertEqual('http://192.168.24.1:5000',
env['UNDERCLOUD_ENDPOINT_KEYSTONE_PUBLIC'])

View File

@@ -290,6 +290,10 @@ _opts = [
help=('Whether to install requirements to run the TripleO '
'validations.')
),
cfg.BoolOpt('enable_cinder',
default=False,
help=('Whether to install the Volume service to be boot '
'overcloud nodes from remote volumes.')),
cfg.BoolOpt('ipxe_enabled',
default=True,
help=('Whether to use iPXE for deploy and inspection.'),
@@ -418,6 +422,10 @@ _auth_opts = [
help=('Horizon secret key. '
'If left unset, one will be automatically generated.')
),
cfg.StrOpt('undercloud_cinder_password',
help=('Cinder service password. '
'If left unset, one will be automatically generated.')
),
]
CONF.register_opts(_opts)
CONF.register_opts(_auth_opts, group='auth')
@@ -707,6 +715,10 @@ def _generate_endpoints(instack_env):
'%s://%s:%d',
{'host': public_host, 'port': 8888, 'ssl_port': 13888},
{'host': internal_host, 'port': 8888}),
('cinder',
'%s://%s:%d/v1/%%(tenant_id)s',
{'host': public_host, 'port': 8776, 'ssl_port': 13776},
{'host': internal_host, 'port': 8776}),
]
for endpoint_data in endpoint_list:
endpoints.update(

View File

@@ -157,6 +157,10 @@
# (boolean value)
#enable_validations = true
# Whether to install the Volume service to be boot overcloud nodes
# from remote volumes. (boolean value)
#enable_cinder = false
# Whether to use iPXE for deploy and inspection. (boolean value)
# Deprecated group/name - [DEFAULT]/ipxe_deploy
#ipxe_enabled = true
@@ -283,3 +287,7 @@
# Horizon secret key. If left unset, one will be automatically
# generated. (string value)
#undercloud_horizon_secret_key = <None>
# Cinder service password. If left unset, one will be automatically
# generated. (string value)
#undercloud_cinder_password = <None>