diff options
-rw-r--r-- | manifests/haproxy.pp | 35 | ||||
-rw-r--r-- | manifests/haproxy/endpoint.pp | 6 | ||||
-rw-r--r-- | manifests/profile/base/aodh/api.pp | 15 | ||||
-rw-r--r-- | manifests/profile/base/ceilometer/api.pp | 5 | ||||
-rw-r--r-- | manifests/profile/base/ceilometer/expirer.pp | 3 | ||||
-rw-r--r-- | manifests/profile/base/cinder/volume.pp | 8 | ||||
-rw-r--r-- | manifests/profile/base/heat.pp | 1 | ||||
-rw-r--r-- | manifests/profile/base/ironic.pp | 2 | ||||
-rw-r--r-- | manifests/profile/base/keystone.pp | 49 | ||||
-rw-r--r-- | manifests/profile/base/mistral.pp | 1 | ||||
-rw-r--r-- | manifests/profile/base/neutron/opendaylight.pp | 46 | ||||
-rw-r--r-- | manifests/profile/base/neutron/plugins/ml2.pp | 5 | ||||
-rw-r--r-- | manifests/profile/base/neutron/plugins/ml2/opendaylight.pp | 54 | ||||
-rw-r--r-- | manifests/profile/base/neutron/plugins/ovs/opendaylight.pp | 73 | ||||
-rw-r--r-- | manifests/profile/base/snmp.pp | 11 | ||||
-rw-r--r-- | manifests/profile/base/ui.pp | 24 | ||||
-rw-r--r-- | manifests/profile/pacemaker/database/mysql.pp | 6 | ||||
-rw-r--r-- | manifests/profile/pacemaker/manila.pp | 55 |
18 files changed, 386 insertions, 13 deletions
diff --git a/manifests/haproxy.pp b/manifests/haproxy.pp index e2b2cc9..b2cc264 100644 --- a/manifests/haproxy.pp +++ b/manifests/haproxy.pp @@ -228,6 +228,10 @@ # # [*zaqar_api*] # (optional) Enable or not Zaqar Api binding +# Defaults to false +# +# [*opendaylight*] +# (optional) Enable or not OpenDaylight binding # Defaults to false # # [*service_ports*] @@ -329,6 +333,7 @@ class tripleo::haproxy ( $redis_password = undef, $midonet_api = false, $zaqar_api = false, + $opendaylight = false, $service_ports = {} ) { $default_service_ports = { @@ -881,7 +886,12 @@ class tripleo::haproxy ( options => { 'balance' => 'first', 'option' => ['tcp-check',], - 'tcp-check' => union($redis_tcp_check_options, ['send PING\r\n','expect string +PONG','send info\ replication\r\n','expect string role:master','send QUIT\r\n','expect string +OK']), + 'tcp-check' => union($redis_tcp_check_options, ['send PING\r\n', + 'expect string +PONG', + 'send info\ replication\r\n', + 'expect string role:master', + 'send QUIT\r\n', + 'expect string +OK']), }, collect_exported => false, } @@ -924,4 +934,27 @@ class tripleo::haproxy ( public_ssl_port => $ports[zaqar_api_ssl_port], } } + + $opendaylight_api_vip = hiera('opendaylight_api_vip', $controller_virtual_ip) + $opendaylight_bind_opts = { + "${opendaylight_api_vip}:8081" => [], + "${public_virtual_ip}:8081" => [], + } + + if $opendaylight { + haproxy::listen { 'opendaylight': + bind => $opendaylight_bind_opts, + options => { + 'balance' => 'source', + }, + collect_exported => false, + } + haproxy::balancermember { 'opendaylight': + listening_service => 'opendaylight', + ports => '8081', + ipaddresses => hiera('opendaylight_api_node_ips', $controller_hosts_real), + server_names => $controller_hosts_names_real, + options => ['check', 'inter 2000', 'rise 2', 'fall 5'], + } + } } diff --git a/manifests/haproxy/endpoint.pp b/manifests/haproxy/endpoint.pp index ac6cb6c..b7403a4 100644 --- a/manifests/haproxy/endpoint.pp +++ b/manifests/haproxy/endpoint.pp @@ -88,7 +88,8 @@ define tripleo::haproxy::endpoint ( # service exposed to the public network if $public_certificate { - $public_bind_opts = list_to_hash(suffix(any2array($public_virtual_ip), ":${public_ssl_port}"), union($haproxy_listen_bind_param, ['ssl', 'crt', $public_certificate])) + $public_bind_opts = list_to_hash(suffix(any2array($public_virtual_ip), ":${public_ssl_port}"), + union($haproxy_listen_bind_param, ['ssl', 'crt', $public_certificate])) } else { $public_bind_opts = list_to_hash(suffix(any2array($public_virtual_ip), ":${service_port}"), $haproxy_listen_bind_param) } @@ -98,7 +99,8 @@ define tripleo::haproxy::endpoint ( } if $internal_certificate { - $internal_bind_opts = list_to_hash(suffix(any2array($internal_ip), ":${service_port}"), union($haproxy_listen_bind_param, ['ssl', 'crt', $public_certificate])) + $internal_bind_opts = list_to_hash(suffix(any2array($internal_ip), ":${service_port}"), + union($haproxy_listen_bind_param, ['ssl', 'crt', $public_certificate])) } else { $internal_bind_opts = list_to_hash(suffix(any2array($internal_ip), ":${service_port}"), $haproxy_listen_bind_param) } diff --git a/manifests/profile/base/aodh/api.pp b/manifests/profile/base/aodh/api.pp index 3c4c0b6..2dcf802 100644 --- a/manifests/profile/base/aodh/api.pp +++ b/manifests/profile/base/aodh/api.pp @@ -23,8 +23,14 @@ # for more details. # Defaults to hiera('step') # +# [*enable_combination_alarms*] +# (optional) Setting to enable combination alarms +# Defaults to: false +# + class tripleo::profile::base::aodh::api ( - $step = hiera('step'), + $step = hiera('step'), + $enable_combination_alarms = false, ) { include ::tripleo::profile::base::aodh @@ -32,5 +38,12 @@ class tripleo::profile::base::aodh::api ( if $step >= 4 { include ::aodh::api include ::aodh::wsgi::apache + + #NOTE: Combination alarms are deprecated in newton and disabled by default. + # we need a way to override this setting for users still using this type + # of alarms. + aodh_config { + 'api/enable_combination_alarms' : value => $enable_combination_alarms; + } } } diff --git a/manifests/profile/base/ceilometer/api.pp b/manifests/profile/base/ceilometer/api.pp index b6419c2..da94da2 100644 --- a/manifests/profile/base/ceilometer/api.pp +++ b/manifests/profile/base/ceilometer/api.pp @@ -30,9 +30,6 @@ class tripleo::profile::base::ceilometer::api ( if $step >= 4 { include ::ceilometer::api - #NOTE: remove conditional once tht changes are merged - if hiera('ceilometer_wsgi', false) { - include ::ceilometer::wsgi::apache - } + include ::ceilometer::wsgi::apache } } diff --git a/manifests/profile/base/ceilometer/expirer.pp b/manifests/profile/base/ceilometer/expirer.pp index 0830307..eaaaefc 100644 --- a/manifests/profile/base/ceilometer/expirer.pp +++ b/manifests/profile/base/ceilometer/expirer.pp @@ -30,7 +30,8 @@ class tripleo::profile::base::ceilometer::expirer ( if $step >= 4 { include ::ceilometer::expirer - Cron <| title == 'ceilometer-expirer' |> { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" } + Cron <| title == 'ceilometer-expirer' |> + { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" } } } diff --git a/manifests/profile/base/cinder/volume.pp b/manifests/profile/base/cinder/volume.pp index dfb034f..7d562ec 100644 --- a/manifests/profile/base/cinder/volume.pp +++ b/manifests/profile/base/cinder/volume.pp @@ -108,7 +108,13 @@ class tripleo::profile::base::cinder::volume ( $cinder_rbd_backend_name = undef } - $cinder_enabled_backends = delete_undef_values([$cinder_iscsi_backend_name, $cinder_rbd_backend_name, $cinder_eqlx_backend_name, $cinder_dellsc_backend_name, $cinder_netapp_backend_name, $cinder_nfs_backend_name, $cinder_user_enabled_backends]) + $cinder_enabled_backends = delete_undef_values([$cinder_iscsi_backend_name, + $cinder_rbd_backend_name, + $cinder_eqlx_backend_name, + $cinder_dellsc_backend_name, + $cinder_netapp_backend_name, + $cinder_nfs_backend_name, + $cinder_user_enabled_backends]) class { '::cinder::backends' : enabled_backends => $cinder_enabled_backends, } diff --git a/manifests/profile/base/heat.pp b/manifests/profile/base/heat.pp index dcf0f21..cafe95e 100644 --- a/manifests/profile/base/heat.pp +++ b/manifests/profile/base/heat.pp @@ -56,6 +56,7 @@ class tripleo::profile::base::heat ( notification_driver => $notification_driver, } include ::heat::config + include ::heat::cors } if $step >= 5 { diff --git a/manifests/profile/base/ironic.pp b/manifests/profile/base/ironic.pp index f098d37..da89839 100644 --- a/manifests/profile/base/ironic.pp +++ b/manifests/profile/base/ironic.pp @@ -45,5 +45,7 @@ class tripleo::profile::base::ironic ( class { '::ironic': sync_db => $sync_db, } + + include ::ironic::cors } } diff --git a/manifests/profile/base/keystone.pp b/manifests/profile/base/keystone.pp index d8c8e24..354d24c 100644 --- a/manifests/profile/base/keystone.pp +++ b/manifests/profile/base/keystone.pp @@ -58,6 +58,7 @@ class tripleo::profile::base::keystone ( include ::keystone::config include ::keystone::wsgi::apache + include ::keystone::cors if $manage_roles { include ::keystone::roles::admin @@ -72,5 +73,53 @@ class tripleo::profile::base::keystone ( if $step >= 5 and $manage_db_purge { include ::keystone::cron::token_flush } + + if $step >= 5 and $manage_endpoint{ + if hiera('aodh_api_enabled', false) { + include ::aodh::keystone::auth + } + if hiera('ceilometer_api_enabled', false) { + include ::ceilometer::keystone::auth + } + if hiera('cinder_api_enabled', false) { + include ::cinder::keystone::auth + } + if hiera('glance_api_enabled', false) { + include ::glance::keystone::auth + } + if hiera('gnocchi_api_enabled', false) { + include ::gnocchi::keystone::auth + } + if hiera('heat_api_enabled', false) { + include ::heat::keystone::auth + } + if hiera('heat_api_cfn_enabled', false) { + include ::heat::keystone::auth_cfn + } + if hiera('ironic_api_enabled', false) { + include ::ironic::keystone::auth + } + if hiera('manila_api_enabled', false) { + include ::manila::keystone::auth + } + if hiera('mistral_api_enabled', false) { + include ::mistral::keystone::auth + } + if hiera('neutron_api_enabled', false) { + include ::neutron::keystone::auth + } + if hiera('nova_api_enabled', false) { + include ::nova::keystone::auth + } + if hiera('sahara_api_enabled', false) { + include ::sahara::keystone::auth + } + if hiera('swift_proxy_enabled', false) { + include ::swift::keystone::auth + } + if hiera('trove_api_enabled', false) { + include ::trove::keystone::auth + } + } } diff --git a/manifests/profile/base/mistral.pp b/manifests/profile/base/mistral.pp index 0c41193..cffb03e 100644 --- a/manifests/profile/base/mistral.pp +++ b/manifests/profile/base/mistral.pp @@ -46,5 +46,6 @@ class tripleo::profile::base::mistral ( include ::mistral::config include ::mistral::client include ::mistral::db::sync + include ::mistral::cors } } diff --git a/manifests/profile/base/neutron/opendaylight.pp b/manifests/profile/base/neutron/opendaylight.pp new file mode 100644 index 0000000..ffe28ce --- /dev/null +++ b/manifests/profile/base/neutron/opendaylight.pp @@ -0,0 +1,46 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::profile::base::neutron::opendaylight +# +# OpenDaylight Neutron profile for TripleO +# +# === Parameters +# +# [*step*] +# (Optional) The current step of the deployment +# Defaults to hiera('step') +# +# [*primary_controller*] +# (Optional) The hostname of the first controller +# Defaults to hiera('bootstrap_nodeid', undef) +# +class tripleo::profile::base::neutron::opendaylight ( + $step = hiera('step'), + $primary_controller = hiera('bootstrap_nodeid', undef), +) { + + include ::tripleo::profile::base::neutron + + if ! str2bool(hiera('opendaylight::enable_l3')) { + include ::tripleo::profile::base::neutron::l3 + } + + if $step >= 1 { + # Configure ODL only on first controller + if hiera('odl_on_controller') and $primary_controller == downcase($::hostname) { + include ::opendaylight + } + } +} diff --git a/manifests/profile/base/neutron/plugins/ml2.pp b/manifests/profile/base/neutron/plugins/ml2.pp index c89bc02..401e627 100644 --- a/manifests/profile/base/neutron/plugins/ml2.pp +++ b/manifests/profile/base/neutron/plugins/ml2.pp @@ -63,5 +63,10 @@ class tripleo::profile::base::neutron::plugins::ml2 ( if 'bsn_ml2' in $mechanism_drivers { include ::neutron::plugins::ml2::bigswitch::restproxy } + + if 'opendaylight' in $mechanism_drivers { + include ::tripleo::profile::base::neutron::plugins::ml2::opendaylight + } + } } diff --git a/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp b/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp new file mode 100644 index 0000000..f25aea6 --- /dev/null +++ b/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp @@ -0,0 +1,54 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::profile::base::neutron::plugins::ml2::opendaylight +# +# OpenDaylight ML2 Neutron profile for TripleO +# +# === Parameters +# +# [*odl_port*] +# (Optional) Port to use for OpenDaylight +# Defaults to hiera('opendaylight::odl_rest_port') +# +# [*conn_proto*] +# (Optional) Protocol to use to for ODL REST access +# Defaults to hiera('opendaylight::nb_connection_protocol') +# +# [*step*] +# (Optional) The current step in deployment. See tripleo-heat-templates +# for more details. +# Defaults to hiera('step') +# +class tripleo::profile::base::neutron::plugins::ml2::opendaylight ( + $odl_port = hiera('opendaylight::odl_rest_port'), + $conn_proto = hiera('opendaylight::nb_connection_protocol'), + $step = hiera('step'), +) { + + if $step >= 4 { + # Figure out ODL IP + if hiera('odl_on_controller') { + $odl_url_ip = hiera('opendaylight_api_vip') + } else { + $odl_url_ip = hiera('opendaylight::odl_bind_ip') + } + + if ! $odl_url_ip { fail('OpenDaylight Controller IP/VIP is Empty') } + + class { '::neutron::plugins::ml2::opendaylight': + odl_url => "${conn_proto}://${odl_url_ip}:${odl_port}/controller/nb/v2/neutron"; + } + } +} diff --git a/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp b/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp new file mode 100644 index 0000000..7548046 --- /dev/null +++ b/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp @@ -0,0 +1,73 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::profile::base::neutron::plugins::ovs::opendaylight +# +# OpenDaylight Neutron OVS profile for TripleO +# +# === Parameters +# +# [*odl_port*] +# (Optional) Port to use for OpenDaylight +# Defaults to hiera('opendaylight::odl_rest_port') +# +# [*odl_check_url*] +# (Optional) URL path used to check if ODL is up +# Defaults to hiera('opendaylight_check_url') +# +# [*odl_api_ips*] +# (Optional) List of OpenStack Controller IPs for ODL API +# Defaults to hiera('opendaylight_api_node_ips') +# +# [*conn_proto*] +# (Optional) Protocol to use to for ODL REST access +# Defaults to hiera('opendaylight::nb_connection_protocol') +# +# [*step*] +# (Optional) The current step in deployment. See tripleo-heat-templates +# for more details. +# Defaults to hiera('step') +# +class tripleo::profile::base::neutron::plugins::ovs::opendaylight ( + $odl_port = hiera('opendaylight::odl_rest_port'), + $odl_check_url = hiera('opendaylight_check_url'), + $odl_api_ips = hiera('opendaylight_api_node_ips'), + $conn_proto = hiera('opendaylight::nb_connection_protocol'), + $step = hiera('step'), +) { + + if $step >= 4 { + # Figure out ODL IP (and VIP if on controller) + if hiera('odl_on_controller') { + $opendaylight_controller_ip = $odl_api_ips[0] + $odl_url_ip = hiera('opendaylight_api_vip') + } else { + $opendaylight_controller_ip = hiera('opendaylight::odl_bind_ip') + $odl_url_ip = $opendaylight_controller_ip + } + + if ! $opendaylight_controller_ip { fail('OpenDaylight Controller IP is Empty') } + + if ! $odl_url_ip { fail('OpenDaylight API VIP is Empty') } + + # Build URL to check if ODL is up before connecting OVS + $opendaylight_url = "${conn_proto}://${odl_url_ip}:${odl_port}/${odl_check_url}" + + class { '::neutron::plugins::ovs::opendaylight': + tunnel_ip => hiera('neutron::agents::ml2::ovs::local_ip'), + odl_check_url => $opendaylight_url, + odl_ovsdb_iface => "tcp:${opendaylight_controller_ip}:6640", + } + } +} diff --git a/manifests/profile/base/snmp.pp b/manifests/profile/base/snmp.pp index 2ed6752..301ac9a 100644 --- a/manifests/profile/base/snmp.pp +++ b/manifests/profile/base/snmp.pp @@ -43,7 +43,16 @@ class tripleo::profile::base::snmp ( } class { '::snmp': agentaddress => ['udp:161','udp6:[::1]:161'], - snmpd_config => [ join(['createUser ', $snmpd_user, ' MD5 "', $snmpd_password, '"']), join(['rouser ', $snmpd_user]), 'proc cron', 'includeAllDisks 10%', 'master agentx', 'trapsink localhost public', 'iquerySecName internalUser', 'rouser internalUser', 'defaultMonitors yes', 'linkUpDownNotifications yes' ], + snmpd_config => [ join(['createUser ', $snmpd_user, ' MD5 "', $snmpd_password, '"']), + join(['rouser ', $snmpd_user]), + 'proc cron', + 'includeAllDisks 10%', + 'master agentx', + 'trapsink localhost public', + 'iquerySecName internalUser', + 'rouser internalUser', + 'defaultMonitors yes', + 'linkUpDownNotifications yes' ], } } } diff --git a/manifests/profile/base/ui.pp b/manifests/profile/base/ui.pp new file mode 100644 index 0000000..22371d1 --- /dev/null +++ b/manifests/profile/base/ui.pp @@ -0,0 +1,24 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::profile::base::ui +# +# UI profile for tripleo +# +class tripleo::profile::base::ui () { + package {'openstack-tripleo-ui': } + + include ::apache +} + diff --git a/manifests/profile/pacemaker/database/mysql.pp b/manifests/profile/pacemaker/database/mysql.pp index 31d7d80..fceb415 100644 --- a/manifests/profile/pacemaker/database/mysql.pp +++ b/manifests/profile/pacemaker/database/mysql.pp @@ -150,8 +150,12 @@ MYSQL_HOST=localhost\n", # with proper credentials. This step happens on every node because this sql # statement does not automatically replicate across nodes. $mysql_root_password = hiera('mysql::server::root_password') + $galera_set_pwd = "/bin/touch /root/.my.cnf && \ + /bin/echo \"UPDATE mysql.user SET Password = PASSWORD('${mysql_root_password}') WHERE user = 'root'; \ + flush privileges;\" | \ + /bin/mysql --defaults-extra-file=/root/.my.cnf -u root" exec { 'galera-set-root-password': - command => "/bin/touch /root/.my.cnf && /bin/echo \"UPDATE mysql.user SET Password = PASSWORD('${mysql_root_password}') WHERE user = 'root'; flush privileges;\" | /bin/mysql --defaults-extra-file=/root/.my.cnf -u root", + command => $galera_set_pwd, } file { '/root/.my.cnf' : ensure => file, diff --git a/manifests/profile/pacemaker/manila.pp b/manifests/profile/pacemaker/manila.pp index 43ae875..37c67ab 100644 --- a/manifests/profile/pacemaker/manila.pp +++ b/manifests/profile/pacemaker/manila.pp @@ -83,6 +83,34 @@ # (Optional) # Defaults to hiera('manila::backend::generic::volume_snapshot_name_template') # +# [*manila_cephfsnative_enable*] +# (Optional) Enable the CephFS Native backend. +# Defaults to hiera('manila_cephfsnative_enable_backend', 'false') +# +# [*cephfs_handles_share_servers*] +# (Optional) +# Defaults to hiera('manila::backend::cephfsnative::driver_handles_share_servers', false) +# +# [*cephfs_backend_name*] +# (Optional) +# Defaults to hiera('manila::backend::cephfsnative::cephfs_backend_name') +# +# [*cephfs_conf_path*] +# (Optional) +# Defaults to hiera('manila::backend::cephfsnative::cephfs_conf_path') +# +# [*cephfs_auth_id*] +# (Optional) +# Defaults to hiera('manila::backend::cephfsnative::cephfs_auth_id') +# +# [*cephfs_cluster_name*] +# (Optional) +# Defaults to hiera('manila::backend::cephfsnative::cephfs_cluster_name') +# +# [*cephfs_enable_snapshots*] +# (Optional) +# Defaults to hiera('manila::backend::cephfsnative::cephfs_enable_snapshots') +# class tripleo::profile::pacemaker::manila ( $bootstrap_node = hiera('bootstrap_nodeid'), $cinder_volume_type = hiera('manila::backend::generic::cinder_volume_type', ''), @@ -100,6 +128,13 @@ class tripleo::profile::pacemaker::manila ( $step = hiera('step'), $volume_name_template = hiera('manila::backend::generic::volume_name_template'), $volume_snapshot_name_template = hiera('manila::backend::generic::volume_snapshot_name_template'), + $manila_cephfsnative_enable = hiera('manila::backend::cephfsnative::enable_backend', false), + $cephfs_handles_share_servers = hiera('manila::backend::cephfsnative::driver_handles_share_servers'), + $cephfs_backend_name = hiera('manila::backend::cephfsnative::cephfs_backend_name'), + $cephfs_conf_path = hiera('manila::backend::cephfsnative::cephfs_conf_path'), + $cephfs_auth_id = hiera('manila::backend::cephfsnative::cephfs_auth_id'), + $cephfs_cluster_name = hiera('manila::backend::cephfsnative::cephfs_cluster_name'), + $cephfs_enable_snapshots = hiera('manila::backend::cephfsnative::cephfs_enable_snapshots'), ) { if $::hostname == downcase($bootstrap_node) { $pacemaker_master = true @@ -145,7 +180,25 @@ class tripleo::profile::pacemaker::manila ( include ::manila::volume::cinder } - $manila_enabled_backends = delete_undef_values([$manila_generic_backend]) + # manila cephfsnative: + if $manila_cephfsnative_enable { + $manila_cephfsnative_backend = hiera('manila::backend::cephfsnative::title') + manila::backend::cephfsnative { $manila_cephfsnative_backend : + driver_handles_share_servers => $cephfs_handles_share_servers, + cephfs_backend_name => $cephfs_backend_name, + cephfs_conf_path => $cephfs_conf_path, + cephfs_auth_id => $cephfs_auth_id, + cephfs_cluster_name => $cephfs_cluster_name, + cephfs_enable_snapshots => $cephfs_enable_snapshots, + } + } + + $manila_enabled_backends = delete_undef_values( + [ + $manila_generic_backend, + $manila_cephfsnative_backend + ] + ) class { '::manila::backends' : enabled_share_backends => $manila_enabled_backends, } |