- Type: String
- QuantumDSN:
- Type: String
- QuantumBridgeMappings:
- Type: String
- QuantumNetworkVLANRanges:
- Type: String
- QuantumNetworkType:
- Type: String
- QuantumEnableTunnelling:
- Type: String
-Resources:
- AccessPolicy:
- Type: OS::Heat::AccessPolicy
- Properties:
- AllowedResources: [ NovaCompute ]
- User:
- Type: AWS::IAM::User
- Properties:
- Policies: [ { Ref: AccessPolicy } ]
- Key:
- Type: AWS::IAM::AccessKey
- Properties:
- UserName:
- Ref: User
- NovaCompute:
- Type: AWS::EC2::Instance
- Properties:
- ImageId:
- {Ref: NovaImage}
- InstanceType: {Ref: InstanceType}
- KeyName: {Ref: KeyName}
- Metadata:
- OpenStack::ImageBuilder::Elements: [ nova-compute ]
- heat:
- access_key_id:
- Ref: Key
- secret_key:
- Fn::GetAtt: [ Key, SecretAccessKey ]
- stack:
- name: {Ref: 'AWS::StackName'}
- region: {Ref: 'AWS::Region'}
- refresh:
- - resource: NovaCompute
- nova:
- compute_driver: {Ref: NovaComputeDriver}
- db: {Ref: NovaDSN}
- host: {Ref: NovaApiHost}
- glance:
- host: {Ref: GlanceHost}
- keystone:
- host: {Ref: KeystoneHost}
- quantum:
- host: {Ref: QuantumHost}
- ovs_db: {Ref: QuantumDSN}
- ovs:
- local_ip: 127.0.0.1
- tenant_network_type: {Ref: QuantumNetworkType}
- network_vlan_ranges: {Ref: QuantumNetworkVLANRanges}
- bridge_mappings: {Ref: QuantumBridgeMappings}
- enable_tunneling: {Ref: QuantumEnableTunnelling}
-
- service-password: {Ref: ServicePassword}
- admin-password: {Ref: ServicePassword}
- rabbit:
- host: {Ref: RabbitHost}
- password: {Ref: RabbitPassword}
- swift:
- store_user: ''
- store_key: ''
- interfaces:
- control: {Ref: NovaInterfaces}
+ type: string
+ NeutronDSN:
+ type: string
+ NeutronBridgeMappings:
+ type: string
+ NeutronNetworkVLANRanges:
+ type: string
+ NeutronNetworkType:
+ type: string
+ NeutronEnableTunnelling:
+ type: string
+ AllNodesConfig:
+ type: string
+ description: OS::Heat::Config to use for all nodes deployment
+ LiveUpdateUserName:
+ type: string
+ description: The live-update username for the undercloud Glance API.
+ default: ''
+ LiveUpdateTenantName:
+ type: string
+ description: The live-update tenant name for the undercloud Glance API.
+ default: ''
+ LiveUpdateHost:
+ type: string
+ description: The IP address for the undercloud Glance API.
+ default: ''
+ LiveUpdatePassword:
+ type: string
+ default: ''
+ description: The live-update password for the undercloud Glance API.
+ hidden: true
+ LiveUpdateComputeImage:
+ 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
+ properties:
+ image:
+ {get_param: NovaImage}
+ image_update_policy:
+ get_param: ImageUpdatePolicy
+ flavor: {get_param: OvercloudComputeFlavor}
+ key_name: {get_param: KeyName}
+ networks:
+ - network: ctlplane
+ user_data_format: SOFTWARE_CONFIG
+ NovaCompute0Deployment:
+ depends_on: [controller0AllNodesDeployment]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ signal_transport: NO_SIGNAL
+ config: {get_resource: NovaComputeConfig}
+ server: {get_resource: NovaCompute0}
+ input_values:
+ nova_compute_driver: {get_param: NovaComputeDriver}
+ nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
+ nova_dsn: {get_param: NovaDSN}
+ nova_api_host: {get_param: NovaApiHost}
+ nova_password: {get_param: NovaPassword}
+ ceilometer_dsn: {get_param: CeilometerDSN}
+ ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
+ ceilometer_password: {get_param: CeilometerPassword}
+ ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
+ snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
+ snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
+ glance_host: {get_param: GlanceHost}
+ glance_port: {get_param: GlancePort}
+ glance_protocol: {get_param: GlanceProtocol}
+ keystone_host: {get_param: KeystoneHost}
+ neutron_flat_networks: {get_param: NeutronFlatNetworks}
+ neutron_host: {get_param: NeutronHost}
+ neutron_dsn: {get_param: NeutronDSN}
+ neutron_local_ip: {get_attr: [NovaCompute0, networks, ctlplane, 0]}
+ neutron_tenant_network_type: {get_param: NeutronNetworkType}
+ neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
+ neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
+ neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
+ neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
+ neutron_public_interface: {get_param: NeutronPublicInterface}
+ neutron_password: {get_param: NeutronPassword}
+ admin_password: {get_param: AdminPassword}
+ rabbit_host: {get_param: RabbitHost}
+ rabbit_username: {get_param: RabbitUserName}
+ rabbit_password: {get_param: RabbitPassword}
+ live_update_host: {get_param: LiveUpdateHost}
+ live_update_username: {get_param: LiveUpdateUserName}
+ live_update_password: {get_param: LiveUpdatePassword}
+ live_update_tenant_name: {get_param: LiveUpdateTenantName}
+ nova_image: {get_param: NovaImage}
+ live_update_image_id: {get_param: LiveUpdateComputeImage}
+ ntp_server: {get_param: NtpServer}
+ 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: [NovaCompute0Deployment]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: NovaComputePassthrough}
+ server: {get_resource: NovaCompute0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config: {get_param: ExtraConfig}