modified to download both trusty and xenial images.
[joid.git] / ci / 02-maasdeploy.sh
index e0e3ca8..3396fdc 100755 (executable)
@@ -11,6 +11,12 @@ case "$1" in
     'intelpod6' )
         cp maas/intel/pod6/deployment.yaml ./deployment.yaml
         ;;
+    'intelpod9' )
+        cp maas/intel/pod9/deployment.yaml ./deployment.yaml
+        ;;
+    'orangepod1' )
+        cp maas/orange/pod1/deployment.yaml ./deployment.yaml
+        ;;
     'orangepod2' )
         cp maas/orange/pod2/deployment.yaml ./deployment.yaml
         ;;
@@ -23,6 +29,9 @@ case "$1" in
     'cengnlynxpod1' )
         cp maas/cengn_lynx/pod1/deployment.yaml ./deployment.yaml
         ;;
+    'custom' )
+        cp maas/custom/deployment.yaml ./deployment.yaml
+        ;;
     * )
         virtinstall=1
         ./cleanvm.sh
@@ -34,7 +43,7 @@ esac
 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. 
+#make sure no password asked during the deployment.
 
 echo "$USER ALL=(ALL) NOPASSWD:ALL" > 90-joid-init
 
@@ -68,8 +77,17 @@ 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
+
+# To avoid problem between apiclient/maas_client and apiclient from google
+# we remove the package google-api-python-client from yardstick installer
+if [ $(pip list |grep google-api-python-client |wc -l) == 1 ]; then
+    sudo pip uninstall google-api-python-client
+fi
+
 sudo pip install shyaml
 juju init -f
 
@@ -122,7 +140,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
  }
@@ -137,8 +155,6 @@ maas_ip=`grep " ip_address" deployment.yaml | cut -d " "  -f 10`
 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 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.
@@ -151,11 +167,15 @@ if [ "$virtinstall" -eq 1 ]; then
 
     sudo virt-install --connect qemu:///system --name node2-compute --ram 8192 --vcpus 4 --disk size=120,format=qcow2,bus=virtio,io=native,pool=default --network bridge=virbr0,model=virtio --network bridge=virbr0,model=virtio --boot network,hd,menu=off --noautoconsole --vnc --print-xml | tee node2-compute
 
+    sudo virt-install --connect qemu:///system --name node5-compute --ram 8192 --vcpus 4 --disk size=120,format=qcow2,bus=virtio,io=native,pool=default --network bridge=virbr0,model=virtio --network bridge=virbr0,model=virtio --boot network,hd,menu=off --noautoconsole --vnc --print-xml | tee node5-compute
+
     node1controlmac=`grep  "mac address" node1-control | head -1 | cut -d "'" -f 2`
     node2computemac=`grep  "mac address" node2-compute | head -1 | cut -d "'" -f 2`
+    node5computemac=`grep  "mac address" node5-compute | head -1 | cut -d "'" -f 2`
 
     sudo virsh -c qemu:///system define --file node1-control
     sudo virsh -c qemu:///system define --file node2-compute
+    sudo virsh -c qemu:///system define --file node5-compute
 
     maas maas tags new name='control'
     maas maas tags new name='compute'
@@ -168,23 +188,34 @@ if [ "$virtinstall" -eq 1 ]; then
 
     maas maas tag update-nodes compute add=$computenodeid
 
+    computenodeid=`maas maas nodes new autodetect_nodegroup='yes' name='node5-compute' tags='compute' hostname='node5-compute' power_type='virsh' mac_addresses=$node5computemac power_parameters_power_address='qemu+ssh://'$USER'@192.168.122.1/system' architecture='amd64/generic' power_parameters_power_id='node5-compute' | grep system_id | cut -d '"' -f 4 `
+
+    maas maas tag update-nodes compute add=$computenodeid
 fi
 
 # Enable vlan interfaces with maas
 case "$1" in
     'intelpod5' )
         maas refresh
-        crvlanupdsubnet vlan721 1 "DataNetwork" 721 2 || true
-        crvlanupdsubnet vlan724 2 "PublicNetwork" 724 3 || true
-        crnodevlanint $vlan721 || true
-        crnodevlanint $vlan724 || true
-        enableautomodebyname eth2.721 AUTO "10.4.9.0/24" compute || true
-        enableautomodebyname eth2.721 AUTO "10.4.9.0/24" control || true
+        enableautomodebyname eth4 AUTO "10.5.12.0/24" compute || true
+        enableautomodebyname eth4 AUTO "10.5.12.0/24" control || true
         ;;
     'intelpod6' )
         maas refresh
-        enableautomodebyname eth1 AUTO "10.4.9.0/24" compute || true
-        enableautomodebyname eth1 AUTO "10.4.9.0/24" control || true
+        enableautomodebyname eth4 AUTO "10.6.12.0/24" compute || true
+        enableautomodebyname eth4 AUTO "10.6.12.0/24" control || true
+        ;;
+    'intelpod9' )
+        maas refresh
+        enableautomodebyname eth4 AUTO "10.9.12.0/24" compute || true
+        enableautomodebyname eth4 AUTO "10.9.12.0/24" control || true
+        ;;
+    'orangepod1' )
+        maas refresh
+        enableautomodebyname eth2 DHCP "192.168.21.0/24" compute || true
+        enableautomodebyname eth3 AUTO "192.168.11.0/24" compute || true
+        enableautomodebyname eth2 DHCP "192.168.21.0/24" control || true
+        enableautomodebyname eth3 AUTO "192.168.11.0/24" control || true
         ;;
     'orangepod2' )
         maas refresh
@@ -194,6 +225,7 @@ case "$1" in
         enableautomodebyname eth3 AUTO "192.168.12.0/24" control || true
         ;;
     'attvirpod1' )
+        enableautomodebyname eth1 AUTO "192.168.10.0/24" control || true
         ;;
     'juniperpod1' )
         ;;
@@ -201,10 +233,10 @@ case "$1" in
         maas refresh
         crvlanupdsubnet vlan1201 1 "DataNetwork" 1201 2 || true
         crvlanupdsubnet vlan1202 2 "PublicNetwork" 1202 3 || true
-        crnodevlanint $vlan1201 || true
-        crnodevlanint $vlan1202 || true
-        enableautomode eth2.1201 AUTO "172.16.121.3/24" compute || true
-        enableautomode eth2.1201 AUTO "172.16.121.3/24" control || 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
 
@@ -212,4 +244,3 @@ echo " .... MAAS deployment finished successfully ...."
 
 #echo "... Deployment of opnfv release Started ...."
 #python deploy.py $maas_ip
-