diff options
-rw-r--r-- | block-storage.yaml | 4 | ||||
-rw-r--r-- | nova-compute-config.yaml | 1 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 18 | ||||
-rw-r--r-- | overcloud-source.yaml | 64 | ||||
-rw-r--r-- | setup.cfg | 1 | ||||
-rw-r--r-- | swift-deploy.yaml | 5 | ||||
-rw-r--r-- | swift-source.yaml | 2 | ||||
-rw-r--r-- | swift-storage-source.yaml | 5 | ||||
-rw-r--r-- | undercloud-source.yaml | 12 |
9 files changed, 93 insertions, 19 deletions
diff --git a/block-storage.yaml b/block-storage.yaml index 7e2be4ae..e75e773f 100644 --- a/block-storage.yaml +++ b/block-storage.yaml @@ -18,6 +18,7 @@ resources: key_name: {get_param: KeyName} user_data_format: SOFTWARE_CONFIG BlockStorage0Deployment: + depends_on: [controller0AllNodesDeployment] type: OS::Heat::StructuredDeployment properties: server: {get_resource: BlockStorage0} @@ -46,3 +47,6 @@ resources: host: {get_input: controller_virtual_ip} username: {get_param: RabbitUserName} password: {get_param: RabbitPassword} + 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 071335ae..75b87f29 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -106,9 +106,22 @@ parameters: description: Name of an existing EC2 KeyPair to enable SSH access to the instances type: string NeutronBridgeMappings: - description: The OVS logical->physical bridge mappings to use. + description: | + The OVS logical->physical bridge mappings to use. See the Neutron + documentation for details. Defaults to mapping br-ex - the external + bridge on hosts - to a physical name 'datacentre' which can be used + to create provider networks (and we use this for the default floating + network) - if changing this either use different post-install network + scripts or be sure to keep 'datacentre' as a mapping network name. + type: string + default: "datacentre:br-ex" + NeutronNetworkVLANRanges: + default: 'datacentre' + description: | + The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the + Neutron documentation for permitted values. Defaults to permitting any + VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). type: string - default: '' NeutronPassword: default: unset description: The password for the neutron service account, used by neutron agents. @@ -159,14 +172,19 @@ parameters: hidden: true NeutronFlatNetworks: type: string - default: '' - description: If set, flat networks to configure in neutron plugins. + default: 'datacentre' + description: | + If set, flat networks to configure in neutron plugins. Defaults to + 'datacentre' to permit external network creation. HypervisorNeutronPhysicalBridge: - default: '' - description: An OVS bridge to create on each hypervisor. + default: 'br-ex' + description: | + An OVS bridge to create on each hypervisor. This defaults to br-ex the + same as the control plane nodes, as we have a uniform configuration of + the openvswitch agent. Typically should not need to be changed. type: string HypervisorNeutronPublicInterface: - default: '' + default: 'eth0' description: What interface to add to the HypervisorNeutronPhysicalBridge. type: string NeutronPublicInterface: @@ -293,6 +311,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 @@ -305,6 +329,10 @@ resources: type: OS::Heat::RandomString properties: length: 10 + MysqlRootPassword: + type: OS::Heat::RandomString + properties: + length: 10 PublicVirtualIP: type: OS::Neutron::Port properties: @@ -318,11 +346,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]} @@ -334,6 +364,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: - '' @@ -350,17 +381,18 @@ resources: NeutronEnableTunnelling: "True" NeutronFlatNetworks: get_param: NeutronFlatNetworks - NeutronNetworkVLANRanges: "" + NeutronNetworkVLANRanges: + get_param: NeutronNetworkVLANRanges NeutronPhysicalBridge: get_param: HypervisorNeutronPhysicalBridge NeutronPublicInterface: 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: @@ -492,6 +524,7 @@ resources: mysql: innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize} local_bind: true + root-password: {get_resource: MysqlRootPassword} nodes: Merge::Map: controller0: @@ -509,6 +542,7 @@ resources: enable_tunneling: 'True' local_ip: get_input: controller_host + network_vlan_ranges: {get_param: NeutronNetworkVLANRanges} bridge_mappings: {get_param: NeutronBridgeMappings} public_interface: get_param: NeutronPublicInterface @@ -656,6 +690,9 @@ resources: port: 3306 extra_server_params: - backup + options: + - timeout client 0 + - timeout server 0 - name: nova_ec2 port: 8773 - name: nova_osapi @@ -694,10 +731,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: @@ -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/swift-deploy.yaml b/swift-deploy.yaml index 239a4d48..e3f475c0 100644 --- a/swift-deploy.yaml +++ b/swift-deploy.yaml @@ -10,6 +10,10 @@ parameters: description: The password for the swift service account, used by the swift proxy services. type: string hidden: true + SwiftReplicas: + type: number + default: 1 + description: How many replicas to use in the swift rings. resources: controller0Swift: type: OS::Heat::StructuredDeployment @@ -47,3 +51,4 @@ resources: - '' - - {get_attr: [controller0, networks, ctlplane, 0]} - ':11211' + swift_replicas: { get_param: SwiftReplicas} diff --git a/swift-source.yaml b/swift-source.yaml index 9c7b04f5..1a5a04f4 100644 --- a/swift-source.yaml +++ b/swift-source.yaml @@ -9,7 +9,7 @@ resources: hash: { get_input: swift_hash_suffix } part-power: 10 proxy-memcache: { get_input: swift_proxy_memcache } - replicas: 1 + replicas: {get_input: swift_replicas } service-password: { get_input: swift_password } neutron: ovs: diff --git a/swift-storage-source.yaml b/swift-storage-source.yaml index 3dbdda95..40e0573b 100644 --- a/swift-storage-source.yaml +++ b/swift-storage-source.yaml @@ -4,6 +4,10 @@ parameters: SwiftStorageImage: type: string default: overcloud-swift-storage + SwiftReplicas: + type: number + default: 1 + description: How many replicas to use in the swift rings. OvercloudSwiftStorageFlavor: default: baremetal description: Flavor for Swift storage nodes to request when deploying. @@ -75,3 +79,4 @@ resources: - '' - - {get_attr: [controller0, networks, ctlplane, 0]} - ':11211' + swift_replicas: { get_param: SwiftReplicas} diff --git a/undercloud-source.yaml b/undercloud-source.yaml index 40dbd890..8c0ec83e 100644 --- a/undercloud-source.yaml +++ b/undercloud-source.yaml @@ -192,6 +192,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 @@ -199,6 +205,10 @@ resources: length: 20 salt: get_param: RabbitCookieSalt + MysqlRootPassword: + type: OS::Heat::RandomString + properties: + length: 10 undercloudConfig: type: OS::Heat::StructuredConfig properties: @@ -281,6 +291,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 @@ -338,6 +349,7 @@ resources: properties: config: {get_resource: undercloudConfig} server: {get_resource: undercloud} + signal_transport: {get_param: DefaultSignalTransport} input_values: bootstack_nodeid: get_attr: |