summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--block-storage-nfs.yaml11
-rw-r--r--block-storage.yaml11
-rw-r--r--ironic-source.yaml14
-rw-r--r--nova-compute-instance.yaml28
-rw-r--r--overcloud-source.yaml21
-rw-r--r--undercloud-source.yaml7
-rw-r--r--undercloud-vm-ironic-source.yaml17
8 files changed, 95 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index d27bcf57..511ecb8a 100644
--- a/Makefile
+++ b/Makefile
@@ -33,7 +33,7 @@ undercloud-vm-tuskar.yaml: undercloud-source.yaml undercloud-vm-source.yaml tusk
python ./tripleo_heat_merge/merge.py $^ > $@.tmp
mv $@.tmp $@
-undercloud-vm-ironic.yaml: undercloud-source.yaml undercloud-vm-ironic-source.yaml ironic-source.yaml
+undercloud-vm-ironic.yaml: undercloud-source.yaml undercloud-vm-ironic-source.yaml
python ./tripleo_heat_merge/merge.py $^ > $@.tmp
mv $@.tmp $@
diff --git a/block-storage-nfs.yaml b/block-storage-nfs.yaml
index d2d5af22..d00484b9 100644
--- a/block-storage-nfs.yaml
+++ b/block-storage-nfs.yaml
@@ -23,6 +23,15 @@ Resources:
Properties:
UserName:
Ref: BlockStorageUser
+ BlockStorage0CompletionCondition:
+ Type: AWS::CloudFormation::WaitCondition
+ DependsOn: notCompute0Config
+ Properties:
+ Handle: {Ref: BlockStorage0CompletionHandle}
+ Count: '1'
+ Timeout: '1800'
+ BlockStorage0CompletionHandle:
+ Type: AWS::CloudFormation::WaitConditionHandle
BlockStorage0:
Type: OS::Nova::Server
Properties:
@@ -31,6 +40,8 @@ Resources:
flavor: {Ref: OvercloudBlockStorageFlavor}
key_name: {Ref: KeyName}
Metadata:
+ completion-handle:
+ Ref: BlockStorage0CompletionHandle
os-collect-config:
cfn:
access_key_id:
diff --git a/block-storage.yaml b/block-storage.yaml
index 622c19ff..453a0ac7 100644
--- a/block-storage.yaml
+++ b/block-storage.yaml
@@ -23,6 +23,15 @@ Resources:
Properties:
UserName:
Ref: BlockStorageUser
+ BlockStorage0CompletionCondition:
+ Type: AWS::CloudFormation::WaitCondition
+ DependsOn: notCompute0Config
+ Properties:
+ Handle: {Ref: BlockStorage0CompletionHandle}
+ Count: '1'
+ Timeout: '1800'
+ BlockStorage0CompletionHandle:
+ Type: AWS::CloudFormation::WaitConditionHandle
BlockStorage0:
Type: OS::Nova::Server
Properties:
@@ -31,6 +40,8 @@ Resources:
flavor: {Ref: OvercloudBlockStorageFlavor}
key_name: {Ref: KeyName}
Metadata:
+ completion-handle:
+ Ref: BlockStorage0CompletionHandle
os-collect-config:
cfn:
access_key_id:
diff --git a/ironic-source.yaml b/ironic-source.yaml
deleted file mode 100644
index 6782225e..00000000
--- a/ironic-source.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-Description: 'Ironic: Bare Metal provisioning, API and Conductor services.'
-Parameters:
- IronicPassword:
- Type: String
- Description: Ironic password for keystone access
- NoEcho: true
-Resources:
- ironic:
- Type: AWS::AutoScaling::LaunchConfiguration
- Metadata:
- OpenStack::Role: undercloudConfig
- ironic:
- db: mysql://ironic:unset@localhost/ironic
- service-password: {Ref: IronicPassword}
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index d2ca90f5..81217362 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -92,6 +92,27 @@ Parameters:
Default: ''
Description: Static content to append to /etc/hosts
Type: String
+ LiveUpdateUserName:
+ Type: String
+ Description: The live-update username for the undercloud Glance API.
+ Default: ''
+ LiveUpdateTenantName:
+ Type: String
+ Description: The live-update tenant name for the undercloud Glance API.
+ Default: ''
+ LiveUpdateHost:
+ Type: String
+ Description: The IP address for the undercloud Glance API.
+ Default: ''
+ LiveUpdatePassword:
+ Type: String
+ Default: ''
+ Description: The live-update password for the undercloud Glance API.
+ NoEcho: true
+ LiveUpdateComputeImage:
+ Type: String
+ Description: The image ID for live-updates to the overcloud compute nodes.
+ Default: ''
Resources:
ComputeAccessPolicy:
Type: OS::Heat::AccessPolicy
@@ -193,3 +214,10 @@ Resources:
host: {Ref: RabbitHost}
username: {Ref: RabbitUserName}
password: {Ref: RabbitPassword}
+ live-update:
+ host: {Ref: LiveUpdateHost}
+ username: {Ref: LiveUpdateUserName}
+ password: {Ref: LiveUpdatePassword}
+ tenant-name: {Ref: LiveUpdateTenantName}
+ base_image_id: {Ref: NovaImage}
+ live_update_image_id: {Ref: LiveUpdateComputeImage}
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index 90543bbe..bba161e1 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -145,6 +145,27 @@ Parameters:
Type: String
Default: ''
NoEcho: true
+ LiveUpdateUserName:
+ Type: String
+ Description: The live-update username for the undercloud Glance API.
+ Default: ''
+ LiveUpdateTenantName:
+ Type: String
+ Description: The live-update tenant name for the undercloud Glance API.
+ Default: ''
+ LiveUpdateHost:
+ Type: String
+ Description: The IP address for the undercloud Glance API.
+ Default: ''
+ LiveUpdatePassword:
+ Type: String
+ Default: ''
+ Description: The live-update password for the undercloud Glance API.
+ NoEcho: true
+ LiveUpdateComputeImage:
+ Type: String
+ Description: The image ID for live-updates to the overcloud compute nodes.
+ Default: ''
Resources:
RabbitCookie:
Type: OS::Heat::RandomString
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index f18612c8..3e053af5 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -41,6 +41,11 @@ Parameters:
Description: The password for the Heat service account, used by the Heat services.
Type: String
NoEcho: true
+ ImageUpdatePolicy:
+ Default: REPLACE
+ Description: What policy to use when reconstructing instances. REBUILD for rebuilds,
+ REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
+ Type: String
undercloudImage:
Default: undercloud
Type: String
@@ -232,6 +237,8 @@ Resources:
Ref: Flavor
key_name:
Ref: KeyName
+ image_update_policy:
+ Ref: ImageUpdatePolicy
Metadata:
os-collect-config:
cfn:
diff --git a/undercloud-vm-ironic-source.yaml b/undercloud-vm-ironic-source.yaml
index 5b41e1a3..2e9555ae 100644
--- a/undercloud-vm-ironic-source.yaml
+++ b/undercloud-vm-ironic-source.yaml
@@ -1,15 +1,30 @@
Parameters:
+ IronicPassword:
+ Type: String
+ Description: Ironic password for keystone access
+ NoEcho: true
NeutronPublicInterface:
Default: eth0
Description: What interface to bridge onto br-ex for network nodes.
Type: String
+ PowerSSHPrivateKey:
+ Description: Private key for using to ssh to a virtual power host.
+ Type: String
+ NoEcho: true
Resources:
undercloudConfig:
Type: AWS::AutoScaling::LaunchConfiguration
Metadata:
+ ironic:
+ db: mysql://ironic:unset@localhost/ironic
+ service-password:
+ Ref: IronicPassword
+ virtual_power_ssh_key:
+ Ref: PowerSSHPrivateKey
nova:
compute_hostname: undercloud
- compute_driver: ironic.driver.IronicDriver
+ compute_driver: ironic.nova.virt.ironic.driver.IronicDriver
+ compute_manager: ironic.nova.compute.manager.ClusteredComputeManager
db: mysql://nova:unset@localhost/nova
default_ephemeral_format: ext4
host: 127.0.0.1