aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cinder-storage.yaml5
-rw-r--r--compute.yaml30
-rw-r--r--controller.yaml39
-rw-r--r--environments/cinder-netapp-config.yaml2
-rw-r--r--environments/mongodb-nojournal.yaml5
-rw-r--r--environments/net-bond-with-vlans.yaml6
-rw-r--r--environments/net-single-nic-with-vlans.yaml6
-rw-r--r--overcloud-without-mergepy.yaml64
-rw-r--r--puppet/ceph-storage-puppet.yaml2
-rw-r--r--puppet/cinder-storage-puppet.yaml49
-rw-r--r--puppet/compute-puppet.yaml74
-rw-r--r--puppet/controller-puppet.yaml92
-rw-r--r--puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml6
-rw-r--r--puppet/hieradata/common.yaml7
-rw-r--r--puppet/hieradata/compute.yaml4
-rw-r--r--puppet/hieradata/controller.yaml1
-rw-r--r--puppet/hieradata/volume.yaml6
-rw-r--r--puppet/manifests/overcloud_cephstorage.pp11
-rw-r--r--puppet/manifests/overcloud_compute.pp12
-rw-r--r--puppet/manifests/overcloud_controller.pp40
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp83
-rw-r--r--puppet/manifests/overcloud_object.pp11
-rw-r--r--puppet/manifests/overcloud_volume.pp12
-rw-r--r--puppet/manifests/ringbuilder.pp11
-rw-r--r--puppet/swift-storage-puppet.yaml2
25 files changed, 317 insertions, 263 deletions
diff --git a/cinder-storage.yaml b/cinder-storage.yaml
index be088d66..f65d9289 100644
--- a/cinder-storage.yaml
+++ b/cinder-storage.yaml
@@ -62,6 +62,11 @@ parameters:
}
}
type: json
+ BlockStorageExtraConfig:
+ default: {}
+ description: |
+ Role specific additional configuration to inject into the cluster.
+ type: json
Flavor:
description: Flavor for block storage nodes to request when deploying.
type: string
diff --git a/compute.yaml b/compute.yaml
index 4a9a92b9..d51aa358 100644
--- a/compute.yaml
+++ b/compute.yaml
@@ -152,6 +152,18 @@ parameters:
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
default: 'gre'
+ NeutronTunnelIdRanges:
+ description: |
+ Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
+ of GRE tunnel IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
+ NeutronVniRanges:
+ description: |
+ Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
+ of VXLAN VNI IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
NeutronPublicInterfaceRawDevice:
default: ''
type: string
@@ -355,6 +367,8 @@ resources:
tenant_network_type: {get_input: neutron_tenant_network_type}
tunnel_types: {get_input: neutron_tunnel_types}
network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
+ tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
+ vni_ranges: {get_input: neutron_vni_ranges}
bridge_mappings: {get_input: neutron_bridge_mappings}
enable_tunneling: {get_input: neutron_enable_tunneling}
physical_bridge: {get_input: neutron_physical_bridge}
@@ -397,6 +411,22 @@ resources:
neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
neutron_tenant_network_type: {get_param: NeutronNetworkType}
neutron_tunnel_types: {get_param: NeutronTunnelTypes}
+ neutron_tunnel_id_ranges:
+ str_replace:
+ template: "['RANGES']"
+ params:
+ RANGES:
+ list_join:
+ - "','"
+ - {get_param: NeutronTunnelIdRanges}
+ neutron_vni_ranges:
+ str_replace:
+ template: "['RANGES']"
+ params:
+ RANGES:
+ list_join:
+ - "','"
+ - {get_param: NeutronVniRanges}
neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
diff --git a/controller.yaml b/controller.yaml
index 1bd1f590..ae60e910 100644
--- a/controller.yaml
+++ b/controller.yaml
@@ -256,7 +256,7 @@ parameters:
MysqlMaxConnections:
description: Configures MySQL max_connections config setting
type: number
- default: 1024
+ default: 4096
MysqlRootPassword:
type: string
hidden: true
@@ -364,11 +364,27 @@ parameters:
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
type: string
+ NeutronTunnelIdRanges:
+ description: |
+ Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
+ of GRE tunnel IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
+ NeutronVniRanges:
+ description: |
+ Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
+ of VXLAN VNI IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
NovaPassword:
default: unset
description: The password for the nova service and db account, used by nova-api.
type: string
hidden: true
+ MongoDbNoJournal:
+ default: false
+ description: Should MongoDb journaling be disabled
+ type: boolean
NtpServer:
type: string
default: ''
@@ -657,6 +673,8 @@ resources:
physical_bridge: br-ex
tenant_network_type: {get_input: neutron_tenant_network_type}
tunnel_types: {get_input: neutron_tunnel_types}
+ tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
+ vni_ranges: {get_input: neutron_vni_ranges}
ovs_db: {get_input: neutron_dsn}
service-password: {get_input: neutron_password}
dnsmasq-options: {get_input: neutron_dnsmasq_options}
@@ -677,6 +695,8 @@ resources:
host: {get_input: controller_virtual_ip}
metadata-proxy: true
service-password: {get_input: nova_password}
+ mongodb:
+ nojournal: {get_input: mongodb_no_journal}
rabbit:
host: {get_input: controller_virtual_ip}
username: {get_input: rabbit_username}
@@ -872,6 +892,7 @@ resources:
- '@'
- {get_param: VirtualIP}
- '/keystone'
+ mongodb_no_journal: {get_param: MongoDbNoJournal}
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
mysql_root_password: {get_param: MysqlRootPassword}
mysql_cluster_name:
@@ -895,6 +916,22 @@ resources:
neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
neutron_tenant_network_type: {get_param: NeutronNetworkType}
neutron_tunnel_types: {get_param: NeutronTunnelTypes}
+ neutron_tunnel_id_ranges:
+ str_replace:
+ template: "['RANGES']"
+ params:
+ RANGES:
+ list_join:
+ - "','"
+ - {get_param: NeutronTunnelIdRanges}
+ neutron_vni_ranges:
+ str_replace:
+ template: "['RANGES']"
+ params:
+ RANGES:
+ list_join:
+ - "','"
+ - {get_param: NeutronVniRanges}
neutron_password: {get_param: NeutronPassword}
neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
neutron_dsn:
diff --git a/environments/cinder-netapp-config.yaml b/environments/cinder-netapp-config.yaml
index 4eaec71f..0437cc67 100644
--- a/environments/cinder-netapp-config.yaml
+++ b/environments/cinder-netapp-config.yaml
@@ -4,7 +4,7 @@ resource_registry:
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
parameter_defaults:
- CinderEnableNetappBackend: false
+ CinderEnableNetappBackend: true
CinderNetappBackendName: 'tripleo_netapp'
CinderNetappLogin: ''
CinderNetappPassword: ''
diff --git a/environments/mongodb-nojournal.yaml b/environments/mongodb-nojournal.yaml
new file mode 100644
index 00000000..1e13e452
--- /dev/null
+++ b/environments/mongodb-nojournal.yaml
@@ -0,0 +1,5 @@
+# A Heat environment file which can be used to disable journal in MongoDb.
+# Since, when journaling is enabled, MongoDb will create big journal file
+# it can take time. In a CI environment for example journaling is not necessary.
+parameters:
+ MongoDbNoJournal: true
diff --git a/environments/net-bond-with-vlans.yaml b/environments/net-bond-with-vlans.yaml
index 73f71324..9600fc7e 100644
--- a/environments/net-bond-with-vlans.yaml
+++ b/environments/net-bond-with-vlans.yaml
@@ -12,7 +12,11 @@ resource_registry:
OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/swift-storage.yaml
OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/ceph-storage.yaml
-parameters:
+# We use parameter_defaults instead of parameters here because Tuskar munges
+# the names of top level and role level parameters with the role name and a
+# version. Using parameter_defaults makes it such that if the parameter name is
+# not defined in the template, we don't get an error.
+parameter_defaults:
# This sets 'external_network_bridge' in l3_agent.ini to an empty string
# so that external networks act like provider bridge networks (they
# will plug into br-int instead of br-ex)
diff --git a/environments/net-single-nic-with-vlans.yaml b/environments/net-single-nic-with-vlans.yaml
index 8561acd3..bdfeadd3 100644
--- a/environments/net-single-nic-with-vlans.yaml
+++ b/environments/net-single-nic-with-vlans.yaml
@@ -12,7 +12,11 @@ resource_registry:
OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/swift-storage.yaml
OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/ceph-storage.yaml
-parameters:
+# We use parameter_defaults instead of parameters here because Tuskar munges
+# the names of top level and role level parameters with the role name and a
+# version. Using parameter_defaults makes it such that if the parameter name is
+# not defined in the template, we don't get an error.
+parameter_defaults:
# This sets 'external_network_bridge' in l3_agent.ini to an empty string
# so that external networks act like provider bridge networks (they
# will plug into br-int instead of br-ex)
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml
index d9190ea1..ab9184fe 100644
--- a/overcloud-without-mergepy.yaml
+++ b/overcloud-without-mergepy.yaml
@@ -148,6 +148,18 @@ parameters:
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
type: string
+ NeutronTunnelIdRanges:
+ description: |
+ Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
+ of GRE tunnel IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
+ NeutronVniRanges:
+ description: |
+ Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
+ of VXLAN VNI IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
NeutronMechanismDrivers:
default: 'openvswitch'
description: |
@@ -174,6 +186,10 @@ parameters:
NtpServer:
type: string
default: ''
+ MongoDbNoJournal:
+ default: false
+ description: Should MongoDb journaling be disabled
+ type: boolean
PublicVirtualFixedIPs:
default: []
description: >
@@ -279,40 +295,9 @@ parameters:
ExtraConfig:
default: {}
description: |
- Additional configuration to inject into the cluster. The JSON should have
- the following structure:
- {"FILEKEY":
- {"config":
- [{"section": "SECTIONNAME",
- "values":
- [{"option": "OPTIONNAME",
- "value": "VALUENAME"
- }
- ]
- }
- ]
- }
- }
- For instance:
- {"nova":
- {"config":
- [{"section": "default",
- "values":
- [{"option": "force_config_drive",
- "value": "always"
- }
- ]
- },
- {"section": "cells",
- "values":
- [{"option": "driver",
- "value": "nova.cells.rpc_driver.CellsRPCDriver"
- }
- ]
- }
- ]
- }
- }
+ Additional configuration to inject into the cluster. The format required
+ may be implementation specific, e.g puppet hieradata. Any role specific
+ ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
type: json
FencingConfig:
default: {}
@@ -408,7 +393,7 @@ parameters:
MysqlMaxConnections:
description: Configures MySQL max_connections config setting
type: number
- default: 1024
+ default: 4096
NeutronDnsmasqOptions:
default: 'dhcp-option-force=26,1400'
description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead.
@@ -572,6 +557,12 @@ parameters:
type: string
constraints:
- custom_constraint: nova.flavor
+ BlockStorageExtraConfig:
+ default: {}
+ description: |
+ BlockStorage specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
# Object storage specific parameters
ObjectStorageCount:
@@ -757,6 +748,7 @@ resources:
NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
NovaPassword: {get_param: NovaPassword}
NtpServer: {get_param: NtpServer}
+ MongoDbNoJournal: {get_param: MongoDbNoJournal}
PcsdPassword: {get_resource: PcsdPassword}
PublicVirtualInterface: {get_param: PublicVirtualInterface}
RabbitPassword: {get_param: RabbitPassword}
@@ -890,6 +882,8 @@ resources:
'%stackname%': {get_param: 'OS::stack_name'}
ServiceNetMap: {get_param: ServiceNetMap}
MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
+ ExtraConfig: {get_param: ExtraConfig}
+ BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
ObjectStorage:
type: OS::Heat::ResourceGroup
diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml
index 2d089419..ccbd277d 100644
--- a/puppet/ceph-storage-puppet.yaml
+++ b/puppet/ceph-storage-puppet.yaml
@@ -129,7 +129,7 @@ resources:
raw_data: {get_file: hieradata/ceph.yaml}
mapped_data:
ntp::servers: {get_input: ntp_servers}
- enable_package_install: {get_input: enable_package_install}
+ tripleo::packages::enable_install: {get_input: enable_package_install}
ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
ceph::profile::params::public_network: {get_input: ceph_public_network}
diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml
index 94a0a5c4..091d1f1b 100644
--- a/puppet/cinder-storage-puppet.yaml
+++ b/puppet/cinder-storage-puppet.yaml
@@ -31,40 +31,13 @@ parameters:
ExtraConfig:
default: {}
description: |
- Additional configuration to inject into the cluster. The JSON should have
- the following structure:
- {"FILEKEY":
- {"config":
- [{"section": "SECTIONNAME",
- "values":
- [{"option": "OPTIONNAME",
- "value": "VALUENAME"
- }
- ]
- }
- ]
- }
- }
- For instance:
- {"nova":
- {"config":
- [{"section": "default",
- "values":
- [{"option": "force_config_drive",
- "value": "always"
- }
- ]
- },
- {"section": "cells",
- "values":
- [{"option": "driver",
- "value": "nova.cells.rpc_driver.CellsRPCDriver"
- }
- ]
- }
- ]
- }
- }
+ Additional hiera configuration to inject into the cluster. Note
+ that BlockStorageExtraConfig takes precedence over ExtraConfig.
+ type: json
+ BlockStorageExtraConfig:
+ default: {}
+ description: |
+ Role specific additional hiera configuration to inject into the cluster.
type: json
Flavor:
description: Flavor for block storage nodes to request when deploying.
@@ -235,6 +208,8 @@ resources:
hiera:
hierarchy:
- heat_config_%{::deploy_config_name}
+ - volume_extraconfig
+ - extraconfig
- volume
- all_nodes # provided by allNodesConfig
- '"%{::osfamily}"'
@@ -242,6 +217,10 @@ resources:
datafiles:
common:
raw_data: {get_file: hieradata/common.yaml}
+ volume_extraconfig:
+ mapped_data: {get_param: BlockStorageExtraConfig}
+ extraconfig:
+ mapped_data: {get_param: ExtraConfig}
volume:
raw_data: {get_file: hieradata/volume.yaml}
mapped_data:
@@ -258,7 +237,7 @@ resources:
cinder_iscsi_ip_address: {get_input: cinder_iscsi_ip_address}
cinder::glance::glance_api_servers: {get_input: glance_api_servers}
ntp::servers: {get_input: ntp_servers}
- enable_package_install: {get_input: enable_package_install}
+ tripleo::packages::enable_install: {get_input: enable_package_install}
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml
index 357a097d..c0d0e98f 100644
--- a/puppet/compute-puppet.yaml
+++ b/puppet/compute-puppet.yaml
@@ -32,40 +32,8 @@ parameters:
ExtraConfig:
default: {}
description: |
- Additional configuration to inject into the cluster. The JSON should have
- the following structure:
- {"FILEKEY":
- {"config":
- [{"section": "SECTIONNAME",
- "values":
- [{"option": "OPTIONNAME",
- "value": "VALUENAME"
- }
- ]
- }
- ]
- }
- }
- For instance:
- {"nova":
- {"config":
- [{"section": "default",
- "values":
- [{"option": "force_config_drive",
- "value": "always"
- }
- ]
- },
- {"section": "cells",
- "values":
- [{"option": "driver",
- "value": "nova.cells.rpc_driver.CellsRPCDriver"
- }
- ]
- }
- ]
- }
- }
+ Additional hiera configuration to inject into the cluster. Note
+ that NovaComputeExtraConfig takes precedence over ExtraConfig.
type: json
Flavor:
description: Flavor for the nova compute node
@@ -152,6 +120,18 @@ parameters:
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
default: 'gre'
+ NeutronTunnelIdRanges:
+ description: |
+ Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
+ of GRE tunnel IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
+ NeutronVniRanges:
+ description: |
+ Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
+ of VXLAN VNI IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
NeutronPublicInterfaceRawDevice:
default: ''
type: string
@@ -328,6 +308,8 @@ resources:
hiera:
hierarchy:
- heat_config_%{::deploy_config_name}
+ - compute_extraconfig
+ - extraconfig
- compute
- ceph_cluster # provided by CephClusterConfig
- ceph
@@ -335,6 +317,10 @@ resources:
- '"%{::osfamily}"'
- common
datafiles:
+ compute_extraconfig:
+ mapped_data: {get_param: NovaComputeExtraConfig}
+ extraconfig:
+ mapped_data: {get_param: ExtraConfig}
common:
raw_data: {get_file: hieradata/common.yaml}
ceph:
@@ -378,6 +364,8 @@ resources:
neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
neutron_tunnel_types: {get_input: neutron_tunnel_types}
neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
+ neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
+ neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
neutron_physical_bridge: {get_input: neutron_physical_bridge}
@@ -392,7 +380,7 @@ resources:
neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
admin_password: {get_input: admin_password}
ntp::servers: {get_input: ntp_servers}
- enable_package_install: {get_input: enable_package_install}
+ tripleo::packages::enable_install: {get_input: enable_package_install}
NovaComputeDeployment:
type: OS::TripleO::SoftwareDeployment
@@ -433,6 +421,22 @@ resources:
neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
neutron_tenant_network_type: {get_param: NeutronNetworkType}
neutron_tunnel_types: {get_param: NeutronTunnelTypes}
+ neutron_tunnel_id_ranges:
+ str_replace:
+ template: "['RANGES']"
+ params:
+ RANGES:
+ list_join:
+ - "','"
+ - {get_param: NeutronTunnelIdRanges}
+ neutron_vni_ranges:
+ str_replace:
+ template: "['RANGES']"
+ params:
+ RANGES:
+ list_join:
+ - "','"
+ - {get_param: NeutronVniRanges}
neutron_network_vlan_ranges:
str_replace:
template: "['RANGES']"
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index 3f01b094..1271ca97 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -61,8 +61,7 @@ parameters:
ControllerExtraConfig:
default: {}
description: |
- Controller specific configuration to inject into the cluster. Same
- structure as ExtraConfig.
+ Controller specific hiera configuration data to inject into the cluster.
type: json
ControlVirtualInterface:
default: 'br-ex'
@@ -91,40 +90,8 @@ parameters:
ExtraConfig:
default: {}
description: |
- Additional configuration to inject into the cluster. The JSON should have
- the following structure:
- {"FILEKEY":
- {"config":
- [{"section": "SECTIONNAME",
- "values":
- [{"option": "OPTIONNAME",
- "value": "VALUENAME"
- }
- ]
- }
- ]
- }
- }
- For instance:
- {"nova":
- {"config":
- [{"section": "default",
- "values":
- [{"option": "compute_manager",
- "value": "ironic.nova.compute.manager.ClusterComputeManager"
- }
- ]
- },
- {"section": "cells",
- "values":
- [{"option": "driver",
- "value": "nova.cells.rpc_driver.CellsRPCDriver"
- }
- ]
- }
- ]
- }
- }
+ Additional hieradata to inject into the cluster, note that
+ ControllerExtraConfig takes precedence over ExtraConfig.
type: json
FencingConfig:
default: {}
@@ -261,7 +228,7 @@ parameters:
MysqlMaxConnections:
description: Configures MySQL max_connections config setting
type: number
- default: 1024
+ default: 4096
MysqlRootPassword:
type: string
hidden: true
@@ -373,11 +340,27 @@ parameters:
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
type: string
+ NeutronTunnelIdRanges:
+ description: |
+ Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
+ of GRE tunnel IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
+ NeutronVniRanges:
+ description: |
+ Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
+ of VXLAN VNI IDs that are available for tenant network allocation
+ default: ["1:1000", ]
+ type: comma_delimited_list
NovaPassword:
default: unset
description: The password for the nova service and db account, used by nova-api.
type: string
hidden: true
+ MongoDbNoJournal:
+ default: false
+ description: Should MongoDb journaling be disabled
+ type: boolean
NtpServer:
type: string
default: ''
@@ -682,6 +665,12 @@ resources:
- - 'http://'
- {get_param: KeystonePublicApiVirtualIP}
- ':5000/v2.0/'
+ keystone_ec2_uri:
+ list_join:
+ - ''
+ - - 'http://'
+ - {get_param: KeystonePublicApiVirtualIP}
+ - ':5000/v2.0/ec2tokens'
enable_fencing: {get_param: EnableFencing}
enable_galera: {get_param: EnableGalera}
enable_ceph_storage: {get_param: EnableCephStorage}
@@ -718,6 +707,22 @@ resources:
neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
neutron_tenant_network_type: {get_param: NeutronNetworkType}
neutron_tunnel_types: {get_param: NeutronTunnelTypes}
+ neutron_tunnel_id_ranges:
+ str_replace:
+ template: "['RANGES']"
+ params:
+ RANGES:
+ list_join:
+ - "','"
+ - {get_param: NeutronTunnelIdRanges}
+ neutron_vni_ranges:
+ str_replace:
+ template: "['RANGES']"
+ params:
+ RANGES:
+ list_join:
+ - "','"
+ - {get_param: NeutronVniRanges}
neutron_password: {get_param: NeutronPassword}
neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
neutron_dsn:
@@ -773,6 +778,7 @@ resources:
rabbit_cookie: {get_param: RabbitCookie}
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
rabbit_client_port: {get_param: RabbitClientPort}
+ mongodb_no_journal: {get_param: MongoDbNoJournal}
ntp_servers:
str_replace:
template: '["server"]'
@@ -829,6 +835,8 @@ resources:
hiera:
hierarchy:
- heat_config_%{::deploy_config_name}
+ - controller_extraconfig
+ - extraconfig
- controller
- object
- swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
@@ -841,6 +849,10 @@ resources:
- common
- cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
datafiles:
+ controller_extraconfig:
+ mapped_data: {get_param: ControllerExtraConfig}
+ extraconfig:
+ mapped_data: {get_param: ExtraConfig}
common:
raw_data: {get_file: hieradata/common.yaml}
ceph:
@@ -930,6 +942,7 @@ resources:
heat::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
heat::rabbit_port: {get_input: rabbit_client_port}
heat::auth_uri: {get_input: keystone_auth_uri}
+ heat::keystone_ec2_uri: {get_input: keystone_ec2_uri}
heat::identity_uri: {get_input: keystone_identity_uri}
heat::keystone_password: {get_input: heat_password}
heat::api::bind_host: {get_input: heat_api_network}
@@ -952,6 +965,7 @@ resources:
keystone::debug: {get_input: debug}
# MongoDB
mongodb::server::bind_ip: {get_input: mongo_db_network}
+ mongodb::server::nojournal: {get_input: mongodb_no_journal}
# MySQL
admin_password: {get_input: admin_password}
enable_galera: {get_input: enable_galera}
@@ -986,6 +1000,8 @@ resources:
neutron::server::l3_ha: {get_input: neutron_l3_ha}
neutron::dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
+ neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
+ neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
neutron_public_interface: {get_input: neutron_public_interface}
neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
@@ -1058,7 +1074,7 @@ resources:
public_virtual_interface: {get_input: public_virtual_interface}
tripleo::loadbalancer::control_virtual_interface: {get_input: control_virtual_interface}
tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface}
- enable_package_install: {get_input: enable_package_install}
+ tripleo::packages::enable_install: {get_input: enable_package_install}
# Hook for site-specific additional pre-deployment config, e.g extra hieradata
ControllerExtraConfigPre:
diff --git a/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml b/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
index 1d982dff..18295a2f 100644
--- a/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
+++ b/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
@@ -9,8 +9,8 @@ parameters:
# Config specific parameters, to be provided via parameter_defaults
CinderEnableNetappBackend:
- type: string
- default: false
+ type: boolean
+ default: true
CinderNetappBackendName:
type: string
default: 'tripleo_netapp'
@@ -89,7 +89,7 @@ resources:
cinder::backend::netapp::title: {get_input: NetappBackendName}
cinder::backend::netapp::netapp_login: {get_input: NetappLogin}
cinder::backend::netapp::netapp_password: {get_input: NetappPassword}
- cinder::backend::netapp::netapp_hostname: {get_input: NetappServerHostname}
+ cinder::backend::netapp::netapp_server_hostname: {get_input: NetappServerHostname}
cinder::backend::netapp::netapp_server_port: {get_input: NetappServerPort}
cinder::backend::netapp::netapp_size_multiplier: {get_input: NetappSizeMultiplier}
cinder::backend::netapp::netapp_storage_family: {get_input: NetappStorageFamily}
diff --git a/puppet/hieradata/common.yaml b/puppet/hieradata/common.yaml
index 40c44aef..272a6688 100644
--- a/puppet/hieradata/common.yaml
+++ b/puppet/hieradata/common.yaml
@@ -13,10 +13,7 @@ nova::network::neutron::vif_plugging_is_fatal: false
nova::network::neutron::vif_plugging_timeout: 30
nova::network::neutron::dhcp_domain: ''
-neutron::plugins::ml2::tunnel_id_ranges:
- - '1:1000'
-neutron::plugins::ml2::vni_ranges:
- - '1:1000'
+neutron::allow_overlapping_ips: true
neutron::plugins::ml2::type_drivers:
- flat
- gre
@@ -29,4 +26,4 @@ sysctl_settings:
net.ipv4.tcp_keepalive_probes:
value: 5
net.ipv4.tcp_keepalive_time:
- value: 5 \ No newline at end of file
+ value: 5
diff --git a/puppet/hieradata/compute.yaml b/puppet/hieradata/compute.yaml
index 63a3473d..673c7773 100644
--- a/puppet/hieradata/compute.yaml
+++ b/puppet/hieradata/compute.yaml
@@ -15,6 +15,10 @@ nova::compute::rbd::rbd_keyring: 'client.openstack'
nova::compute::rbd::libvirt_images_rbd_pool: 'vms'
nova::compute::rbd::libvirt_rbd_secret_uuid: "%{hiera('ceph::profile::params::fsid')}"
+nova::config::nova_config:
+ cinder/catalog_info:
+ value: 'volumev2:cinderv2:internalURL'
+
ceilometer::agent::auth::auth_tenant_name: 'service'
compute_classes: [] \ No newline at end of file
diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml
index 72c10c26..3cc64971 100644
--- a/puppet/hieradata/controller.yaml
+++ b/puppet/hieradata/controller.yaml
@@ -22,6 +22,7 @@ rabbitmq_config_variables:
cluster_partition_handling: 'pause_minority'
mongodb::server::replset: tripleo
+mongodb::server::journal: false
redis::port: 6379
redis::sentinel::master_name: "%{hiera('bootstrap_nodeid')}"
diff --git a/puppet/hieradata/volume.yaml b/puppet/hieradata/volume.yaml
index 9f3907ef..f4cd78a9 100644
--- a/puppet/hieradata/volume.yaml
+++ b/puppet/hieradata/volume.yaml
@@ -3,4 +3,10 @@
# cinder
cinder::scheduler::scheduler_driver: cinder.scheduler.filter_scheduler.FilterScheduler
+cinder::config::cinder_config:
+ DEFAULT/nova_catalog_info:
+ value: 'compute:Compute Service:internalURL'
+ DEFAULT/swift_catalog_info:
+ value: 'object-store:swift:internalURL'
+
volume_classes: [] \ No newline at end of file
diff --git a/puppet/manifests/overcloud_cephstorage.pp b/puppet/manifests/overcloud_cephstorage.pp
index 21fd5f98..cf2626ac 100644
--- a/puppet/manifests/overcloud_cephstorage.pp
+++ b/puppet/manifests/overcloud_cephstorage.pp
@@ -13,16 +13,7 @@
# 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 tripleo::packages
create_resources(sysctl::value, hiera('sysctl_settings'), {})
diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp
index 67a73dda..d36cf0b0 100644
--- a/puppet/manifests/overcloud_compute.pp
+++ b/puppet/manifests/overcloud_compute.pp
@@ -13,16 +13,7 @@
# 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 tripleo::packages
create_resources(sysctl::value, hiera('sysctl_settings'), {})
@@ -44,6 +35,7 @@ exec { 'libvirt-default-net-destroy':
}
include ::nova
+include ::nova::config
include ::nova::compute
nova_config {
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index f17dc831..03f47eca 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -13,16 +13,7 @@
# 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 tripleo::packages
if hiera('step') >= 1 {
@@ -253,7 +244,9 @@ if hiera('step') >= 3 {
include ::glance::registry
include join(['::glance::backend::', $glance_backend])
- include ::nova
+ class { '::nova' :
+ memcached_servers => suffix(hiera('memcache_node_ips'), ':11211'),
+ }
include ::nova::api
include ::nova::cert
include ::nova::conductor
@@ -343,12 +336,31 @@ if hiera('step') >= 3 {
"${cinder_netapp_backend}/host": value => 'hostgroup';
}
- if hiera('cinder_netapp_nfs_shares', undef) {
- $cinder_netapp_nfs_shares = split(hiera('cinder_netapp_nfs_shares', undef), ',')
+ if hiera('cinder::backend::netapp::nfs_shares', undef) {
+ $cinder_netapp_nfs_shares = split(hiera('cinder::backend::netapp::nfs_shares', undef), ',')
}
cinder::backend::netapp { $cinder_netapp_backend :
- nfs_shares => $cinder_netapp_nfs_shares,
+ netapp_login => hiera('cinder::backend::netapp::netapp_login', undef),
+ netapp_password => hiera('cinder::backend::netapp::netapp_password', undef),
+ netapp_server_hostname => hiera('cinder::backend::netapp::netapp_server_hostname', undef),
+ netapp_server_port => hiera('cinder::backend::netapp::netapp_server_port', undef),
+ netapp_size_multiplier => hiera('cinder::backend::netapp::netapp_size_multiplier', undef),
+ netapp_storage_family => hiera('cinder::backend::netapp::netapp_storage_family', undef),
+ netapp_storage_protocol => hiera('cinder::backend::netapp::netapp_storage_protocol', undef),
+ netapp_transport_type => hiera('cinder::backend::netapp::netapp_transport_type', undef),
+ netapp_vfiler => hiera('cinder::backend::netapp::netapp_vfiler', undef),
+ netapp_volume_list => hiera('cinder::backend::netapp::netapp_volume_list', undef),
+ netapp_vserver => hiera('cinder::backend::netapp::netapp_vserver', undef),
+ netapp_partner_backend_name => hiera('cinder::backend::netapp::netapp_partner_backend_name', undef),
+ nfs_shares => $cinder_netapp_nfs_shares,
+ nfs_shares_config => hiera('cinder::backend::netapp::nfs_shares_config', undef),
+ netapp_copyoffload_tool_path => hiera('cinder::backend::netapp::netapp_copyoffload_tool_path', undef),
+ netapp_controller_ips => hiera('cinder::backend::netapp::netapp_controller_ips', undef),
+ netapp_sa_password => hiera('cinder::backend::netapp::netapp_sa_password', undef),
+ netapp_storage_pools => hiera('cinder::backend::netapp::netapp_storage_pools', undef),
+ netapp_eseries_host_type => hiera('cinder::backend::netapp::netapp_eseries_host_type', undef),
+ netapp_webservice_path => hiera('cinder::backend::netapp::netapp_webservice_path', undef),
}
}
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index b53346ed..8f6d4c60 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -18,16 +18,7 @@ Pcmk_resource <| |> {
try_sleep => 3,
}
-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 tripleo::packages
if $::hostname == downcase(hiera('bootstrap_nodeid')) {
$pacemaker_master = true
@@ -83,6 +74,13 @@ if hiera('step') >= 1 {
Class['tripleo::fencing'] -> Class['pacemaker::stonith']
}
+ # FIXME(gfidente): sets 90secs as default start timeout op
+ # param; until we can use pcmk global defaults we'll still
+ # need to add it to every resource which redefines op params
+ Pacemaker::Resource::Service {
+ op_params => 'start timeout=90s',
+ }
+
# Only configure RabbitMQ in this step, don't start it yet to
# avoid races where non-master nodes attempt to start without
# config (eg. binding on 0.0.0.0)
@@ -565,7 +563,9 @@ if hiera('step') >= 3 {
}
include join(['::glance::backend::', $glance_backend])
- include ::nova
+ class { '::nova' :
+ memcached_servers => suffix(hiera('memcache_node_ips'), ':11211'),
+ }
class { '::nova::api' :
sync_db => $sync_db,
@@ -625,7 +625,7 @@ if hiera('step') >= 3 {
tenant_network_types => [hiera('neutron_tenant_network_type')],
}
class { 'neutron::agents::ml2::ovs':
- # manage_service => false # not implemented
+ manage_service => false,
enabled => false,
bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
@@ -694,12 +694,31 @@ if hiera('step') >= 3 {
"${cinder_netapp_backend}/host": value => 'hostgroup';
}
- if hiera('cinder_netapp_nfs_shares', undef) {
- $cinder_netapp_nfs_shares = split(hiera('cinder_netapp_nfs_shares', undef), ',')
+ if hiera('cinder::backend::netapp::nfs_shares', undef) {
+ $cinder_netapp_nfs_shares = split(hiera('cinder::backend::netapp::nfs_shares', undef), ',')
}
cinder::backend::netapp { $cinder_netapp_backend :
- nfs_shares => $cinder_netapp_nfs_shares,
+ netapp_login => hiera('cinder::backend::netapp::netapp_login', undef),
+ netapp_password => hiera('cinder::backend::netapp::netapp_password', undef),
+ netapp_server_hostname => hiera('cinder::backend::netapp::netapp_server_hostname', undef),
+ netapp_server_port => hiera('cinder::backend::netapp::netapp_server_port', undef),
+ netapp_size_multiplier => hiera('cinder::backend::netapp::netapp_size_multiplier', undef),
+ netapp_storage_family => hiera('cinder::backend::netapp::netapp_storage_family', undef),
+ netapp_storage_protocol => hiera('cinder::backend::netapp::netapp_storage_protocol', undef),
+ netapp_transport_type => hiera('cinder::backend::netapp::netapp_transport_type', undef),
+ netapp_vfiler => hiera('cinder::backend::netapp::netapp_vfiler', undef),
+ netapp_volume_list => hiera('cinder::backend::netapp::netapp_volume_list', undef),
+ netapp_vserver => hiera('cinder::backend::netapp::netapp_vserver', undef),
+ netapp_partner_backend_name => hiera('cinder::backend::netapp::netapp_partner_backend_name', undef),
+ nfs_shares => $cinder_netapp_nfs_shares,
+ nfs_shares_config => hiera('cinder::backend::netapp::nfs_shares_config', undef),
+ netapp_copyoffload_tool_path => hiera('cinder::backend::netapp::netapp_copyoffload_tool_path', undef),
+ netapp_controller_ips => hiera('cinder::backend::netapp::netapp_controller_ips', undef),
+ netapp_sa_password => hiera('cinder::backend::netapp::netapp_sa_password', undef),
+ netapp_storage_pools => hiera('cinder::backend::netapp::netapp_storage_pools', undef),
+ netapp_eseries_host_type => hiera('cinder::backend::netapp::netapp_eseries_host_type', undef),
+ netapp_webservice_path => hiera('cinder::backend::netapp::netapp_webservice_path', undef),
}
}
@@ -974,10 +993,6 @@ if hiera('step') >= 4 {
ocf_agent_name => "neutron:NetnsCleanup",
clone_params => "interleave=true",
}
- pacemaker::resource::ocf { 'neutron-scale':
- ocf_agent_name => "neutron:NeutronScale",
- clone_params => "globally-unique=true clone-max=3 interleave=true",
- }
pacemaker::constraint::base { 'keystone-to-neutron-server-constraint':
constraint_type => "order",
first_resource => "${::keystone::params::service_name}-clone",
@@ -987,29 +1002,13 @@ if hiera('step') >= 4 {
require => [Pacemaker::Resource::Service[$::keystone::params::service_name],
Pacemaker::Resource::Service[$::neutron::params::server_service]],
}
- pacemaker::constraint::base { 'neutron-server-to-neutron-scale-constraint':
+ pacemaker::constraint::base { 'neutron-server-to-neutron-ovs-cleanup-constraint':
constraint_type => "order",
first_resource => "${::neutron::params::server_service}-clone",
- second_resource => "neutron-scale-clone",
- first_action => "start",
- second_action => "start",
- require => [Pacemaker::Resource::Service[$::neutron::params::server_service],
- Pacemaker::Resource::Ocf['neutron-scale']],
- }
- pacemaker::constraint::base { 'neutron-scale-to-ovs-cleanup-constraint':
- constraint_type => "order",
- first_resource => "neutron-scale-clone",
second_resource => "${::neutron::params::ovs_cleanup_service}-clone",
first_action => "start",
second_action => "start",
- require => [Pacemaker::Resource::Ocf['neutron-scale'],
- Pacemaker::Resource::Ocf["${::neutron::params::ovs_cleanup_service}"]],
- }
- pacemaker::constraint::colocation { 'neutron-scale-to-ovs-cleanup-colocation':
- source => "${::neutron::params::ovs_cleanup_service}-clone",
- target => "neutron-scale-clone",
- score => "INFINITY",
- require => [Pacemaker::Resource::Ocf['neutron-scale'],
+ require => [Pacemaker::Resource::Service[$::neutron::params::server_service],
Pacemaker::Resource::Ocf["${::neutron::params::ovs_cleanup_service}"]],
}
pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint':
@@ -1097,24 +1096,24 @@ if hiera('step') >= 4 {
# Nova
pacemaker::resource::service { $::nova::params::api_service_name :
clone_params => "interleave=true",
- op_params => "monitor start-delay=10s",
+ op_params => "start timeout=90s monitor start-delay=10s",
}
pacemaker::resource::service { $::nova::params::conductor_service_name :
clone_params => "interleave=true",
- op_params => "monitor start-delay=10s",
+ op_params => "start timeout=90s monitor start-delay=10s",
}
pacemaker::resource::service { $::nova::params::consoleauth_service_name :
clone_params => "interleave=true",
- op_params => "monitor start-delay=10s",
+ op_params => "start timeout=90s monitor start-delay=10s",
require => Pacemaker::Resource::Service[$::keystone::params::service_name],
}
pacemaker::resource::service { $::nova::params::vncproxy_service_name :
clone_params => "interleave=true",
- op_params => "monitor start-delay=10s",
+ op_params => "start timeout=90s monitor start-delay=10s",
}
pacemaker::resource::service { $::nova::params::scheduler_service_name :
clone_params => "interleave=true",
- op_params => "monitor start-delay=10s",
+ op_params => "start timeout=90s monitor start-delay=10s",
}
pacemaker::constraint::base { 'keystone-then-nova-consoleauth-constraint':
diff --git a/puppet/manifests/overcloud_object.pp b/puppet/manifests/overcloud_object.pp
index ed2ca7c0..59db696e 100644
--- a/puppet/manifests/overcloud_object.pp
+++ b/puppet/manifests/overcloud_object.pp
@@ -13,16 +13,7 @@
# 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 tripleo::packages
create_resources(sysctl::value, hiera('sysctl_settings'), {})
diff --git a/puppet/manifests/overcloud_volume.pp b/puppet/manifests/overcloud_volume.pp
index 2ef0884b..d1f6d6a5 100644
--- a/puppet/manifests/overcloud_volume.pp
+++ b/puppet/manifests/overcloud_volume.pp
@@ -13,16 +13,7 @@
# 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 tripleo::packages
create_resources(sysctl::value, hiera('sysctl_settings'), {})
@@ -31,6 +22,7 @@ if count(hiera('ntp::servers')) > 0 {
}
include ::cinder
+include ::cinder::config
include ::cinder::glance
include ::cinder::volume
include ::cinder::setup_test_volume
diff --git a/puppet/manifests/ringbuilder.pp b/puppet/manifests/ringbuilder.pp
index 531706d2..14fbafdd 100644
--- a/puppet/manifests/ringbuilder.pp
+++ b/puppet/manifests/ringbuilder.pp
@@ -13,16 +13,7 @@
# 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 tripleo::packages
define add_devices(
$swift_zones = '1'
diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml
index fb1756b8..dc6ff899 100644
--- a/puppet/swift-storage-puppet.yaml
+++ b/puppet/swift-storage-puppet.yaml
@@ -150,7 +150,7 @@ resources:
tripleo::ringbuilder::build_ring: True
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
- enable_package_install: {get_input: enable_package_install}
+ tripleo::packages::enable_install: {get_input: enable_package_install}
SwiftStorageHieraDeploy: