aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova-compute-config.yaml5
-rw-r--r--nova-compute-instance.yaml20
-rw-r--r--overcloud-source.yaml42
-rw-r--r--undercloud-bm-nova-config.yaml4
-rw-r--r--undercloud-bm-nova-deploy.yaml12
-rw-r--r--undercloud-vm-ironic-config.yaml5
-rw-r--r--undercloud-vm-ironic-deploy.yaml12
-rw-r--r--undercloud-vm-nova-config.yaml4
-rw-r--r--undercloud-vm-nova-deploy.yaml12
9 files changed, 105 insertions, 11 deletions
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml
index 48cfcf81..5dc8f204 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -65,3 +65,8 @@ resources:
properties:
group: os-apply-config
config: {get_input: passthrough_config}
+ NovaComputePassthroughSpecific:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config_specific}
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index f8b5ebee..d368f14b 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -7,6 +7,7 @@ parameters:
type: string
hidden: true
ExtraConfig:
+ default: {}
description: |
Additional configuration to inject into the cluster. The JSON should have
the following structure:
@@ -27,8 +28,8 @@ parameters:
{"config":
[{"section": "default",
"values":
- [{"option": "compute_manager",
- "value": "ironic.nova.compute.manager.ClusterComputeManager"
+ [{"option": "force_config_drive",
+ "value": "always"
}
]
},
@@ -43,6 +44,12 @@ parameters:
}
}
type: json
+ NovaComputeExtraConfig:
+ default: {}
+ description: |
+ NovaCompute specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
KeyName:
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
type: string
@@ -253,3 +260,12 @@ resources:
signal_transport: NO_SIGNAL
input_values:
passthrough_config: {get_param: ExtraConfig}
+ NovaCompute0PassthroughSpecific:
+ depends_on: [NovaCompute0Passthrough]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: NovaComputePassthroughSpecific}
+ server: {get_resource: NovaCompute0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config_specific: {get_param: NovaComputeExtraConfig}
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index 0ed117b2..3dbd5712 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -51,8 +51,8 @@ parameters:
{"config":
[{"section": "default",
"values":
- [{"option": "compute_manager",
- "value": "ironic.nova.compute.manager.ClusterComputeManager"
+ [{"option": "force_config_drive",
+ "value": "always"
}
]
},
@@ -67,6 +67,18 @@ parameters:
}
}
type: json
+ controllerExtraConfig:
+ default: {}
+ description: |
+ Controller specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
+ NovaComputeExtraConfig:
+ default: {}
+ description: |
+ NovaCompute specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
OvercloudControlFlavor:
default: baremetal
description: Flavor for control nodes to request when deploying.
@@ -399,16 +411,22 @@ resources:
SubKey: resources.NovaCompute0AllNodesDeployment
parameters:
AllNodesConfig: {get_resource: allNodesConfig}
+ NovaCompute0:
+ type: FileInclude
+ Path: nova-compute-instance.yaml
+ SubKey: resources.NovaCompute0
NovaCompute0Passthrough:
type: FileInclude
Path: nova-compute-instance.yaml
SubKey: resources.NovaCompute0Passthrough
parameters:
passthrough_config: {get_param: ExtraConfig}
- NovaCompute0:
+ NovaCompute0PassthroughSpecific:
type: FileInclude
Path: nova-compute-instance.yaml
- SubKey: resources.NovaCompute0
+ SubKey: resources.NovaCompute0PassthroughSpecific
+ parameters:
+ passthrough_config_specific: {get_param: NovaComputeExtraConfig}
controllerConfig:
type: OS::Heat::StructuredConfig
properties:
@@ -727,6 +745,11 @@ resources:
properties:
group: os-apply-config
config: {get_input: passthrough_config}
+ controllerPassthroughSpecific:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config_specific}
controller0:
type: OS::Nova::Server
properties:
@@ -742,7 +765,7 @@ resources:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
controller0AllNodesDeployment:
- depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
+ depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0PassthroughSpecific]
type: OS::Heat::StructuredDeployment
properties:
signal_transport: {get_param: DefaultSignalTransport}
@@ -860,6 +883,15 @@ resources:
signal_transport: NO_SIGNAL
input_values:
passthrough_config: {get_param: ExtraConfig}
+ controller0PassthroughSpecific:
+ depends_on: [controller0Passthrough]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: controllerPassthroughSpecific}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config_specific: {get_param: controllerExtraConfig}
outputs:
KeystoneURL:
description: URL for the Overcloud Keystone service
diff --git a/undercloud-bm-nova-config.yaml b/undercloud-bm-nova-config.yaml
index ba39710b..e70c9099 100644
--- a/undercloud-bm-nova-config.yaml
+++ b/undercloud-bm-nova-config.yaml
@@ -5,7 +5,9 @@ resources:
config:
nova:
compute_hostname: undercloud
- compute_driver: baremetal.driver.BareMetalDriver
+ compute_driver: {get_param: NovaComputeDriver}
+ compute_manager: {get_param: NovaComputeManager}
+ scheduler_host_manager: {get_param: NovaSchedulerHostManager}
db: mysql://nova:unset@localhost/nova
default_ephemeral_format: ext4
host: 127.0.0.1
diff --git a/undercloud-bm-nova-deploy.yaml b/undercloud-bm-nova-deploy.yaml
index d328449c..d46fc076 100644
--- a/undercloud-bm-nova-deploy.yaml
+++ b/undercloud-bm-nova-deploy.yaml
@@ -3,6 +3,18 @@ parameters:
default: eth2
description: What interface to bridge onto br-ex for network nodes.
type: string
+ NovaComputeDriver:
+ default: baremetal.driver.BareMetalDriver
+ description: Full class name for the Nova compute driver
+ type: string
+ NovaComputeManager:
+ default: nova.compute.manager.ComputeManager
+ description: Full class name for the Nova compute manager
+ type: string
+ NovaSchedulerHostManager:
+ default: nova.scheduler.host_manager.HostManager
+ description: Full class name for the Nova scheduler host manager
+ type: string
PowerManager:
default: nova.virt.baremetal.ipmi.IPMI
description: Bare metal power manager driver.
diff --git a/undercloud-vm-ironic-config.yaml b/undercloud-vm-ironic-config.yaml
index af049d87..f5aa4981 100644
--- a/undercloud-vm-ironic-config.yaml
+++ b/undercloud-vm-ironic-config.yaml
@@ -5,8 +5,9 @@ resources:
config:
nova:
compute_hostname: undercloud
- compute_driver: ironic.nova.virt.ironic.driver.IronicDriver
- compute_manager: ironic.nova.compute.manager.ClusteredComputeManager
+ compute_driver: {get_param: NovaComputeDriver}
+ compute_manager: {get_param: NovaComputeManager}
+ scheduler_host_manager: {get_param: NovaSchedulerHostManager}
db: mysql://nova:unset@localhost/nova
debug: {get_param: Debug}
default_ephemeral_format: ext4
diff --git a/undercloud-vm-ironic-deploy.yaml b/undercloud-vm-ironic-deploy.yaml
index 6e778e59..f1d3af78 100644
--- a/undercloud-vm-ironic-deploy.yaml
+++ b/undercloud-vm-ironic-deploy.yaml
@@ -7,6 +7,18 @@ parameters:
default: eth0
description: What interface to bridge onto br-ex for network nodes.
type: string
+ NovaComputeDriver:
+ default: ironic.nova.virt.ironic.driver.IronicDriver
+ description: Full class name for the Nova compute driver
+ type: string
+ NovaComputeManager:
+ default: ironic.nova.compute.manager.ClusteredComputeManager
+ description: Full class name for the Nova compute manager
+ type: string
+ NovaSchedulerHostManager:
+ default: ironic.nova.scheduler.ironic_host_manager.IronicHostManager
+ description: Full class name for the Nova scheduler host manager
+ type: string
PowerSSHPrivateKey:
description: Private key for using to ssh to a virtual power host.
type: string
diff --git a/undercloud-vm-nova-config.yaml b/undercloud-vm-nova-config.yaml
index 77d23c1e..9dbb8c22 100644
--- a/undercloud-vm-nova-config.yaml
+++ b/undercloud-vm-nova-config.yaml
@@ -5,7 +5,9 @@ resources:
config:
nova:
compute_hostname: undercloud
- compute_driver: baremetal.driver.BareMetalDriver
+ compute_driver: {get_param: NovaComputeDriver}
+ compute_manager: {get_param: NovaComputeManager}
+ scheduler_host_manager: {get_param: NovaSchedulerHostManager}
db: mysql://nova:unset@localhost/nova
default_ephemeral_format: ext4
host: 127.0.0.1
diff --git a/undercloud-vm-nova-deploy.yaml b/undercloud-vm-nova-deploy.yaml
index ebd14ef6..7b13643c 100644
--- a/undercloud-vm-nova-deploy.yaml
+++ b/undercloud-vm-nova-deploy.yaml
@@ -3,6 +3,18 @@ parameters:
default: eth0
description: What interface to bridge onto br-ex for network nodes.
type: string
+ NovaComputeDriver:
+ default: baremetal.driver.BareMetalDriver
+ description: Full class name for the Nova compute driver
+ type: string
+ NovaComputeManager:
+ default: nova.compute.manager.ComputeManager
+ description: Full class name for the Nova compute manager
+ type: string
+ NovaSchedulerHostManager:
+ default: nova.scheduler.host_manager.HostManager
+ description: Full class name for the Nova scheduler host manager
+ type: string
PowerManager:
default: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
description: Bare metal power manager driver.