mdified to create a domain for heat after the deployment. It seems
[joid.git] / ci / 02-maasdeploy.sh
index dedd56c..5f49daf 100755 (executable)
@@ -20,19 +20,32 @@ case "$1" in
     'juniperpod1' )
         cp maas/juniper/pod1/deployment.yaml ./deployment.yaml
         ;;
+    'cengnlynxpod1' )
+        cp maas/cengn_lynx/pod1/deployment.yaml ./deployment.yaml
+        ;;
+    'custom' )
+        cp maas/custom/deployment.yaml ./deployment.yaml
+        ;;
     * )
         virtinstall=1
+        ./cleanvm.sh
         cp maas/default/deployment.yaml ./deployment.yaml
         ;;
 esac
 
+#just make sure the ssh keys added into maas for the current user
+sed --i "s@/home/ubuntu@$HOME@g" ./deployment.yaml
+sed --i "s@qemu+ssh://ubuntu@qemu+ssh://$USER@g" ./deployment.yaml
+
 #make sure no password asked during the deployment. 
 
 echo "$USER ALL=(ALL) NOPASSWD:ALL" > 90-joid-init
 
 if [ -e /etc/sudoers.d/90-joid-init ]; then
     sudo cp /etc/sudoers.d/90-joid-init 91-joid-init
-    cat 90-joid-init >> 91-joid-init
+    sudo chown $USER:$USER 91-joid-init
+    sudo chmod 660 91-joid-init
+    sudo cat 90-joid-init >> 91-joid-init
     sudo chown root:root 91-joid-init
     sudo mv 91-joid-init /etc/sudoers.d/
 else
@@ -46,21 +59,23 @@ if [ ! -e $HOME/.ssh/id_rsa ]; then
     ssh-keygen -N '' -f $HOME/.ssh/id_rsa
 fi
 
-if [ ! -e /var/lib/libvirt/images ]; then
-
-    sudo apt-get install libvirt-bin -y
-    sudo adduser ubuntu libvirtd
-    sudo virsh pool-define-as default --type dir --target /var/lib/libvirt/images/
-    sudo virsh pool-start default
-    sudo virsh pool-autostart default
+#define the pool and try to start even though its already exist.
+# For fresh install this may or may not there.
 
-fi
+sudo apt-get install libvirt-bin -y
+sudo adduser $USER libvirtd
+sudo virsh pool-define-as default --type dir --target /var/lib/libvirt/images/ || true
+sudo virsh pool-start default || true
+sudo virsh pool-autostart default || true
 
 sudo apt-add-repository ppa:maas-deployers/stable -y
 sudo apt-add-repository ppa:juju/stable -y
 sudo apt-add-repository ppa:maas/stable -y
+sudo apt-add-repository cloud-archive:liberty -y
 sudo apt-get update -y
-sudo apt-get install openssh-server git maas-deployer juju juju-deployer maas-cli python-pip -y
+sudo apt-get dist-upgrade -y 
+sudo apt-get install openssh-server git maas-deployer juju juju-deployer maas-cli python-pip python-openstackclient gsutil -y
+
 sudo pip install shyaml
 juju init -f
 
@@ -78,13 +93,27 @@ fi
 #Below function will mark the interfaces in Auto mode to enbled by MAAS
 enableautomode() {
     listofnodes=`maas maas nodes list | grep system_id | cut -d '"' -f 4`
-
     for nodes in $listofnodes
     do
         maas maas interface link-subnet $nodes $1  mode=$2 subnet=$3
     done
 }
 
+#Below function will mark the interfaces in Auto mode to enbled by MAAS
+# using hostname of the node added into MAAS
+
+enableautomodebyname() {
+    if [ ! -z "$4" ]; then
+        for i in `seq 1 7`;
+        do
+            nodes=`maas maas nodes list hostname=node$i-$4 | grep system_id | cut -d '"' -f 4`
+            if [ ! -z "$nodes" ]; then
+                maas maas interface link-subnet $nodes $1  mode=$2 subnet=$3
+            fi
+       done
+    fi
+}
+
 #Below function will create vlan and update interface with the new vlan
 # will return the vlan id created
 crvlanupdsubnet() {
@@ -99,7 +128,7 @@ crnodevlanint() {
 
     for nodes in $listofnodes
     do
-        parentid=`maas maas interface read $nodes eth2 | grep interfaces | cut -d '/' -f 8`
+        parentid=`maas maas interface read $nodes $2 | grep interfaces | cut -d '/' -f 8`
         maas maas interfaces create-vlan $nodes vlan=$1 parent=$parentid
      done
  }
@@ -115,9 +144,12 @@ apikey=`grep maas-oauth: environments.yaml | cut -d "'" -f 2`
 maas login maas http://${maas_ip}/MAAS/api/1.0 ${apikey}
 maas maas boot-source update 1 url="http://maas.ubuntu.com/images/ephemeral-v2/daily/"
 #maas maas boot-source-selections create 1 os="ubuntu" release="precise" arches="amd64" subarches="*" labels="*"
-maas maas boot-resources import
+maas maas node-groups import-boot-images
 maas maas sshkeys new key="`cat $HOME/.ssh/id_rsa.pub`"
 
+#Added the Qtip public to run the Qtip test after install on bare metal nodes.
+maas maas sshkeys new key="`cat ./maas/sshkeys/QtipKey.pub`"
+
 #adding compute and control nodes VM to MAAS for deployment purpose.
 if [ "$virtinstall" -eq 1 ]; then
     # create two more VMs to do the deployment.
@@ -150,19 +182,37 @@ case "$1" in
         maas refresh
         crvlanupdsubnet vlan721 1 "DataNetwork" 721 2 || true
         crvlanupdsubnet vlan724 2 "PublicNetwork" 724 3 || true
-        crnodevlanint $vlan721 || true
-        crnodevlanint $vlan724 || true
-        enableautomode eth2.721 AUTO "10.4.9.0/24" || true
+        crnodevlanint $vlan721 eth2|| true
+        crnodevlanint $vlan724 eth2|| true
+        enableautomodebyname eth2.721 AUTO "10.4.9.0/24" compute || true
+        enableautomodebyname eth2.721 AUTO "10.4.9.0/24" control || true
         ;;
     'intelpod6' )
-        enableautomode eth1 AUTO "10.4.9.0/24" || true
+        maas refresh
+        enableautomodebyname eth1 AUTO "10.4.9.0/24" compute || true
+        enableautomodebyname eth1 AUTO "10.4.9.0/24" control || true
         ;;
     'orangepod2' )
+        maas refresh
+        enableautomodebyname eth4 DHCP "192.168.22.0/24" compute || true
+        enableautomodebyname eth5 AUTO "192.168.12.0/24" compute || true
+        enableautomodebyname eth2 DHCP "192.168.22.0/24" control || true
+        enableautomodebyname eth3 AUTO "192.168.12.0/24" control || true
         ;;
     'attvirpod1' )
+        enableautomodebyname eth1 AUTO "192.168.10.0/24" control || true
         ;;
     'juniperpod1' )
         ;;
+    'cengnlynxpod1' )
+        maas refresh
+        crvlanupdsubnet vlan1201 1 "DataNetwork" 1201 2 || true
+        crvlanupdsubnet vlan1202 2 "PublicNetwork" 1202 3 || true
+        crnodevlanint $vlan1201 eth1 || true
+        crnodevlanint $vlan1202 eth1 || true
+        enableautomode eth1.1201 AUTO "172.16.121.3/24" compute || true
+        enableautomode eth1.1201 AUTO "172.16.121.3/24" control || true
+        ;;
 esac
 
 echo " .... MAAS deployment finished successfully ...."