From b756944d454299ad908bddd0fe2ba679c166ec6e Mon Sep 17 00:00:00 2001 From: Oliver Walsh Date: Wed, 21 Oct 2020 17:00:52 +0100 Subject: [PATCH] Add NovaDisableImageDownloadToRbd parameter This exposes the nova workaround to disable downloading images from glance to rbd (vs a cheap COW clone) when nova-compute and glance are not backed by the same ceph cluster. Related nova change: I069b6b1d28eaf1eee5c7fb8d0fdef9c0c229a1bf Depends-On: I8329810d6c047c0d94e7b123e7cdc1263a7856cd Change-Id: Ib5478e53eb1f216bf6924ff30ea8502cb8529d00 --- deployment/nova/nova-compute-container-puppet.yaml | 10 ++++++++++ environments/dcn-hci.yaml | 4 ++++ environments/dcn.yaml | 4 ++++ sample-env-generator/dcn.yaml | 4 ++++ 4 files changed, 22 insertions(+) diff --git a/deployment/nova/nova-compute-container-puppet.yaml b/deployment/nova/nova-compute-container-puppet.yaml index 6eec8d3cff..2c610ce518 100644 --- a/deployment/nova/nova-compute-container-puppet.yaml +++ b/deployment/nova/nova-compute-container-puppet.yaml @@ -492,6 +492,14 @@ parameters: default: '' tags: - role_specific + NovaDisableImageDownloadToRbd: + type: boolean + description: > + Refuse to boot an instance if it would require downloading from glance and + uploading to ceph instead of a COW clone. + default: false + tags: + - role_specific # DEPRECATED: the following options are deprecated and are currently maintained # for backwards compatibility. They will be removed in future release. @@ -600,6 +608,7 @@ resources: nova::compute::libvirt::cpu_model_extra_flags: NovaLibvirtCPUModelExtraFlags nova_compute_opt_volumes: NovaComputeOptVolumes nova_compute_opt_env_vars: NovaComputeOptEnvVars + nova::workarounds::never_download_image_if_on_rbd: NovaDisableImageDownloadToRbd - values: {get_param: [RoleParameters]} - values: NovaVcpuPinSet: {get_param: NovaVcpuPinSet} @@ -683,6 +692,7 @@ resources: NovaLibvirtCPUModelExtraFlags: {get_param: NovaLibvirtCPUModelExtraFlags} NovaComputeOptVolumes: {get_param: NovaComputeOptVolumes} NovaComputeOptEnvVars: {get_param: NovaComputeOptEnvVars} + NovaDisableImageDownloadToRbd: {get_param: NovaDisableImageDownloadToRbd} conditions: diff --git a/environments/dcn-hci.yaml b/environments/dcn-hci.yaml index 04c48f997f..ba5c04a9e0 100644 --- a/environments/dcn-hci.yaml +++ b/environments/dcn-hci.yaml @@ -38,6 +38,10 @@ parameter_defaults: # Type: boolean NovaCrossAZAttach: False + # Refuse to boot an instance if it would require downloading from glance and uploading to ceph instead of a COW clone. + # Type: boolean + NovaDisableImageDownloadToRbd: True + 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 dcce6a85f2..d3cc9712ea 100644 --- a/environments/dcn.yaml +++ b/environments/dcn.yaml @@ -21,6 +21,10 @@ parameter_defaults: # Type: boolean NovaCrossAZAttach: False + # Refuse to boot an instance if it would require downloading from glance and uploading to ceph instead of a COW clone. + # Type: boolean + NovaDisableImageDownloadToRbd: True + 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 ebdf6ddb4d..cf54ab3aca 100644 --- a/sample-env-generator/dcn.yaml +++ b/sample-env-generator/dcn.yaml @@ -14,9 +14,13 @@ environments: deployment/nova/nova-base-puppet.yaml: parameters: - NovaCrossAZAttach + deployment/nova/nova-compute-container-puppet.yaml: + parameters: + - NovaDisableImageDownloadToRbd sample_values: &sample_values ManageNetworks: false NovaCrossAZAttach: false + NovaDisableImageDownloadToRbd: true resource_registry: &dcn_resource_registry OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml