Use merge.py for the undercloud templates.
authorDan Prince <dprince@redhat.com>
Fri, 22 Nov 2013 17:49:42 +0000 (12:49 -0500)
committerDan Prince <dprince@redhat.com>
Mon, 25 Nov 2013 14:14:07 +0000 (09:14 -0500)
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
Makefile
undercloud-bm-source.yaml [new file with mode: 0644]
undercloud-source.yaml [moved from undercloud-bm.yaml with 85% similarity]
undercloud-vm-source.yaml [new file with mode: 0644]
undercloud-vm.yaml [deleted file]

index 769ab22..0801599 100644 (file)
@@ -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]
 
index 51e954a..38e495e 100644 (file)
--- 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 (file)
index 0000000..be0647c
--- /dev/null
@@ -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
similarity index 85%
rename from undercloud-bm.yaml
rename to undercloud-source.yaml
index 40f7b4a..9dcbf53 100644 (file)
@@ -41,19 +41,11 @@ Parameters:
     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:
@@ -76,6 +68,7 @@ Resources:
       ImageId: '0'
       InstanceType: foo
     Metadata:
+      OpenStack::Role: notcomputeConfig
       OpenStack::Heat::Stack: {}
       Openstack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
       admin-password:
@@ -139,25 +132,6 @@ Resources:
       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
diff --git a/undercloud-vm-source.yaml b/undercloud-vm-source.yaml
new file mode 100644 (file)
index 0000000..4d0d64f
--- /dev/null
@@ -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 (file)
index a8c82f3..0000000
+++ /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