diff options
Diffstat (limited to 'overcloud-source.yaml')
-rw-r--r-- | overcloud-source.yaml | 126 |
1 files changed, 97 insertions, 29 deletions
diff --git a/overcloud-source.yaml b/overcloud-source.yaml index 63ebb207..947becfb 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -25,6 +25,10 @@ parameters: default: 5000 description: The size of the loopback file used by the cinder LVM driver. type: number + Debug: + default: '' + description: Set to True to enable debugging on all services. + type: string ExtraConfig: default: {} description: | @@ -47,8 +51,8 @@ parameters: {"config": [{"section": "default", "values": - [{"option": "compute_manager", - "value": "ironic.nova.compute.manager.ClusterComputeManager" + [{"option": "force_config_drive", + "value": "always" } ] }, @@ -63,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. @@ -106,7 +122,7 @@ parameters: description: Name of an existing EC2 KeyPair to enable SSH access to the instances type: string NeutronBridgeMappings: - description: | + 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 @@ -117,7 +133,7 @@ parameters: default: "datacentre:br-ex" NeutronNetworkVLANRanges: default: 'datacentre' - description: | + 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). @@ -173,12 +189,12 @@ parameters: NeutronFlatNetworks: type: string default: 'datacentre' - description: | + description: > If set, flat networks to configure in neutron plugins. Defaults to 'datacentre' to permit external network creation. HypervisorNeutronPhysicalBridge: default: 'br-ex' - description: | + 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. @@ -199,6 +215,16 @@ parameters: default: '' description: A custom IP address to put onto the NeutronPublicInterface. type: string + NeutronPublicInterfaceTag: + default: '' + description: > + VLAN tag for creating a public VLAN. The tag will be used to + create an access port on the exterior bridge for each control plane node, + and that port will be given the IP address returned by neutron from the + public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling + overcloud.yaml to include the deployment of VLAN ports to the control + plane. + type: string NeutronPublicInterfaceRawDevice: default: '' description: If set, the public interface is a vlan with this device as the raw device. @@ -209,7 +235,17 @@ parameters: description: Neutron ID for ctlplane network. NeutronDnsmasqOptions: default: 'dhcp-option-force=26,1400' - description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead. + description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead. + type: string + NeutronNetworkType: + default: 'gre' + description: The tenant network type for Neutron, either gre or vxlan. + type: string + NeutronTunnelTypes: + default: 'gre' + description: | + The tunnel types for the Neutron tenant network. To specify multiple + values, use a comma separated string, like so: 'gre,vxlan' type: string controllerImage: type: string @@ -273,7 +309,7 @@ parameters: type: json PublicVirtualFixedIPs: default: [] - description: | + description: > Control the IP allocation for the PublicVirtualInterface port. E.g. [{'ip_address':'1.2.3.4'}] type: json @@ -367,7 +403,10 @@ resources: - - mysql://neutron:unset@ - *compute_database_host - /ovs_neutron - NeutronNetworkType: "gre" + NeutronNetworkType: + get_param: NeutronNetworkType + NeutronTunnelTypes: + get_param: NeutronTunnelTypes NeutronEnableTunnelling: "True" NeutronFlatNetworks: get_param: NeutronFlatNetworks @@ -385,16 +424,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: @@ -415,11 +460,9 @@ resources: - 0 - Merge::Map: controller0: - - Fn::Select: + - get_attr: + - controller0 - name - - get_attr: - - controller0 - - show nodeid: {get_input: bootstack_nodeid} database: host: &database_host @@ -431,6 +474,7 @@ resources: - - mysql://cinder:unset@ - *database_host - /cinder + debug: {get_param: Debug} volume_size_mb: get_param: CinderLVMLoopDeviceSize service-password: @@ -461,6 +505,7 @@ resources: - - mysql://glance:unset@ - *database_host - /glance + debug: {get_param: Debug} host: get_input: controller_virtual_ip port: @@ -488,6 +533,7 @@ resources: - - mysql://heat:unset@ - *database_host - /heat + debug: {get_param: Debug} stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword} watch_server_url: {get_input: heat.watch_server_url} metadata_server_url: {get_input: heat.metadata_server_url} @@ -498,7 +544,7 @@ resources: nodes: Merge::Map: controller0: - {get_attr: [controller0, show, name]} + {get_attr: [controller0, name]} keystone: db: Fn::Join: @@ -506,6 +552,7 @@ resources: - - mysql://keystone:unset@ - *database_host - /keystone + debug: {get_param: Debug} host: get_input: controller_virtual_ip ca_certificate: {get_param: KeystoneCACertificate} @@ -525,6 +572,7 @@ resources: - - 'tripleo' - {get_resource: MysqlClusterUniquePart} neutron: + debug: {get_param: Debug} flat-networks: {get_param: NeutronFlatNetworks} host: {get_input: controller_virtual_ip} metadata_proxy_shared_secret: unset @@ -540,8 +588,13 @@ resources: get_param: NeutronPublicInterfaceRawDevice public_interface_route: get_param: NeutronPublicInterfaceDefaultRoute + public_interface_tag: + get_param: NeutronPublicInterfaceTag physical_bridge: br-ex - tenant_network_type: gre + tenant_network_type: + get_param: NeutronNetworkType + tunnel_types: + get_param: NeutronTunnelTypes ovs_db: Fn::Join: - '' @@ -559,6 +612,7 @@ resources: - - mysql://ceilometer:unset@ - *database_host - /ceilometer + debug: {get_param: Debug} metering_secret: {get_param: CeilometerMeteringSecret} service-password: get_param: CeilometerPassword @@ -638,7 +692,7 @@ resources: Merge::Map: controller0: ip: {get_attr: [controller0, networks, ctlplane, 0]} - name: {get_attr: [controller0, show, name]} + name: {get_attr: [controller0, name]} net_binds: - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} services: @@ -705,6 +759,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: @@ -720,7 +779,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} @@ -733,7 +792,7 @@ resources: config: {get_resource: controllerConfig} server: {get_resource: controller0} input_values: - bootstack_nodeid: {get_attr: [controller0, show, name]} + bootstack_nodeid: {get_attr: [controller0, name]} controller_host: {get_attr: [controller0, networks, ctlplane, 0]} controller_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} @@ -770,10 +829,10 @@ resources: Fn::Join: - ' ' - - {get_attr: [NovaCompute0, networks, ctlplane, 0]} - - {get_attr: [NovaCompute0, show, name]} + - {get_attr: [NovaCompute0, name]} - Fn::Join: - '.' - - - {get_attr: [NovaCompute0, show, name]} + - - {get_attr: [NovaCompute0, name]} - 'novalocal' - Fn::Join: - "\n" @@ -782,10 +841,10 @@ resources: Fn::Join: - ' ' - - {get_attr: [BlockStorage0, networks, ctlplane, 0]} - - {get_attr: [BlockStorage0, show, name]} + - {get_attr: [BlockStorage0, name]} - Fn::Join: - '.' - - - {get_attr: [BlockStorage0, show, name]} + - - {get_attr: [BlockStorage0, name]} - 'novalocal' - Fn::Join: - "\n" @@ -794,10 +853,10 @@ resources: Fn::Join: - ' ' - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]} - - {get_attr: [SwiftStorage0, show, name]} + - {get_attr: [SwiftStorage0, name]} - Fn::Join: - '.' - - - {get_attr: [SwiftStorage0, show, name]} + - - {get_attr: [SwiftStorage0, name]} - 'novalocal' - Fn::Join: - "\n" @@ -806,10 +865,10 @@ resources: Fn::Join: - ' ' - - {get_attr: [controller0, networks, ctlplane, 0]} - - {get_attr: [controller0, show, name]} + - {get_attr: [controller0, name]} - Fn::Join: - '.' - - - {get_attr: [controller0, show, name]} + - - {get_attr: [controller0, name]} - 'novalocal' - {get_param: CloudName} rabbit: @@ -818,7 +877,7 @@ resources: - ',' - Merge::Map: controller0: - {get_attr: [controller0, show, name]} + {get_attr: [controller0, name]} controller0SSLDeployment: type: OS::Heat::StructuredDeployment properties: @@ -838,6 +897,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 |