From d63001c410ec8502802c6f2be9edd70fb102ac75 Mon Sep 17 00:00:00 2001 From: Narinder Gupta Date: Wed, 30 Sep 2015 13:51:37 -0500 Subject: [PATCH] Added support for Orange lab POD5 along with some renaming of the files. Change-Id: I30739b0a56fbe9f65dbe3fb503d53221fbb046b9 --- ci/02-maasdeploy.sh | 30 ++- ci/intel/pod5/maas/config.sh | 68 ------- .../pod5/maas => maas/intel/pod5}/deployment.yaml | 4 + ci/{ => maas}/intel/pod5/environment.yaml | 0 ci/maas/intel/pod6/deployment.yaml | 201 +++++++++++++++++++++ ci/maas/orange/pod2/deployment.yaml | 201 +++++++++++++++++++++ 6 files changed, 433 insertions(+), 71 deletions(-) delete mode 100644 ci/intel/pod5/maas/config.sh rename ci/{intel/pod5/maas => maas/intel/pod5}/deployment.yaml (98%) rename ci/{ => maas}/intel/pod5/environment.yaml (100%) create mode 100755 ci/maas/intel/pod6/deployment.yaml create mode 100755 ci/maas/orange/pod2/deployment.yaml diff --git a/ci/02-maasdeploy.sh b/ci/02-maasdeploy.sh index d56cd9f0..2df7c0a8 100755 --- a/ci/02-maasdeploy.sh +++ b/ci/02-maasdeploy.sh @@ -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 < + default + + /var/lib/libvirt/images + + +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 index b5190b0f..00000000 --- a/ci/intel/pod5/maas/config.sh +++ /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 diff --git a/ci/intel/pod5/maas/deployment.yaml b/ci/maas/intel/pod5/deployment.yaml similarity index 98% rename from ci/intel/pod5/maas/deployment.yaml rename to ci/maas/intel/pod5/deployment.yaml index d89a24fa..caae88bd 100755 --- a/ci/intel/pod5/maas/deployment.yaml +++ b/ci/maas/intel/pod5/deployment.yaml @@ -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/intel/pod5/environment.yaml b/ci/maas/intel/pod5/environment.yaml similarity index 100% rename from ci/intel/pod5/environment.yaml rename to ci/maas/intel/pod5/environment.yaml diff --git a/ci/maas/intel/pod6/deployment.yaml b/ci/maas/intel/pod6/deployment.yaml new file mode 100755 index 00000000..caae88bd --- /dev/null +++ b/ci/maas/intel/pod6/deployment.yaml @@ -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 index 00000000..a52b9ff7 --- /dev/null +++ b/ci/maas/orange/pod2/deployment.yaml @@ -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 -- 2.16.6