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
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 ...."
+++ /dev/null
-#!/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
# 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
--- /dev/null
+# 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
--- /dev/null
+# 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