Startup a overcloud

Use heat to start an overcloud
This commit is contained in:
Derek Higgins 2013-06-14 15:09:45 +01:00
parent ea22bc29f8
commit 4613321b3d
7 changed files with 121 additions and 43 deletions

View File

@ -0,0 +1,25 @@
From 7b33a7becb6ad6a4176784ab160ed3a6efcbdb71 Mon Sep 17 00:00:00 2001
From: Derek Higgins <derekh@redhat.com>
Date: Tue, 4 Jun 2013 12:09:31 +0100
Subject: [PATCH] Increase size of bootstrap node
---
scripts/boot-elements | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/boot-elements b/scripts/boot-elements
index e585289..46089b4 100755
--- a/scripts/boot-elements
+++ b/scripts/boot-elements
@@ -24,7 +24,7 @@ SCRIPT_HOME=$(dirname $0)
ARCH=i386
IMAGE_NAME=stack
ENGINE=kvm
-export DIB_IMAGE_SIZE=10
+export DIB_IMAGE_SIZE=30
START_VM=yes
ALWAYS_ELEMENTS='vm local-config stackuser ubuntu cloud-init-nocloud'
EXTRA_ELEMENTS=
--
1.8.1.4

View File

@ -0,0 +1,52 @@
From f7473ef177eede16b7384dc6eb99e1d9a5ba1e47 Mon Sep 17 00:00:00 2001
From: Derek Higgins <derekh@redhat.com>
Date: Fri, 14 Jun 2013 00:16:34 +0100
Subject: [PATCH] Remove circular deps
Change-Id: Iccdf4a081f38aa3a5fe0e250b9e9382958a0f26e
---
bootstack-vm.yaml | 6 ++----
nova-compute-instance.yaml | 3 +--
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/bootstack-vm.yaml b/bootstack-vm.yaml
index 91456c6..b175445 100644
--- a/bootstack-vm.yaml
+++ b/bootstack-vm.yaml
@@ -34,8 +34,7 @@ Resources:
Openstack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, quantum-network-node ]
admin-password: unset
admin-token: unset
- controller-address:
- Fn::GetAtt: [ notcompute, PublicIp ]
+ controller-address: 127.0.0.1
cinder:
db: mysql://cinder:unset@localhost/cinder
volume_size_mb: '5000'
@@ -84,8 +83,7 @@ Resources:
fixed_range: 10.0.0.0/8
tenant_network_type: gre
enable_tunneling: 'True'
- local_ip:
- Fn::GetAtt: [ notcompute, PrivateIp ]
+ local_ip: 127.0.0.1
rabbit:
host: 127.0.0.1
password: guest
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index d885cba..91c9ce6 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -89,8 +89,7 @@ Resources:
host: {Ref: QuantumHost}
ovs_db: {Ref: QuantumDSN}
ovs:
- local_ip:
- Fn::GetAtt: [ NovaCompute, PrivateIp ]
+ local_ip: 127.0.0.1
tenant_network_type: {Ref: QuantumNetworkType}
network_vlan_ranges: {Ref: QuantumNetworkVLANRanges}
bridge_mappings: {Ref: QuantumBridgeMappings}
--
1.8.1.4

View File

@ -0,0 +1,26 @@
From 54f7155b44b054398a3d1065c84e65be802f3231 Mon Sep 17 00:00:00 2001
From: Derek Higgins <derekh@redhat.com>
Date: Thu, 13 Jun 2013 17:26:05 +0100
Subject: [PATCH] Don't use quantum metadata proxy
Change-Id: Iee7a901cb564f26dcbd5f03057a80dddc305d5ab
---
elements/nova/os-config-applier/etc/nova/nova.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/elements/nova/os-config-applier/etc/nova/nova.conf b/elements/nova/os-config-applier/etc/nova/nova.conf
index f1f41e7..357d9f2 100644
--- a/elements/nova/os-config-applier/etc/nova/nova.conf
+++ b/elements/nova/os-config-applier/etc/nova/nova.conf
@@ -48,7 +48,7 @@ libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
fixed_range = 192.0.2.32/29
{{#quantum}}
-service_quantum_metadata_proxy=true
+service_quantum_metadata_proxy=false
quantum_metadata_proxy_shared_secret={{metadata_proxy_shared_secret}}
{{/quantum}}
--
1.8.1.4

View File

@ -1,33 +0,0 @@
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "AWS CloudFormation Sample Template, just starts a base image",
"Parameters" : { },
"Resources" : {
"TestServer": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"services" : {
"sysvinit" : {
"apache2" : { "enabled" : "true", "ensureRunning" : "true" }
}
}
}
}
},
"Properties": {
"ImageId" : "base",
"InstanceType" : "baremetal",
"KeyName" : "default",
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bash -v\n",
"touch /var/log/tocitest.txt\n"
]]}}
}
}
},
"Outputs" : {
}
}

View File

@ -4,7 +4,7 @@ set -xe
. toci_functions.sh
# Get the tripleO repo's
for repo in 'tripleo/incubator' 'tripleo/bm_poseur' 'stackforge/diskimage-builder' 'stackforge/tripleo-image-elements' ; do
for repo in 'tripleo/incubator' 'tripleo/bm_poseur' 'stackforge/diskimage-builder' 'stackforge/tripleo-image-elements' 'stackforge/tripleo-heat-templates' ; do
if [ ${TOCI_GIT_CHECKOUT:-1} == 1 ] ; then
get_get_repo $repo
else
@ -17,9 +17,10 @@ done
#only patch if we do the git checkout
if [ ${TOCI_GIT_CHECKOUT:-1} == 1 ] ; then
# patches can be added to git repo's like this, this just a temp measure we need to make faster progress
# until we get up and runing properly
# until we get up and runing properly
apply_patches incubator incubator*
apply_patches bm_poseur bm_poseur*
apply_patches diskimage-builder diskimage-builder*
apply_patches tripleo-image-elements tripleo-image-elements*
apply_patches tripleo-heat-templates tripleo-heat-templates*
fi

View File

@ -21,15 +21,18 @@ else
sudo service libvirtd restart
fi
cd $TOCI_WORKING_DIR/diskimage-builder/
bin/disk-image-create -u base -a i386 -o $TOCI_WORKING_DIR/incubator/base
cd $TOCI_WORKING_DIR/incubator
sed -i "s/\"user\": \"stack\",/\"user\": \"`whoami`\",/" $TOCI_WORKING_DIR/tripleo-image-elements/elements/boot-stack/config.json
ELEMENTS_PATH=$TOCI_WORKING_DIR/tripleo-image-elements/elements \
DIB_PATH=$TOCI_WORKING_DIR/diskimage-builder \
scripts/boot-elements boot-stack -o bootstrap
cd $TOCI_WORKING_DIR
export ELEMENTS_PATH=$TOCI_WORKING_DIR/diskimage-builder/elements:$TOCI_WORKING_DIR/tripleo-image-elements/elements
./diskimage-builder/bin/disk-image-create -u -a i386 -o $TOCI_WORKING_DIR/incubator/notcompute stackuser boot-stack heat-cfntools quantum-network-node
./diskimage-builder/bin/disk-image-create -u -a i386 -o $TOCI_WORKING_DIR/incubator/compute stackuser nova-compute heat-cfntools
cd $TOCI_WORKING_DIR/incubator
BOOTSTRAP_IP=`scripts/get-vm-ip bootstrap`
# Get logs from the node on error

View File

@ -16,15 +16,19 @@ source $TOCI_WORKING_DIR/stackrc
unset http_proxy
nova list
sudo $TOCI_WORKING_DIR/bm_poseur/bm_poseur --vms 1 --arch i686 create-vm
MAC=`$TOCI_WORKING_DIR/bm_poseur/bm_poseur get-macs`
sudo $TOCI_WORKING_DIR/bm_poseur/bm_poseur --max-mem 2097152 --vms 5 --arch i686 create-vm
nova keypair-add --pub-key ~/.ssh/id_rsa.pub default
nova baremetal-node-create ubuntu 1 512 10 $MAC
for MAC in $($TOCI_WORKING_DIR/bm_poseur/bm_poseur get-macs); do
nova baremetal-node-create ubuntu 1 512 10 $MAC
done
# Load the base image into glance
export DIB_PATH=$TOCI_WORKING_DIR/diskimage-builder
./scripts/load-image base.qcow2
./scripts/load-image notcompute.qcow2
./scripts/load-image compute.qcow2
keystone role-create --name heat_stack_user
# place the bootstrap public key on host so that it can admin virt
ssh_noprompt root@$BOOTSTRAP_IP "cat /opt/stack/boot-stack/virtual-power-key.pub" >> ~/.ssh/authorized_keys
@ -38,7 +42,7 @@ wait_for 40 10 ssh_noprompt root@$BOOTSTRAP_IP grep \'record updated for\' /var/
# but for now I'm tired so I'm going to
sleep 67
heat stack-create -f $TOCI_SOURCE_DIR/templates/heat_base.json toci_stack
heat stack-create -f $TOCI_WORKING_DIR/tripleo-heat-templates/bootstack-vm.yaml overcloud -P 'notcomputeImage=notcompute'
# ping the node TODO : make this more readable and output less errors
wait_for 40 10 ssh_noprompt root@$BOOTSTRAP_IP 'source ~/stackrc ; ping -c 1 $(nova list | grep ctlplane | sed -e "s/.*=\(.*\) .*/\1/g")'