summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--block-storage.yaml26
-rw-r--r--nova-compute-config.yaml1
-rw-r--r--nova-compute-instance.yaml18
-rw-r--r--overcloud-source.yaml52
-rw-r--r--setup.cfg1
-rw-r--r--undercloud-bm-nova-deploy.yaml2
-rw-r--r--undercloud-source.yaml18
-rw-r--r--undercloud-vm-ironic-deploy.yaml5
-rw-r--r--undercloud-vm-nova-deploy.yaml2
10 files changed, 92 insertions, 37 deletions
diff --git a/Makefile b/Makefile
index 295e85c5..ad8dc99b 100644
--- a/Makefile
+++ b/Makefile
@@ -15,13 +15,13 @@ $(VALIDATE):
heat template-validate -f $(subst validate-,,$@)
overcloud.yaml: overcloud-source.yaml block-storage.yaml swift-deploy.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml nova-compute-config.yaml $(overcloud_source_deps)
- python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE='0'} overcloud-source.yaml block-storage.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml swift-deploy.yaml nova-compute-config.yaml > $@.tmp
+ python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE:-'0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'0'} overcloud-source.yaml block-storage.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml swift-deploy.yaml nova-compute-config.yaml > $@.tmp
mv $@.tmp $@
overcloud-with-block-storage-nfs.yaml: overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml $(overcloud_source_deps)
# $^ won't work here because we want to list nova-compute-instance.yaml as
# a prerequisite but don't want to pass it into merge.py
- python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE='0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'1'} overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp
+ python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE:-'0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'1'} overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp
mv $@.tmp $@
undercloud-vm.yaml: undercloud-source.yaml undercloud-vm-nova-config.yaml undercloud-vm-nova-deploy.yaml
diff --git a/block-storage.yaml b/block-storage.yaml
index 22811d37..e75e773f 100644
--- a/block-storage.yaml
+++ b/block-storage.yaml
@@ -8,12 +8,6 @@ parameters:
default: baremetal
description: Flavor for block storage nodes to request when deploying.
type: string
- NeutronNetworkType:
- type: string
- default: 'gre'
- NeutronEnableTunnelling:
- type: string
- default: True
resources:
BlockStorage0:
type: OS::Nova::Server
@@ -24,14 +18,14 @@ resources:
key_name: {get_param: KeyName}
user_data_format: SOFTWARE_CONFIG
BlockStorage0Deployment:
+ depends_on: [controller0AllNodesDeployment]
type: OS::Heat::StructuredDeployment
properties:
server: {get_resource: BlockStorage0}
config: {get_resource: BlockStorageConfig}
input_values:
- controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
+ controller_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
- neutron_local_ip: {get_attr: [BlockStorage0 , networks, ctlplane, 0]}
signal_transport: NO_SIGNAL
BlockStorageConfig:
type: OS::Heat::StructuredConfig
@@ -40,7 +34,7 @@ resources:
config:
admin-password: {get_param: AdminPassword}
keystone:
- host: {get_input: controller_host}
+ host: {get_input: controller_virtual_ip}
cinder:
db: {get_input: cinder_dsn}
volume_size_mb:
@@ -50,15 +44,9 @@ resources:
iscsi-helper:
get_param: CinderISCSIHelper
rabbit:
- host: {get_input: controller_host}
+ host: {get_input: controller_virtual_ip}
username: {get_param: RabbitUserName}
password: {get_param: RabbitPassword}
- interfaces:
- control: {get_param: NeutronPublicInterface}
- neutron:
- ovs:
- local_ip: {get_input: neutron_local_ip}
- tenant_network_type: {get_param: NeutronNetworkType}
- enable_tunneling: {get_param: NeutronEnableTunnelling}
- service-password:
- get_param: NeutronPassword
+ glance:
+ host: {get_input: controller_virtual_ip}
+ port: {get_param: GlancePort}
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml
index cb428ea6..90387d79 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -9,6 +9,7 @@ resources:
compute_libvirt_type: { get_input: nova_compute_libvirt_type }
db: {get_input: nova_dsn}
host: {get_input: nova_api_host}
+ public_ip: {get_input: nova_public_ip}
service-password: {get_input: nova_password}
ceilometer:
db: {get_input: ceilometer_dsn}
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index c5f4337c..f8b5ebee 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -136,6 +136,8 @@ parameters:
type: string
NovaDSN:
type: string
+ NovaPublicIP:
+ type: string
NeutronDSN:
type: string
NeutronBridgeMappings:
@@ -170,6 +172,12 @@ parameters:
type: string
description: The image ID for live-updates to the overcloud compute nodes.
default: ''
+ DefaultSignalTransport:
+ default: CFN_SIGNAL
+ description: Transport to use for software-config signals.
+ type: string
+ constraints:
+ - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
resources:
NovaCompute0:
type: OS::Nova::Server
@@ -183,8 +191,8 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- NovaCompute0Deploy:
- depends_on: [controller0AllNodes]
+ NovaCompute0Deployment:
+ depends_on: [controller0AllNodesDeployment]
type: OS::Heat::StructuredDeployment
properties:
signal_transport: NO_SIGNAL
@@ -194,6 +202,7 @@ resources:
nova_compute_driver: {get_param: NovaComputeDriver}
nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
nova_dsn: {get_param: NovaDSN}
+ nova_public_ip: {get_param: NovaPublicIP}
nova_api_host: {get_param: NovaApiHost}
nova_password: {get_param: NovaPassword}
ceilometer_dsn: {get_param: CeilometerDSN}
@@ -228,14 +237,15 @@ resources:
nova_image: {get_param: NovaImage}
live_update_image_id: {get_param: LiveUpdateComputeImage}
ntp_server: {get_param: NtpServer}
- NovaCompute0AllNodesDeploy:
+ NovaCompute0AllNodesDeployment:
depends_on: [NovaCompute0Passthrough]
type: OS::Heat::StructuredDeployment
properties:
+ signal_transport: {get_param: DefaultSignalTransport}
config: {get_param: AllNodesConfig}
server: {get_resource: NovaCompute0}
NovaCompute0Passthrough:
- depends_on: [NovaCompute0Deploy]
+ depends_on: [NovaCompute0Deployment]
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: NovaComputePassthrough}
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index e9b7c7a1..63ebb207 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -301,6 +301,12 @@ parameters:
description: Keystone key for signing tokens.
type: string
hidden: true
+ DefaultSignalTransport:
+ default: CFN_SIGNAL
+ description: Transport to use for software-config signals.
+ type: string
+ constraints:
+ - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
resources:
ControlVirtualIP:
type: OS::Neutron::Port
@@ -313,6 +319,10 @@ resources:
type: OS::Heat::RandomString
properties:
length: 10
+ MysqlRootPassword:
+ type: OS::Heat::RandomString
+ properties:
+ length: 10
PublicVirtualIP:
type: OS::Neutron::Port
properties:
@@ -326,11 +336,13 @@ resources:
length: 20
salt:
get_param: RabbitCookieSalt
- NovaCompute0Deploy:
+ NovaCompute0Deployment:
type: FileInclude
Path: nova-compute-instance.yaml
- SubKey: resources.NovaCompute0Deploy
+ SubKey: resources.NovaCompute0Deployment
parameters:
+ DefaultSignalTransport:
+ get_param: DefaultSignalTransport
NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
@@ -342,6 +354,7 @@ resources:
- - mysql://nova:unset@
- &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- /nova
+ NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
CeilometerDSN:
Fn::Join:
- ''
@@ -366,10 +379,10 @@ resources:
get_param: HypervisorNeutronPublicInterface
NeutronBridgeMappings:
get_param: NeutronBridgeMappings
- NovaCompute0AllNodes:
+ NovaCompute0AllNodesDeployment:
type: FileInclude
Path: nova-compute-instance.yaml
- SubKey: resources.NovaCompute0AllNodesDeploy
+ SubKey: resources.NovaCompute0AllNodesDeployment
parameters:
AllNodesConfig: {get_resource: allNodesConfig}
NovaCompute0Passthrough:
@@ -501,6 +514,7 @@ resources:
mysql:
innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
local_bind: true
+ root-password: {get_resource: MysqlRootPassword}
nodes:
Merge::Map:
controller0:
@@ -664,6 +678,9 @@ resources:
port: 3306
extra_server_params:
- backup
+ options:
+ - timeout client 0
+ - timeout server 0
- name: nova_ec2
port: 8773
- name: nova_osapi
@@ -702,10 +719,11 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- controller0AllNodes:
+ controller0AllNodesDeployment:
depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
type: OS::Heat::StructuredDeployment
properties:
+ signal_transport: {get_param: DefaultSignalTransport}
config: {get_resource: allNodesConfig}
server: {get_resource: controller0}
controller0Deployment:
@@ -760,6 +778,30 @@ resources:
- Fn::Join:
- "\n"
- Merge::Map:
+ BlockStorage0:
+ Fn::Join:
+ - ' '
+ - - {get_attr: [BlockStorage0, networks, ctlplane, 0]}
+ - {get_attr: [BlockStorage0, show, name]}
+ - Fn::Join:
+ - '.'
+ - - {get_attr: [BlockStorage0, show, name]}
+ - 'novalocal'
+ - Fn::Join:
+ - "\n"
+ - Merge::Map:
+ SwiftStorage0:
+ Fn::Join:
+ - ' '
+ - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+ - {get_attr: [SwiftStorage0, show, name]}
+ - Fn::Join:
+ - '.'
+ - - {get_attr: [SwiftStorage0, show, name]}
+ - 'novalocal'
+ - Fn::Join:
+ - "\n"
+ - Merge::Map:
controller0:
Fn::Join:
- ' '
diff --git a/setup.cfg b/setup.cfg
index 28adf7c2..f765a7dd 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,5 @@
[metadata]
name = tripleo-heat-templates
-version = 0.0.1
summary = Heat templates for deploying OpenStack with OpenStack.
description-file =
README.md
diff --git a/undercloud-bm-nova-deploy.yaml b/undercloud-bm-nova-deploy.yaml
index 3df85970..d328449c 100644
--- a/undercloud-bm-nova-deploy.yaml
+++ b/undercloud-bm-nova-deploy.yaml
@@ -12,7 +12,7 @@ parameters:
description: Timeout for PXE deployment of baremetal nodes
type: number
resources:
- 01_undercloudNovaDeployment:
+ undercloudNovaDeployment:
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudNovaConfig}
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index 741d3ae2..a4adea08 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -181,6 +181,12 @@ parameters:
description: Keystone key for signing tokens.
type: string
hidden: true
+ DefaultSignalTransport:
+ default: CFN_SIGNAL
+ description: Transport to use for software-config signals.
+ type: string
+ constraints:
+ - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
resources:
RabbitCookie:
type: OS::Heat::RandomString
@@ -188,6 +194,10 @@ resources:
length: 20
salt:
get_param: RabbitCookieSalt
+ MysqlRootPassword:
+ type: OS::Heat::RandomString
+ properties:
+ length: 10
undercloudConfig:
type: OS::Heat::StructuredConfig
properties:
@@ -270,6 +280,7 @@ resources:
signing_certificate: {get_param: KeystoneSigningCertificate}
mysql:
innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
+ root-password: {get_resource: MysqlRootPassword}
neutron:
host: 127.0.0.1
ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
@@ -319,11 +330,13 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- 99_undercloudDeployment:
+ undercloudDeployment:
+ depends_on: [undercloudPassthroughDeployment]
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudConfig}
server: {get_resource: undercloud}
+ signal_transport: {get_param: DefaultSignalTransport}
input_values:
bootstack_nodeid:
get_attr:
@@ -354,7 +367,8 @@ resources:
- - 'http://'
- {get_attr: [undercloud, networks, ctlplane, 0]}
- ':8000/v1/waitcondition'
- 00_undercloudPassthroughDeployment:
+ undercloudPassthroughDeployment:
+ depends_on: [undercloudNovaDeployment]
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudPassthroughConfig}
diff --git a/undercloud-vm-ironic-deploy.yaml b/undercloud-vm-ironic-deploy.yaml
index 8fff9d54..6e778e59 100644
--- a/undercloud-vm-ironic-deploy.yaml
+++ b/undercloud-vm-ironic-deploy.yaml
@@ -12,7 +12,8 @@ parameters:
type: string
hidden: true
resources:
- 01_undercloudNovaDeployment:
+ undercloudNovaDeployment:
+ depends_on: [undercloudIronicDeployment]
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudNovaConfig}
@@ -20,7 +21,7 @@ resources:
signal_transport: NO_SIGNAL
input_values:
nova_service_password: {get_param: NovaPassword}
- 02_undercloudIronicDeployment:
+ undercloudIronicDeployment:
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudIronicConfig}
diff --git a/undercloud-vm-nova-deploy.yaml b/undercloud-vm-nova-deploy.yaml
index 14809384..ebd14ef6 100644
--- a/undercloud-vm-nova-deploy.yaml
+++ b/undercloud-vm-nova-deploy.yaml
@@ -24,7 +24,7 @@ parameters:
description: What username to ssh to the virtual power host with.
type: string
resources:
- 01_undercloudNovaDeployment:
+ undercloudNovaDeployment:
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: undercloudNovaConfig}