From f5bcd0acfced3341941ba3f63da16f3237fe8997 Mon Sep 17 00:00:00 2001 From: Oliver Walsh Date: Mon, 20 Apr 2020 17:51:00 +0100 Subject: [PATCH] Add NovaCrossAZAttach parameter Adds a parameter to set [cinder]/cross_az_attach in nova to control whether instances can attach cinder volumes from a different availability zone. Defaults to true. Set to false in DCN sample environment files as block I/O between sites would be extremely slow (if it functions at all). Change-Id: Ib15e305e34a3fddfc6f50986d2e27b6da815bd19 --- deployment/nova/nova-base-puppet.yaml | 6 ++++++ environments/dcn-hci.yaml | 4 ++++ environments/dcn.yaml | 4 ++++ sample-env-generator/dcn.yaml | 4 ++++ 4 files changed, 18 insertions(+) diff --git a/deployment/nova/nova-base-puppet.yaml b/deployment/nova/nova-base-puppet.yaml index 0bcff65bf5..adbcebd3c9 100644 --- a/deployment/nova/nova-base-puppet.yaml +++ b/deployment/nova/nova-base-puppet.yaml @@ -242,6 +242,11 @@ parameters: default: false description: Whether this is an cell additional to the default cell. type: boolean + NovaCrossAZAttach: + default: true + description: + Whether instances can attach cinder volumes from a different availability zone. + type: boolean conditions: @@ -400,6 +405,7 @@ outputs: nova::cron::purge_shadow_tables::all_cells: {get_param: NovaCronPurgeShadowTablesAllCells} nova::compute::sync_power_state_interval: {get_param: NovaSyncPowerStateInterval} nova_is_additional_cell: {get_param: NovaAdditionalCell} + nova:cross_az_attach: {get_param: NovaCrossAZAttach} - get_attr: [RoleParametersValue, value] - if: diff --git a/environments/dcn-hci.yaml b/environments/dcn-hci.yaml index f982f29cae..1debd8bca5 100644 --- a/environments/dcn-hci.yaml +++ b/environments/dcn-hci.yaml @@ -38,6 +38,10 @@ parameter_defaults: # Type: string NovaComputeAvailabilityZone: '' + # Whether instances can attach cinder volumes from a different availability zone. + # Type: boolean + NovaCrossAZAttach: False + resource_registry: OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml diff --git a/environments/dcn.yaml b/environments/dcn.yaml index 12e1ee1bc4..e30a643e90 100644 --- a/environments/dcn.yaml +++ b/environments/dcn.yaml @@ -25,6 +25,10 @@ parameter_defaults: # Type: string NovaComputeAvailabilityZone: '' + # Whether instances can attach cinder volumes from a different availability zone. + # Type: boolean + NovaCrossAZAttach: False + resource_registry: OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml diff --git a/sample-env-generator/dcn.yaml b/sample-env-generator/dcn.yaml index cbd930cb7e..18b86c1cb1 100644 --- a/sample-env-generator/dcn.yaml +++ b/sample-env-generator/dcn.yaml @@ -15,8 +15,12 @@ environments: network/external.yaml: parameters: - ManageNetworks + deployment/nova/nova-base-puppet.yaml: + parameters: + - NovaCrossAZAttach sample_values: &sample_values ManageNetworks: false + NovaCrossAZAttach: false resource_registry: &dcn_resource_registry OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml