diff options
-rw-r--r-- | cinder-storage-puppet.yaml | 6 | ||||
-rw-r--r-- | compute-puppet.yaml | 7 | ||||
-rw-r--r-- | controller-puppet.yaml | 7 | ||||
-rw-r--r-- | overcloud-resource-registry-puppet.yaml | 4 | ||||
-rw-r--r-- | puppet/loadbalancer.pp | 11 | ||||
-rw-r--r-- | puppet/overcloud_compute.pp | 11 | ||||
-rw-r--r-- | puppet/overcloud_controller.pp | 11 | ||||
-rw-r--r-- | puppet/overcloud_object.pp | 10 | ||||
-rw-r--r-- | puppet/overcloud_volume.pp | 11 | ||||
-rw-r--r-- | puppet/ringbuilder.pp | 11 | ||||
-rw-r--r-- | swift-storage-puppet.yaml | 6 |
11 files changed, 93 insertions, 2 deletions
diff --git a/cinder-storage-puppet.yaml b/cinder-storage-puppet.yaml index 508b483c..433df328 100644 --- a/cinder-storage-puppet.yaml +++ b/cinder-storage-puppet.yaml @@ -84,6 +84,10 @@ parameters: NtpServer: type: string default: '' + EnablePackageInstall: + default: 'false' + description: Set to true to enable package installation via Puppet + type: boolean resources: BlockStorage: @@ -124,6 +128,7 @@ resources: template: '["server"]' params: server: {get_param: NtpServer} + enable_package_install: {get_param: EnablePackageInstall} signal_transport: NO_SIGNAL # Map heat metadata into hiera datafiles @@ -153,6 +158,7 @@ resources: cinder::rabbit_userid: {get_input: rabbit_username} cinder::rabbit_password: {get_input: rabbit_password} ntp::servers: {get_input: ntp_servers} + enable_package_install: {get_input: enable_package_install} VolumePuppetConfig: type: OS::Heat::SoftwareConfig diff --git a/compute-puppet.yaml b/compute-puppet.yaml index 000ca8d8..0448b7bf 100644 --- a/compute-puppet.yaml +++ b/compute-puppet.yaml @@ -227,7 +227,10 @@ parameters: description: The user password for SNMPd with readonly rights running on all Overcloud nodes type: string hidden: true - + EnablePackageInstall: + default: 'false' + description: Set to true to enable package installation via Puppet + type: boolean resources: @@ -336,6 +339,7 @@ resources: neutron::rabbit_password: {get_input: rabbit_password} ceilometer::rabbit_password: {get_input: rabbit_password} ntp::servers: {get_input: ntp_servers} + enable_package_install: {get_input: enable_package_install} NovaComputeDeployment: type: OS::TripleO::SoftwareDeployment @@ -385,6 +389,7 @@ resources: template: '["server"]' params: server: {get_param: NtpServer} + enable_package_install: {get_param: EnablePackageInstall} outputs: ip_address: diff --git a/controller-puppet.yaml b/controller-puppet.yaml index 747c38af..5974f9e4 100644 --- a/controller-puppet.yaml +++ b/controller-puppet.yaml @@ -373,7 +373,10 @@ parameters: VirtualIP: type: string default: '' # Has to be here because of the ignored empty value bug - + EnablePackageInstall: + default: 'false' + description: Set to true to enable package installation via Puppet + type: boolean resources: @@ -538,6 +541,7 @@ resources: swift_replicas: {get_param: SwiftReplicas} swift_min_part_hours: {get_param: SwiftMinPartHours} swift_mount_check: {get_param: SwiftMountCheck} + enable_package_install: {get_param: EnablePackageInstall} # Map heat metadata into hiera datafiles ControllerConfig: @@ -704,6 +708,7 @@ resources: controller_virtual_ip: {get_input: controller_virtual_ip} public_virtual_interface: {get_input: public_virtual_interface} public_virtual_ip: {get_input: public_virtual_ip} + enable_package_install: {get_input: enable_package_install} # NOTE(dprince): this example uses a composition class # on the puppet side (loadbalancer.pp). This seemed like the diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index 6860708a..f8e7cc9e 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.yaml @@ -5,3 +5,7 @@ resource_registry: OS::TripleO::Controller: controller-puppet.yaml OS::TripleO::ObjectStorage: swift-storage-puppet.yaml OS::TripleO::Net::SoftwareConfig: net-config-bridge.yaml + +# NOTE(dprince): requires a new release of python-heatclient +#default_parameters: + #EnablePackageInstall: false diff --git a/puppet/loadbalancer.pp b/puppet/loadbalancer.pp index 84598da6..88e6bdd4 100644 --- a/puppet/loadbalancer.pp +++ b/puppet/loadbalancer.pp @@ -13,6 +13,17 @@ # License for the specific language governing permissions and limitations # under the License. +if !str2bool(hiera('enable_package_install', 'false')) { + case $::osfamily { + 'RedHat': { + Package { provider => 'norpm' } # provided by tripleo-puppet + } + default: { + warning('enable_package_install option not supported.') + } + } +} + class tripleo::loadbalancer ( $keystone_admin = false, $keystone_public = false, diff --git a/puppet/overcloud_compute.pp b/puppet/overcloud_compute.pp index 693a06b3..2ff31be2 100644 --- a/puppet/overcloud_compute.pp +++ b/puppet/overcloud_compute.pp @@ -13,6 +13,17 @@ # License for the specific language governing permissions and limitations # under the License. +if !str2bool(hiera('enable_package_install', 'false')) { + case $::osfamily { + 'RedHat': { + Package { provider => 'norpm' } # provided by tripleo-puppet + } + default: { + warning('enable_package_install option not supported.') + } + } +} + include ::ntp class { 'nova': diff --git a/puppet/overcloud_controller.pp b/puppet/overcloud_controller.pp index 6af54a5e..acfea686 100644 --- a/puppet/overcloud_controller.pp +++ b/puppet/overcloud_controller.pp @@ -13,6 +13,17 @@ # License for the specific language governing permissions and limitations # under the License. +if !str2bool(hiera('enable_package_install', 'false')) { + case $::osfamily { + 'RedHat': { + Package { provider => 'norpm' } # provided by tripleo-puppet + } + default: { + warning('enable_package_install option not supported.') + } + } +} + if hiera('step') >= 1 { include ::ntp diff --git a/puppet/overcloud_object.pp b/puppet/overcloud_object.pp index d415c23a..c407afad 100644 --- a/puppet/overcloud_object.pp +++ b/puppet/overcloud_object.pp @@ -13,6 +13,16 @@ # License for the specific language governing permissions and limitations # under the License. +if !str2bool(hiera('enable_package_install', 'false')) { + case $::osfamily { + 'RedHat': { + Package { provider => 'norpm' } # provided by tripleo-puppet + } + default: { + warning('enable_package_install option not supported.') + } + } +} include ::ntp include ::swift diff --git a/puppet/overcloud_volume.pp b/puppet/overcloud_volume.pp index 91566bb2..9351d708 100644 --- a/puppet/overcloud_volume.pp +++ b/puppet/overcloud_volume.pp @@ -13,6 +13,17 @@ # License for the specific language governing permissions and limitations # under the License. +if str2bool(hiera('disable_package_install', 'false')) { + case $::osfamily { + 'RedHat': { + Package { provider => 'norpm' } # provided by tripleo-puppet + } + default: { + warning('disable_package_install option not supported.') + } + } +} + include ::ntp include ::cinder diff --git a/puppet/ringbuilder.pp b/puppet/ringbuilder.pp index 85f7eea5..531706d2 100644 --- a/puppet/ringbuilder.pp +++ b/puppet/ringbuilder.pp @@ -13,6 +13,17 @@ # License for the specific language governing permissions and limitations # under the License. +if str2bool(hiera('disable_package_install', 'false')) { + case $::osfamily { + 'RedHat': { + Package { provider => 'norpm' } # provided by tripleo-puppet + } + default: { + warning('disable_package_install option not supported.') + } + } +} + define add_devices( $swift_zones = '1' ){ diff --git a/swift-storage-puppet.yaml b/swift-storage-puppet.yaml index 26efffdb..a529330f 100644 --- a/swift-storage-puppet.yaml +++ b/swift-storage-puppet.yaml @@ -47,6 +47,10 @@ parameters: NtpServer: type: string default: '' + EnablePackageInstall: + default: 'false' + description: Set to true to enable package installation via Puppet + type: boolean resources: @@ -121,6 +125,7 @@ resources: # NOTE(dprince): build_ring support is currently not wired in. # See: https://review.openstack.org/#/c/109225/ tripleo::ringbuilder::build_ring: True + enable_package_install: {get_input: enable_package_install} SwiftStorageHieraDeploy: @@ -143,6 +148,7 @@ resources: template: '["server"]' params: server: {get_param: NtpServer} + enable_package_install: {get_param: EnablePackageInstall} outputs: hosts_entry: |