From 246ea2f77ed22ce9d171d5583029653a7f90a775 Mon Sep 17 00:00:00 2001 From: Dave Urschatz Date: Thu, 14 Jan 2016 21:31:52 -0500 Subject: [PATCH] Integrate JOID to CENGN Lynx Lab The intent of this commit is to add the CENGN pod1 configuration data as well as required changes to deployment scripts to consume the configuration. JIRA: JOID-45 Change-Id: Ib517898d48cafbb26f6f39d8930e38fb6e9112c8 Signed-off-by: Dave Urschatz (cherry picked from commit b6ed3294f42593bc3bc45414965ba3e62b53b903) --- ci/01-deploybundle.sh | 4 + ci/02-maasdeploy.sh | 12 ++ ci/maas/cengn_lynx/pod1/deployment.yaml | 211 ++++++++++++++++++++++++++++++ ci/maas/cengn_lynx/pod1/environments.yaml | 40 ++++++ 4 files changed, 267 insertions(+) create mode 100755 ci/maas/cengn_lynx/pod1/deployment.yaml create mode 100644 ci/maas/cengn_lynx/pod1/environments.yaml diff --git a/ci/01-deploybundle.sh b/ci/01-deploybundle.sh index 9452d7ae..8164c7e7 100755 --- a/ci/01-deploybundle.sh +++ b/ci/01-deploybundle.sh @@ -50,6 +50,10 @@ case "$3" in # Choose the external port to go out from gateway to use. sed -i -- 's/# "ext-port": "eth1"/ "ext-port": "eth1"/g' ./bundles.yaml ;; + 'cengnlynxpod1' ) + sed -i -- 's/10.4.1.1/10.120.0.1/g' ./bundles.yaml + sed -i -- 's/# "ext-port": "eth1"/ "ext-port": "eth2.1202"/g' ./bundles.yaml + ;; 'default' ) sed -i -- 's/10.4.1.1/192.168.122.1/g' ./bundles.yaml sed -i -- 's/# "ext-port": "eth1"/ "ext-port": "eth1"/g' ./bundles.yaml diff --git a/ci/02-maasdeploy.sh b/ci/02-maasdeploy.sh index fc42574d..cc34e342 100755 --- a/ci/02-maasdeploy.sh +++ b/ci/02-maasdeploy.sh @@ -20,6 +20,9 @@ case "$1" in 'juniperpod1' ) cp maas/juniper/pod1/deployment.yaml ./deployment.yaml ;; + 'cengnlynxpod1' ) + cp maas/cengn_lynx/pod1/deployment.yaml ./deployment.yaml + ;; * ) virtinstall=1 ./cleanvm.sh @@ -194,6 +197,15 @@ case "$1" in ;; 'juniperpod1' ) ;; + 'cengnlynxpod1' ) + maas refresh + crvlanupdsubnet vlan1201 1 "DataNetwork" 1201 2 || true + crvlanupdsubnet vlan1202 2 "PublicNetwork" 1202 3 || true + crnodevlanint $vlan1201 || true + crnodevlanint $vlan1202 || true + enableautomode eth2.1201 AUTO "172.16.121.3/24" compute || true + enableautomode eth2.1201 AUTO "172.16.121.3/24" control || true + ;; esac echo " .... MAAS deployment finished successfully ...." diff --git a/ci/maas/cengn_lynx/pod1/deployment.yaml b/ci/maas/cengn_lynx/pod1/deployment.yaml new file mode 100755 index 00000000..0652dcc9 --- /dev/null +++ b/ci/maas/cengn_lynx/pod1/deployment.yaml @@ -0,0 +1,211 @@ +# This file defines the deployment for the MAAS environment which is to be +# deployed and automated. +cengn-lynx-pod1: + 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-cengn-lynx + # TODO interfaces: ['bridge=brAdm,model=virtio','bridge=brData,model=virtio','bridge=brPublic,model=virtio'] + interfaces: ['bridge=brAdm,model=virtio','bridge=brPublic,model=virtio'] + memory: 4096 + vcpus: 4 + arch: amd64 + pool: default + disk_size: 160G + + # Apt http proxy setting(s) + apt_http_proxy: + + apt_sources: + - ppa:maas/next + - 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.120.0.2/system + + # Defines the IP Address that the configuration script will use to + # to access the MAAS controller via SSH. + ip_address: 10.120.0.3 + + # 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: + upstream_dns: 192.168.60.1 + maas_name: cengnlynxpod1 + # 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.120.0.3 + netmask 255.255.255.0 + network 10.120.0.0 + broadcast 10.120.0.255 + gateway 10.120.0.254 + dns-nameservers 192.168.60.1 8.8.8.8 127.0.0.1 + + auto eth1 + iface eth1 inet static + address 172.16.121.3 + netmask 255.255.255.0 + + auto eth2 + iface eth2 inet static + address 172.16.122.3 + netmask 255.255.255.0 + + + # 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.120.0.3 + subnet_mask: 255.255.255.0 + broadcast_ip: 10.120.0.255 + router_ip: 10.120.0.254 + static_range: + low: 10.120.0.20 + high: 10.120.0.100 + dynamic_range: + low: 10.120.0.101 + high: 10.120.0.200 + - device: eth1 + ip: 172.16.121.3 + subnet_mask: 255.255.255.0 + broadcast_ip: 172.16.121.255 + management: 1 + static_range: + low: 172.16.121.20 + high: 172.16.121.100 + dynamic_range: + low: 172.16.121.101 + high: 172.16.121.200 + - device: eth2 + ip: 172.16.122.3 + subnet_mask: 255.255.255.0 + broadcast_ip: 172.16.122.255 + management: 1 + static_range: + low: 172.16.122.20 + high: 172.16.122.100 + dynamic_range: + low: 172.16.122.101 + high: 172.16.122.200 + + # Defines the physical nodes which are added to the MAAS cluster + # controller upon startup of the node. + nodes: + - name: node1-compute + tags: compute + architecture: amd64/generic + mac_addresses: + - "0c:c4:7a:3a:c5:b6" + power: + type: ipmi + address: 192.168.42.72 + user: root + pass: root + driver: LAN_2_0 + + - name: node2-compute + tags: compute + architecture: amd64/generic + mac_addresses: + - "0c:c4:7a:3a:b2:ae" + power: + type: ipmi + address: 192.168.42.40 + user: root + pass: root + driver: LAN_2_0 + + - name: node3-control + tags: control + architecture: amd64/generic + mac_addresses: + - "0c:c4:7a:1f:6f:c0" + power: + type: ipmi + address: 192.168.42.33 + user: root + pass: root + driver: LAN_2_0 + + - name: node4-control + tags: control + architecture: amd64/generic + mac_addresses: + - "0c:c4:7a:31:9d:bc" + power: + type: ipmi + address: 192.168.42.6 + user: root + pass: root + driver: LAN_2_0 + + - name: node5-control + tags: control + architecture: amd64/generic + mac_addresses: + - "00:25:90:fd:2e:48" + power: + type: ipmi + address: 192.168.42.35 + user: root + pass: root + driver: LAN_2_0 + + +# - 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','bridge=brPublic,model=virtio'] + memory: 4096 + vcpus: 4 + arch: amd64 + pool: default + disk_size: 120G diff --git a/ci/maas/cengn_lynx/pod1/environments.yaml b/ci/maas/cengn_lynx/pod1/environments.yaml new file mode 100644 index 00000000..e1b18695 --- /dev/null +++ b/ci/maas/cengn_lynx/pod1/environments.yaml @@ -0,0 +1,40 @@ +default: cengn-lynx-pod1 + +environments: + + # https://juju.ubuntu.com/docs/config-maas.html + cengn-lynx-pod1: + type: maas + + # maas-server specifies the location of the MAAS server. It must + # specify the base path. + # + maas-server: 'http://10.120.0.3:80/MAAS' + + # maas-oauth holds the OAuth credentials from MAAS. + # + maas-oauth: '2RqvWSuUgT6EM9JDZT:QDMascKSWm67p92D6s:VZBhsHPUJs9TD4VPHqTzLrTqT3zPGya4' + + # maas-server bootstrap ssh connection options + # + + # bootstrap-timeout time to wait contacting a state server, in seconds. + bootstrap-timeout: 1800 + + # Whether or not to refresh the list of available updates for an + # OS. The default option of true is recommended for use in + # production systems, but disabling this can speed up local + # deployments for development or testing. + # + enable-os-refresh-update: false + + # Whether or not to perform OS upgrades when machines are + # provisioned. The default option of true is recommended for use + # in production systems, but disabling this can speed up local + # deployments for development or testing. + # + enable-os-upgrade: false + + + admin-secret: admin + default-series: trusty -- 2.16.6