Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL server,Dedicated RabbitMQ Server,Group of Nova Computes HeatTemplateFormatVersion: '2012-12-12' Parameters: InstanceType: Default: baremetal Description: Flavor to request when deploying. Type: String KeyName: Default: default Description: Name of an existing EC2 KeyPair to enable SSH access to the instances Type: String NovaComputeDriver: Default: libvirt.LibvirtDriver Type: String NovaComputeLibvirtType: Default: '' Type: String NovaImage: Type: String Default: overcloud-compute NovaInterfaces: Default: eth0 Type: String PowerUserName: Default: stack Description: What username to ssh to the virtual power host with. Type: String notcomputeImage: Type: String Default: overcloud-control Resources: AccessPolicy: Properties: AllowedResources: - notcompute Type: OS::Heat::AccessPolicy ComputeAccessPolicy: Properties: AllowedResources: - NovaCompute0 Type: OS::Heat::AccessPolicy Key: Properties: UserName: Ref: User Type: AWS::IAM::AccessKey ComputeKey: Properties: UserName: Ref: ComputeUser Type: AWS::IAM::AccessKey ComputeUser: Properties: Policies: - Ref: ComputeAccessPolicy Type: AWS::IAM::User NovaCompute0: Type: FileInclude Path: nova-compute-instance.yaml SubKey: Resources.NovaCompute0 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']]} NeutronNetworkType: "gre" NeutronEnableTunnelling: "True" NeutronNetworkVLANRanges: "" NeutronBridgeMappings: "" RabbitPassword: "guest" ServicePassword: "unset" User: Properties: Policies: - Ref: AccessPolicy Type: AWS::IAM::User notcompute: Metadata: OpenStack::Heat::Stack: {} Openstack::ImageBuilder::Elements: - boot-stack - heat-cfntools - heat-localip - neutron-network-node admin-password: unset admin-token: unset cinder: db: mysql://cinder:unset@localhost/cinder volume_size_mb: '5000' controller-address: 0.0.0.0 db-password: unset glance: db: mysql://glance:unset@localhost/glance host: 0.0.0.0 os-collect-config: cfn: access_key_id: Ref: Key path: notcompute.Metadata secret_access_key: Fn::GetAtt: - Key - SecretAccessKey stack_name: Ref: AWS::StackName heat: admin_password: unset admin_tenant_name: service admin_user: heat auth_encryption_key: unset___________ db: mysql://heat:unset@localhost/heat heat_watch_server_url: http://0.0.0.0:8003 metadata_server_url: http://0.0.0.0:8000 waitcondition_server_url: http://0.0.0.0:8000/v1/waitcondition interfaces: control: eth0 keystone: db: mysql://keystone:unset@localhost/keystone host: 0.0.0.0 nova: compute_driver: libvirt.LibvirtDriver db: mysql://nova:unset@localhost/nova host: 0.0.0.0 metadata-proxy: true neutron: host: 0.0.0.0 metadata_proxy_shared_secret: unset ovs: enable_tunneling: 'True' local_ip: 0.0.0.0 public_interface: eth0 physical_bridge: br-ex tenant_network_type: gre ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8 rabbit: host: 0.0.0.0 password: guest service-password: unset Properties: ImageId: Ref: notcomputeImage InstanceType: Ref: InstanceType KeyName: Ref: KeyName Type: AWS::EC2::Instance