From 136e34eeb584922f6a3fab4ed9e8f5b35d8b0921 Mon Sep 17 00:00:00 2001 From: Parker Berberian Date: Mon, 21 Aug 2017 09:24:57 -0400 Subject: Adds Fuel Installation Capability JIRA: N/A Adds the ability to automatically install and deploy Fuel onto a remote host. the hostScripts/fuelInstall.sh script boots the master machine and uses the fuel iso to install fuel to the machine. the source/installers/fuel.py then uses the source/api/fuel_api handler to configure and deploy fuel. Running: Fuel_Installer(domains,networks,libvirt,utility).go() Will install fuel and deploy Openstack on top of Fuel assuming the host is properly configured. Change-Id: I41aee773b27b893311c945221b93eacf36aa83cc Signed-off-by: Parker Berberian --- tools/laas-fog/hostScripts/fuelInstall.sh | 40 +++++++++++++++++++++++++++++++ tools/laas-fog/hostScripts/horizonNat.sh | 31 ++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100755 tools/laas-fog/hostScripts/fuelInstall.sh create mode 100755 tools/laas-fog/hostScripts/horizonNat.sh (limited to 'tools/laas-fog/hostScripts') diff --git a/tools/laas-fog/hostScripts/fuelInstall.sh b/tools/laas-fog/hostScripts/fuelInstall.sh new file mode 100755 index 00000000..c68907d0 --- /dev/null +++ b/tools/laas-fog/hostScripts/fuelInstall.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +############################################################################# +#Copyright 2017 Parker Berberian and others # +# # +#Licensed under the Apache License, Version 2.0 (the "License"); # +#you may not use this file except in compliance with the License. # +#You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +#Unless required by applicable law or agreed to in writing, software # +#distributed under the License is distributed on an "AS IS" BASIS, # +#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +#See the License for the specific language governing permissions and # +#limitations under the License. # +############################################################################# + +virsh start master + +ret='' +while [ -z "$ret" ]; do + echo "Master node is not accepting ssh. Sleeping 15 seconds..." + sleep 15 + ret=$(nmap 10.20.0.2 -PN -p ssh | grep open) +done + +ssh-keygen -f ~/.ssh/id_rsa -t rsa -N '' +sshpass -p r00tme ssh-copy-id -o stricthostkeychecking=no root@10.20.0.2 + +ssh root@10.20.0.2 killall fuelmenu + +echo "killed fuel menu. Waiting for installation to complete" + +ans='' +while [ -z "$ans" ]; do + echo "fuel api unavailable. Sleeping 15 seconds..." + sleep 15 + ans=$(curl http://10.20.0.2:8000 2>/dev/null ) +done diff --git a/tools/laas-fog/hostScripts/horizonNat.sh b/tools/laas-fog/hostScripts/horizonNat.sh new file mode 100755 index 00000000..dd6396c6 --- /dev/null +++ b/tools/laas-fog/hostScripts/horizonNat.sh @@ -0,0 +1,31 @@ +#!/bin/bash +############################################################################# +#Copyright 2017 Parker Berberian and others # +# # +#Licensed under the Apache License, Version 2.0 (the "License"); # +#you may not use this file except in compliance with the License. # +#You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +#Unless required by applicable law or agreed to in writing, software # +#distributed under the License is distributed on an "AS IS" BASIS, # +#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +#See the License for the specific language governing permissions and # +#limitations under the License. # +############################################################################# + +MYIP=$1 +DESTINATION=$2 +MYBRIDGE=10.20.1.1 +DESTNETWORK=10.20.1.0/24 +PORT=80 + +iptables -I INPUT 2 -d "$MYIP" -p tcp --dport "$PORT" -j ACCEPT +iptables -t nat -I INPUT 1 -d "$MYIP" -p tcp --dport "$PORT" -j ACCEPT +iptables -I FORWARD -p tcp --dport "$PORT" -j ACCEPT + +iptables -t nat -I PREROUTING -p tcp -d "$MYIP" --dport "$PORT" -j DNAT --to-destination "$DESTINATION:$PORT" +iptables -t nat -I POSTROUTING -p tcp -s "$DESTINATION" ! -d "$DESTNETWORK" -j SNAT --to-source "$MYIP" + +iptables -t nat -I POSTROUTING 2 -d "$DESTINATION" -j SNAT --to-source "$MYBRIDGE" -- cgit 1.2.3-korg