summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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"