summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Urschatz <dave.urschatz@cengn.ca>2016-01-14 21:31:52 -0500
committerNarinder Gupta <narinder.gupta@canonical.com>2016-01-22 23:49:02 +0000
commit246ea2f77ed22ce9d171d5583029653a7f90a775 (patch)
treea1f3e7a3de5aa8712c4dbb613f7c8974340b2ca9
parent78222b43893fe426c59c90d1d1f8c095b7e36ec4 (diff)
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 <dave.urschatz@cengn.ca> (cherry picked from commit b6ed3294f42593bc3bc45414965ba3e62b53b903)
-rwxr-xr-xci/01-deploybundle.sh4
-rwxr-xr-xci/02-maasdeploy.sh12
-rwxr-xr-xci/maas/cengn_lynx/pod1/deployment.yaml211
-rw-r--r--ci/maas/cengn_lynx/pod1/environments.yaml40
4 files changed, 267 insertions, 0 deletions
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