From 7668a524258a793b7102d7831c7562db903d7fc7 Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Tue, 1 Oct 2013 13:44:06 +1300 Subject: Add a bare metal undercloud template. This should be factored into a lib and different includes, but right now - iteration one - we need the thing up and running. Change-Id: I1d0ed1c33385fd66ddfe39440f181dbb9b295fe9 --- undercloud-bm.yaml | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 undercloud-bm.yaml diff --git a/undercloud-bm.yaml b/undercloud-bm.yaml new file mode 100644 index 00000000..9e1e8d76 --- /dev/null +++ b/undercloud-bm.yaml @@ -0,0 +1,194 @@ +Description: All-in-one baremetal OpenStack and all dependencies. +HeatTemplateFormatVersion: '2012-12-12' +Parameters: + 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 +Resources: + AccessPolicy: + Properties: + AllowedResources: + - notcomputeConfig + Type: OS::Heat::AccessPolicy + Key: + Properties: + UserName: + Ref: User + Type: AWS::IAM::AccessKey + User: + Properties: + Policies: + - Ref: AccessPolicy + Type: AWS::IAM::User + notcomputeConfig: + Type: AWS::AutoScaling::LaunchConfiguration + Properties: + ImageId: '0' + InstanceType: foo + Metadata: + OpenStack::Heat::Stack: {} + 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 + glance: + db: mysql://glance:unset@localhost/glance + host: 127.0.0.1 + service-password: + Ref: GlancePassword + heat: + 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: + 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 + interfaces: + control: eth2 + keystone: + db: mysql://keystone:unset@localhost/keystone + host: 127.0.0.1 + nova: + compute_hostname: undercloud + compute_driver: baremetal.driver.BareMetalDriver + db: mysql://nova:unset@localhost/nova + host: 127.0.0.1 + metadata-proxy: false + tuning: + ram_allocation_ratio: 1.0 + reserved_host_memory_mb: 0 + baremetal: + arch: + Ref: BaremetalArch + db: mysql://nova:unset@localhost/nova_bm + power_manager: nova.virt.baremetal.ipmi.IPMI + pxe_deploy_timeout: 2400 + service-password: + Ref: NovaPassword + neutron: + host: 127.0.0.1 + 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: eth2 + physical_bridge: br-ctlplane + physical_network: ctlplane + network_vlan_ranges: ctlplane + bridge_mappings: ctlplane:br-ctlplane + tenant_network_type: vlan + enable_tunneling: 'False' + service-password: + Ref: NeutronPassword + rabbit: + host: 127.0.0.1 + password: guest + notcompute: + Type: OS::Nova::Server + Properties: + image: + Ref: Image + flavor: + Ref: Flavor + key_name: + Ref: KeyName + 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 -- cgit 1.2.3-korg