summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/firstboot/install_docker_agents.yaml2
-rw-r--r--environments/cinder-dellsc-config.yaml17
-rw-r--r--environments/storage-environment.yaml5
-rw-r--r--net-config-linux-bridge.yaml4
-rw-r--r--network/config/multiple-nics/ceph-storage.yaml2
-rw-r--r--network/config/multiple-nics/cinder-storage.yaml2
-rw-r--r--network/config/multiple-nics/controller.yaml2
-rw-r--r--network/config/multiple-nics/swift-storage.yaml2
-rw-r--r--overcloud.yaml24
-rw-r--r--puppet/ceph-storage.yaml6
-rw-r--r--puppet/cinder-storage-post.yaml8
-rw-r--r--puppet/cinder-storage.yaml6
-rw-r--r--puppet/compute.yaml19
-rw-r--r--puppet/controller.yaml45
-rw-r--r--puppet/extraconfig/pre_deploy/controller/cinder-dellsc.yaml87
-rw-r--r--puppet/hieradata/controller.yaml2
-rw-r--r--puppet/manifests/overcloud_cephstorage.pp2
-rw-r--r--puppet/manifests/overcloud_compute.pp2
-rw-r--r--puppet/manifests/overcloud_controller.pp36
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp42
-rw-r--r--puppet/manifests/overcloud_object.pp2
-rw-r--r--puppet/manifests/overcloud_volume.pp2
-rw-r--r--puppet/swift-storage.yaml6
23 files changed, 306 insertions, 19 deletions
diff --git a/docker/firstboot/install_docker_agents.yaml b/docker/firstboot/install_docker_agents.yaml
index 22a8ff92..348c1755 100644
--- a/docker/firstboot/install_docker_agents.yaml
+++ b/docker/firstboot/install_docker_agents.yaml
@@ -3,7 +3,7 @@ heat_template_version: 2014-10-16
parameters:
DockerAgentImage:
type: string
- default: dprince/heat-docker-agents-centos
+ default: tripleoupstream/heat-docker-agents
DockerNamespace:
type: string
default: kollaglue
diff --git a/environments/cinder-dellsc-config.yaml b/environments/cinder-dellsc-config.yaml
new file mode 100644
index 00000000..92e257d4
--- /dev/null
+++ b/environments/cinder-dellsc-config.yaml
@@ -0,0 +1,17 @@
+# A Heat environment file which can be used to enable a
+# a Cinder Dell Storage Center ISCSI backend, configured via puppet
+resource_registry:
+ OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/cinder-dellsc.yaml
+
+parameter_defaults:
+ CinderEnableDellScBackend: true
+ CinderDellScBackendName: 'tripleo_dellsc'
+ CinderDellScSanIp: ''
+ CinderDellScSanLogin: 'Admin'
+ CinderDellScSanPassword: ''
+ CinderDellScSsn: '64702'
+ CinderDellScIscsiIpAddress: ''
+ CinderDellScIscsiPort: '3260'
+ CinderDellScApiPort: '3033'
+ CinderDellScServerFolder: 'dellsc_server'
+ CinderDellScVolumeFolder: 'dellsc_volume'
diff --git a/environments/storage-environment.yaml b/environments/storage-environment.yaml
index 5ccfa58e..bd320bd9 100644
--- a/environments/storage-environment.yaml
+++ b/environments/storage-environment.yaml
@@ -43,9 +43,10 @@ parameter_defaults:
## OSDs are deployed on dedicated ceph-storage nodes only.
# ControllerEnableCephStorage: false
- ## When deploying Ceph through the oscplugin CLI, the following
+ ## When deploying Ceph Nodes through the oscplugin CLI, the following
## parameters are set automatically by the CLI. When deploying via
- ## heat stack-create, they need to be provided manually.
+ ## heat stack-create or ceph on the controller nodes only,
+ ## they need to be provided manually.
## Number of Ceph storage nodes to deploy
# CephStorageCount: 0
diff --git a/net-config-linux-bridge.yaml b/net-config-linux-bridge.yaml
index 0646ffab..0980803e 100644
--- a/net-config-linux-bridge.yaml
+++ b/net-config-linux-bridge.yaml
@@ -28,6 +28,10 @@ parameters:
default: ''
description: IP address/subnet on the tenant network
type: string
+ ManagementIpSubnet:
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
diff --git a/network/config/multiple-nics/ceph-storage.yaml b/network/config/multiple-nics/ceph-storage.yaml
index a2a6b40d..84cb0f12 100644
--- a/network/config/multiple-nics/ceph-storage.yaml
+++ b/network/config/multiple-nics/ceph-storage.yaml
@@ -84,7 +84,7 @@ resources:
config:
os_net_config:
network_config:
- -
+ -
type: interface
name: nic1
use_dhcp: false
diff --git a/network/config/multiple-nics/cinder-storage.yaml b/network/config/multiple-nics/cinder-storage.yaml
index 06b4b83f..0b0218c5 100644
--- a/network/config/multiple-nics/cinder-storage.yaml
+++ b/network/config/multiple-nics/cinder-storage.yaml
@@ -84,7 +84,7 @@ resources:
config:
os_net_config:
network_config:
- -
+ -
type: interface
name: nic1
use_dhcp: false
diff --git a/network/config/multiple-nics/controller.yaml b/network/config/multiple-nics/controller.yaml
index 32851cfb..377fd116 100644
--- a/network/config/multiple-nics/controller.yaml
+++ b/network/config/multiple-nics/controller.yaml
@@ -84,7 +84,7 @@ resources:
config:
os_net_config:
network_config:
- -
+ -
type: interface
name: nic1
use_dhcp: false
diff --git a/network/config/multiple-nics/swift-storage.yaml b/network/config/multiple-nics/swift-storage.yaml
index 4d5a7b99..b75bbd6e 100644
--- a/network/config/multiple-nics/swift-storage.yaml
+++ b/network/config/multiple-nics/swift-storage.yaml
@@ -84,7 +84,7 @@ resources:
config:
os_net_config:
network_config:
- -
+ -
type: interface
name: nic1
use_dhcp: false
diff --git a/overcloud.yaml b/overcloud.yaml
index 0e8318e9..bedd0546 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -192,7 +192,7 @@ parameters:
from neutron.core_plugins namespace.
type: string
NeutronServicePlugins:
- default: "router"
+ default: "router,qos"
description: |
Comma-separated list of service plugin entrypoints to be loaded from the
neutron.service_plugins namespace.
@@ -207,6 +207,16 @@ parameters:
description: |
The mechanism drivers for the Neutron tenant network.
type: comma_delimited_list
+ NeutronPluginExtensions:
+ default: "qos"
+ description: |
+ Comma-separated list of extensions enabled for the Neutron plugin.
+ type: comma_delimited_list
+ NeutronAgentExtensions:
+ default: "qos"
+ description: |
+ Comma-separated list of extensions enabled for the Neutron agents.
+ type: comma_delimited_list
NeutronAllowL3AgentFailover:
default: 'False'
description: Allow automatic l3-agent failover
@@ -274,6 +284,10 @@ parameters:
description: The user password for SNMPd with readonly rights running on all Overcloud nodes
type: string
hidden: true
+ TimeZone:
+ default: 'UTC'
+ description: The timezone to be set on nodes.
+ type: string
CloudDomain:
default: 'localdomain'
type: string
@@ -904,6 +918,8 @@ resources:
NeutronServicePlugins: {get_param: NeutronServicePlugins}
NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
+ NeutronPluginExtensions: {get_param: NeutronPluginExtensions}
+ NeutronAgentExtensions: {get_param: NeutronAgentExtensions}
NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
NeutronL3HA: {get_param: NeutronL3HA}
NeutronDhcpAgentsPerNetwork: {get_param: NeutronDhcpAgentsPerNetwork}
@@ -930,6 +946,7 @@ resources:
SwiftPartPower: {get_param: SwiftPartPower}
SwiftPassword: {get_param: SwiftPassword}
SwiftReplicas: { get_param: SwiftReplicas}
+ TimeZone: {get_param: TimeZone}
VirtualIP: {get_attr: [VipMap, net_ip_map, ctlplane]} # deprecated. Use per service VIP settings instead now.
PublicVirtualIP: {get_attr: [VipMap, net_ip_map, external]}
ServiceNetMap: {get_param: ServiceNetMap}
@@ -1000,6 +1017,7 @@ resources:
NeutronServicePlugins: {get_param: NeutronServicePlugins}
NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
+ NeutronAgentExtensions: {get_param: NeutronAgentExtensions}
# L3 HA and Failover is not relevant for Computes, should be removed
NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
NeutronL3HA: {get_param: NeutronL3HA}
@@ -1022,6 +1040,7 @@ resources:
SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
ServiceNetMap: {get_param: ServiceNetMap}
+ TimeZone: {get_param: TimeZone}
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
UpdateIdentifier: {get_param: UpdateIdentifier}
Hostname:
@@ -1057,6 +1076,7 @@ resources:
RabbitUserName: {get_param: RabbitUserName}
RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
RabbitClientPort: {get_param: RabbitClientPort}
+ TimeZone: {get_param: TimeZone}
NtpServer: {get_param: NtpServer}
UpdateIdentifier: {get_param: UpdateIdentifier}
Hostname:
@@ -1090,6 +1110,7 @@ resources:
PartPower: {get_param: SwiftPartPower}
Image: {get_param: SwiftStorageImage}
Replicas: { get_param: SwiftReplicas}
+ TimeZone: {get_param: TimeZone}
NtpServer: {get_param: NtpServer}
UpdateIdentifier: {get_param: UpdateIdentifier}
ServiceNetMap: {get_param: ServiceNetMap}
@@ -1118,6 +1139,7 @@ resources:
Flavor: {get_param: OvercloudCephStorageFlavor}
NtpServer: {get_param: NtpServer}
ServiceNetMap: {get_param: ServiceNetMap}
+ TimeZone: {get_param: TimeZone}
UpdateIdentifier: {get_param: UpdateIdentifier}
Hostname:
str_replace:
diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml
index ede1263b..3044d975 100644
--- a/puppet/ceph-storage.yaml
+++ b/puppet/ceph-storage.yaml
@@ -34,6 +34,10 @@ parameters:
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry.
type: json
+ TimeZone:
+ default: 'UTC'
+ description: The timezone to be set on Ceph nodes.
+ type: string
UpdateIdentifier:
default: ''
type: string
@@ -198,6 +202,7 @@ resources:
server: {get_resource: CephStorage}
input_values:
ntp_servers: {get_param: NtpServer}
+ timezone: {get_param: TimeZone}
enable_package_install: {get_param: EnablePackageInstall}
enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
@@ -229,6 +234,7 @@ resources:
raw_data: {get_file: hieradata/ceph.yaml}
mapped_data:
ntp::servers: {get_input: ntp_servers}
+ timezone::timezone: {get_input: timezone}
tripleo::packages::enable_install: {get_input: enable_package_install}
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
diff --git a/puppet/cinder-storage-post.yaml b/puppet/cinder-storage-post.yaml
index c97cfcf9..bb7f94de 100644
--- a/puppet/cinder-storage-post.yaml
+++ b/puppet/cinder-storage-post.yaml
@@ -30,3 +30,11 @@ resources:
properties:
servers: {get_param: servers}
config: {get_resource: VolumePuppetConfig}
+
+ # Note, this should come last, so use depends_on to ensure
+ # this is created after any other resources.
+ ExtraConfig:
+ depends_on: VolumeDeployment_Step1
+ type: OS::TripleO::NodeExtraConfigPost
+ properties:
+ servers: {get_param: servers}
diff --git a/puppet/cinder-storage.yaml b/puppet/cinder-storage.yaml
index 9fdd0123..82aa3a03 100644
--- a/puppet/cinder-storage.yaml
+++ b/puppet/cinder-storage.yaml
@@ -99,6 +99,10 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
+ TimeZone:
+ default: 'UTC'
+ description: The timezone to be set on Cinder nodes.
+ type: string
GlanceApiVirtualIP:
type: string
default: ''
@@ -256,6 +260,7 @@ resources:
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
rabbit_client_port: {get_param: RabbitClientPort}
ntp_servers: {get_param: NtpServer}
+ timezone: {get_param: TimeZone}
enable_package_install: {get_param: EnablePackageInstall}
enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
@@ -298,6 +303,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}
+ timezone::timezone: {get_input: timezone}
tripleo::packages::enable_install: {get_input: enable_package_install}
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
diff --git a/puppet/compute.yaml b/puppet/compute.yaml
index 7269d736..f4165756 100644
--- a/puppet/compute.yaml
+++ b/puppet/compute.yaml
@@ -152,7 +152,7 @@ parameters:
from neutron.core_plugins namespace.
type: string
NeutronServicePlugins:
- default: "router"
+ default: "router,qos"
description: |
Comma-separated list of service plugin entrypoints to be loaded from the
neutron.service_plugins namespace.
@@ -167,6 +167,11 @@ parameters:
description: |
The mechanism drivers for the Neutron tenant network.
type: comma_delimited_list
+ NeutronAgentExtensions:
+ default: "qos"
+ description: |
+ Comma-separated list of extensions enabled for the Neutron agents.
+ type: comma_delimited_list
# Not relevant for Computes, should be removed
NeutronAllowL3AgentFailover:
default: 'True'
@@ -267,6 +272,10 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
+ TimeZone:
+ default: 'UTC'
+ description: The timezone to be set on compute nodes.
+ type: string
UpdateIdentifier:
default: ''
type: string
@@ -479,6 +488,7 @@ resources:
neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
neutron::agents::ml2::ovs:tunnel_types: {get_input: neutron_tunnel_types}
+ neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
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}
@@ -501,6 +511,7 @@ resources:
keystone_public_api_virtual_ip: {get_input: keystone_vip}
admin_password: {get_input: admin_password}
ntp::servers: {get_input: ntp_servers}
+ timezone::timezone: {get_input: timezone}
tripleo::packages::enable_install: {get_input: enable_package_install}
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
@@ -592,6 +603,11 @@ resources:
template: MECHANISMS
params:
MECHANISMS: {get_param: NeutronMechanismDrivers}
+ neutron_agent_extensions:
+ str_replace:
+ template: AGENT_EXTENSIONS
+ params:
+ AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
neutron_admin_auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri]}
@@ -602,6 +618,7 @@ resources:
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
rabbit_client_port: {get_param: RabbitClientPort}
ntp_servers: {get_param: NtpServer}
+ timezone: {get_param: TimeZone}
enable_package_install: {get_param: EnablePackageInstall}
enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
diff --git a/puppet/controller.yaml b/puppet/controller.yaml
index 8a4fe21b..fdb619cf 100644
--- a/puppet/controller.yaml
+++ b/puppet/controller.yaml
@@ -39,6 +39,11 @@ parameters:
default: 0
description: Number of workers for Ceilometer service.
type: number
+ CinderEnableDBPurge:
+ default: true
+ description: |
+ Whether to create cron job for purging soft deleted rows in Cinder database.
+ type: boolean
CinderEnableNfsBackend:
default: false
description: Whether to enable or not the NFS backend for Cinder
@@ -271,6 +276,11 @@ parameters:
default: ''
description: Keystone self-signed certificate authority certificate.
type: string
+ KeystoneEnableDBPurge:
+ default: true
+ description: |
+ Whether to create cron job for purging soft deleted rows in Keystone database.
+ type: boolean
KeystoneSigningCertificate:
default: ''
description: Keystone certificate for verifying token validity.
@@ -406,7 +416,7 @@ parameters:
from neutron.core_plugins namespace.
type: string
NeutronServicePlugins:
- default: "router"
+ default: "router,qos"
description: |
Comma-separated list of service plugin entrypoints to be loaded from the
neutron.service_plugins namespace.
@@ -503,6 +513,16 @@ parameters:
of VXLAN VNI IDs that are available for tenant network allocation
default: ["1:1000", ]
type: comma_delimited_list
+ NeutronPluginExtensions:
+ default: "qos"
+ description: |
+ Comma-separated list of extensions enabled for the Neutron plugin.
+ type: comma_delimited_list
+ NeutronAgentExtensions:
+ default: "qos"
+ description: |
+ Comma-separated list of extensions enabled for the Neutron agents.
+ type: comma_delimited_list
NovaApiVirtualIP:
type: string
default: ''
@@ -615,6 +635,10 @@ parameters:
default: 0
description: Number of workers for Swift service.
type: number
+ TimeZone:
+ default: 'UTC'
+ description: The timezone to be set on controller nodes.
+ type: string
VirtualIP: # DEPRECATED: use per service settings instead
type: string
default: '' # Has to be here because of the ignored empty value bug
@@ -877,6 +901,7 @@ resources:
admin_token: {get_param: AdminToken}
neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
debug: {get_param: Debug}
+ cinder_enable_db_purge: {get_param: CinderEnableDBPurge}
cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
cinder_nfs_mount_options: {get_param: CinderNfsMountOptions}
@@ -932,6 +957,7 @@ resources:
keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
keystone_notification_driver: {get_param: KeystoneNotificationDriver}
keystone_notification_format: {get_param: KeystoneNotificationFormat}
+ keystone_enable_db_purge: {get_param: KeystoneEnableDBPurge}
keystone_dsn:
list_join:
- ''
@@ -1026,6 +1052,16 @@ resources:
template: TYPES
params:
TYPES: {get_param: NeutronTunnelTypes}
+ neutron_plugin_extensions:
+ str_replace:
+ template: PLUGIN_EXTENSIONS
+ params:
+ PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
+ neutron_agent_extensions:
+ str_replace:
+ template: AGENT_EXTENSIONS
+ params:
+ AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
neutron_password: {get_param: NeutronPassword}
neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
neutron_dsn:
@@ -1088,6 +1124,7 @@ resources:
params:
LIMIT: {get_param: RabbitFDLimit}
ntp_servers: {get_param: NtpServer}
+ timezone: {get_param: TimeZone}
control_virtual_interface: {get_param: ControlVirtualInterface}
public_virtual_interface: {get_param: PublicVirtualInterface}
swift_hash_suffix: {get_param: SwiftHashSuffix}
@@ -1160,6 +1197,7 @@ resources:
- vip_data # provided by vip-config
- '"%{::osfamily}"'
- common
+ - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
- cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
- cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
- neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
@@ -1213,6 +1251,7 @@ resources:
tripleo::ringbuilder::build_ring: True
# Cinder
+ cinder_enable_db_purge: {get_input: cinder_enable_db_purge}
cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
cinder_enable_rbd_backend: {get_input: cinder_enable_rbd_backend}
cinder_nfs_mount_options: {get_input: cinder_nfs_mount_options}
@@ -1315,6 +1354,7 @@ resources:
keystone::endpoint::region: {get_input: keystone_region}
keystone::admin_workers: {get_input: keystone_workers}
keystone::public_workers: {get_input: keystone_workers}
+ keystone_enable_db_purge: {get_input: keystone_enable_db_purge}
# MongoDB
mongodb::server::bind_ip: {get_input: mongo_db_network}
@@ -1361,6 +1401,7 @@ resources:
neutron::enable_ovs_agent: {get_input: neutron_enable_ovs_agent}
neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
+ neutron::plugins::ml2::extension_drivers: {get_input: neutron_plugin_extensions}
neutron::server::allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
neutron::server::l3_ha: {get_input: neutron_l3_ha}
neutron::dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
@@ -1374,6 +1415,7 @@ resources:
neutron_public_interface_tag: {get_input: neutron_public_interface_tag}
neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
+ neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
neutron::server::auth_password: {get_input: neutron_password}
neutron::agents::metadata::auth_password: {get_input: neutron_password}
neutron_dnsmasq_options: {get_input: neutron_dnsmasq_options}
@@ -1482,6 +1524,7 @@ resources:
memcached::listen_ip: {get_input: memcached_network}
neutron_public_interface_ip: {get_input: neutron_public_interface_ip}
ntp::servers: {get_input: ntp_servers}
+ timezone::timezone: {get_input: timezone}
control_virtual_interface: {get_input: control_virtual_interface}
public_virtual_interface: {get_input: public_virtual_interface}
tripleo::loadbalancer::control_virtual_interface: {get_input: control_virtual_interface}
diff --git a/puppet/extraconfig/pre_deploy/controller/cinder-dellsc.yaml b/puppet/extraconfig/pre_deploy/controller/cinder-dellsc.yaml
new file mode 100644
index 00000000..905f196d
--- /dev/null
+++ b/puppet/extraconfig/pre_deploy/controller/cinder-dellsc.yaml
@@ -0,0 +1,87 @@
+heat_template_version: 2015-11-12
+
+description: Configure hieradata for Cinder Dell Storage Center configuration
+
+parameters:
+ server:
+ description: ID of the controller node to apply this config to
+ type: string
+
+ # Config specific parameters, to be provided via parameter_defaults
+ CinderEnableDellScBackend:
+ type: boolean
+ default: true
+ CinderDellScBackendName:
+ type: string
+ default: 'tripleo_dellsc'
+ CinderDellScSanIp:
+ type: string
+ CinderDellScSanLogin:
+ type: string
+ default: 'Admin'
+ CinderDellScSanPassword:
+ type: string
+ hidden: true
+ CinderDellScSsn:
+ type: string
+ default: '64702'
+ CinderDellScIscsiIpAddress:
+ type: string
+ default: ''
+ CinderDellScIscsiPort:
+ type: string
+ default: '3260'
+ CinderDellScApiPort:
+ type: string
+ default: '3033'
+ CinderDellScServerFolder:
+ type: string
+ default: 'dellsc_server'
+ CinderDellScVolumeFolder:
+ type: string
+ default: 'dellsc_volume'
+
+resources:
+ CinderDellScConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ hiera:
+ datafiles:
+ cinder_dellsc_data:
+ mapped_data:
+ cinder_enable_dellsc_backend: {get_input: EnableDellScBackend}
+ cinder::backend::dellsc_iscsi::volume_backend_name: {get_input: DellScBackendName}
+ cinder::backend::dellsc_iscsi::san_ip: {get_input: DellScSanIp}
+ cinder::backend::dellsc_iscsi::san_login: {get_input: DellScSanLogin}
+ cinder::backend::dellsc_iscsi::san_password: {get_input: DellScSanPassword}
+ cinder::backend::dellsc_iscsi::dell_sc_ssn: {get_input: DellScSsn}
+ cinder::backend::dellsc_iscsi::iscsi_ip_address: {get_input: DellScIscsiIpAddress}
+ cinder::backend::dellsc_iscsi::iscsi_port: {get_input: DellScIscsiPort}
+ cinder::backend::dellsc_iscsi::dell_sc_api_port: {get_input: DellScApiPort}
+ cinder::backend::dellsc_iscsi::dell_sc_server_folder: {get_input: DellScServerFolder}
+ cinder::backend::dellsc_iscsi::dell_sc_volume_folder: {get_input: DellScVolumeFolder}
+
+ CinderDellScDeployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: CinderDellScConfig}
+ server: {get_param: server}
+ input_values:
+ EnableDellScBackend: {get_param: CinderEnableDellScBackend}
+ DellScBackendName: {get_param: CinderDellScBackendName}
+ DellScSanIp: {get_param: CinderDellScSanIp}
+ DellScSanLogin: {get_param: CinderDellScSanLogin}
+ DellScSanPassword: {get_param: CinderDellScSanPassword}
+ DellScSsn: {get_param: CinderDellScSsn}
+ DellScIscsiIpAddress: {get_param: CinderDellScIscsiIpAddress}
+ DellScIscsiPort: {get_param: CinderDellScIscsiPort}
+ DellScApiPort: {get_param: CinderDellScApiPort}
+ DellScServerFolder: {get_param: CinderDellScServerFolder}
+ DellScVolumeFolder: {get_param: CinderDellScVolumeFolder}
+
+outputs:
+ deploy_stdout:
+ description: Deployment reference, used to trigger puppet apply on changes
+ value: {get_attr: [CinderDellScDeployment, deploy_stdout]}
diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml
index 2f082390..7f30fe7a 100644
--- a/puppet/hieradata/controller.yaml
+++ b/puppet/hieradata/controller.yaml
@@ -44,6 +44,7 @@ sahara::admin_tenant_name: 'service'
keystone::cron::token_flush::maxdelay: 3600
keystone::roles::admin::service_tenant: 'service'
keystone::roles::admin::admin_tenant: 'admin'
+keystone::cron::token_flush::destination: '/dev/null'
#swift
swift::proxy::pipeline:
@@ -86,6 +87,7 @@ ceilometer::agent::auth::auth_endpoint_type: 'internalURL'
# cinder
cinder::scheduler::scheduler_driver: cinder.scheduler.filter_scheduler.FilterScheduler
+cinder::cron::db_purge::destination: '/dev/null'
# heat
heat::engine::configure_delegated_roles: false
diff --git a/puppet/manifests/overcloud_cephstorage.pp b/puppet/manifests/overcloud_cephstorage.pp
index 7f8970cc..7444155c 100644
--- a/puppet/manifests/overcloud_cephstorage.pp
+++ b/puppet/manifests/overcloud_cephstorage.pp
@@ -22,6 +22,8 @@ if count(hiera('ntp::servers')) > 0 {
include ::ntp
}
+include ::timezone
+
if str2bool(hiera('ceph_osd_selinux_permissive', true)) {
exec { 'set selinux to permissive on boot':
command => "sed -ie 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config",
diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp
index 79a6abbb..bb3575cf 100644
--- a/puppet/manifests/overcloud_compute.pp
+++ b/puppet/manifests/overcloud_compute.pp
@@ -22,6 +22,8 @@ if count(hiera('ntp::servers')) > 0 {
include ::ntp
}
+include ::timezone
+
file { ['/etc/libvirt/qemu/networks/autostart/default.xml',
'/etc/libvirt/qemu/networks/default.xml']:
ensure => absent,
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 14daf9bf..29af6ca2 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -39,6 +39,8 @@ if hiera('step') >= 2 {
include ::ntp
}
+ include ::timezone
+
# MongoDB
if downcase(hiera('ceilometer_backend')) == 'mongodb' {
include ::mongodb::globals
@@ -129,7 +131,7 @@ if hiera('step') >= 2 {
# pre-install swift here so we can build rings
include ::swift
- $enable_ceph = hiera('ceph_storage_count', 0) > 0
+ $enable_ceph = hiera('ceph_storage_count', 0) > 0 or hiera('enable_ceph_storage', false)
if $enable_ceph {
class { '::ceph::profile::params':
@@ -421,6 +423,27 @@ if hiera('step') >= 3 {
}
}
+ if hiera('cinder_enable_dellsc_backend', false) {
+ $cinder_dellsc_backend = hiera('cinder::backend::dellsc_iscsi::volume_backend_name')
+
+ cinder_config {
+ "${cinder_dellsc_backend}/host": value => 'hostgroup';
+ }
+
+ cinder::backend::dellsc_iscsi{ $cinder_dellsc_backend :
+ volume_backend_name => hiera('cinder::backend::dellsc_iscsi::volume_backend_name', undef),
+ san_ip => hiera('cinder::backend::dellsc_iscsi::san_ip', undef),
+ san_login => hiera('cinder::backend::dellsc_iscsi::san_login', undef),
+ san_password => hiera('cinder::backend::dellsc_iscsi::san_password', undef),
+ dell_sc_ssn => hiera('cinder::backend::dellsc_iscsi::dell_sc_ssn', undef),
+ iscsi_ip_address => hiera('cinder::backend::dellsc_iscsi::iscsi_ip_address', undef),
+ iscsi_port => hiera('cinder::backend::dellsc_iscsi::iscsi_port', undef),
+ dell_sc_port => hiera('cinder::backend::dellsc_iscsi::dell_sc_port', undef),
+ dell_sc_server_folder => hiera('cinder::backend::dellsc_iscsi::dell_sc_server_folder', undef),
+ dell_sc_volume_folder => hiera('cinder::backend::dellsc_iscsi::dell_sc_volume_folder', undef),
+ }
+ }
+
if hiera('cinder_enable_netapp_backend', false) {
$cinder_netapp_backend = hiera('cinder::backend::netapp::title')
@@ -474,7 +497,7 @@ if hiera('step') >= 3 {
}
}
- $cinder_enabled_backends = delete_undef_values([$cinder_iscsi_backend, $cinder_rbd_backend, $cinder_eqlx_backend, $cinder_netapp_backend, $cinder_nfs_backend])
+ $cinder_enabled_backends = delete_undef_values([$cinder_iscsi_backend, $cinder_rbd_backend, $cinder_eqlx_backend, $cinder_dellsc_backend, $cinder_netapp_backend, $cinder_nfs_backend])
class { '::cinder::backends' :
enabled_backends => $cinder_enabled_backends,
}
@@ -575,12 +598,19 @@ if hiera('step') >= 3 {
} #END STEP 3
if hiera('step') >= 4 {
+ $keystone_enable_db_purge = hiera('keystone_enable_db_purge', true)
$nova_enable_db_purge = hiera('nova_enable_db_purge', true)
+ $cinder_enable_db_purge = hiera('cinder_enable_db_purge', true)
- include ::keystone::cron::token_flush
+ if $keystone_enable_db_purge {
+ include ::keystone::cron::token_flush
+ }
if $nova_enable_db_purge {
include ::nova::cron::archive_deleted_rows
}
+ if $cinder_enable_db_purge {
+ include ::cinder::cron::db_purge
+ }
} #END STEP 4
$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_controller', hiera('step')])
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index b0a9fe10..583a4fd4 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -41,6 +41,8 @@ if hiera('step') >= 1 {
create_resources(sysctl::value, hiera('sysctl_settings'), {})
+ include ::timezone
+
if count(hiera('ntp::servers')) > 0 {
include ::ntp
}
@@ -453,7 +455,7 @@ MYSQL_HOST=localhost\n",
include ::swift
# Ceph
- $enable_ceph = hiera('ceph_storage_count', 0) > 0
+ $enable_ceph = hiera('ceph_storage_count', 0) > 0 or hiera('enable_ceph_storage', false)
if $enable_ceph {
class { '::ceph::profile::params':
@@ -798,6 +800,27 @@ if hiera('step') >= 3 {
}
}
+ if hiera('cinder_enable_dellsc_backend', false) {
+ $cinder_dellsc_backend = hiera('cinder::backend::dellsc_iscsi::volume_backend_name')
+
+ cinder_config {
+ "${cinder_dellsc_backend}/host": value => 'hostgroup';
+ }
+
+ cinder::backend::dellsc_iscsi{ $cinder_dellsc_backend :
+ volume_backend_name => hiera('cinder::backend::dellsc_iscsi::volume_backend_name', undef),
+ san_ip => hiera('cinder::backend::dellsc_iscsi::san_ip', undef),
+ san_login => hiera('cinder::backend::dellsc_iscsi::san_login', undef),
+ san_password => hiera('cinder::backend::dellsc_iscsi::san_password', undef),
+ dell_sc_ssn => hiera('cinder::backend::dellsc_iscsi::dell_sc_ssn', undef),
+ iscsi_ip_address => hiera('cinder::backend::dellsc_iscsi::iscsi_ip_address', undef),
+ iscsi_port => hiera('cinder::backend::dellsc_iscsi::iscsi_port', undef),
+ dell_sc_port => hiera('cinder::backend::dellsc_iscsi::dell_sc_port', undef),
+ dell_sc_server_folder => hiera('cinder::backend::dellsc_iscsi::dell_sc_server_folder', undef),
+ dell_sc_volume_folder => hiera('cinder::backend::dellsc_iscsi::dell_sc_volume_folder', undef),
+ }
+ }
+
if hiera('cinder_enable_netapp_backend', false) {
$cinder_netapp_backend = hiera('cinder::backend::netapp::title')
@@ -851,7 +874,7 @@ if hiera('step') >= 3 {
}
}
- $cinder_enabled_backends = delete_undef_values([$cinder_iscsi_backend, $cinder_rbd_backend, $cinder_netapp_backend, $cinder_nfs_backend,$cinder_eqlx_backend])
+ $cinder_enabled_backends = delete_undef_values([$cinder_iscsi_backend, $cinder_rbd_backend, $cinder_eqlx_backend, $cinder_dellsc_backend, $cinder_netapp_backend, $cinder_nfs_backend])
class { '::cinder::backends' :
enabled_backends => $cinder_enabled_backends,
}
@@ -1005,12 +1028,19 @@ if hiera('step') >= 3 {
} #END STEP 3
if hiera('step') >= 4 {
- $nova_enable_db_purge = hiera('nova_enable_db_purge', true)
+ $keystone_enable_db_purge = hiera('keystone_enable_db_purge', true)
+ $nova_enable_db_purge = hiera('nova_enable_db_purge', true)
+ $cinder_enable_db_purge = hiera('cinder_enable_db_purge', true)
+ if $keystone_enable_db_purge {
include ::keystone::cron::token_flush
- if $nova_enable_db_purge {
- include ::nova::cron::archive_deleted_rows
- }
+ }
+ if $nova_enable_db_purge {
+ include ::nova::cron::archive_deleted_rows
+ }
+ if $cinder_enable_db_purge {
+ include ::cinder::cron::db_purge
+ }
if $pacemaker_master {
diff --git a/puppet/manifests/overcloud_object.pp b/puppet/manifests/overcloud_object.pp
index 1eabddf1..63ac396e 100644
--- a/puppet/manifests/overcloud_object.pp
+++ b/puppet/manifests/overcloud_object.pp
@@ -22,6 +22,8 @@ if count(hiera('ntp::servers')) > 0 {
include ::ntp
}
+include ::timezone
+
include ::swift
class { '::swift::storage::all':
mount_check => str2bool(hiera('swift_mount_check')),
diff --git a/puppet/manifests/overcloud_volume.pp b/puppet/manifests/overcloud_volume.pp
index 2bdd8a9c..5a69725a 100644
--- a/puppet/manifests/overcloud_volume.pp
+++ b/puppet/manifests/overcloud_volume.pp
@@ -22,6 +22,8 @@ if count(hiera('ntp::servers')) > 0 {
include ::ntp
}
+include ::timezone
+
include ::cinder
include ::cinder::config
include ::cinder::glance
diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml
index b60664a1..10c87493 100644
--- a/puppet/swift-storage.yaml
+++ b/puppet/swift-storage.yaml
@@ -61,6 +61,10 @@ parameters:
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry.
type: json
+ TimeZone:
+ default: 'UTC'
+ description: The timezone to be set on Ceph nodes.
+ type: string
Hostname:
type: string
default: '' # Defaults to Heat created hostname
@@ -234,6 +238,7 @@ resources:
swift_mount_check: {get_input: swift_mount_check }
tripleo::ringbuilder::min_part_hours: { get_input: swift_min_part_hours }
ntp::servers: {get_input: ntp_servers}
+ timezone::timezone: {get_input: timezone}
# NOTE(dprince): build_ring support is currently not wired in.
# See: https://review.openstack.org/#/c/109225/
tripleo::ringbuilder::build_ring: True
@@ -259,6 +264,7 @@ resources:
swift_part_power: {get_param: PartPower}
swift_replicas: { get_param: Replicas}
ntp_servers: {get_param: NtpServer}
+ timezone: {get_param: TimeZone}
enable_package_install: {get_param: EnablePackageInstall}
enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}