diff options
Diffstat (limited to 'ci/maas')
-rw-r--r-- | ci/maas/att/virpod1/deployment.yaml | 126 | ||||
-rw-r--r-- | ci/maas/att/virpod1/interfaces.host | 12 | ||||
-rw-r--r-- | ci/maas/att/virpod1/lxc-add-more-interfaces | 35 |
3 files changed, 173 insertions, 0 deletions
diff --git a/ci/maas/att/virpod1/deployment.yaml b/ci/maas/att/virpod1/deployment.yaml new file mode 100644 index 00000000..dd57d150 --- /dev/null +++ b/ci/maas/att/virpod1/deployment.yaml @@ -0,0 +1,126 @@ +# 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: opnfv-maas-att + 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.1.2/system + + # Defines the IP Address that the configuration script will use to + # to access the MAAS controller via SSH. + ip_address: 192.168.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: 192.168.1.2 + maas_name: intelpod6 + # 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.1.2 + netmask 255.255.255.0 + network 192.168.1.0 + broadcast 192.168.1.255 + gateway 192.168.1.1 + dns-nameservers 192.168.1.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.1.2 + subnet_mask: 255.255.255.0 + broadcast_ip: 192.168.1.255 + router_ip: 192.168.1.1 + static_range: + low: 192.168.1.20 + high: 192.168.1.100 + dynamic_range: + low: 192.168.1.101 + high: 192.168.1.200 + + # Defines the physical nodes which are added to the MAAS cluster + # controller upon startup of the node. + nodes: + - name: node2-control + tags: control + architecture: amd64/generic + mac_addresses: + - "00:1e:67:e0:0b:71" + power: + type: ether_wake + address: 38:63:bb:43:b8:9c + + - name: node5-compute + tags: compute + architecture: amd64/generic + mac_addresses: + - "00:1e:67:cf:bc:f7" + power: + type: ether_wake + address: 38:63:bb:43:b8:9d + + # 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 diff --git a/ci/maas/att/virpod1/interfaces.host b/ci/maas/att/virpod1/interfaces.host new file mode 100644 index 00000000..e837b2f1 --- /dev/null +++ b/ci/maas/att/virpod1/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/att/virpod1/lxc-add-more-interfaces b/ci/maas/att/virpod1/lxc-add-more-interfaces new file mode 100644 index 00000000..d9512c31 --- /dev/null +++ b/ci/maas/att/virpod1/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" |