summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarinder Gupta <narinder.gupta@canonical.com>2015-12-02 22:43:18 -0600
committerNarinder Gupta <narinder.gupta@canonical.com>2015-12-02 22:43:18 -0600
commitb4ee809c40d27d3323bb19b4edfd188ebd0535d6 (patch)
treecc644083e204edadede08f0a2bc4e1bf83b840f1
parent0bbbf469f23853b861ebdee8a462b527da2696be (diff)
modified to include the default deployment of MAAS on virbr0 in
case no lab is provided. modified maas deployment creating the default storage pool. Change-Id: Ic48b95222c01e5b5f2984777776c306dbd226832
-rwxr-xr-xci/02-maasdeploy.sh14
-rwxr-xr-xci/deploy.sh9
-rwxr-xr-xci/deploy.yaml6
-rw-r--r--ci/maas/default/deployment.yaml137
-rw-r--r--ci/maas/default/interfaces.host12
-rw-r--r--ci/maas/default/lxc-add-more-interfaces35
6 files changed, 194 insertions, 19 deletions
diff --git a/ci/02-maasdeploy.sh b/ci/02-maasdeploy.sh
index d5e02620..b41db550 100755
--- a/ci/02-maasdeploy.sh
+++ b/ci/02-maasdeploy.sh
@@ -16,7 +16,7 @@ case "$1" in
cp maas/att/virpod1/deployment.yaml ./deployment.yaml
;;
* )
- cp maas/intel/pod5/deployment.yaml ./deployment.yaml
+ cp maas/default/deployment.yaml ./deployment.yaml
;;
esac
@@ -30,15 +30,7 @@ if [ ! -e /var/lib/libvirt/images ]; then
sudo apt-get install libvirt-bin -y
sudo adduser ubuntu libvirtd
- sudo virsh pool-define /dev/stdin <<EOF
-<pool type='dir'>
- <name>default</name>
- <target>
- <path>/var/lib/libvirt/images</path>
- </target>
-</pool>
-EOF
-
+ sudo virsh pool-define-as default --type dir --target /var/lib/libvirt/images/
sudo virsh pool-start default
sudo virsh pool-autostart default
@@ -52,7 +44,7 @@ sudo apt-get install openssh-server git maas-deployer juju juju-deployer maas-cl
juju init -f
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
-maas-deployer -c deployment.yaml -d --force
+sudo maas-deployer -c deployment.yaml -d --force
echo "... Deployment of maas finish ...."
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 8941cdce..0c6fc892 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -7,8 +7,8 @@ set -ex
opnfvsdn=odl
opnfvtype=nonha
-openstack=kilo
-opnfvlab=intelpod5
+openstack=liberty
+opnfvlab=default
opnfvrel=b
read_config() {
@@ -22,7 +22,7 @@ read_config() {
usage() { echo "Usage: $0 [-s <odl|opencontrail>]
[-t <nonha|ha|tip>]
[-o <juno|kilo|liberty>]
- [-l <intelpod5>]
+ [-l <default|intelpod5>]
[-r <a|b>]" 1>&2 exit 1; }
while getopts ":s:t:o:l:h:r:" opt; do
@@ -51,10 +51,9 @@ while getopts ":s:t:o:l:h:r:" opt; do
done
deploy_dep() {
- sudo apt-get install git -y
sudo apt-add-repository ppa:juju/stable -y
sudo apt-get update
- sudo apt-get install juju juju-deployer -y
+ sudo apt-get install juju git juju-deployer -y
juju init -f
cp environments.yaml ~/.juju/
}
diff --git a/ci/deploy.yaml b/ci/deploy.yaml
index 031c86f8..d500676c 100755
--- a/ci/deploy.yaml
+++ b/ci/deploy.yaml
@@ -2,12 +2,12 @@
# deployed and automated.
opnfv:
# Defines the openstack release needs to be get installed.
- release:A
+ release:B
# Defines the openstack release needs to be get installed.
- openstack:kilo
+ openstack:liberty
# Defines the sdn plugin to be get installed.
sdn:odl
# Defines the ha type to be get installed.
type:nonha
# Defines the lab where release to be get installed.
- lab:intellab5
+ lab:default
diff --git a/ci/maas/default/deployment.yaml b/ci/maas/default/deployment.yaml
new file mode 100644
index 00000000..d0c9e6c4
--- /dev/null
+++ b/ci/maas/default/deployment.yaml
@@ -0,0 +1,137 @@
+# This file defines the deployment for the MAAS environment which is to be
+# deployed and automated.
+demo-maas:
+ # Contains the virtual machine parameters for creating the Juju bootstrap
+ # node virtual machine
+ juju-bootstrap:
+ name: bootstrap
+ interfaces: ['bridge=virbr0,model=virtio']
+ memory: 2048
+ vcpus: 2
+ arch: amd64
+ pool: default
+ disk_size: 20G
+ sticky_ip_address:
+ requested_address: 192.168.122.5
+
+ 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: opnfv-maas
+ interfaces: ['bridge=virbr0,model=virtio']
+ memory: 4096
+ vcpus: 2
+ arch: amd64
+ pool: default
+ disk_size: 60G
+
+ # Apt http proxy setting(s)
+ #apt_http_proxy:
+
+ # Package sources. These will be used on the MAAS controller.
+ 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.122.1/system
+
+ # Defines the IP Address that the configuration script will use to
+ # to access the MAAS controller via SSH.
+ ip_address: 192.168.122.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: 192.168.122.1
+ 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.122.2
+ netmask 255.255.255.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
+
+ # See https://maas.ubuntu.com/docs/maascli.html#node-groups for
+ # description and full list of supported options.
+ # NOTE: interfaces are added using the node_group_interfaces section
+ # and only one node_group can be created by this bundle.
+ # Additional node groups can be added post deployment.
+ #node_group:
+ # # This is the cluster DNS name.
+ # name: maas
+
+ # 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.122.2
+ subnet_mask: 255.255.255.0
+ broadcast_ip: 192.168.122.255
+ router_ip: 192.168.122.1
+ static_range:
+ low: 192.168.122.51
+ high: 192.168.122.60
+ dynamic_range:
+ low: 192.168.122.5
+ high: 192.168.122.50
+
+ # Physical nodes to be added to the MAAS cluster. Nodes will be
+ # configured, commissioned and put into the Ready state so
+ # they are ready to be deployed to.
+ #nodes:
+ # - name: node1
+ # tags: api
+ # architecture: amd64/generic
+ # mac_addresses:
+ # - "38:63:bb:43:b8:9c"
+ # power:
+ # type: ipmi
+ # address: 10.0.1.1
+ # user: maas
+ # pass: passw0rd
+ # driver: LAN_2_0
+ # sticky_ip_address:
+ # mac_address: "38:63:bb:43:b8:9c"
+ # requested_address: 192.168.122.6
+
diff --git a/ci/maas/default/interfaces.host b/ci/maas/default/interfaces.host
new file mode 100644
index 00000000..e837b2f1
--- /dev/null
+++ b/ci/maas/default/interfaces.host
@@ -0,0 +1,12 @@
+#### original juju generated part ####
+auto lo
+
+# Primary interface (defining the default route)
+iface eth0 inet manual
+
+# Bridge to use for LXC/KVM containers
+auto juju-br0
+iface juju-br0 inet dhcp
+ bridge_ports eth0
+######################################
+
diff --git a/ci/maas/default/lxc-add-more-interfaces b/ci/maas/default/lxc-add-more-interfaces
new file mode 100644
index 00000000..d9512c31
--- /dev/null
+++ b/ci/maas/default/lxc-add-more-interfaces
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+set -e
+set -u
+
+cat <<EOF >> "$LXC_CONFIG_FILE"
+
+EOF
+
+USERDATA="$LXC_ROOTFS_PATH/var/lib/cloud/seed/nocloud-net/user-data"
+
+additional_interfaces="
+- |
+ cat <<EOF >> /etc/network/interfaces.d/additional-interfaces
+ ## added by juju charm
+ ## those interfaces will be brought up by the upstart job as /etc/init/additional-interfaces.conf
+ ## LP: #1483932
+ EOF
+- machine_agent=\$(hostname | sed -e 's/^juju-/jujud-/')
+- |
+ cat <<EOF > /etc/init/additional-interfaces.conf
+ ## added by juju charm
+ ## LP: #1483932
+ start on started \${machine_agent}
+
+ script
+ sleep 10
+ ifup -a -i /etc/network/interfaces.d/additional-interfaces
+ end script
+ EOF
+"
+additional_interfaces=$(echo "$additional_interfaces" | sed -e 's/$/\\n/' | tr -d '\n')
+
+sed -i.orig -e "s@^runcmd:@\0$additional_interfaces@" \
+ "$USERDATA"