diff options
Diffstat (limited to 'manifests/profile/base')
-rw-r--r-- | manifests/profile/base/cinder/volume/dellps.pp | 1 | ||||
-rw-r--r-- | manifests/profile/base/cinder/volume/nfs.pp | 19 | ||||
-rw-r--r-- | manifests/profile/base/docker.pp | 8 | ||||
-rw-r--r-- | manifests/profile/base/logging/fluentd.pp | 4 | ||||
-rw-r--r-- | manifests/profile/base/neutron/opendaylight.pp | 8 | ||||
-rw-r--r-- | manifests/profile/base/neutron/opendaylight/configure_cluster.pp | 45 | ||||
-rw-r--r-- | manifests/profile/base/neutron/opendaylight/create_cluster.pp | 43 | ||||
-rw-r--r-- | manifests/profile/base/nova/compute/libvirt.pp | 20 | ||||
-rw-r--r-- | manifests/profile/base/nova/compute_libvirt_shared.pp | 46 | ||||
-rw-r--r-- | manifests/profile/base/nova/libvirt.pp | 3 | ||||
-rw-r--r-- | manifests/profile/base/pacemaker.pp | 4 | ||||
-rw-r--r-- | manifests/profile/base/swift/ringbuilder.pp | 12 |
12 files changed, 77 insertions, 136 deletions
diff --git a/manifests/profile/base/cinder/volume/dellps.pp b/manifests/profile/base/cinder/volume/dellps.pp index e81a7e8..69911cd 100644 --- a/manifests/profile/base/cinder/volume/dellps.pp +++ b/manifests/profile/base/cinder/volume/dellps.pp @@ -38,6 +38,7 @@ class tripleo::profile::base::cinder::volume::dellps ( san_ip => hiera('cinder::backend::eqlx::san_ip', undef), san_login => hiera('cinder::backend::eqlx::san_login', undef), san_password => hiera('cinder::backend::eqlx::san_password', undef), + san_private_key => hiera('cinder::backend::eqlx::san_private_key', undef), san_thin_provision => hiera('cinder::backend::eqlx::san_thin_provision', undef), eqlx_group_name => hiera('cinder::backend::eqlx::eqlx_group_name', undef), eqlx_pool => hiera('cinder::backend::eqlx::eqlx_pool', undef), diff --git a/manifests/profile/base/cinder/volume/nfs.pp b/manifests/profile/base/cinder/volume/nfs.pp index 16a49e4..1eef888 100644 --- a/manifests/profile/base/cinder/volume/nfs.pp +++ b/manifests/profile/base/cinder/volume/nfs.pp @@ -62,21 +62,22 @@ class tripleo::profile::base::cinder::volume::nfs ( include ::tripleo::profile::base::cinder::volume if $step >= 4 { - if str2bool($::selinux) { - selboolean { 'virt_use_nfs': - value => on, - persistent => true, - } -> Package['nfs-utils'] - } - - package {'nfs-utils': } -> - cinder::backend::nfs { $backend_name : + package {'nfs-utils': } + -> cinder::backend::nfs { $backend_name : nfs_servers => $cinder_nfs_servers, nfs_mount_options => $cinder_nfs_mount_options, nfs_shares_config => '/etc/cinder/shares-nfs.conf', nas_secure_file_operations => $cinder_nas_secure_file_operations, nas_secure_file_permissions => $cinder_nas_secure_file_permissions, } + + if str2bool($::selinux) { + selboolean { 'virt_use_nfs': + value => on, + persistent => true, + require => Package['nfs-utils'], + } + } } } diff --git a/manifests/profile/base/docker.pp b/manifests/profile/base/docker.pp index 2c9824a..e042947 100644 --- a/manifests/profile/base/docker.pp +++ b/manifests/profile/base/docker.pp @@ -185,8 +185,8 @@ class tripleo::profile::base::docker ( group { 'docker_nova_group': name => 'docker_nova', gid => $docker_nova_uid - } -> - user { 'docker_nova_user': + } + -> user { 'docker_nova_user': name => 'docker_nova', uid => $docker_nova_uid, gid => $docker_nova_uid, @@ -207,8 +207,8 @@ polkit.addRule(function(action, subject) { ' package {'polkit': ensure => installed, - } -> - file {'/etc/polkit-1/rules.d/50-nova.rules': + } + -> file {'/etc/polkit-1/rules.d/50-nova.rules': content => $docker_nova_polkit_rule, mode => '0644' } diff --git a/manifests/profile/base/logging/fluentd.pp b/manifests/profile/base/logging/fluentd.pp index 51869d6..b23610a 100644 --- a/manifests/profile/base/logging/fluentd.pp +++ b/manifests/profile/base/logging/fluentd.pp @@ -76,8 +76,8 @@ class tripleo::profile::base::logging::fluentd ( include ::fluentd if $fluentd_groups { - Package<| tag == 'openstack' |> -> - user { $::fluentd::config_owner: + Package<| tag == 'openstack' |> + -> user { $::fluentd::config_owner: ensure => present, groups => $fluentd_groups, membership => 'minimum', diff --git a/manifests/profile/base/neutron/opendaylight.pp b/manifests/profile/base/neutron/opendaylight.pp index 7a35b6b..796d63e 100644 --- a/manifests/profile/base/neutron/opendaylight.pp +++ b/manifests/profile/base/neutron/opendaylight.pp @@ -33,7 +33,6 @@ class tripleo::profile::base::neutron::opendaylight ( $step = Integer(hiera('step')), $odl_api_ips = hiera('opendaylight_api_node_ips'), - $node_name = hiera('bootstrap_nodeid') ) { if $step >= 1 { @@ -43,12 +42,9 @@ class tripleo::profile::base::neutron::opendaylight ( } elsif size($odl_api_ips) == 2 { fail('2 node OpenDaylight deployments are unsupported. Use 1 or greater than 2') } elsif size($odl_api_ips) > 2 { - $node_string = split($node_name, '-') - $ha_node_index = $node_string[-1] + 1 class { '::opendaylight': - enable_ha => true, - ha_node_ips => $odl_api_ips, - ha_node_index => $ha_node_index, + enable_ha => true, + ha_node_ips => $odl_api_ips, } } else { include ::opendaylight diff --git a/manifests/profile/base/neutron/opendaylight/configure_cluster.pp b/manifests/profile/base/neutron/opendaylight/configure_cluster.pp deleted file mode 100644 index 022e8ae..0000000 --- a/manifests/profile/base/neutron/opendaylight/configure_cluster.pp +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2017 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. -# -# Configures an OpenDaylight cluster. -# It creates the akka configuration file for ODL to cluster correctly -# It will not configure clustering if less than 3 nodes -# -# == Function: tripleo::profile::base::neutron::opendaylight::configure_cluster -# -# == Parameters -# -# [*node_name*] -# The short hostname of node -# -# [*odl_api_ips*] Array of IPs per ODL node -# Defaults to empty array -# -define tripleo::profile::base::neutron::opendaylight::configure_cluster( - $node_name, - $odl_api_ips = [], -) { - validate_array($odl_api_ips) - if size($odl_api_ips) > 2 { - $node_string = split($node_name, '-') - $ha_node_index = $node_string[-1] + 1 - $ha_node_ip_str = join($odl_api_ips, ' ') - exec { 'Configure ODL Clustering': - command => "configure_cluster.sh ${ha_node_index} ${ha_node_ip_str}", - path => '/opt/opendaylight/bin/:/usr/sbin:/usr/bin:/sbin:/bin', - creates => '/opt/opendaylight/configuration/initial/akka.conf' - } - } -} - diff --git a/manifests/profile/base/neutron/opendaylight/create_cluster.pp b/manifests/profile/base/neutron/opendaylight/create_cluster.pp deleted file mode 100644 index 94cd898..0000000 --- a/manifests/profile/base/neutron/opendaylight/create_cluster.pp +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 2017 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. -# -# Configures an OpenDaylight cluster. -# It creates the akka configuration file for ODL to cluster correctly -# It will not configure clustering if less than 3 nodes -# -# == Class: tripleo::profile::base::neutron::opendaylight::create_cluster -# -# OpenDaylight class only used for creating clusters with container deployments -# -# === Parameters -# -# [*odl_api_ips*] -# (Optional) List of OpenStack Controller IPs for ODL API -# Defaults to hiera('opendaylight_api_node_ips') -# -# [*node_name*] -# (Optional) The short hostname of node -# Defaults to hiera('bootstrap_nodeid') -# -class tripleo::profile::base::neutron::opendaylight::create_cluster ( - $odl_api_ips = hiera('opendaylight_api_node_ips'), - $node_name = hiera('bootstrap_nodeid') -) { - - tripleo::profile::base::neutron::opendaylight::configure_cluster {'ODL cluster': - node_name => $node_name, - odl_api_ips => $odl_api_ips, - } - -} diff --git a/manifests/profile/base/nova/compute/libvirt.pp b/manifests/profile/base/nova/compute/libvirt.pp index 8a7c4d6..ccecaf2 100644 --- a/manifests/profile/base/nova/compute/libvirt.pp +++ b/manifests/profile/base/nova/compute/libvirt.pp @@ -29,25 +29,7 @@ class tripleo::profile::base::nova::compute::libvirt ( if $step >= 4 { include ::tripleo::profile::base::nova::compute include ::tripleo::profile::base::nova::migration::client - - # Ceph + Libvirt - $rbd_ephemeral_storage = hiera('nova::compute::rbd::ephemeral_storage', false) - $rbd_persistent_storage = hiera('rbd_persistent_storage', false) - if $rbd_ephemeral_storage or $rbd_persistent_storage { - include ::nova::compute::rbd - } - - if $rbd_ephemeral_storage { - class { '::nova::compute::libvirt': - libvirt_disk_cachemodes => ['network=writeback'], - libvirt_hw_disk_discard => 'unmap', - } - } else { - include ::nova::compute::libvirt - } - - include ::nova::compute::libvirt::qemu - } + include ::tripleo::profile::base::nova::compute_libvirt_shared } diff --git a/manifests/profile/base/nova/compute_libvirt_shared.pp b/manifests/profile/base/nova/compute_libvirt_shared.pp new file mode 100644 index 0000000..36235cd --- /dev/null +++ b/manifests/profile/base/nova/compute_libvirt_shared.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::nova::compute_libvirt_shared +# +# Libvirt profile for tripleo. It will deploy Libvirt service and configure it. +# +# === Parameters +# +# [*step*] +# (Optional) The current step in deployment. See tripleo-heat-templates +# for more details. +# Defaults to hiera('step') +# +class tripleo::profile::base::nova::compute_libvirt_shared ( + $step = Integer(hiera('step')), +) { + if $step >= 4 { + # Ceph + Libvirt + $rbd_ephemeral_storage = hiera('nova::compute::rbd::ephemeral_storage', false) + $rbd_persistent_storage = hiera('rbd_persistent_storage', false) + if $rbd_ephemeral_storage or $rbd_persistent_storage { + include ::nova::compute::rbd + } + + if $rbd_ephemeral_storage { + class { '::nova::compute::libvirt': + libvirt_disk_cachemodes => ['network=writeback'], + libvirt_hw_disk_discard => 'unmap', + } + } else { + include ::nova::compute::libvirt + } + } +} diff --git a/manifests/profile/base/nova/libvirt.pp b/manifests/profile/base/nova/libvirt.pp index 06baa39..332e33b 100644 --- a/manifests/profile/base/nova/libvirt.pp +++ b/manifests/profile/base/nova/libvirt.pp @@ -44,6 +44,9 @@ class tripleo::profile::base::nova::libvirt ( onlyif => '/usr/bin/virsh net-info default | /bin/grep -i "^active:\s*yes"', before => Service['libvirt'], } + + include ::nova::compute::libvirt::qemu } + include ::tripleo::profile::base::nova::compute_libvirt_shared } diff --git a/manifests/profile/base/pacemaker.pp b/manifests/profile/base/pacemaker.pp index bc15e62..d468110 100644 --- a/manifests/profile/base/pacemaker.pp +++ b/manifests/profile/base/pacemaker.pp @@ -104,8 +104,8 @@ class tripleo::profile::base::pacemaker ( } class { '::pacemaker': hacluster_pwd => hiera('hacluster_pwd'), - } -> - class { '::pacemaker::corosync': + } + -> class { '::pacemaker::corosync': cluster_members => $pacemaker_cluster_members, setup_cluster => $pacemaker_master, cluster_setup_extras => $cluster_setup_extras, diff --git a/manifests/profile/base/swift/ringbuilder.pp b/manifests/profile/base/swift/ringbuilder.pp index 3ab3234..27cf4fe 100644 --- a/manifests/profile/base/swift/ringbuilder.pp +++ b/manifests/profile/base/swift/ringbuilder.pp @@ -94,8 +94,8 @@ class tripleo::profile::base::swift::ringbuilder ( path => ['/usr/bin'], command => "curl --insecure --silent '${swift_ring_get_tempurl}' -o /tmp/swift-rings.tar.gz", returns => [0, 3] - } ~> - exec{'extract_swift_ring_tarball': + } + ~> exec{'extract_swift_ring_tarball': path => ['/bin'], command => 'tar xzf /tmp/swift-rings.tar.gz -C /', returns => [0, 2] @@ -122,15 +122,15 @@ class tripleo::profile::base::swift::ringbuilder ( part_power => $part_power, replicas => min(count($device_array), $replicas), min_part_hours => $min_part_hours, - } -> + } # add all other devices - tripleo::profile::base::swift::add_devices {$device_array: + -> tripleo::profile::base::swift::add_devices {$device_array: swift_zones => $swift_zones, - } -> + } # rebalance - swift::ringbuilder::rebalance{ ['object', 'account', 'container']: + -> swift::ringbuilder::rebalance{ ['object', 'account', 'container']: seed => '999', } |