Added support for Orange lab POD5 along with some renaming of the files. 51/2151/1
authorNarinder Gupta <narinder.gupta@canonical.com>
Wed, 30 Sep 2015 18:51:37 +0000 (13:51 -0500)
committerNarinder Gupta <narinder.gupta@canonical.com>
Wed, 30 Sep 2015 18:51:37 +0000 (13:51 -0500)
Change-Id: I30739b0a56fbe9f65dbe3fb503d53221fbb046b9

ci/02-maasdeploy.sh
ci/intel/pod5/maas/config.sh [deleted file]
ci/maas/intel/pod5/deployment.yaml [moved from ci/intel/pod5/maas/deployment.yaml with 98% similarity]
ci/maas/intel/pod5/environment.yaml [moved from ci/intel/pod5/environment.yaml with 100% similarity]
ci/maas/intel/pod6/deployment.yaml [new file with mode: 0755]
ci/maas/orange/pod2/deployment.yaml [new file with mode: 0755]

index d56cd9f..2df7c0a 100755 (executable)
@@ -4,10 +4,16 @@ set -ex
 
 case "$1" in
     'intelpod5' )
-        cp intel/pod5/maas/deployment.yaml ./deployment.yaml
+        cp maas/intel/pod5/deployment.yaml ./deployment.yaml
+        ;;
+    'intelpod6' )
+        cp maas/intel/pod6/deployment.yaml ./deployment.yaml
+        ;;
+    'orangepod2' )
+        cp maas/orange/pod2/deployment.yaml ./deployment.yaml
         ;;
     * )
-        cp intel/pod5/maas/deployment.yaml ./deployment.yaml
+        cp maas/intel/pod5/deployment.yaml ./deployment.yaml
         ;;
 esac
 
@@ -15,11 +21,29 @@ echo "... Deployment of maas Started ...."
 sudo apt-add-repository ppa:maas-deployers/stable -y
 sudo apt-get update -y
 sudo apt-get install maas-deployer -y
+
 if [ ! -e /home/ubuntu/.ssh/id_rsa ]; then
     ssh-keygen -N '' -f /home/ubuntu/.ssh/id_rsa
 fi
 sudo adduser ubuntu libvirtd
-cat /home/ubuntu/.ssh/id_rsa.pub > /home/ubuntu/.ssh/authorized_keys
+
+if [ ! 'virsh pool-list | grep default' ]; then
+
+    virsh pool-define /dev/stdin <<EOF
+<pool type='dir'>
+  <name>default</name>
+  <target>
+    <path>/var/lib/libvirt/images</path>
+  </target>
+</pool>
+EOF
+
+    virsh pool-start default
+    virsh pool-autostart default
+
+fi
+
+cat /home/ubuntu/.ssh/id_rsa.pub >> /home/ubuntu/.ssh/authorized_keys
 maas-deployer -c deployment.yaml -d --force
 echo "... Deployment of maas finish ...."
 
diff --git a/ci/intel/pod5/maas/config.sh b/ci/intel/pod5/maas/config.sh
deleted file mode 100644 (file)
index b5190b0..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/bash
-
-# TODO
-# run the script to configure MAASS with set of data
-MAASUSER=admin
-MAASPASS=admin
-MAASINTF="br0"
-MAASGATEWAY=10.4.0.1
-MAASDHCPIPSTART=10.4.1.50
-MAASDHCPIPEND=10.4.1.254
-MAASSTATICSTART=10.4.2.20
-MAASSTATICEND=10.4.2.254
-MAASUPSTREAMDNS=10.4.0.2
-MAASPROXY="http://10.4.1.1:8000/"
-# END
-
-export MAAS_URL="http://10.4.1.1/MAAS/"
-export APIKEY="c6tcQz4tyS3ALajCtF:sqcWhw8MkxTjUDLZrm:hBhszBLv5EqrY8h6yktFXWUT5825ShvE"
-
-# TODO
-# collect the mac address and BMC detais to add a node into MAAS.
-INTELPOD5SERV1BMCIP=10.4.2.8
-INTELPOD5SERV1MAC1="00:1e:67:e0:0a:4a"
-INTELPOD5SERV1MAC2="00:1e:67:e0:0a:4b"
-INTELPOD5SERV1MAC3="00:1e:67:d0:9a:10"
-INTELPOD5SERV1MAC4="00:1e:67:d0:9a:11"
-
-INTELPOD5SERV2BMCIP=10.4.2.9
-INTELPOD5SERV2MAC1="00:1e:67:e0:08:b0"
-INTELPOD5SERV2MAC2="00:1e:67:e0:08:b1"
-INTELPOD5SERV2MAC3="00:1e:67:d0:99:ee"
-INTELPOD5SERV2MAC4="00:1e:67:d0:99:ef"
-
-INTELPOD5SERV3BMCIP=10.4.2.7
-INTELPOD5SERV3MAC1="00:1e:67:e0:08:7e"
-INTELPOD5SERV3MAC2="00:1e:67:e0:08:7f"
-INTELPOD5SERV3MAC3="00:1e:67:c2:23:d8"
-INTELPOD5SERV3MAC4="00:1e:67:c2:23:d9"
-
-INTELPOD5SERV4BMCIP=10.4.2.10
-INTELPOD5SERV5MAC1="00:1e:67:cf:b8:92"
-INTELPOD5SERV5MAC2="00:1e:67:cf:b8:93"
-INTELPOD5SERV5MAC3="00:1e:67:d0:9b:0c"
-INTELPOD5SERV5MAC4="00:1e:67:d0:9b:0d"
-
-POWERADDRESS="qemu+ssh://user@10.4.1.1/system"
-POWERID1="bootstrap"
-POWERID2="node1"
-POWERID2="node2"
-POWERPASSWORD="Intel.123"
-
-bootstrapMAC1="52:54:00:11:d1:85"
-bootstrapMAC2="52:54:00:61:03:ae"
-
-node1MAC1="52:54:00:1f:dc:44"
-node1MAC2="52:54:00:23:e9:f9"
-
-node2MAC1="52:54:00:08:20:97"
-node2MAC2="52:54:00:af:55:38"
-
-
-# BMC username and password for power management
-INTELPOD5BMCUSERNAME=root
-INTELPOD5BMCPASS=root
-
-# END
-maas login admin $MAAS_URL $APIKEY
-#maas admin nodes list
similarity index 98%
rename from ci/intel/pod5/maas/deployment.yaml
rename to ci/maas/intel/pod5/deployment.yaml
index d89a24f..caae88b 100755 (executable)
@@ -21,6 +21,10 @@ demo-maas:
         # Apt http proxy setting(s)
         apt_http_proxy:
 
+        apt_sources:
+          - ppa:maas/stable
+          - ppa:juju/stable
+
         # Virsh power settings
         # Specifies the uri and keys to use for virsh power control of the 
         # juju virtual machine. If the uri is omitted, the value for the
diff --git a/ci/maas/intel/pod6/deployment.yaml b/ci/maas/intel/pod6/deployment.yaml
new file mode 100755 (executable)
index 0000000..caae88b
--- /dev/null
@@ -0,0 +1,201 @@
+# This file defines the deployment for the MAAS environment which is to be
+# deployed and automated.
+demo-maas:
+    maas:
+        # Defines the general setup for the MAAS environment, including the
+        # username and password for the host as well as the MAAS server.
+        user: ubuntu
+        password: ubuntu
+
+        # Contains the virtual machine parameters for creating the MAAS virtual
+        # server. Here you can configure the name of the virsh domain, the
+        # parameters for how the network is attached.
+        name: maas-boot-vm-dc1
+        interfaces: ['bridge=br0,model=virtio']
+        memory: 4096
+        vcpus: 2
+        arch: amd64
+        pool: default
+        disk_size: 160G
+
+        # Apt http proxy setting(s)
+        apt_http_proxy:
+
+        apt_sources:
+          - ppa:maas/stable
+          - ppa:juju/stable
+
+        # Virsh power settings
+        # Specifies the uri and keys to use for virsh power control of the 
+        # juju virtual machine. If the uri is omitted, the value for the
+        # --remote is used. If no power settings are desired, then do not
+        # supply the virsh block.
+        virsh:
+            rsa_priv_key: /home/ubuntu/.ssh/id_rsa
+            rsa_pub_key: /home/ubuntu/.ssh/id_rsa.pub
+            uri: qemu+ssh://ubuntu@10.4.1.1/system
+
+        # Defines the IP Address that the configuration script will use to
+        # to access the MAAS controller via SSH.
+        ip_address: 10.4.1.2
+
+        # This section allows the user to set a series of options on the
+        # MAAS server itself. The list of config options can be found in
+        # the upstream MAAS documentation:
+        #  - http://maas.ubuntu.com/docs/api.html#maas-server
+        settings:
+            main_archive: http://us.archive.ubuntu.com/ubuntu
+            upstream_dns: 10.4.0.2
+            maas_name: automaas
+            # kernel_opts: "console=tty0 console=ttyS1,115200n8"
+            # ntp_server: ntp.ubuntu.com
+
+        # This section is used to define the networking parameters for when
+        # the node first comes up. It is fed into the meta-data cloud-init
+        # configuration and is used to configure the networking piece of the
+        # service. The contents of this section are written directly to the
+        # /etc/network/interfaces file.
+        #
+        # Please note, this is slightly different than the
+        # node-group-interfaces section below. This will configure the
+        # machine's networking params, and the node-group-interfaces will
+        # configure the maas node-group interfaces which is used for
+        # controlling the dhcp, dns, etc.
+        network_config: |
+            auto lo
+            iface lo inet loopback
+
+            auto eth0
+            iface eth0 inet static
+            address 10.4.1.2
+            netmask 255.255.248.0
+            network 10.4.0.0
+            broadcast 10.4.7.255
+            gateway 10.4.0.1
+            dns-nameservers 10.4.0.2 127.0.0.1
+
+            #auto lo
+            #iface lo inet loopback
+
+            #auto eth0
+            #iface eth0 inet static
+            #  address 192.168.122.2
+            #  netmask 255.255.248.0
+            #  network 192.168.122.0
+            #  broadcast 192.168.122.255
+            #  gateway 192.168.122.1
+            #  dns-nameservers 192.168.122.1 127.0.0.1
+
+        # The node-group-interfaces section is used to configure the MAAS
+        # network interfaces. Basic configuration is supported, such as which
+        # device should be bound, the range of IP addresses, etc.
+        # Note: this may contain the special identifiers:
+        #   ${maas_net} - the first 3 octets of the ipv4 address
+        #   ${maas_ip} - the ip address of the MAAS controller 
+        node_group_ifaces:
+            - device: eth0
+              ip: 10.4.1.2
+              subnet_mask: 255.255.248.0
+              broadcast_ip: 10.4.7.255
+              router_ip: 10.4.0.1
+              static_range:
+                  low: 10.4.2.20
+                  high: 10.4.2.254
+              dynamic_range:
+                  low: 10.4.1.50
+                  high: 10.4.1.254
+
+        # Defines the physical nodes which are added to the MAAS cluster
+        # controller upon startup of the node.
+        nodes:
+            - name: node1
+              tags: physical
+              architecture: amd64/generic
+              mac_addresses:
+                  - "00:1e:67:e0:0a:4a"
+                  - "00:1e:67:e0:0a:4b"
+                  - "00:1e:67:d0:9a:10"
+                  - "00:1e:67:d0:9a:11"
+              power:
+                  type: ipmi
+                  address: 10.4.2.8
+                  user: root
+                  pass: root
+                  driver: LAN_2_0
+#              sticky_ip_address:
+#                  mac_address: "38:63:bb:43:b8:9c"
+#                  requested_address: 192.168.122.5
+                
+            - name: node2
+              tags: physical
+              architecture: amd64/generic
+              mac_addresses:
+                  - "00:1e:67:e0:08:b0"
+                  - "00:1e:67:e0:08:b1"
+                  - "00:1e:67:d0:99:ee"
+                  - "00:1e:67:d0:99:ef"
+              power:
+                  type: ipmi
+                  address: 10.4.2.9
+                  user: root
+                  pass: root
+                  driver: LAN_2_0
+#              sticky_ip_address:
+#                  mac_address: "38:63:bb:43:b8:9c"
+#                  requested_address: 192.168.122.5
+
+            - name: node3
+              tags: physical
+              architecture: amd64/generic
+              mac_addresses:
+                  - "00:1e:67:e0:08:7e"
+                  - "00:1e:67:e0:08:7f"
+                  - "00:1e:67:c2:23:d8"
+                  - "00:1e:67:c2:23:d9"
+              power:
+                  type: ipmi
+                  address: 10.4.2.7
+                  user: root
+                  pass: root
+                  driver: LAN_2_0
+#              sticky_ip_address:
+#                  mac_address: "38:63:bb:43:b8:9c"
+#                  requested_address: 192.168.122.5
+
+            - name: node4
+              tags: physical
+              architecture: amd64/generic
+              mac_addresses:
+                  - "00:1e:67:cf:b8:92"
+                  - "00:1e:67:cf:b8:93"
+                  - "00:1e:67:d0:9b:0c"
+                  - "00:1e:67:d0:9b:0d"
+              power:
+                  type: ipmi
+                  address: 10.4.2.10
+                  user: root
+                  pass: root
+                  driver: LAN_2_0
+#              sticky_ip_address:
+#                  mac_address: "38:63:bb:43:b8:9c"
+#                  requested_address: 192.168.122.5
+
+#            - name: jenkins-slave
+#              tags: jenkins-slave
+#              architecture: amd64/generic
+#              mac_addresses:
+#                  - "52:54:00:f0:5c:53"
+#              power:
+#                  type: virsh
+#                  address: qemu+ssh://ubuntu@10.4.1.1/system
+
+    # Contains the virtual machine parameters for creating the Juju bootstrap
+    # node virtual machine
+    juju-bootstrap:
+        name: bootstrap
+        interfaces: ['bridge=br0,model=virtio']
+        memory: 4096
+        vcpus: 2
+        arch: amd64
+        pool: default
+        disk_size: 120G
diff --git a/ci/maas/orange/pod2/deployment.yaml b/ci/maas/orange/pod2/deployment.yaml
new file mode 100755 (executable)
index 0000000..a52b9ff
--- /dev/null
@@ -0,0 +1,201 @@
+# This file defines the deployment for the MAAS environment which is to be
+# deployed and automated.
+demo-maas:
+    maas:
+        # Defines the general setup for the MAAS environment, including the
+        # username and password for the host as well as the MAAS server.
+        user: ubuntu
+        password: ubuntu
+
+        # Contains the virtual machine parameters for creating the MAAS virtual
+        # server. Here you can configure the name of the virsh domain, the
+        # parameters for how the network is attached.
+        name: maas-boot-vm-dc1
+        interfaces: ['bridge=brAdm,model=virtio']
+        memory: 4096
+        vcpus: 2
+        arch: amd64
+        pool: default
+        disk_size: 160G
+
+        # Apt http proxy setting(s)
+        apt_http_proxy:
+
+        apt_sources:
+          - ppa:maas/stable
+          - ppa:juju/stable
+
+        # Virsh power settings
+        # Specifies the uri and keys to use for virsh power control of the 
+        # juju virtual machine. If the uri is omitted, the value for the
+        # --remote is used. If no power settings are desired, then do not
+        # supply the virsh block.
+        virsh:
+            rsa_priv_key: /home/ubuntu/.ssh/id_rsa
+            rsa_pub_key: /home/ubuntu/.ssh/id_rsa.pub
+            uri: qemu+ssh://ubuntu@192.168.2.4/system
+
+        # Defines the IP Address that the configuration script will use to
+        # to access the MAAS controller via SSH.
+        ip_address: 192.168.2.5
+
+        # This section allows the user to set a series of options on the
+        # MAAS server itself. The list of config options can be found in
+        # the upstream MAAS documentation:
+        #  - http://maas.ubuntu.com/docs/api.html#maas-server
+        settings:
+            main_archive: http://fr.archive.ubuntu.com/ubuntu
+            upstream_dns: 192.168.0.4
+            maas_name: automaas
+            # kernel_opts: "console=tty0 console=ttyS1,115200n8"
+            # ntp_server: ntp.ubuntu.com
+
+        # This section is used to define the networking parameters for when
+        # the node first comes up. It is fed into the meta-data cloud-init
+        # configuration and is used to configure the networking piece of the
+        # service. The contents of this section are written directly to the
+        # /etc/network/interfaces file.
+        #
+        # Please note, this is slightly different than the
+        # node-group-interfaces section below. This will configure the
+        # machine's networking params, and the node-group-interfaces will
+        # configure the maas node-group interfaces which is used for
+        # controlling the dhcp, dns, etc.
+        network_config: |
+            auto lo
+            iface lo inet loopback
+
+            auto eth0
+            iface eth0 inet static
+            address 192.168.2.5
+            netmask 255.255.255.0
+            network 192.168.2.0
+            broadcast 192.168.2.255
+            gateway 192.168.2.4
+            dns-nameservers 192.168.0.4 127.0.0.1
+
+            #auto lo
+            #iface lo inet loopback
+
+            #auto eth0
+            #iface eth0 inet static
+            #  address 192.168.122.2
+            #  netmask 255.255.248.0
+            #  network 192.168.122.0
+            #  broadcast 192.168.122.255
+            #  gateway 192.168.122.1
+            #  dns-nameservers 192.168.122.1 127.0.0.1
+
+        # The node-group-interfaces section is used to configure the MAAS
+        # network interfaces. Basic configuration is supported, such as which
+        # device should be bound, the range of IP addresses, etc.
+        # Note: this may contain the special identifiers:
+        #   ${maas_net} - the first 3 octets of the ipv4 address
+        #   ${maas_ip} - the ip address of the MAAS controller 
+        node_group_ifaces:
+            - device: eth0
+              ip: 192.168.2.5
+              subnet_mask: 255.255.255.0
+              broadcast_ip: 192.168.2.255
+              router_ip: 192.168.2.1
+              static_range:
+                  low: 192.168.2.30
+                  high: 192.168.2.150
+              dynamic_range:
+                  low: 192.168.2.151
+                  high: 192.168.2.254
+
+        # Defines the physical nodes which are added to the MAAS cluster
+        # controller upon startup of the node.
+#        nodes:
+#            - name: node1
+#              tags: physical
+#              architecture: amd64/generic
+#              mac_addresses:
+#                  - "00:1e:67:e0:0a:4a"
+#                  - "00:1e:67:e0:0a:4b"
+#                  - "00:1e:67:d0:9a:10"
+#                  - "00:1e:67:d0:9a:11"
+#              power:
+#                  type: ipmi
+#                  address: 10.4.2.8
+#                  user: root
+#                  pass: root
+#                  driver: LAN_2_0
+#              sticky_ip_address:
+#                  mac_address: "38:63:bb:43:b8:9c"
+#                  requested_address: 192.168.122.5
+#                
+#            - name: node2
+#              tags: physical
+#              architecture: amd64/generic
+#              mac_addresses:
+#                  - "00:1e:67:e0:08:b0"
+#                  - "00:1e:67:e0:08:b1"
+#                  - "00:1e:67:d0:99:ee"
+#                  - "00:1e:67:d0:99:ef"
+#              power:
+#                  type: ipmi
+#                  address: 10.4.2.9
+#                  user: root
+#                  pass: root
+#                  driver: LAN_2_0
+#              sticky_ip_address:
+#                  mac_address: "38:63:bb:43:b8:9c"
+#                  requested_address: 192.168.122.5
+#
+#            - name: node3
+#              tags: physical
+#              architecture: amd64/generic
+#              mac_addresses:
+#                  - "00:1e:67:e0:08:7e"
+#                  - "00:1e:67:e0:08:7f"
+#                  - "00:1e:67:c2:23:d8"
+#                  - "00:1e:67:c2:23:d9"
+#              power:
+#                  type: ipmi
+#                  address: 10.4.2.7
+#                  user: root
+#                  pass: root
+#                  driver: LAN_2_0
+#              sticky_ip_address:
+#                  mac_address: "38:63:bb:43:b8:9c"
+#                  requested_address: 192.168.122.5
+#
+#            - name: node4
+#              tags: physical
+#              architecture: amd64/generic
+#              mac_addresses:
+#                  - "00:1e:67:cf:b8:92"
+#                  - "00:1e:67:cf:b8:93"
+#                  - "00:1e:67:d0:9b:0c"
+#                  - "00:1e:67:d0:9b:0d"
+#              power:
+#                  type: ipmi
+#                  address: 10.4.2.10
+#                  user: root
+#                  pass: root
+#                  driver: LAN_2_0
+#              sticky_ip_address:
+#                  mac_address: "38:63:bb:43:b8:9c"
+#                  requested_address: 192.168.122.5
+
+#            - name: jenkins-slave
+#              tags: jenkins-slave
+#              architecture: amd64/generic
+#              mac_addresses:
+#                  - "52:54:00:f0:5c:53"
+#              power:
+#                  type: virsh
+#                  address: qemu+ssh://ubuntu@10.4.1.1/system
+
+    # Contains the virtual machine parameters for creating the Juju bootstrap
+    # node virtual machine
+    juju-bootstrap:
+        name: bootstrap
+        interfaces: ['bridge=brAdm,model=virtio']
+        memory: 4096
+        vcpus: 2
+        arch: amd64
+        pool: default
+        disk_size: 120G