Merge "Hiera optimization: use a new hiera hook"

This commit is contained in:
Jenkins 2016-12-01 13:01:14 +00:00 committed by Gerrit Code Review
commit ea3ace7839
27 changed files with 389 additions and 475 deletions

View File

@ -71,140 +71,132 @@ resources:
allNodesConfigImpl: allNodesConfigImpl:
type: OS::Heat::StructuredConfig type: OS::Heat::StructuredConfig
properties: properties:
group: os-apply-config group: hiera
config: config:
hiera: datafiles:
datafiles: bootstrap_node:
bootstrap_node: bootstrap_nodeid: {get_input: bootstrap_nodeid}
mapped_data: bootstrap_nodeid_ip: {get_input: bootstrap_nodeid_ip}
bootstrap_nodeid: {get_input: bootstrap_nodeid} all_nodes:
bootstrap_nodeid_ip: {get_input: bootstrap_nodeid_ip} map_merge:
all_nodes: - tripleo::profile::base::logging::fluentd::fluentd_sources: {get_param: logging_sources}
mapped_data: - tripleo::profile::base::logging::fluentd::fluentd_groups: {get_param: logging_groups}
map_merge: - enabled_services: {get_param: enabled_services}
- tripleo::profile::base::logging::fluentd::fluentd_sources: {get_param: logging_sources} # This writes out a mapping of service_name_enabled: 'true'
- tripleo::profile::base::logging::fluentd::fluentd_groups: {get_param: logging_groups} # For any services not enabled, hiera foo_enabled will
- enabled_services: {get_param: enabled_services} # return nil, as it's undefined
# This writes out a mapping of service_name_enabled: 'true' - map_merge:
# For any services not enabled, hiera foo_enabled will repeat:
# return nil, as it's undefined template:
- map_merge: # Note this must be string 'true' due to
repeat: # https://bugs.launchpad.net/heat/+bug/1617203
template: SERVICE_enabled: 'true'
# Note this must be string 'true' due to for_each:
# https://bugs.launchpad.net/heat/+bug/1617203 SERVICE:
SERVICE_enabled: 'true' str_split: [',', {get_param: enabled_services}]
for_each: # Dynamically generate per-service network data
SERVICE: # This works as follows (outer->inner functions)
str_split: [',', {get_param: enabled_services}] # yaql - filters services where no mapping exists in ServiceNetMap
# Dynamically generate per-service network data # map_replace: substitute e.g heat_api_network with network name from ServiceNetMap
# This works as follows (outer->inner functions) # map_merge/repeat: generate a per-service mapping
# yaql - filters services where no mapping exists in ServiceNetMap - yaql:
# map_replace: substitute e.g heat_api_network with network name from ServiceNetMap # This filters any entries where the value hasn't been substituted for
# map_merge/repeat: generate a per-service mapping # a list, e.g it's still $service_network. This happens when there is
- yaql: # no network defined for the service in the ServiceNetMap, which is OK
# This filters any entries where the value hasn't been substituted for # as not all services have to be bound to a network, so we filter them
# a list, e.g it's still $service_network. This happens when there is expression: dict($.data.map.items().where(isString($[1]) and not $[1].endsWith("_network")))
# no network defined for the service in the ServiceNetMap, which is OK data:
# as not all services have to be bound to a network, so we filter them map:
expression: dict($.data.map.items().where(isString($[1]) and not $[1].endsWith("_network"))) map_replace:
data: - map_merge:
map: repeat:
map_replace: template:
SERVICE_network: SERVICE_network
for_each:
SERVICE:
str_split: [',', {get_param: enabled_services}]
- values: {get_param: ServiceNetMap}
# Keystone doesn't provide separate entries for the public
# and admin endpoints, so we need to add them here manually
# like we do in the vip-config below
- keystone_admin_api_network: {get_param: [ServiceNetMap, keystone_admin_api_network]}
keystone_public_api_network: {get_param: [ServiceNetMap, keystone_public_api_network]}
# provides a mapping of service_name_ips to a list of IPs
- {get_param: service_ips}
- {get_param: service_node_names}
- {get_param: short_service_node_names}
- controller_node_ips:
list_join:
- ','
- {get_param: controller_ips}
controller_node_names:
list_join:
- ','
- {get_param: controller_names}
memcached_node_ips_v6:
repeat:
template: "inet6:[NAME]"
for_each:
NAME: {get_param: memcache_node_ips}
deploy_identifier: {get_param: DeployIdentifier}
update_identifier: {get_param: UpdateIdentifier}
stack_action: {get_param: StackAction}
vip_data:
map_merge:
# Dynamically generate per-service VIP data based on enabled_services
# This works as follows (outer->inner functions)
# yaql - filters services where no mapping exists in ServiceNetMap
# map_replace: substitute e.g internal_api with the IP from NetVipMap
# map_replace: substitute e.g heat_api_network with network name from ServiceNetMap
# map_merge/repeat: generate a per-service mapping
- yaql:
# This filters any entries where the value hasn't been substituted for
# a list, e.g it's still $service_network. This happens when there is
# no network defined for the service in the ServiceNetMap, which is OK
# as not all services have to be bound to a network, so we filter them
expression: dict($.data.map.items().where(isString($[1]) and not $[1].endsWith("_network")))
data:
map:
map_replace:
- map_replace:
- map_merge: - map_merge:
repeat: repeat:
template: template:
SERVICE_network: SERVICE_network SERVICE_vip: SERVICE_network
for_each: for_each:
SERVICE: SERVICE:
str_split: [',', {get_param: enabled_services}] str_split: [',', {get_param: enabled_services}]
- values: {get_param: ServiceNetMap} - values: {get_param: ServiceNetMap}
# Keystone doesn't provide separate entries for the public - values: {get_param: NetVipMap}
# and admin endpoints, so we need to add them here manually - keystone_admin_api_vip:
# like we do in the vip-config below get_param: [NetVipMap, {get_param: [ServiceNetMap, keystone_admin_api_network]}]
- keystone_admin_api_network: {get_param: [ServiceNetMap, keystone_admin_api_network]} keystone_public_api_vip:
keystone_public_api_network: {get_param: [ServiceNetMap, keystone_public_api_network]} get_param: [NetVipMap, {get_param: [ServiceNetMap, keystone_public_api_network]}]
# provides a mapping of service_name_ips to a list of IPs public_virtual_ip: {get_param: [NetVipMap, external]}
- {get_param: service_ips} controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
- {get_param: service_node_names} internal_api_virtual_ip: {get_param: [NetVipMap, internal_api]}
- {get_param: short_service_node_names} storage_virtual_ip: {get_param: [NetVipMap, storage]}
- controller_node_ips: storage_mgmt_virtual_ip: {get_param: [NetVipMap, storage_mgmt]}
list_join: redis_vip: {get_param: RedisVirtualIP}
- ',' # public_virtual_ip and controller_virtual_ip are needed in
- {get_param: controller_ips} # both HAproxy & keepalived.
controller_node_names: tripleo::haproxy::public_virtual_ip: {get_param: [NetVipMap, external]}
list_join: tripleo::haproxy::controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
- ',' tripleo::keepalived::public_virtual_ip: {get_param: [NetVipMap, external]}
- {get_param: controller_names} tripleo::keepalived::controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
memcached_node_ips_v6: tripleo::keepalived::internal_api_virtual_ip: {get_param: [NetVipMap, internal_api]}
str_replace: tripleo::keepalived::storage_virtual_ip: {get_param: [NetVipMap, storage]}
template: "['inet6:[SERVERS_LIST]']" tripleo::keepalived::storage_mgmt_virtual_ip: {get_param: [NetVipMap, storage_mgmt]}
params: tripleo::keepalived::redis_virtual_ip: {get_param: RedisVirtualIP}
SERVERS_LIST: tripleo::redis_notification::haproxy_monitor_ip: {get_param: [NetVipMap, ctlplane]}
list_join: cloud_name_external: {get_param: cloud_name_external}
- "]','inet6:[" cloud_name_internal_api: {get_param: cloud_name_internal_api}
- {get_param: memcache_node_ips} cloud_name_storage: {get_param: cloud_name_storage}
cloud_name_storage_mgmt: {get_param: cloud_name_storage_mgmt}
deploy_identifier: {get_param: DeployIdentifier} cloud_name_ctlplane: {get_param: cloud_name_ctlplane}
update_identifier: {get_param: UpdateIdentifier} # TLS parameters
stack_action: {get_param: StackAction} certmonger_ca: {get_param: CertmongerCA}
vip_data: enable_internal_tls: {get_param: EnableInternalTLS}
mapped_data:
map_merge:
# Dynamically generate per-service VIP data based on enabled_services
# This works as follows (outer->inner functions)
# yaql - filters services where no mapping exists in ServiceNetMap
# map_replace: substitute e.g internal_api with the IP from NetVipMap
# map_replace: substitute e.g heat_api_network with network name from ServiceNetMap
# map_merge/repeat: generate a per-service mapping
- yaql:
# This filters any entries where the value hasn't been substituted for
# a list, e.g it's still $service_network. This happens when there is
# no network defined for the service in the ServiceNetMap, which is OK
# as not all services have to be bound to a network, so we filter them
expression: dict($.data.map.items().where(isString($[1]) and not $[1].endsWith("_network")))
data:
map:
map_replace:
- map_replace:
- map_merge:
repeat:
template:
SERVICE_vip: SERVICE_network
for_each:
SERVICE:
str_split: [',', {get_param: enabled_services}]
- values: {get_param: ServiceNetMap}
- values: {get_param: NetVipMap}
- keystone_admin_api_vip:
get_param: [NetVipMap, {get_param: [ServiceNetMap, keystone_admin_api_network]}]
keystone_public_api_vip:
get_param: [NetVipMap, {get_param: [ServiceNetMap, keystone_public_api_network]}]
public_virtual_ip: {get_param: [NetVipMap, external]}
controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
internal_api_virtual_ip: {get_param: [NetVipMap, internal_api]}
storage_virtual_ip: {get_param: [NetVipMap, storage]}
storage_mgmt_virtual_ip: {get_param: [NetVipMap, storage_mgmt]}
redis_vip: {get_param: RedisVirtualIP}
# public_virtual_ip and controller_virtual_ip are needed in
# both HAproxy & keepalived.
tripleo::haproxy::public_virtual_ip: {get_param: [NetVipMap, external]}
tripleo::haproxy::controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
tripleo::keepalived::public_virtual_ip: {get_param: [NetVipMap, external]}
tripleo::keepalived::controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
tripleo::keepalived::internal_api_virtual_ip: {get_param: [NetVipMap, internal_api]}
tripleo::keepalived::storage_virtual_ip: {get_param: [NetVipMap, storage]}
tripleo::keepalived::storage_mgmt_virtual_ip: {get_param: [NetVipMap, storage_mgmt]}
tripleo::keepalived::redis_virtual_ip: {get_param: RedisVirtualIP}
tripleo::redis_notification::haproxy_monitor_ip: {get_param: [NetVipMap, ctlplane]}
cloud_name_external: {get_param: cloud_name_external}
cloud_name_internal_api: {get_param: cloud_name_internal_api}
cloud_name_storage: {get_param: cloud_name_storage}
cloud_name_storage_mgmt: {get_param: cloud_name_storage_mgmt}
cloud_name_ctlplane: {get_param: cloud_name_ctlplane}
# TLS parameters
certmonger_ca: {get_param: CertmongerCA}
enable_internal_tls: {get_param: EnableInternalTLS}
outputs: outputs:
config_id: config_id:

View File

@ -239,39 +239,33 @@ resources:
BlockStorageConfig: BlockStorageConfig:
type: OS::Heat::StructuredConfig type: OS::Heat::StructuredConfig
properties: properties:
group: os-apply-config group: hiera
config: config:
hiera: hierarchy:
hierarchy: - '"%{::uuid}"'
- '"%{::uuid}"' - heat_config_%{::deploy_config_name}
- heat_config_%{::deploy_config_name} - volume_extraconfig
- volume_extraconfig - extraconfig
- extraconfig - service_names
- service_names - service_configs
- service_configs - volume
- volume - bootstrap_node # provided by allNodesConfig
- bootstrap_node # provided by allNodesConfig - all_nodes # provided by allNodesConfig
- all_nodes # provided by allNodesConfig - vip_data # provided by allNodesConfig
- vip_data # provided by allNodesConfig - '"%{::osfamily}"'
- '"%{::osfamily}"' merge_behavior: deeper
merge_behavior: deeper datafiles:
datafiles: service_names:
service_names: service_names: {get_param: ServiceNames}
mapped_data: sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_names: {get_param: ServiceNames} service_configs:
sensu::subscriptions: {get_param: MonitoringSubscriptions} map_replace:
service_configs: - {get_param: ServiceConfigSettings}
mapped_data: - values: {get_attr: [NetIpMap, net_ip_map]}
map_replace: volume_extraconfig: {get_param: BlockStorageExtraConfig}
- {get_param: ServiceConfigSettings} extraconfig: {get_param: ExtraConfig}
- values: {get_attr: [NetIpMap, net_ip_map]} volume:
volume_extraconfig: tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
mapped_data: {get_param: BlockStorageExtraConfig}
extraconfig:
mapped_data: {get_param: ExtraConfig}
volume:
mapped_data:
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
# Resource for site-specific injection of root certificate # Resource for site-specific injection of root certificate
NodeTLSCAData: NodeTLSCAData:

View File

@ -244,39 +244,33 @@ resources:
CephStorageConfig: CephStorageConfig:
type: OS::Heat::StructuredConfig type: OS::Heat::StructuredConfig
properties: properties:
group: os-apply-config group: hiera
config: config:
hiera: hierarchy:
hierarchy: - '"%{::uuid}"'
- '"%{::uuid}"' - heat_config_%{::deploy_config_name}
- heat_config_%{::deploy_config_name} - ceph_extraconfig
- ceph_extraconfig - extraconfig
- extraconfig - service_names
- service_names - service_configs
- service_configs - ceph
- ceph - bootstrap_node # provided by allNodesConfig
- bootstrap_node # provided by allNodesConfig - all_nodes # provided by allNodesConfig
- all_nodes # provided by allNodesConfig - vip_data # provided by allNodesConfig
- vip_data # provided by allNodesConfig - '"%{::osfamily}"'
- '"%{::osfamily}"' merge_behavior: deeper
merge_behavior: deeper datafiles:
datafiles: service_names:
service_names: service_names: {get_param: ServiceNames}
mapped_data: sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_names: {get_param: ServiceNames} service_configs:
sensu::subscriptions: {get_param: MonitoringSubscriptions} map_replace:
service_configs: - {get_param: ServiceConfigSettings}
mapped_data: - values: {get_attr: [NetIpMap, net_ip_map]}
map_replace: ceph_extraconfig: {get_param: CephStorageExtraConfig}
- {get_param: ServiceConfigSettings} extraconfig: {get_param: ExtraConfig}
- values: {get_attr: [NetIpMap, net_ip_map]} ceph:
ceph_extraconfig: tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
mapped_data: {get_param: CephStorageExtraConfig}
extraconfig:
mapped_data: {get_param: ExtraConfig}
ceph:
mapped_data:
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
# Resource for site-specific injection of root certificate # Resource for site-specific injection of root certificate
NodeTLSCAData: NodeTLSCAData:

View File

@ -251,45 +251,39 @@ resources:
NovaComputeConfig: NovaComputeConfig:
type: OS::Heat::StructuredConfig type: OS::Heat::StructuredConfig
properties: properties:
group: os-apply-config group: hiera
config: config:
hiera: hierarchy:
hierarchy: - '"%{::uuid}"'
- '"%{::uuid}"' - heat_config_%{::deploy_config_name}
- heat_config_%{::deploy_config_name} - compute_extraconfig
- compute_extraconfig - extraconfig
- extraconfig - service_names
- service_names - service_configs
- service_configs - compute
- compute - bootstrap_node # provided by allNodesConfig
- bootstrap_node # provided by allNodesConfig - all_nodes # provided by allNodesConfig
- all_nodes # provided by allNodesConfig - vip_data # provided by allNodesConfig
- vip_data # provided by allNodesConfig - '"%{::osfamily}"'
- '"%{::osfamily}"' - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
- neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
- cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
- nova_nuage_data # Optionally provided by ComputeExtraConfigPre - midonet_data # Optionally provided by AllNodesExtraConfig
- midonet_data # Optionally provided by AllNodesExtraConfig - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
- neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre - cisco_aci_data # Optionally provided by ComputeExtraConfigPre
- cisco_aci_data # Optionally provided by ComputeExtraConfigPre merge_behavior: deeper
merge_behavior: deeper datafiles:
datafiles: service_names:
service_names: service_names: {get_param: ServiceNames}
mapped_data: sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_names: {get_param: ServiceNames} service_configs:
sensu::subscriptions: {get_param: MonitoringSubscriptions} map_replace:
service_configs: - {get_param: ServiceConfigSettings}
mapped_data: - values: {get_attr: [NetIpMap, net_ip_map]}
map_replace: compute_extraconfig: {get_param: NovaComputeExtraConfig}
- {get_param: ServiceConfigSettings} extraconfig: {get_param: ExtraConfig}
- values: {get_attr: [NetIpMap, net_ip_map]} compute:
compute_extraconfig: tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
mapped_data: {get_param: NovaComputeExtraConfig}
extraconfig:
mapped_data: {get_param: ExtraConfig}
compute:
mapped_data:
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
NovaComputeDeployment: NovaComputeDeployment:
type: OS::TripleO::SoftwareDeployment type: OS::TripleO::SoftwareDeployment

View File

@ -299,57 +299,51 @@ resources:
ControllerConfig: ControllerConfig:
type: OS::Heat::StructuredConfig type: OS::Heat::StructuredConfig
properties: properties:
group: os-apply-config group: hiera
config: config:
hiera: hierarchy:
hierarchy: - '"%{::uuid}"'
- '"%{::uuid}"' - heat_config_%{::deploy_config_name}
- heat_config_%{::deploy_config_name} - controller_extraconfig
- controller_extraconfig - extraconfig
- extraconfig - service_configs
- service_configs - service_names
- service_names - controller
- controller - bootstrap_node # provided by BootstrapNodeConfig
- bootstrap_node # provided by BootstrapNodeConfig - all_nodes # provided by allNodesConfig
- all_nodes # provided by allNodesConfig - vip_data # provided by allNodesConfig
- vip_data # provided by allNodesConfig - '"%{::osfamily}"'
- '"%{::osfamily}"' - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
- cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
- cinder_netapp_data # Optionally provided by ControllerExtraConfigPre - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
- cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
- neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
- neutron_cisco_data # Optionally provided by ControllerExtraConfigPre - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
- cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre - midonet_data #Optionally provided by AllNodesExtraConfig
- midonet_data #Optionally provided by AllNodesExtraConfig - cisco_aci_data # Optionally provided by ControllerExtraConfigPre
- cisco_aci_data # Optionally provided by ControllerExtraConfigPre merge_behavior: deeper
merge_behavior: deeper datafiles:
datafiles: service_names:
service_names: service_names: {get_param: ServiceNames}
mapped_data: sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_names: {get_param: ServiceNames} service_configs:
sensu::subscriptions: {get_param: MonitoringSubscriptions} map_replace:
service_configs: - {get_param: ServiceConfigSettings}
mapped_data: - values: {get_attr: [NetIpMap, net_ip_map]}
map_replace: controller_extraconfig:
- {get_param: ServiceConfigSettings} map_merge:
- values: {get_attr: [NetIpMap, net_ip_map]} - {get_param: controllerExtraConfig}
controller_extraconfig: - {get_param: ControllerExtraConfig}
mapped_data: extraconfig: {get_param: ExtraConfig}
map_merge: controller:
- {get_param: controllerExtraConfig} # data supplied directly to this deployment configuration, etc
- {get_param: ControllerExtraConfig} bootstack_nodeid: {get_input: bootstack_nodeid}
extraconfig: # Pacemaker
mapped_data: {get_param: ExtraConfig} enable_load_balancer: {get_input: enable_load_balancer}
controller:
mapped_data: # data supplied directly to this deployment configuration, etc
bootstack_nodeid: {get_input: bootstack_nodeid}
# Pacemaker # Misc
enable_load_balancer: {get_input: enable_load_balancer} tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
# Misc
tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
# Hook for site-specific additional pre-deployment config, e.g extra hieradata # Hook for site-specific additional pre-deployment config, e.g extra hieradata
ControllerExtraConfigPre: ControllerExtraConfigPre:

View File

@ -228,40 +228,33 @@ resources:
SwiftStorageHieraConfig: SwiftStorageHieraConfig:
type: OS::Heat::StructuredConfig type: OS::Heat::StructuredConfig
properties: properties:
group: os-apply-config group: hiera
config: config:
hiera: hierarchy:
hierarchy: - '"%{::uuid}"'
- '"%{::uuid}"' - heat_config_%{::deploy_config_name}
- heat_config_%{::deploy_config_name} - object_extraconfig
- object_extraconfig - extraconfig
- extraconfig - service_names
- service_names - service_configs
- service_configs - object
- object - bootstrap_node # provided by allNodesConfig
- bootstrap_node # provided by allNodesConfig - all_nodes # provided by allNodesConfig
- all_nodes # provided by allNodesConfig - vip_data # provided by allNodesConfig
- vip_data # provided by allNodesConfig - '"%{::osfamily}"'
- '"%{::osfamily}"' merge_behavior: deeper
merge_behavior: deeper datafiles:
datafiles: service_names:
service_names: service_names: {get_param: ServiceNames}
mapped_data: sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_names: {get_param: ServiceNames} service_configs:
sensu::subscriptions: {get_param: MonitoringSubscriptions} map_replace:
service_configs: - {get_param: ServiceConfigSettings}
mapped_data: - values: {get_attr: [NetIpMap, net_ip_map]}
map_replace: object_extraconfig: {get_param: ObjectStorageExtraConfig}
- {get_param: ServiceConfigSettings} extraconfig: {get_param: ExtraConfig}
- values: {get_attr: [NetIpMap, net_ip_map]} object:
object_extraconfig: tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
mapped_data: {get_param: ObjectStorageExtraConfig}
extraconfig:
mapped_data: {get_param: ExtraConfig}
object:
mapped_data: # data supplied directly to this deployment configuration, etc
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
SwiftStorageHieraDeploy: SwiftStorageHieraDeploy:
type: OS::Heat::StructuredDeployment type: OS::Heat::StructuredDeployment

View File

@ -250,41 +250,35 @@ resources:
{{role}}Config: {{role}}Config:
type: OS::Heat::StructuredConfig type: OS::Heat::StructuredConfig
properties: properties:
group: os-apply-config group: hiera
config: config:
hiera: hierarchy:
hierarchy: - '"%{::uuid}"'
- '"%{::uuid}"' - heat_config_%{::deploy_config_name}
- heat_config_%{::deploy_config_name} - {{role.lower()}}_extraconfig
- {{role.lower()}}_extraconfig - extraconfig
- extraconfig - service_names
- service_names - service_configs
- service_configs - {{role.lower()}}
- {{role.lower()}} - bootstrap_node # provided by allNodesConfig
- bootstrap_node # provided by allNodesConfig - all_nodes # provided by allNodesConfig
- all_nodes # provided by allNodesConfig - vip_data # provided by allNodesConfig
- vip_data # provided by allNodesConfig - '"%{::osfamily}"'
- '"%{::osfamily}"' merge_behavior: deeper
merge_behavior: deeper datafiles:
datafiles: service_names:
service_names: service_names: {get_param: ServiceNames}
mapped_data: sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_names: {get_param: ServiceNames} service_configs:
sensu::subscriptions: {get_param: MonitoringSubscriptions} map_replace:
service_configs: - {get_param: ServiceConfigSettings}
mapped_data: - values: {get_attr: [NetIpMap, net_ip_map]}
map_replace: {{role.lower()}}_extraconfig: {get_param: {{role}}ExtraConfig}
- {get_param: ServiceConfigSettings} extraconfig: {get_param: ExtraConfig}
- values: {get_attr: [NetIpMap, net_ip_map]} {{role.lower()}}:
{{role.lower()}}_extraconfig: tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
mapped_data: {get_param: {{role}}ExtraConfig} tripleo::profile::base::logging::fluentd::fluentd_sources: {get_param: LoggingSources}
extraconfig: tripleo::profile::base::logging::fluentd::fluentd_groups: {get_param: LoggingGroups}
mapped_data: {get_param: ExtraConfig}
{{role.lower()}}:
mapped_data:
tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
tripleo::profile::base::logging::fluentd::fluentd_sources: {get_param: LoggingSources}
tripleo::profile::base::logging::fluentd::fluentd_groups: {get_param: LoggingGroups}
# Resource for site-specific injection of root certificate # Resource for site-specific injection of root certificate
NodeTLSCAData: NodeTLSCAData:

View File

@ -55,7 +55,7 @@ outputs:
aodh::wsgi::apache::servername: aodh::wsgi::apache::servername:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, AodhApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, AodhApiNetwork]}
aodh::api::service_name: 'httpd' aodh::api::service_name: 'httpd'
@ -68,7 +68,7 @@ outputs:
aodh::api::host: aodh::api::host:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, AodhApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, AodhApiNetwork]}
# NOTE: bind IP is found in Heat replacing the network name with the # NOTE: bind IP is found in Heat replacing the network name with the

View File

@ -24,7 +24,7 @@ parameters:
hidden: true hidden: true
BarbicanWorkers: BarbicanWorkers:
description: Set the number of workers for barbican::wsgi::apache description: Set the number of workers for barbican::wsgi::apache
default: '"%{::processorcount}"' default: '%{::processorcount}'
type: string type: string
Debug: Debug:
default: '' default: ''
@ -93,7 +93,7 @@ outputs:
barbican::wsgi::apache::servername: barbican::wsgi::apache::servername:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, BarbicanApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, BarbicanApiNetwork]}
barbican::db::database_connection: barbican::db::database_connection:

View File

@ -75,7 +75,7 @@ outputs:
ceilometer::api::host: ceilometer::api::host:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, CeilometerApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, CeilometerApiNetwork]}
ceilometer::wsgi::apache::bind_host: {get_param: [ServiceNetMap, CeilometerApiNetwork]} ceilometer::wsgi::apache::bind_host: {get_param: [ServiceNetMap, CeilometerApiNetwork]}
@ -83,7 +83,7 @@ outputs:
ceilometer::wsgi::apache::servername: ceilometer::wsgi::apache::servername:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, CeilometerApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, CeilometerApiNetwork]}
service_config_settings: service_config_settings:

View File

@ -119,36 +119,33 @@ outputs:
NETWORK: {get_param: [ServiceNetMap, CephMonNetwork]} NETWORK: {get_param: [ServiceNetMap, CephMonNetwork]}
ceph::profile::params::public_addr: {get_param: [ServiceNetMap, CephMonNetwork]} ceph::profile::params::public_addr: {get_param: [ServiceNetMap, CephMonNetwork]}
ceph::profile::params::client_keys: ceph::profile::params::client_keys:
str_replace: map_replace:
template: "{ - client.admin:
client.admin: { secret: {get_param: CephAdminKey}
secret: 'ADMIN_KEY', mode: '0600'
mode: '0600', cap_mon: 'allow *'
cap_mon: 'allow *', cap_osd: 'allow *'
cap_osd: 'allow *',
cap_mds: 'allow *' cap_mds: 'allow *'
}, client.bootstrap-osd:
client.bootstrap-osd: { secret: {get_param: CephAdminKey}
secret: 'ADMIN_KEY', keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring'
keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring',
cap_mon: 'allow profile bootstrap-osd' cap_mon: 'allow profile bootstrap-osd'
}, CEPH_CLIENT_KEY:
client.CLIENT_USER: { secret: {get_param: CephClientKey}
secret: 'CLIENT_KEY', mode: '0644'
mode: '0644', cap_mon: 'allow r'
cap_mon: 'allow r', cap_osd:
cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=CINDERBACKUP_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL' str_replace:
} template: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=CINDERBACKUP_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
}" params:
params: NOVA_POOL: {get_param: NovaRbdPoolName}
CLIENT_USER: {get_param: CephClientUserName} CINDER_POOL: {get_param: CinderRbdPoolName}
CLIENT_KEY: {get_param: CephClientKey} CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
ADMIN_KEY: {get_param: CephAdminKey} GLANCE_POOL: {get_param: GlanceRbdPoolName}
NOVA_POOL: {get_param: NovaRbdPoolName} GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
CINDER_POOL: {get_param: CinderRbdPoolName} - keys:
CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName} CEPH_CLIENT_KEY:
GLANCE_POOL: {get_param: GlanceRbdPoolName} list_join: ['.', ['client', {get_param: CephClientUserName}]]
GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
service_config_settings: service_config_settings:
glance_api: glance_api:
glance::api::show_multiple_locations: {if: [glance_multiple_locations, true, false]} glance::api::show_multiple_locations: {if: [glance_multiple_locations, true, false]}

View File

@ -42,7 +42,7 @@ parameters:
CinderWorkers: CinderWorkers:
type: string type: string
description: Set the number of workers for cinder::wsgi::apache description: Set the number of workers for cinder::wsgi::apache
default: '"%{::os_workers}"' default: '%{::os_workers}'
EnableInternalTLS: EnableInternalTLS:
type: boolean type: boolean
default: false default: false
@ -101,7 +101,7 @@ outputs:
cinder::api::bind_host: cinder::api::bind_host:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, CinderApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, CinderApiNetwork]}
cinder::wsgi::apache::ssl: {get_param: EnableInternalTLS} cinder::wsgi::apache::ssl: {get_param: EnableInternalTLS}
@ -115,7 +115,7 @@ outputs:
cinder::wsgi::apache::servername: cinder::wsgi::apache::servername:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, CinderApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, CinderApiNetwork]}
- -

View File

@ -87,7 +87,7 @@ outputs:
tripleo::profile::base::database::mysql::bind_address: tripleo::profile::base::database::mysql::bind_address:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, MysqlNetwork]} $NETWORK: {get_param: [ServiceNetMap, MysqlNetwork]}
step_config: | step_config: |

View File

@ -39,6 +39,6 @@ outputs:
# internal_api_subnet - > IP/CIDR # internal_api_subnet - > IP/CIDR
redis::bind: {get_param: [ServiceNetMap, RedisNetwork]} redis::bind: {get_param: [ServiceNetMap, RedisNetwork]}
redis::port: 6379 redis::port: 6379
redis::sentinel::master_name: '"%{hiera(\"bootstrap_nodeid\")}"' redis::sentinel::master_name: "%{hiera('bootstrap_nodeid')}"
redis::sentinel::redis_host: '"%{hiera(\"bootstrap_nodeid_ip\")}"' redis::sentinel::redis_host: "%{hiera('bootstrap_nodeid_ip')}"
redis::sentinel::notification_script: '/usr/local/bin/redis-notifications.sh' redis::sentinel::notification_script: '/usr/local/bin/redis-notifications.sh'

View File

@ -91,7 +91,7 @@ outputs:
gnocchi::wsgi::apache::servername: gnocchi::wsgi::apache::servername:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, GnocchiApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, GnocchiApiNetwork]}
tripleo::profile::base::gnocchi::api::gnocchi_backend: {get_param: GnocchiBackend} tripleo::profile::base::gnocchi::api::gnocchi_backend: {get_param: GnocchiBackend}
@ -105,7 +105,7 @@ outputs:
gnocchi::api::host: gnocchi::api::host:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, GnocchiApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, GnocchiApiNetwork]}

View File

@ -68,7 +68,7 @@ outputs:
list_join: list_join:
- '' - ''
- - 'http://' - - 'http://'
- '%{hiera("ironic_conductor_http_host")}:' - "%{hiera('ironic_conductor_http_host')}:"
- {get_param: IronicIPXEPort} - {get_param: IronicIPXEPort}
ironic::drivers::pxe::ipxe_enabled: {get_param: IronicIPXEEnabled} ironic::drivers::pxe::ipxe_enabled: {get_param: IronicIPXEEnabled}
ironic::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]} ironic::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}

View File

@ -1,4 +1,4 @@
heat_template_version: 2016-04-08 heat_template_version: 2016-10-14
description: > description: >
Keepalived service configured with Puppet Keepalived service configured with Puppet
@ -36,6 +36,11 @@ parameters:
default: 'overcloud-keepalived' default: 'overcloud-keepalived'
type: string type: string
conditions:
control_iface_empty: {equals : [{get_param: ControlVirtualInterface}, '']}
public_iface_empty: {equals : [{get_param: PublicVirtualInterface}, '']}
outputs: outputs:
role_data: role_data:
description: Role data for the Keepalived role. description: Role data for the Keepalived role.
@ -43,10 +48,19 @@ outputs:
service_name: keepalived service_name: keepalived
monitoring_subscription: {get_param: MonitoringSubscriptionKeepalived} monitoring_subscription: {get_param: MonitoringSubscriptionKeepalived}
config_settings: config_settings:
tripleo::keepalived::control_virtual_interface: {get_param: ControlVirtualInterface} map_merge:
tripleo::keepalived::public_virtual_interface: {get_param: PublicVirtualInterface} - tripleo.keepalived.firewall_rules:
tripleo.keepalived.firewall_rules: '106 keepalived vrrp':
'106 keepalived vrrp': proto: vrrp
proto: vrrp -
if:
- control_iface_empty
- {}
- tripleo::keepalived::control_virtual_interface: {get_param: ControlVirtualInterface}
-
if:
- public_iface_empty
- {}
- tripleo::keepalived::public_virtual_interface: {get_param: PublicVirtualInterface}
step_config: | step_config: |
include ::tripleo::profile::base::keepalived include ::tripleo::profile::base::keepalived

View File

@ -89,7 +89,7 @@ parameters:
KeystoneWorkers: KeystoneWorkers:
type: string type: string
description: Set the number of workers for keystone::wsgi::apache description: Set the number of workers for keystone::wsgi::apache
default: '"%{::os_workers}"' default: '%{::os_workers}'
MonitoringSubscriptionKeystone: MonitoringSubscriptionKeystone:
default: 'overcloud-keystone' default: 'overcloud-keystone'
type: string type: string
@ -195,13 +195,13 @@ outputs:
keystone::wsgi::apache::servername: keystone::wsgi::apache::servername:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, KeystonePublicApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}
keystone::wsgi::apache::servername_admin: keystone::wsgi::apache::servername_admin:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}
keystone::wsgi::apache::workers: {get_param: KeystoneWorkers} keystone::wsgi::apache::workers: {get_param: KeystoneWorkers}
@ -219,13 +219,13 @@ outputs:
keystone::admin_bind_host: keystone::admin_bind_host:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}
keystone::public_bind_host: keystone::public_bind_host:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, KeystonePublicApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}
# NOTE: bind IP is found in Heat replacing the network name with the # NOTE: bind IP is found in Heat replacing the network name with the

View File

@ -84,16 +84,12 @@ outputs:
neutron::rabbit_port: {get_param: RabbitClientPort} neutron::rabbit_port: {get_param: RabbitClientPort}
neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork} neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
neutron::core_plugin: {get_param: NeutronCorePlugin} neutron::core_plugin: {get_param: NeutronCorePlugin}
neutron::service_plugins: neutron::service_plugins: {get_param: NeutronServicePlugins}
str_replace:
template: PLUGINS
params:
PLUGINS: {get_param: NeutronServicePlugins}
neutron::debug: {get_param: Debug} neutron::debug: {get_param: Debug}
neutron::purge_config: {get_param: EnableConfigPurge} neutron::purge_config: {get_param: EnableConfigPurge}
neutron::allow_overlapping_ips: true neutron::allow_overlapping_ips: true
neutron::rabbit_heartbeat_timeout_threshold: 60 neutron::rabbit_heartbeat_timeout_threshold: 60
neutron::host: '"%{::fqdn}"' #NOTE: extra quoting is needed neutron::host: '%{::fqdn}'
neutron::db::database_db_max_retries: -1 neutron::db::database_db_max_retries: -1
neutron::db::database_max_retries: -1 neutron::db::database_max_retries: -1
neutron::global_physnet_mtu: {get_param: NeutronGlobalPhysnetMtu} neutron::global_physnet_mtu: {get_param: NeutronGlobalPhysnetMtu}

View File

@ -72,6 +72,6 @@ outputs:
neutron::agents::metadata::auth_password: {get_param: NeutronPassword} neutron::agents::metadata::auth_password: {get_param: NeutronPassword}
neutron::agents::metadata::auth_url: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] } neutron::agents::metadata::auth_url: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
neutron::agents::metadata::auth_tenant: 'service' neutron::agents::metadata::auth_tenant: 'service'
neutron::agents::metadata::metadata_ip: '"%{hiera(\"nova_metadata_vip\")}"' neutron::agents::metadata::metadata_ip: "%{hiera('nova_metadata_vip')}"
step_config: | step_config: |
include tripleo::profile::base::neutron::metadata include tripleo::profile::base::neutron::metadata

View File

@ -94,21 +94,9 @@ outputs:
- neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop} - neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop}
neutron::agents::ml2::ovs::enable_distributed_routing: {get_param: NeutronEnableDVR} neutron::agents::ml2::ovs::enable_distributed_routing: {get_param: NeutronEnableDVR}
neutron::agents::ml2::ovs::arp_responder: {get_param: NeutronEnableARPResponder} neutron::agents::ml2::ovs::arp_responder: {get_param: NeutronEnableARPResponder}
neutron::agents::ml2::ovs::bridge_mappings: neutron::agents::ml2::ovs::bridge_mappings: {get_param: NeutronBridgeMappings}
str_replace: neutron::agents::ml2::ovs::tunnel_types: {get_param: NeutronTunnelTypes}
template: MAPPINGS neutron::agents::ml2::ovs::extensions: {get_param: NeutronAgentExtensions}
params:
MAPPINGS: {get_param: NeutronBridgeMappings}
neutron::agents::ml2::ovs::tunnel_types:
str_replace:
template: TYPES
params:
TYPES: {get_param: NeutronTunnelTypes}
neutron::agents::ml2::ovs::extensions:
str_replace:
template: AGENT_EXTENSIONS
params:
AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
# NOTE: bind IP is found in Heat replacing the network name with the # NOTE: bind IP is found in Heat replacing the network name with the
# local node IP for the given network; replacement examples # local node IP for the given network; replacement examples
# (eg. for internal_api): # (eg. for internal_api):

View File

@ -83,46 +83,14 @@ outputs:
config_settings: config_settings:
map_merge: map_merge:
- get_attr: [NeutronBase, role_data, config_settings] - get_attr: [NeutronBase, role_data, config_settings]
- neutron::plugins::ml2::mechanism_drivers: - neutron::plugins::ml2::mechanism_drivers: {get_param: NeutronMechanismDrivers}
str_replace: neutron::plugins::ml2::type_drivers: {get_param: NeutronTypeDrivers}
template: MECHANISMS neutron::plugins::ml2::flat_networks: {get_param: NeutronFlatNetworks}
params: neutron::plugins::ml2::extension_drivers: {get_param: NeutronPluginExtensions}
MECHANISMS: {get_param: NeutronMechanismDrivers} neutron::plugins::ml2::network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
neutron::plugins::ml2::type_drivers: neutron::plugins::ml2::tunnel_id_ranges: {get_param: NeutronTunnelIdRanges}
str_replace: neutron::plugins::ml2::vni_ranges: {get_param: NeutronVniRanges}
template: DRIVERS neutron::plugins::ml2::tenant_network_types: {get_param: NeutronNetworkType}
params:
DRIVERS: {get_param: NeutronTypeDrivers}
neutron::plugins::ml2::flat_networks:
str_replace:
template: NETWORKS
params:
NETWORKS: {get_param: NeutronFlatNetworks}
neutron::plugins::ml2::extension_drivers:
str_replace:
template: PLUGIN_EXTENSIONS
params:
PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
neutron::plugins::ml2::network_vlan_ranges:
str_replace:
template: RANGES
params:
RANGES: {get_param: NeutronNetworkVLANRanges}
neutron::plugins::ml2::tunnel_id_ranges:
str_replace:
template: RANGES
params:
RANGES: {get_param: NeutronTunnelIdRanges}
neutron::plugins::ml2::vni_ranges:
str_replace:
template: RANGES
params:
RANGES: {get_param: NeutronVniRanges}
neutron::plugins::ml2::tenant_network_types:
str_replace:
template: TYPES
params:
TYPES: {get_param: NeutronNetworkType}
neutron::plugins::ml2::supported_pci_vendor_devs: {get_param: NeutronSupportedPCIVendorDevs} neutron::plugins::ml2::supported_pci_vendor_devs: {get_param: NeutronSupportedPCIVendorDevs}
step_config: | step_config: |

View File

@ -87,8 +87,8 @@ outputs:
map_merge: map_merge:
- get_attr: [NovaBase, role_data, config_settings] - get_attr: [NovaBase, role_data, config_settings]
- get_attr: [ApacheServiceBase, role_data, config_settings] - get_attr: [ApacheServiceBase, role_data, config_settings]
- nova::cron::archive_deleted_rows::hour: '"*/12"' - nova::cron::archive_deleted_rows::hour: '*/12'
nova::cron::archive_deleted_rows::destination: '"/dev/null"' nova::cron::archive_deleted_rows::destination: '/dev/null'
tripleo.nova_api.firewall_rules: tripleo.nova_api.firewall_rules:
'113 nova_api': '113 nova_api':
dport: dport:
@ -108,7 +108,7 @@ outputs:
nova::api::api_bind_address: nova::api::api_bind_address:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
nova::api::service_name: 'httpd' nova::api::service_name: 'httpd'
@ -122,7 +122,7 @@ outputs:
nova::wsgi::apache::servername: nova::wsgi::apache::servername:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
nova::api::neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret} nova::api::neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}

View File

@ -109,7 +109,7 @@ outputs:
nova::network::neutron::neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]} nova::network::neutron::neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
nova::rabbit_heartbeat_timeout_threshold: 60 nova::rabbit_heartbeat_timeout_threshold: 60
nova::cinder_catalog_info: 'volumev2:cinderv2:internalURL' nova::cinder_catalog_info: 'volumev2:cinderv2:internalURL'
nova::host: '"%{::fqdn}"' # NOTE: extra quoting is needed. nova::host: '%{::fqdn}'
nova::notify_on_state_change: 'vm_and_task_state' nova::notify_on_state_change: 'vm_and_task_state'
nova::notification_driver: messagingv2 nova::notification_driver: messagingv2
nova::network::neutron::neutron_auth_type: 'v3password' nova::network::neutron::neutron_auth_type: 'v3password'

View File

@ -52,7 +52,7 @@ parameters:
For different formats, refer to the nova.conf documentation for For different formats, refer to the nova.conf documentation for
pci_passthrough_whitelist configuration pci_passthrough_whitelist configuration
type: json type: json
default: '' default: {}
NovaVcpuPinSet: NovaVcpuPinSet:
description: > description: >
A list or range of physical CPU cores to reserve for virtual machine A list or range of physical CPU cores to reserve for virtual machine
@ -97,11 +97,7 @@ outputs:
map_merge: map_merge:
- get_attr: [NovaBase, role_data, config_settings] - get_attr: [NovaBase, role_data, config_settings]
- nova::compute::libvirt::manage_libvirt_services: false - nova::compute::libvirt::manage_libvirt_services: false
nova::compute::pci_passthrough: nova::compute::pci_passthrough: {get_param: NovaPCIPassthrough}
str_replace:
template: "'JSON_PARAM'"
params:
JSON_PARAM: {get_param: NovaPCIPassthrough}
nova::compute::vcpu_pin_set: {get_param: NovaVcpuPinSet} nova::compute::vcpu_pin_set: {get_param: NovaVcpuPinSet}
nova::compute::reserved_host_memory: {get_param: NovaReservedHostMemory} nova::compute::reserved_host_memory: {get_param: NovaReservedHostMemory}
# we manage migration in nova common puppet profile # we manage migration in nova common puppet profile
@ -117,7 +113,7 @@ outputs:
- '.' - '.'
- - 'client' - - 'client'
- {get_param: CephClientUserName} - {get_param: CephClientUserName}
nova::compute::rbd::libvirt_rbd_secret_uuid: '"%{hiera(\"ceph::profile::params::fsid\")}"' nova::compute::rbd::libvirt_rbd_secret_uuid: "%{hiera('ceph::profile::params::fsid')}"
nova::compute::instance_usage_audit: true nova::compute::instance_usage_audit: true
nova::compute::instance_usage_audit_period: 'hour' nova::compute::instance_usage_audit_period: 'hour'
nova::compute::rbd::ephemeral_storage: {get_param: NovaEnableRbdBackend} nova::compute::rbd::ephemeral_storage: {get_param: NovaEnableRbdBackend}

View File

@ -40,7 +40,7 @@ outputs:
- tripleo::profile::pacemaker::database::mysql::bind_address: - tripleo::profile::pacemaker::database::mysql::bind_address:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, MysqlNetwork]} $NETWORK: {get_param: [ServiceNetMap, MysqlNetwork]}
# NOTE: bind IP is found in Heat replacing the network name with the # NOTE: bind IP is found in Heat replacing the network name with the

View File

@ -55,7 +55,7 @@ outputs:
panko::wsgi::apache::servername: panko::wsgi::apache::servername:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, PankoApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, PankoApiNetwork]}
panko::api::service_name: 'httpd' panko::api::service_name: 'httpd'
@ -68,7 +68,7 @@ outputs:
panko::api::host: panko::api::host:
str_replace: str_replace:
template: template:
'"%{::fqdn_$NETWORK}"' '%{::fqdn_$NETWORK}'
params: params:
$NETWORK: {get_param: [ServiceNetMap, PankoApiNetwork]} $NETWORK: {get_param: [ServiceNetMap, PankoApiNetwork]}
# NOTE: bind IP is found in Heat replacing the network name with the # NOTE: bind IP is found in Heat replacing the network name with the