Description: All-in-one baremetal OpenStack and all dependencies.
HeatTemplateFormatVersion: '2012-12-12'
Parameters:
- InstanceType:
+ AdminPassword:
+ 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
+ BaremetalArch:
+ Default: i386
+ Description: The architecture to use in Nova-BM - i386 or amd64.
+ Type: String
+ Flavor:
Default: baremetal
Description: Flavor to request when deploying.
Type: String
+ GlancePassword:
+ Default: unset
+ Description: The password for the glance service account, used by the glance services.
+ Type: String
+ NoEcho: true
KeyName:
Default: default
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
+ HeatPassword:
+ Default: unset
+ Description: The password for the Heat service account, used by the Heat services.
+ Type: String
+ NoEcho: true
Image:
Default: undercloud
Type: String
+ NeutronPassword:
+ Default: unset
+ Description: The password for the neutron service account, used by neutron agents.
+ Type: String
+ NoEcho: true
+ NeutronNativePXE:
+ Default: ''
+ Type: String
+ Description: Set truthy to enable Neutron native PXE.
+ 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.
AccessPolicy:
Properties:
AllowedResources:
- - notcompute
+ - notcomputeConfig
Type: OS::Heat::AccessPolicy
Key:
Properties:
Policies:
- Ref: AccessPolicy
Type: AWS::IAM::User
- notcompute:
+ notcomputeConfig:
+ Type: AWS::AutoScaling::LaunchConfiguration
+ Properties:
+ ImageId: '0'
+ InstanceType: foo
Metadata:
OpenStack::Heat::Stack: {}
- Openstack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, quantum-network-node ]
- admin-password: unset
- admin-token: unset
- controller-address: 0.0.0.0
+ Openstack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
+ admin-password:
+ Ref: AdminPassword
+ admin-token:
+ Ref: AdminToken
+ controller-address:
+ Fn::Select:
+ - 0
+ - Fn::Select:
+ - "ctlplane"
+ - Fn::GetAtt:
+ - notcompute
+ - networks
cinder:
db: mysql://cinder:unset@localhost/cinder
volume_size_mb: '5000'
db-password: unset
- dib:
- ramdisk_elements: deploy
glance:
db: mysql://glance:unset@localhost/glance
host: 127.0.0.1
+ service-password:
+ 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: 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
- access_key_id:
- Ref: Key
- refresh:
- - resource: notcompute
- secret_key:
- Fn::GetAtt:
- - Key
- - SecretAccessKey
- stack:
- name:
+ heat_watch_server_url:
+ Fn::Join:
+ - ''
+ - - http://
+ - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
+ - ":8003"
+ metadata_server_url:
+ Fn::Join:
+ - ''
+ - - http://
+ - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
+ - ":8000"
+ waitcondition_server_url:
+ Fn::Join:
+ - ''
+ - - http://
+ - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
+ - ":8000/v1/waitcondition"
+ os-collect-config:
+ cfn:
+ access_key_id:
+ Ref: Key
+ path: notcomputeConfig.Metadata
+ secret_access_key:
+ Fn::GetAtt:
+ - Key
+ - SecretAccessKey
+ stack_name:
Ref: AWS::StackName
- region:
- Ref: AWS::Region
interfaces:
control: eth2
keystone:
db: mysql://keystone:unset@localhost/keystone
host: 127.0.0.1
nova:
- compute_hostname: ubuntu
+ compute_hostname: undercloud
compute_driver: baremetal.driver.BareMetalDriver
db: mysql://nova:unset@localhost/nova
host: 127.0.0.1
ram_allocation_ratio: 1.0
reserved_host_memory_mb: 0
baremetal:
- arch: i386
+ arch:
+ Ref: BaremetalArch
db: mysql://nova:unset@localhost/nova_bm
power_manager: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
- pxe_deploy_timeout: 1200
+ pxe_deploy_timeout: 2400
virtual_power:
user:
Ref: PowerUserName
key: /opt/stack/boot-stack/virtual-power-key
ssh_host: 192.168.122.1
type: virsh
- quantum:
+ service-password:
+ Ref: NovaPassword
+ neutron:
host: 127.0.0.1
- ovs_db: mysql://quantum:unset@localhost/ovs_quantum?charset=utf8
+ native_pxe:
+ Ref: NeutronNativePXE
+ ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
ovs:
dnsmasq_range: [192.0.2.25, 192.0.2.44]
public_interface: eth0
physical_network: ctlplane
network_vlan_ranges: ctlplane
bridge_mappings: ctlplane:br-ctlplane
- fixed_range:
- start: 192.0.2.5
- end: 192.0.2.24
tenant_network_type: vlan
enable_tunneling: 'False'
+ service-password:
+ Ref: NeutronPassword
rabbit:
host: 127.0.0.1
password: guest
- swift:
- store_user: unset
- store_key: unset
- service-password: unset
+ notcompute:
+ Type: OS::Nova::Server
Properties:
- ImageId:
+ image:
Ref: Image
- InstanceType:
- Ref: InstanceType
- KeyName:
+ flavor:
+ Ref: Flavor
+ key_name:
Ref: KeyName
- Type: AWS::EC2::Instance
+ Metadata:
+ os-collect-config:
+ cfn:
+ access_key_id:
+ Ref: Key
+ path: notcomputeConfig.Metadata
+ secret_access_key:
+ Fn::GetAtt:
+ - Key
+ - SecretAccessKey
+ stack_name:
+ Ref: AWS::StackName