-[submodule "fuel-main"]
- path = build/f_repos/sub/fuel-main
- url = https://github.com/openstack/fuel-main.git
- branch = stable/newton
- ignore = all
-[submodule "fuel-library"]
- path = build/f_repos/sub/fuel-library
- url = https://github.com/openstack/fuel-library.git
- branch = stable/newton
- ignore = all
-[submodule "fuel-web"]
- path = build/f_repos/sub/fuel-web
- url = https://github.com/openstack/fuel-web.git
- branch = stable/newton
- ignore = all
-[submodule "python-fuelclient"]
- path = build/f_repos/sub/python-fuelclient
- url = https://github.com/openstack/python-fuelclient.git
- branch = stable/newton
- ignore = all
-[submodule "fuel-agent"]
- path = build/f_repos/sub/fuel-agent
- url = https://github.com/openstack/fuel-agent.git
- branch = stable/newton
- ignore = all
-[submodule "fuel-nailgun-agent"]
- path = build/f_repos/sub/fuel-nailgun-agent
- url = https://github.com/openstack/fuel-nailgun-agent.git
- branch = stable/newton
- ignore = all
-[submodule "fuel-astute"]
- path = build/f_repos/sub/fuel-astute
- url = https://github.com/openstack/fuel-astute.git
- branch = stable/newton
- ignore = all
-[submodule "fuel-ostf"]
- path = build/f_repos/sub/fuel-ostf
- url = https://github.com/openstack/fuel-ostf.git
- branch = stable/newton
- ignore = all
-[submodule "fuel-menu"]
- path = build/f_repos/sub/fuel-menu
- url = https://github.com/openstack/fuel-menu.git
- branch = stable/newton
- ignore = all
-[submodule "shotgun"]
- path = build/f_repos/sub/shotgun
- url = https://github.com/openstack/shotgun.git
- branch = stable/newton
- ignore = all
-[submodule "network-checker"]
- path = build/f_repos/sub/network-checker
- url = https://github.com/openstack/network-checker.git
- branch = stable/newton
- ignore = all
-[submodule "fuel-ui"]
- path = build/f_repos/sub/fuel-ui
- url = https://github.com/openstack/fuel-ui.git
- branch = stable/newton
- ignore = all
[submodule "mcp/reclass/classes/system"]
path = mcp/reclass/classes/system
url = https://github.com/Mirantis/reclass-system-salt-model
+ branch = master
+ ignore = all
+++ /dev/null
-Subproject commit 7d35078a9d67a9015f49f5813dbad225837095a4
+++ /dev/null
-Subproject commit 87ba44dcde92a0bfe50fdba6e0a2f271e6859919
+++ /dev/null
-Subproject commit 0281ca8ee1900271252edc5e6e1ceb2112cfd0da
+++ /dev/null
-Subproject commit a0f955fc5bff09c02d538ae2c9a7373b6ee511ed
+++ /dev/null
-Subproject commit 9aedc10ffea536d7d353cb5869c492a1729a98f2
+++ /dev/null
-Subproject commit 0cfe06be939f92c3a8158a0e8a96a7ab8cf5403b
+++ /dev/null
-Subproject commit 132f287fb769276cde63ac283222d5447bc68308
+++ /dev/null
-Subproject commit 5b66f907e628ba16d03a3fd3f259099b727a5fa2
+++ /dev/null
-Subproject commit d04c1108b2b19e5d681a07fd3492b93d133c4617
+++ /dev/null
-Subproject commit 5efbc91a120ae3dc12e8751ba4bdf2644590939c
+++ /dev/null
-Subproject commit 8ac48ac48facc47923ba00c09bf96080ca88d31c
+++ /dev/null
-Subproject commit 43b5d6d905b1179fd36fa26255d58dc0113b388d
# Prepare the deploy config files based on lab/pod information, deployment
# scenario, etc.
+export SSH_KEY=mcp.rsa
+export SALT_MASTER=192.168.10.100
+export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${SSH_KEY}"
+
./infra.sh
./salt.sh
./openstack.sh
#!/bin/bash
-SSH_KEY=mcp.rsa
-SALT_MASTER=192.168.10.100
BASE_IMAGE=https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
declare -A NODES=( [cfg01]=4096 [ctl01]=6144 [ctl02]=6144 [ctl03]=6144 [gtw01]=2048 [cmp01]=2048 )
# get base image
mkdir -p images
-wget -nc $BASE_IMAGE
+wget -P /tmp -nc $BASE_IMAGE
for node in "${!NODES[@]}"; do
# clean up existing nodes
# create/prepare images
[ -f images/mcp_${node}.iso ] || ./create-config-drive.sh -k ${SSH_KEY}.pub -u user-data.sh -h ${node} images/mcp_${node}.iso
- cp ${BASE_IMAGE/*\/} images/mcp_${node}.qcow2
+ cp /tmp/${BASE_IMAGE/*\/} images/mcp_${node}.qcow2
qemu-img resize images/mcp_${node}.qcow2 100G
done
--network network:internal,model=virtio \
--network network:public,model=virtio \
--disk path=$(pwd)/images/mcp_${node}.qcow2,format=qcow2,bus=virtio,cache=none,io=native \
+ --os-type linux --os-variant none \
--boot hd --vnc --console pty --autostart --noreboot \
--disk path=$(pwd)/images/mcp_${node}.iso,device=cdrom
done
CONNECTION_ATTEMPTS=20
SLEEP=15
-# refresh salt master host key
-ssh-keygen -R $SALT_MASTER
-
# wait until ssh on Salt master is available
echo "Attempting to ssh to Salt master ..."
ATTEMPT=1
while (($ATTEMPT <= $CONNECTION_ATTEMPTS)); do
- ssh -i ${SSH_KEY} ubuntu@$SALT_MASTER uptime
+ ssh $SSH_OPTS ubuntu@$SALT_MASTER uptime
case $? in
(0) echo "${ATTEMPT}> Success"; break ;;
(*) echo "${ATTEMPT}/${CONNECTION_ATTEMPTS}> ssh server ain't ready yet, waiting for ${SLEEP} seconds ..." ;;
esac
sleep $SLEEP
- ssh-keyscan -t ecdsa $SALT_MASTER >> ~/.ssh/known_hosts
((ATTEMPT+=1))
done
# Deploy Openstack
#
-ssh -i mcp.rsa ubuntu@192.168.10.100 bash -s << OPENSTACK_INSTALL_END
+ssh $SSH_OPTS ubuntu@$SALT_MASTER bash -s << OPENSTACK_INSTALL_END
sudo -i
salt-call state.apply salt
#
# ssh to cfg01
-ssh -i mcp.rsa ubuntu@192.168.10.100 bash -s << SALT_INSTALL_END
+ssh $SSH_OPTS ubuntu@$SALT_MASTER bash -s << SALT_INSTALL_END
sudo -i
apt-get update
svn export --force https://github.com/salt-formulas/salt-formulas/trunk/deploy/scripts /srv/salt/scripts
git clone --depth=1 --recurse-submodules https://git.opnfv.org/fuel
- ln -s $(pwd)/fuel/mcp/reclass /srv/salt/reclass
+ ln -s /root/fuel/mcp/reclass /srv/salt/reclass
cd /srv/salt/scripts
MASTER_HOSTNAME=cfg01.virtual-mcp-ocata-ovs.local ./salt-master-init.sh