Skip to content

Commit

Permalink
mbx: fix ssh warnings
Browse files Browse the repository at this point in the history
Signed-off-by: Rohit Yadav <[email protected]>
  • Loading branch information
rohityadavcloud committed Jan 15, 2021
1 parent 78afad7 commit 9f4772c
Showing 1 changed file with 26 additions and 24 deletions.
50 changes: 26 additions & 24 deletions mbx
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ usage() {
echo " install: setup monkeynet and templates"
echo " list: list available environments"
echo " build: build packages from git repo and sha/tag/branch"
echo " start: create monkeyboxes using templates, marvin cfg file"
echo " deploy: configure global settings, setup boxes, storage and deploy zone"
echo " deploy: deploy monkeybox VMs using templates, setup storage"
echo " launch: creates marvin config file and launches a zone"
echo " test: start marvin tests"
echo " stop: stop monkeyboxes"
echo " clean: destroy environment"
Expand Down Expand Up @@ -63,7 +63,7 @@ build() {
echo "TODO"
}

start() {
deploy() {
set -x

echo "Creating and starting monkeyboxes"
Expand Down Expand Up @@ -97,7 +97,7 @@ start() {
echo "Primary and secondary storages are ready"

sleep 30
for box in $(cat boxes/$env.list); do
for box in $(cat $ROOT/boxes/$env.list); do
ip=$(getent hosts $box | awk '{ print $1 }')
while [ -z $ip ]; do
echo "Waiting for $box DHCP to kick-in..."
Expand All @@ -107,28 +107,30 @@ start() {
while ! nc -vzw 5 $ip 22 2>&1 > /dev/null; do echo "Waiting for ssh on $box ($ip) to come up"; sleep 10; done
echo "$box is UP, setting up hostname"
# FIXME: different templates/os/hyp need different setup steps
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$box hostnamectl set-hostname $box
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$box "echo $ip $box >> /etc/hosts"
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$box "cat /etc/hosts"
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$box hostnamectl set-hostname $box
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$box "echo $ip $box >> /etc/hosts"
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$box "cat /etc/hosts"
done

# setup + install mgmt server
# FIXME: configure provided rpm/deb repo on hosts

# Install: Management Server
mgmt_ip=$(getent hosts $mgmt | awk '{ print $1 }')
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$mgmt systemctl enable --now mariadb
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$mgmt yum install -y cloudstack-management cloudstack-usage cloudstack-common cloudstack-integration-tests cloudstack-marvin
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$mgmt "cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root: -i $mgmt_ip"
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$mgmt "mysql -u root --execute=\"INSERT INTO cloud.configuration (category, instance, component, name, value) VALUES ('Advanced', 'DEFAULT', 'management-server', 'integration.api.port', '8096');\""
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$mgmt cloudstack-setup-management
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$mgmt systemctl enable --now mariadb
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$mgmt yum install -y cloudstack-management cloudstack-usage cloudstack-common cloudstack-integration-tests cloudstack-marvin
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$mgmt "cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root: -i $mgmt_ip"
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$mgmt "mysql -u root --execute=\"INSERT INTO cloud.configuration (category, instance, component, name, value) VALUES ('Advanced', 'DEFAULT', 'management-server', 'integration.api.port', '8096');\""
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$mgmt cloudstack-setup-management

# install cloudstack-agent on KVM hosts
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$env-kvm1 yum install -y cloudstack-agent
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$env-kvm2 yum install -y cloudstack-agent
# Install: KVM hosts
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$env-kvm1 yum install -y cloudstack-agent
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$env-kvm2 yum install -y cloudstack-agent

echo "VMs created, deploy env using 'mbx deploy'"
}

deploy() {
echo "Deploying Environment:"
launch() {
echo "Launching CloudStack Zone in the environment:"
# FIXME: get env from user/input
env="qa-1-ry-415"
id=$(echo $env | sed 's/qa-//g' | sed 's/-.*//g')
Expand All @@ -149,13 +151,13 @@ deploy() {
export kvm_host2=$(getent hosts $env-kvm2 | awk '{ print $1 }')
export storage_path="/export/testing/$env"
envsubst < $ROOT/marvin/kvm.cfg > $ROOT/boxes/$env/marvin.cfg
sshpass -p 'P@ssword123' scp -o StrictHostKeyChecking=no $ROOT/boxes/$env/marvin.cfg root@$mgmt_ip:/marvin/
sshpass -p 'P@ssword123' scp -o StrictHostKeyChecking=no $ROOT/files/smoketests.sh root@$mgmt_ip:/marvin/
sshpass -p 'P@ssword123' scp -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" $ROOT/boxes/$env/marvin.cfg root@$mgmt_ip:/marvin/
sshpass -p 'P@ssword123' scp -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" $ROOT/files/smoketests.sh root@$mgmt_ip:/marvin/

# Deploy data center with generated config
while ! nc -vzw 5 $mgmt_ip 8096 2>&1 > /dev/null; do echo "Waiting for management server to come up"; sleep 10; done
echo "Management server is UP now, deploying data center now"
sshpass -p 'P@ssword123' ssh -o StrictHostKeyChecking=no root@$mgmt_ip python /usr/lib/python2.7/site-packages/marvin/deployDataCenter.py -i /marvin/marvin.cfg
echo "Management server is UP now, launch data center now"
sshpass -p 'P@ssword123' ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@$mgmt_ip python /usr/lib/python2.7/site-packages/marvin/deployDataCenter.py -i /marvin/marvin.cfg
}

test() {
Expand All @@ -180,7 +182,7 @@ clean() {
done
sed -i "/$env/d" $ROOT/boxes/boxes.list
rm -frv $ROOT/boxes/$env $ROOT/boxes/$env.list
"Removed environment VMs and config, to remove storage run:"
echo "Removed environment VMs and config, to remove storage run:"
echo "sudo rm -frv /export/testing/$env"
}

Expand All @@ -190,8 +192,8 @@ case "$1" in
install) install;;
list) list;;
build) build;;
start) start;;
deploy) deploy;;
launch) launch;;
test) test;;
clean) clean $2;;
*) usage;;
Expand Down

0 comments on commit 9f4772c

Please sign in to comment.