X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=overcloud-source.yaml;h=78ce4aa084e1530fb184b85f24c8ab050cb37317;hb=70807d77ee33db3958534999d4e8651c6272a348;hp=ff209483b13e50327622796aca05314d858caf54;hpb=3ad09e4e41ee40a4aa4436542f85953f0ab6b2c4;p=apex-tripleo-heat-templates.git diff --git a/overcloud-source.yaml b/overcloud-source.yaml index ff209483..78ce4aa0 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -6,14 +6,17 @@ Parameters: Default: unset Description: The password for the keystone admin account, used for monitoring, querying neutron etc. Type: String + NoEcho: true AdminToken: Default: unset Description: The keystone auth secret. Type: String + NoEcho: true CinderPassword: Default: unset Description: The password for the cinder service account, used by cinder-api. Type: String + NoEcho: true Flavor: Default: baremetal Description: Flavor to request when deploying. @@ -22,14 +25,44 @@ Parameters: Default: unset Description: The password for the glance service account, used by the glance services. Type: String + NoEcho: true + HeatPassword: + Default: unset + 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 KeyName: Default: default 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. + Type: String + Default: '' NeutronPassword: Default: unset Description: The password for the neutron service account, used by neutron agents. Type: String + NoEcho: true + CeilometerComputeAgent: + Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly + Type: String + Default: '' + AllowedValues: ['', Present] + CeilometerMeteringSecret: + Default: unset + Description: Secret shared by the ceilometer services. + Type: String + NoEcho: true + CeilometerPassword: + Default: unset + Description: The password for the ceilometer service account. + Type: String + NoEcho: true NovaComputeDriver: Default: libvirt.LibvirtDriver Type: String @@ -39,26 +72,43 @@ Parameters: NovaImage: Type: String Default: overcloud-compute - NovaInterfaces: - Default: eth0 - Type: String NovaPassword: Default: unset Description: The password for the nova service account, used by nova-api. Type: String + NoEcho: true PowerUserName: Default: stack Description: What username to ssh to the virtual power host with. Type: String + NeutronPublicInterface: + Default: eth0 + Description: What interface to bridge onto br-ex for network nodes. + Type: String + NeutronPublicInterfaceDefaultRoute: + Default: '' + Description: A custom default route for the NeutronPublicInterface. + Type: String + NeutronPublicInterfaceIP: + Default: '' + Description: A custom IP address to put onto the NeutronPublicInterface. + Type: String + NeutronPublicInterfaceRawDevice: + Default: '' + Description: If set, the public interface is a vlan with this device as the raw device. + Type: String notcomputeImage: Type: String Default: overcloud-control + NtpServer: + Type: String + Default: '' Resources: AccessPolicy: Properties: AllowedResources: - - notcompute - - notcomputeConfig + - notCompute0 + - notCompute0Config Type: OS::Heat::AccessPolicy ComputeAccessPolicy: Properties: @@ -66,16 +116,32 @@ Resources: - NovaCompute0 - NovaCompute0Config Type: OS::Heat::AccessPolicy - Key: + notCompute0Key: Properties: UserName: Ref: User Type: AWS::IAM::AccessKey - ComputeKey: + notCompute0CompletionCondition: + Type: AWS::CloudFormation::WaitCondition + DependsOn: notCompute0 Properties: - UserName: - Ref: ComputeUser - Type: AWS::IAM::AccessKey + Handle: {Ref: notCompute0CompletionHandle} + Count: '1' + Timeout: '1800' + notCompute0CompletionHandle: + Type: OS::Heat::UpdateWaitConditionHandle + NovaCompute0Key: + Type: FileInclude + Path: nova-compute-instance.yaml + SubKey: Resources.NovaCompute0Key + NovaCompute0CompletionCondition: + Type: FileInclude + Path: nova-compute-instance.yaml + SubKey: Resources.NovaCompute0CompletionCondition + NovaCompute0CompletionHandle: + Type: FileInclude + Path: nova-compute-instance.yaml + SubKey: Resources.NovaCompute0CompletionHandle ComputeUser: Properties: Policies: @@ -86,17 +152,19 @@ Resources: Path: nova-compute-instance.yaml SubKey: Resources.NovaCompute0Config Parameters: - NovaApiHost: {"Fn::GetAtt": [notcompute, PrivateIp]} - KeystoneHost: {"Fn::GetAtt": [notcompute, PrivateIp]} - RabbitHost: {"Fn::GetAtt": [notcompute, PrivateIp]} - NeutronHost: {"Fn::GetAtt": [notcompute, PrivateIp]} - GlanceHost: {"Fn::GetAtt": [notcompute, PrivateIp]} - NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::GetAtt": [notcompute, PrivateIp]}, '/nova']]} - NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::GetAtt": [notcompute, PrivateIp]}, '/neutron']]} + NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] } + KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] } + RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] } + NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] } + GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] } + NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/nova']]} + CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/ceilometer']]} + NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/neutron']]} NeutronNetworkType: "gre" NeutronEnableTunnelling: "True" NeutronNetworkVLANRanges: "" - NeutronBridgeMappings: "" + NeutronBridgeMappings: + Ref: NeutronBridgeMappings RabbitPassword: "guest" NovaCompute0: Type: FileInclude @@ -107,14 +175,14 @@ Resources: Policies: - Ref: AccessPolicy Type: AWS::IAM::User - notcomputeConfig: + notCompute0Config: Type: AWS::AutoScaling::LaunchConfiguration Properties: ImageId: '0' InstanceType: '0' Metadata: OpenStack::Heat::Stack: {} - Openstack::ImageBuilder::Elements: + OpenStack::ImageBuilder::Elements: - boot-stack - heat-cfntools - heat-localip @@ -123,112 +191,178 @@ Resources: Ref: AdminPassword admin-token: Ref: AdminToken + bootstack: + public_interface_ip: + Ref: NeutronPublicInterfaceIP cinder: db: mysql://cinder:unset@localhost/cinder volume_size_mb: '5000' service-password: Ref: CinderPassword + completion-handle: + Ref: notCompute0CompletionHandle controller-address: - Fn::GetAtt: - - notcompute - - PrivateIp + Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - notCompute0 + - networks db-password: unset glance: + backend: swift db: mysql://glance:unset@localhost/glance host: - Fn::GetAtt: - - notcompute - - PrivateIp + Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - notCompute0 + - networks service-password: Ref: GlancePassword - os-collect-config: - cfn: - access_key_id: - Ref: Key - path: notcomputeConfig.Metadata - secret_access_key: - Fn::GetAtt: - - Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName + swift-store-user: service:glance + swift-store-key: + Ref: GlancePassword heat: - admin_password: unset + admin_password: + Ref: HeatPassword admin_tenant_name: service admin_user: heat auth_encryption_key: unset___________ db: mysql://heat:unset@localhost/heat - heat_watch_server_url: + watch_server_url: Fn::Join: - '' - - 'http://' - - Fn::GetAtt: - - notcompute - - PrivateIp + - Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - notCompute0 + - networks - ':8003' metadata_server_url: Fn::Join: - '' - - 'http://' - - Fn::GetAtt: - - notcompute - - PrivateIp + - Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - notCompute0 + - networks - ':8000' waitcondition_server_url: Fn::Join: - '' - - 'http://' - - Fn::GetAtt: - - notcompute - - PrivateIp + - Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - notCompute0 + - networks - ':8000/v1/waitcondition' - interfaces: - control: eth0 keystone: db: mysql://keystone:unset@localhost/keystone host: - Fn::GetAtt: - - notcompute - - PrivateIp - nova: - compute_driver: libvirt.LibvirtDriver - db: mysql://nova:unset@localhost/nova - host: - Fn::GetAtt: - - notcompute - - PrivateIp - metadata-proxy: true - service-password: - Ref: NovaPassword + Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - notCompute0 + - networks neutron: host: - Fn::GetAtt: - - notcompute - - PrivateIp + Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - Fn::GetAtt: + - notCompute0 + - networks metadata_proxy_shared_secret: unset ovs: enable_tunneling: 'True' local_ip: - Fn::GetAtt: - - notcompute - - PrivateIp - public_interface: eth0 + Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - Fn::GetAtt: + - notCompute0 + - networks + bridge_mappings: {Ref: NeutronBridgeMappings} + public_interface: + Ref: NeutronPublicInterface + public_interface_raw_device: + Ref: NeutronPublicInterfaceRawDevice + public_interface_route: + Ref: NeutronPublicInterfaceDefaultRoute physical_bridge: br-ex tenant_network_type: gre ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8 service-password: Ref: NeutronPassword + ceilometer: + db: mysql://ceilometer:unset@localhost/ceilometer + metering_secret: {Ref: CeilometerMeteringSecret} + service-password: + Ref: CeilometerPassword + nova: + compute_driver: libvirt.LibvirtDriver + db: mysql://nova:unset@localhost/nova + default_floating_pool: + ext-net + host: + Fn::Select: + - 0 + - Fn::Select: + - 'ctlplane' + - Fn::GetAtt: + - notCompute0 + - networks + metadata-proxy: true + service-password: + Ref: NovaPassword + os-collect-config: + cfn: + access_key_id: + Ref: notCompute0Key + path: notCompute0Config.Metadata + secret_access_key: + Fn::GetAtt: + - notCompute0Key + - SecretAccessKey + stack_name: + Ref: AWS::StackName rabbit: host: - Fn::GetAtt: - - notcompute - - PrivateIp + Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - Fn::GetAtt: + - notCompute0 + - networks password: guest - notcompute: + ntp: + servers: + - {server: {Ref: NtpServer}, fudge: "stratum 0"} + notCompute0: Type: OS::Nova::Server Properties: image: Ref: notcomputeImage + image_update_policy: + Ref: ImageUpdatePolicy flavor: Ref: Flavor key_name: @@ -237,11 +371,26 @@ Resources: os-collect-config: cfn: access_key_id: - Ref: Key - path: notcomputeConfig.Metadata + Ref: notCompute0Key + path: notCompute0Config.Metadata secret_access_key: Fn::GetAtt: - - Key + - notCompute0Key - SecretAccessKey stack_name: Ref: AWS::StackName +Outputs: + KeystoneURL: + Description: URL for the Overcloud Keystone service + Value: + Fn::Join: + - '' + - - http:// + - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - Fn::GetAtt: + - notCompute0 + - networks + - :5000/v2.0/