From e6afddb3ca4f100ad29fc7a9c30f43e6e5abdc22 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Fri, 22 Nov 2013 12:49:42 -0500 Subject: Use merge.py for the undercloud templates. This will require some changes to our devtest scripts and TOCI to ensure we build the overcloud-vm template before attempting to use it. Change-Id: I14b5e4a0ccf5f18429bfc33e527bdb4760b8d1a3 --- .gitignore | 4 + Makefile | 12 ++- undercloud-bm-source.yaml | 32 +++++++ undercloud-bm.yaml | 199 ------------------------------------------- undercloud-source.yaml | 173 ++++++++++++++++++++++++++++++++++++++ undercloud-vm-source.yaml | 42 ++++++++++ undercloud-vm.yaml | 210 ---------------------------------------------- 7 files changed, 261 insertions(+), 411 deletions(-) create mode 100644 undercloud-bm-source.yaml delete mode 100644 undercloud-bm.yaml create mode 100644 undercloud-source.yaml create mode 100644 undercloud-vm-source.yaml delete mode 100644 undercloud-vm.yaml diff --git a/.gitignore b/.gitignore index 769ab221..08015990 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,9 @@ # Built via Makefile overcloud.yaml +undercloud-bm.yaml +undercloud-vm.yaml +undercloud-vm-tuskar.yaml +undercloud-vm-ironic.yaml *.py[cod] diff --git a/Makefile b/Makefile index 51e954a7..38e495e5 100644 --- a/Makefile +++ b/Makefile @@ -4,11 +4,19 @@ overcloud.yaml: overcloud-source.yaml nova-compute-instance.yaml swift-source.ya python merge.py overcloud-source.yaml swift-source.yaml > $@.tmp mv $@.tmp $@ -undercloud-vm-tuskar.yaml: undercloud-vm.yaml tuskar-source.yaml +undercloud-vm.yaml: undercloud-source.yaml undercloud-vm-source.yaml python merge.py $^ > $@.tmp mv $@.tmp $@ -undercloud-vm-ironic.yaml: undercloud-vm.yaml ironic-source.yaml +undercloud-bm.yaml: undercloud-source.yaml undercloud-bm-source.yaml + python merge.py $^ > $@.tmp + mv $@.tmp $@ + +undercloud-vm-tuskar.yaml: undercloud-source.yaml undercloud-vm-source.yaml tuskar-source.yaml + python merge.py $^ > $@.tmp + mv $@.tmp $@ + +undercloud-vm-ironic.yaml: undercloud-source.yaml undercloud-vm-source.yaml ironic-source.yaml python merge.py $^ > $@.tmp mv $@.tmp $@ diff --git a/undercloud-bm-source.yaml b/undercloud-bm-source.yaml new file mode 100644 index 00000000..be0647cb --- /dev/null +++ b/undercloud-bm-source.yaml @@ -0,0 +1,32 @@ +Parameters: + NeutronPublicInterface: + Default: eth2 + Description: What interface to bridge onto br-ex for network nodes. + Type: String + PowerManager: + Default: nova.virt.baremetal.ipmi.IPMI + Description: Bare metal power manager driver. + Type: String +Resources: + notcomputeConfig: + Type: AWS::AutoScaling::LaunchConfiguration + Metadata: + 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: + use_file_injection: "False" + arch: + Ref: BaremetalArch + db: mysql://nova:unset@localhost/nova_bm + power_manager: + Ref: PowerManager + pxe_deploy_timeout: 2400 + service-password: + Ref: NovaPassword diff --git a/undercloud-bm.yaml b/undercloud-bm.yaml deleted file mode 100644 index 40f7b4a3..00000000 --- a/undercloud-bm.yaml +++ /dev/null @@ -1,199 +0,0 @@ -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 - NoEcho: true - 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 - NeutronPublicInterface: - Default: eth2 - Description: What interface to bridge onto br-ex for network nodes. - Type: String - NovaPassword: - Default: unset - Description: The password for the nova service account, used by nova-api. - Type: String - NoEcho: true - PowerManager: - Default: nova.virt.baremetal.ipmi.IPMI - Description: Bare metal power manager driver. - Type: String -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: - backend: file - 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 - 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 - 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: - use_file_injection: "False" - arch: - Ref: BaremetalArch - db: mysql://nova:unset@localhost/nova_bm - power_manager: - Ref: PowerManager - pxe_deploy_timeout: 2400 - service-password: - Ref: NovaPassword - neutron: - host: 127.0.0.1 - ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8 - ovs: - dnsmasq_range: [192.0.2.25, 192.0.2.44] - public_interface: - Ref: NeutronPublicInterface - 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 diff --git a/undercloud-source.yaml b/undercloud-source.yaml new file mode 100644 index 00000000..9dcbf538 --- /dev/null +++ b/undercloud-source.yaml @@ -0,0 +1,173 @@ +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 + NoEcho: true + 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 + 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::Role: notcomputeConfig + 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: + backend: file + 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 + 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 + keystone: + db: mysql://keystone:unset@localhost/keystone + host: 127.0.0.1 + neutron: + host: 127.0.0.1 + ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8 + ovs: + dnsmasq_range: [192.0.2.25, 192.0.2.44] + public_interface: + Ref: NeutronPublicInterface + 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 diff --git a/undercloud-vm-source.yaml b/undercloud-vm-source.yaml new file mode 100644 index 00000000..4d0d64f0 --- /dev/null +++ b/undercloud-vm-source.yaml @@ -0,0 +1,42 @@ +Parameters: + NeutronPublicInterface: + Default: eth0 + Description: What interface to bridge onto br-ex for network nodes. + Type: String + PowerManager: + Default: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager + Description: Bare metal power manager driver. + Type: String + PowerUserName: + Default: stack + Description: What username to ssh to the virtual power host with. + Type: String +Resources: + notcomputeConfig: + Type: AWS::AutoScaling::LaunchConfiguration + Metadata: + 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: + use_file_injection: "False" + arch: + Ref: BaremetalArch + db: mysql://nova:unset@localhost/nova_bm + power_manager: + Ref: PowerManager + 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 + service-password: + Ref: NovaPassword diff --git a/undercloud-vm.yaml b/undercloud-vm.yaml deleted file mode 100644 index a8c82f37..00000000 --- a/undercloud-vm.yaml +++ /dev/null @@ -1,210 +0,0 @@ -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 - NoEcho: true - 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 - NeutronPublicInterface: - Default: eth0 - Description: What interface to bridge onto br-ex for network nodes. - Type: String - NovaPassword: - Default: unset - Description: The password for the nova service account, used by nova-api. - Type: String - NoEcho: true - PowerManager: - Default: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager - Description: Bare metal power manager driver. - Type: String - PowerUserName: - Default: stack - Description: What username to ssh to the virtual power host with. - Type: String -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::Role: notcomputeConfig - 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: - backend: file - 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 - 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 - 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: - use_file_injection: "False" - arch: - Ref: BaremetalArch - db: mysql://nova:unset@localhost/nova_bm - power_manager: - Ref: PowerManager - 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 - service-password: - Ref: NovaPassword - neutron: - host: 127.0.0.1 - ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8 - ovs: - dnsmasq_range: [192.0.2.25, 192.0.2.44] - public_interface: - Ref: NeutronPublicInterface - 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