diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | block-storage.yaml | 26 | ||||
-rw-r--r-- | nova-compute-config.yaml | 1 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 18 | ||||
-rw-r--r-- | overcloud-source.yaml | 52 | ||||
-rw-r--r-- | setup.cfg | 1 | ||||
-rw-r--r-- | undercloud-bm-nova-deploy.yaml | 2 | ||||
-rw-r--r-- | undercloud-source.yaml | 18 | ||||
-rw-r--r-- | undercloud-vm-ironic-deploy.yaml | 5 | ||||
-rw-r--r-- | undercloud-vm-nova-deploy.yaml | 2 |
10 files changed, 92 insertions, 37 deletions
@@ -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: - ' ' @@ -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} |