Server blacklist support
Adds the ability to blacklist servers from all SoftwareDeployment resources. The servers are specified in a new list parameter, DeploymentServerBlacklist by the Heat assigned name (overcloud-compute-0, etc). implements blueprint disable-deployments Change-Id: I46941e54a476c7cc8645cd1aff391c9c6c5434de
This commit is contained in:
parent
b344f5994f
commit
e3c8803295
@ -197,6 +197,12 @@ parameters:
|
|||||||
description: >
|
description: >
|
||||||
Set to true to append per network Vips to /etc/hosts on each node.
|
Set to true to append per network Vips to /etc/hosts on each node.
|
||||||
|
|
||||||
|
DeploymentServerBlacklist:
|
||||||
|
default: []
|
||||||
|
type: comma_delimited_list
|
||||||
|
description: >
|
||||||
|
List of server hostnames to blacklist from any triggered deployments.
|
||||||
|
|
||||||
conditions:
|
conditions:
|
||||||
add_vips_to_etc_hosts: {equals : [{get_param: AddVipsToEtcHosts}, True]}
|
add_vips_to_etc_hosts: {equals : [{get_param: AddVipsToEtcHosts}, True]}
|
||||||
|
|
||||||
@ -318,14 +324,14 @@ resources:
|
|||||||
properties:
|
properties:
|
||||||
name: {{role.name}}HostsDeployment
|
name: {{role.name}}HostsDeployment
|
||||||
config: {get_attr: [hostsConfig, config_id]}
|
config: {get_attr: [hostsConfig, config_id]}
|
||||||
servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
|
servers: {get_attr: [{{role.name}}Servers, value]}
|
||||||
|
|
||||||
{{role.name}}SshKnownHostsDeployment:
|
{{role.name}}SshKnownHostsDeployment:
|
||||||
type: OS::Heat::StructuredDeployments
|
type: OS::Heat::StructuredDeployments
|
||||||
properties:
|
properties:
|
||||||
name: {{role.name}}SshKnownHostsDeployment
|
name: {{role.name}}SshKnownHostsDeployment
|
||||||
config: {get_resource: SshKnownHostsConfig}
|
config: {get_resource: SshKnownHostsConfig}
|
||||||
servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
|
servers: {get_attr: [{{role.name}}Servers, value]}
|
||||||
|
|
||||||
{{role.name}}AllNodesDeployment:
|
{{role.name}}AllNodesDeployment:
|
||||||
type: OS::Heat::StructuredDeployments
|
type: OS::Heat::StructuredDeployments
|
||||||
@ -336,7 +342,7 @@ resources:
|
|||||||
properties:
|
properties:
|
||||||
name: {{role.name}}AllNodesDeployment
|
name: {{role.name}}AllNodesDeployment
|
||||||
config: {get_attr: [allNodesConfig, config_id]}
|
config: {get_attr: [allNodesConfig, config_id]}
|
||||||
servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
|
servers: {get_attr: [{{role.name}}Servers, value]}
|
||||||
input_values:
|
input_values:
|
||||||
# Note we have to use yaql to look up the first hostname/ip in the
|
# Note we have to use yaql to look up the first hostname/ip in the
|
||||||
# list because heat path based attributes operate on the attribute
|
# list because heat path based attributes operate on the attribute
|
||||||
@ -358,7 +364,7 @@ resources:
|
|||||||
properties:
|
properties:
|
||||||
name: {{role.name}}AllNodesValidationDeployment
|
name: {{role.name}}AllNodesValidationDeployment
|
||||||
config: {get_resource: AllNodesValidationConfig}
|
config: {get_resource: AllNodesValidationConfig}
|
||||||
servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
|
servers: {get_attr: [{{role.name}}Servers, value]}
|
||||||
|
|
||||||
{{role.name}}IpListMap:
|
{{role.name}}IpListMap:
|
||||||
type: OS::TripleO::Network::Ports::NetIpListMap
|
type: OS::TripleO::Network::Ports::NetIpListMap
|
||||||
@ -439,8 +445,39 @@ resources:
|
|||||||
ServiceNames: {get_attr: [{{role.name}}ServiceNames, value]}
|
ServiceNames: {get_attr: [{{role.name}}ServiceNames, value]}
|
||||||
MonitoringSubscriptions: {get_attr: [{{role.name}}ServiceChainRoleData, value, monitoring_subscriptions]}
|
MonitoringSubscriptions: {get_attr: [{{role.name}}ServiceChainRoleData, value, monitoring_subscriptions]}
|
||||||
ServiceMetadataSettings: {get_attr: [{{role.name}}ServiceChainRoleData, value, service_metadata_settings]}
|
ServiceMetadataSettings: {get_attr: [{{role.name}}ServiceChainRoleData, value, service_metadata_settings]}
|
||||||
|
DeploymentServerBlacklistDict: {get_attr: [DeploymentServerBlacklistDict, value]}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
{% for role in roles %}
|
||||||
|
{{role.name}}Servers:
|
||||||
|
type: OS::Heat::Value
|
||||||
|
depends_on: {{role.name}}
|
||||||
|
properties:
|
||||||
|
type: json
|
||||||
|
value:
|
||||||
|
yaql:
|
||||||
|
expression: let(servers=>switch(isDict($.data.servers) => $.data.servers, true => {})) -> $servers.deleteAll($servers.keys().where($servers[$] = null))
|
||||||
|
data:
|
||||||
|
servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
# This resource just creates a dict out of the DeploymentServerBlacklist,
|
||||||
|
# which is a list. The dict is used in the role templates to set a condition
|
||||||
|
# on whether to create the deployment resources. We can't use the list
|
||||||
|
# directly because there is no way to ask Heat if a list contains a specific
|
||||||
|
# value.
|
||||||
|
DeploymentServerBlacklistDict:
|
||||||
|
type: OS::Heat::Value
|
||||||
|
properties:
|
||||||
|
type: json
|
||||||
|
value:
|
||||||
|
map_merge:
|
||||||
|
repeat:
|
||||||
|
template:
|
||||||
|
hostname: 1
|
||||||
|
for_each:
|
||||||
|
hostname: {get_param: DeploymentServerBlacklist}
|
||||||
|
|
||||||
hostsConfig:
|
hostsConfig:
|
||||||
type: OS::TripleO::Hosts::SoftwareConfig
|
type: OS::TripleO::Hosts::SoftwareConfig
|
||||||
properties:
|
properties:
|
||||||
@ -663,7 +700,7 @@ resources:
|
|||||||
properties:
|
properties:
|
||||||
servers:
|
servers:
|
||||||
{% for role in roles %}
|
{% for role in roles %}
|
||||||
{{role.name}}: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
|
{{role.name}}: {get_attr: [{{role.name}}Servers, value]}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
input_values:
|
input_values:
|
||||||
deploy_identifier: {get_param: DeployIdentifier}
|
deploy_identifier: {get_param: DeployIdentifier}
|
||||||
@ -681,7 +718,7 @@ resources:
|
|||||||
properties:
|
properties:
|
||||||
servers:
|
servers:
|
||||||
{% for role in roles %}
|
{% for role in roles %}
|
||||||
{{role.name}}: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
|
{{role.name}}: {get_attr: [{{role.name}}Servers, value]}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
# Post deployment steps for all roles
|
# Post deployment steps for all roles
|
||||||
@ -695,7 +732,7 @@ resources:
|
|||||||
properties:
|
properties:
|
||||||
servers:
|
servers:
|
||||||
{% for role in roles %}
|
{% for role in roles %}
|
||||||
{{role.name}}: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
|
{{role.name}}: {get_attr: [{{role.name}}Servers, value]}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
|
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
|
||||||
role_data:
|
role_data:
|
||||||
|
@ -132,6 +132,20 @@ parameters:
|
|||||||
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
||||||
environment files.
|
environment files.
|
||||||
default: ''
|
default: ''
|
||||||
|
DeploymentServerBlacklistDict:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
description: >
|
||||||
|
Map of server hostnames to blacklist from any triggered
|
||||||
|
deployments. If the value is 1, the server will be blacklisted. This
|
||||||
|
parameter is generated from the parent template.
|
||||||
|
|
||||||
|
conditions:
|
||||||
|
server_not_blacklisted:
|
||||||
|
not:
|
||||||
|
equals:
|
||||||
|
- {get_param: [DeploymentServerBlacklistDict, {get_param: Hostname}]}
|
||||||
|
- 1
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
BlockStorage:
|
BlockStorage:
|
||||||
@ -362,6 +376,7 @@ resources:
|
|||||||
NetworkDeployment:
|
NetworkDeployment:
|
||||||
type: OS::TripleO::SoftwareDeployment
|
type: OS::TripleO::SoftwareDeployment
|
||||||
depends_on: PreNetworkConfig
|
depends_on: PreNetworkConfig
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: NetworkDeployment
|
name: NetworkDeployment
|
||||||
config: {get_resource: NetworkConfig}
|
config: {get_resource: NetworkConfig}
|
||||||
@ -385,6 +400,7 @@ resources:
|
|||||||
BlockStorageUpgradeInitDeployment:
|
BlockStorageUpgradeInitDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: BlockStorageUpgradeInitDeployment
|
name: BlockStorageUpgradeInitDeployment
|
||||||
server: {get_resource: BlockStorage}
|
server: {get_resource: BlockStorage}
|
||||||
@ -393,6 +409,7 @@ resources:
|
|||||||
BlockStorageDeployment:
|
BlockStorageDeployment:
|
||||||
type: OS::Heat::StructuredDeployment
|
type: OS::Heat::StructuredDeployment
|
||||||
depends_on: BlockStorageUpgradeInitDeployment
|
depends_on: BlockStorageUpgradeInitDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: BlockStorageDeployment
|
name: BlockStorageDeployment
|
||||||
server: {get_resource: BlockStorage}
|
server: {get_resource: BlockStorage}
|
||||||
@ -459,6 +476,7 @@ resources:
|
|||||||
UpdateDeployment:
|
UpdateDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: UpdateDeployment
|
name: UpdateDeployment
|
||||||
config: {get_resource: UpdateConfig}
|
config: {get_resource: UpdateConfig}
|
||||||
@ -555,6 +573,7 @@ CTLPLANEIP,CTLPLANEHOST.DOMAIN,CTLPLANEHOST HOSTSSHPUBKEY"
|
|||||||
description: Heat resource handle for the block storage server
|
description: Heat resource handle for the block storage server
|
||||||
value:
|
value:
|
||||||
{get_resource: BlockStorage}
|
{get_resource: BlockStorage}
|
||||||
|
condition: server_not_blacklisted
|
||||||
external_ip_address:
|
external_ip_address:
|
||||||
description: IP address of the server in the external network
|
description: IP address of the server in the external network
|
||||||
value: {get_attr: [ExternalPort, ip_address]}
|
value: {get_attr: [ExternalPort, ip_address]}
|
||||||
|
@ -138,6 +138,20 @@ parameters:
|
|||||||
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
||||||
environment files.
|
environment files.
|
||||||
default: ''
|
default: ''
|
||||||
|
DeploymentServerBlacklistDict:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
description: >
|
||||||
|
Map of server hostnames to blacklist from any triggered
|
||||||
|
deployments. If the value is 1, the server will be blacklisted. This
|
||||||
|
parameter is generated from the parent template.
|
||||||
|
|
||||||
|
conditions:
|
||||||
|
server_not_blacklisted:
|
||||||
|
not:
|
||||||
|
equals:
|
||||||
|
- {get_param: [DeploymentServerBlacklistDict, {get_param: Hostname}]}
|
||||||
|
- 1
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
CephStorage:
|
CephStorage:
|
||||||
@ -368,6 +382,7 @@ resources:
|
|||||||
NetworkDeployment:
|
NetworkDeployment:
|
||||||
type: OS::TripleO::SoftwareDeployment
|
type: OS::TripleO::SoftwareDeployment
|
||||||
depends_on: PreNetworkConfig
|
depends_on: PreNetworkConfig
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: NetworkDeployment
|
name: NetworkDeployment
|
||||||
config: {get_resource: NetworkConfig}
|
config: {get_resource: NetworkConfig}
|
||||||
@ -391,6 +406,7 @@ resources:
|
|||||||
CephStorageUpgradeInitDeployment:
|
CephStorageUpgradeInitDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: CephStorageUpgradeInitDeployment
|
name: CephStorageUpgradeInitDeployment
|
||||||
server: {get_resource: CephStorage}
|
server: {get_resource: CephStorage}
|
||||||
@ -399,6 +415,7 @@ resources:
|
|||||||
CephStorageDeployment:
|
CephStorageDeployment:
|
||||||
type: OS::Heat::StructuredDeployment
|
type: OS::Heat::StructuredDeployment
|
||||||
depends_on: CephStorageUpgradeInitDeployment
|
depends_on: CephStorageUpgradeInitDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: CephStorageDeployment
|
name: CephStorageDeployment
|
||||||
config: {get_resource: CephStorageConfig}
|
config: {get_resource: CephStorageConfig}
|
||||||
@ -471,6 +488,7 @@ resources:
|
|||||||
UpdateDeployment:
|
UpdateDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
config: {get_resource: UpdateConfig}
|
config: {get_resource: UpdateConfig}
|
||||||
server: {get_resource: CephStorage}
|
server: {get_resource: CephStorage}
|
||||||
@ -566,6 +584,7 @@ CTLPLANEIP,CTLPLANEHOST.DOMAIN,CTLPLANEHOST HOSTSSHPUBKEY"
|
|||||||
description: Heat resource handle for the ceph storage server
|
description: Heat resource handle for the ceph storage server
|
||||||
value:
|
value:
|
||||||
{get_resource: CephStorage}
|
{get_resource: CephStorage}
|
||||||
|
condition: server_not_blacklisted
|
||||||
external_ip_address:
|
external_ip_address:
|
||||||
description: IP address of the server in the external network
|
description: IP address of the server in the external network
|
||||||
value: {get_attr: [ExternalPort, ip_address]}
|
value: {get_attr: [ExternalPort, ip_address]}
|
||||||
|
@ -150,6 +150,20 @@ parameters:
|
|||||||
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
||||||
environment files.
|
environment files.
|
||||||
default: ''
|
default: ''
|
||||||
|
DeploymentServerBlacklistDict:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
description: >
|
||||||
|
Map of server hostnames to blacklist from any triggered
|
||||||
|
deployments. If the value is 1, the server will be blacklisted. This
|
||||||
|
parameter is generated from the parent template.
|
||||||
|
|
||||||
|
conditions:
|
||||||
|
server_not_blacklisted:
|
||||||
|
not:
|
||||||
|
equals:
|
||||||
|
- {get_param: [DeploymentServerBlacklistDict, {get_param: Hostname}]}
|
||||||
|
- 1
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
@ -382,6 +396,7 @@ resources:
|
|||||||
NetworkDeployment:
|
NetworkDeployment:
|
||||||
type: OS::TripleO::SoftwareDeployment
|
type: OS::TripleO::SoftwareDeployment
|
||||||
depends_on: PreNetworkConfig
|
depends_on: PreNetworkConfig
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: NetworkDeployment
|
name: NetworkDeployment
|
||||||
config: {get_resource: NetworkConfig}
|
config: {get_resource: NetworkConfig}
|
||||||
@ -408,6 +423,7 @@ resources:
|
|||||||
NovaComputeUpgradeInitDeployment:
|
NovaComputeUpgradeInitDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: NovaComputeUpgradeInitDeployment
|
name: NovaComputeUpgradeInitDeployment
|
||||||
server: {get_resource: NovaCompute}
|
server: {get_resource: NovaCompute}
|
||||||
@ -459,6 +475,7 @@ resources:
|
|||||||
NovaComputeDeployment:
|
NovaComputeDeployment:
|
||||||
type: OS::TripleO::SoftwareDeployment
|
type: OS::TripleO::SoftwareDeployment
|
||||||
depends_on: NovaComputeUpgradeInitDeployment
|
depends_on: NovaComputeUpgradeInitDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: NovaComputeDeployment
|
name: NovaComputeDeployment
|
||||||
config: {get_resource: NovaComputeConfig}
|
config: {get_resource: NovaComputeConfig}
|
||||||
@ -494,6 +511,7 @@ resources:
|
|||||||
UpdateDeployment:
|
UpdateDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: UpdateDeployment
|
name: UpdateDeployment
|
||||||
config: {get_resource: UpdateConfig}
|
config: {get_resource: UpdateConfig}
|
||||||
@ -610,3 +628,4 @@ CTLPLANEIP,CTLPLANEHOST.DOMAIN,CTLPLANEHOST HOSTSSHPUBKEY"
|
|||||||
description: Heat resource handle for the Nova compute server
|
description: Heat resource handle for the Nova compute server
|
||||||
value:
|
value:
|
||||||
{get_resource: NovaCompute}
|
{get_resource: NovaCompute}
|
||||||
|
condition: server_not_blacklisted
|
||||||
|
@ -164,6 +164,13 @@ parameters:
|
|||||||
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
||||||
environment files.
|
environment files.
|
||||||
default: ''
|
default: ''
|
||||||
|
DeploymentServerBlacklistDict:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
description: >
|
||||||
|
Map of server hostnames to blacklist from any triggered
|
||||||
|
deployments. If the value is 1, the server will be blacklisted. This
|
||||||
|
parameter is generated from the parent template.
|
||||||
|
|
||||||
parameter_groups:
|
parameter_groups:
|
||||||
- label: deprecated
|
- label: deprecated
|
||||||
@ -171,6 +178,14 @@ parameter_groups:
|
|||||||
parameters:
|
parameters:
|
||||||
- controllerExtraConfig
|
- controllerExtraConfig
|
||||||
|
|
||||||
|
conditions:
|
||||||
|
server_not_blacklisted:
|
||||||
|
not:
|
||||||
|
equals:
|
||||||
|
- {get_param: [DeploymentServerBlacklistDict, {get_param: Hostname}]}
|
||||||
|
- 1
|
||||||
|
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
Controller:
|
Controller:
|
||||||
@ -400,6 +415,7 @@ resources:
|
|||||||
|
|
||||||
NetworkDeployment:
|
NetworkDeployment:
|
||||||
type: OS::TripleO::SoftwareDeployment
|
type: OS::TripleO::SoftwareDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
depends_on: PreNetworkConfig
|
depends_on: PreNetworkConfig
|
||||||
properties:
|
properties:
|
||||||
name: NetworkDeployment
|
name: NetworkDeployment
|
||||||
@ -441,6 +457,7 @@ resources:
|
|||||||
# but https://bugs.launchpad.net/heat/+bug/1649900 needs fixing first
|
# but https://bugs.launchpad.net/heat/+bug/1649900 needs fixing first
|
||||||
ControllerUpgradeInitDeployment:
|
ControllerUpgradeInitDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
properties:
|
properties:
|
||||||
name: ControllerUpgradeInitDeployment
|
name: ControllerUpgradeInitDeployment
|
||||||
@ -449,6 +466,7 @@ resources:
|
|||||||
|
|
||||||
ControllerDeployment:
|
ControllerDeployment:
|
||||||
type: OS::TripleO::SoftwareDeployment
|
type: OS::TripleO::SoftwareDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
depends_on: ControllerUpgradeInitDeployment
|
depends_on: ControllerUpgradeInitDeployment
|
||||||
properties:
|
properties:
|
||||||
name: ControllerDeployment
|
name: ControllerDeployment
|
||||||
@ -532,6 +550,7 @@ resources:
|
|||||||
|
|
||||||
UpdateDeployment:
|
UpdateDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
properties:
|
properties:
|
||||||
name: UpdateDeployment
|
name: UpdateDeployment
|
||||||
@ -649,6 +668,7 @@ CTLPLANEIP,CTLPLANEHOST.DOMAIN,CTLPLANEHOST HOSTSSHPUBKEY"
|
|||||||
description: Heat resource handle for the Nova compute server
|
description: Heat resource handle for the Nova compute server
|
||||||
value:
|
value:
|
||||||
{get_resource: Controller}
|
{get_resource: Controller}
|
||||||
|
condition: server_not_blacklisted
|
||||||
tls_key_modulus_md5:
|
tls_key_modulus_md5:
|
||||||
description: MD5 checksum of the TLS Key Modulus
|
description: MD5 checksum of the TLS Key Modulus
|
||||||
value: {get_attr: [NodeTLSData, key_modulus_md5]}
|
value: {get_attr: [NodeTLSData, key_modulus_md5]}
|
||||||
|
@ -132,6 +132,20 @@ parameters:
|
|||||||
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
||||||
environment files.
|
environment files.
|
||||||
default: ''
|
default: ''
|
||||||
|
DeploymentServerBlacklistDict:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
description: >
|
||||||
|
Map of server hostnames to blacklist from any triggered
|
||||||
|
deployments. If the value is 1, the server will be blacklisted. This
|
||||||
|
parameter is generated from the parent template.
|
||||||
|
|
||||||
|
conditions:
|
||||||
|
server_not_blacklisted:
|
||||||
|
not:
|
||||||
|
equals:
|
||||||
|
- {get_param: [DeploymentServerBlacklistDict, {get_param: Hostname}]}
|
||||||
|
- 1
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
@ -362,6 +376,7 @@ resources:
|
|||||||
NetworkDeployment:
|
NetworkDeployment:
|
||||||
type: OS::TripleO::SoftwareDeployment
|
type: OS::TripleO::SoftwareDeployment
|
||||||
depends_on: PreNetworkConfig
|
depends_on: PreNetworkConfig
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: NetworkDeployment
|
name: NetworkDeployment
|
||||||
config: {get_resource: NetworkConfig}
|
config: {get_resource: NetworkConfig}
|
||||||
@ -385,6 +400,7 @@ resources:
|
|||||||
SwiftStorageUpgradeInitDeployment:
|
SwiftStorageUpgradeInitDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: SwiftStorageUpgradeInitDeployment
|
name: SwiftStorageUpgradeInitDeployment
|
||||||
server: {get_resource: SwiftStorage}
|
server: {get_resource: SwiftStorage}
|
||||||
@ -430,6 +446,7 @@ resources:
|
|||||||
SwiftStorageHieraDeploy:
|
SwiftStorageHieraDeploy:
|
||||||
type: OS::Heat::StructuredDeployment
|
type: OS::Heat::StructuredDeployment
|
||||||
depends_on: SwiftStorageUpgradeInitDeployment
|
depends_on: SwiftStorageUpgradeInitDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: SwiftStorageHieraDeploy
|
name: SwiftStorageHieraDeploy
|
||||||
server: {get_resource: SwiftStorage}
|
server: {get_resource: SwiftStorage}
|
||||||
@ -458,6 +475,7 @@ resources:
|
|||||||
UpdateDeployment:
|
UpdateDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
config: {get_resource: UpdateConfig}
|
config: {get_resource: UpdateConfig}
|
||||||
server: {get_resource: SwiftStorage}
|
server: {get_resource: SwiftStorage}
|
||||||
@ -553,6 +571,7 @@ CTLPLANEIP,CTLPLANEHOST.DOMAIN,CTLPLANEHOST HOSTSSHPUBKEY"
|
|||||||
description: Heat resource handle for the swift storage server
|
description: Heat resource handle for the swift storage server
|
||||||
value:
|
value:
|
||||||
{get_resource: SwiftStorage}
|
{get_resource: SwiftStorage}
|
||||||
|
condition: server_not_blacklisted
|
||||||
external_ip_address:
|
external_ip_address:
|
||||||
description: IP address of the server in the external network
|
description: IP address of the server in the external network
|
||||||
value: {get_attr: [ExternalPort, ip_address]}
|
value: {get_attr: [ExternalPort, ip_address]}
|
||||||
|
@ -154,6 +154,20 @@ parameters:
|
|||||||
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml
|
||||||
environment files.
|
environment files.
|
||||||
default: ''
|
default: ''
|
||||||
|
DeploymentServerBlacklistDict:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
description: >
|
||||||
|
Map of server hostnames to blacklist from any triggered
|
||||||
|
deployments. If the value is 1, the server will be blacklisted. This
|
||||||
|
parameter is generated from the parent template.
|
||||||
|
|
||||||
|
conditions:
|
||||||
|
server_not_blacklisted:
|
||||||
|
not:
|
||||||
|
equals:
|
||||||
|
- {get_param: [DeploymentServerBlacklistDict, {get_param: Hostname}]}
|
||||||
|
- 1
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
{{role}}:
|
{{role}}:
|
||||||
@ -384,6 +398,7 @@ resources:
|
|||||||
NetworkDeployment:
|
NetworkDeployment:
|
||||||
type: OS::TripleO::SoftwareDeployment
|
type: OS::TripleO::SoftwareDeployment
|
||||||
depends_on: PreNetworkConfig
|
depends_on: PreNetworkConfig
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: NetworkDeployment
|
name: NetworkDeployment
|
||||||
config: {get_resource: NetworkConfig}
|
config: {get_resource: NetworkConfig}
|
||||||
@ -410,6 +425,7 @@ resources:
|
|||||||
{{role}}UpgradeInitDeployment:
|
{{role}}UpgradeInitDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: {{role}}UpgradeInitDeployment
|
name: {{role}}UpgradeInitDeployment
|
||||||
server: {get_resource: {{role}}}
|
server: {get_resource: {{role}}}
|
||||||
@ -418,6 +434,7 @@ resources:
|
|||||||
{{role}}Deployment:
|
{{role}}Deployment:
|
||||||
type: OS::Heat::StructuredDeployment
|
type: OS::Heat::StructuredDeployment
|
||||||
depends_on: {{role}}UpgradeInitDeployment
|
depends_on: {{role}}UpgradeInitDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: {{role}}Deployment
|
name: {{role}}Deployment
|
||||||
config: {get_resource: {{role}}Config}
|
config: {get_resource: {{role}}Config}
|
||||||
@ -492,6 +509,7 @@ resources:
|
|||||||
UpdateDeployment:
|
UpdateDeployment:
|
||||||
type: OS::Heat::SoftwareDeployment
|
type: OS::Heat::SoftwareDeployment
|
||||||
depends_on: NetworkDeployment
|
depends_on: NetworkDeployment
|
||||||
|
condition: server_not_blacklisted
|
||||||
properties:
|
properties:
|
||||||
name: UpdateDeployment
|
name: UpdateDeployment
|
||||||
config: {get_resource: UpdateConfig}
|
config: {get_resource: UpdateConfig}
|
||||||
@ -588,6 +606,7 @@ CTLPLANEIP,CTLPLANEHOST.DOMAIN,CTLPLANEHOST HOSTSSHPUBKEY"
|
|||||||
description: Heat resource handle for {{role}} server
|
description: Heat resource handle for {{role}} server
|
||||||
value:
|
value:
|
||||||
{get_resource: {{role}}}
|
{get_resource: {{role}}}
|
||||||
|
condition: server_not_blacklisted
|
||||||
external_ip_address:
|
external_ip_address:
|
||||||
description: IP address of the server in the external network
|
description: IP address of the server in the external network
|
||||||
value: {get_attr: [ExternalPort, ip_address]}
|
value: {get_attr: [ExternalPort, ip_address]}
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Added the ability to blacklist servers by name from being
|
||||||
|
associated with any Heat triggered SoftwareDeployment
|
||||||
|
resources. The servers are specified in the new
|
||||||
|
DeploymentServerBlacklist parameter.
|
Loading…
Reference in New Issue
Block a user