summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorParker Berberian <pberberian@iol.unh.edu>2017-08-21 09:47:46 -0400
committerParker Berberian <pberberian@iol.unh.edu>2017-08-31 13:28:58 -0400
commit399f57bb6af1ae004f49f6d3b1e3c15e47a97064 (patch)
treea7385dc1b9f05556d2dc51c0d50ebe226ae2460c
parenta9e6eea8d8d772fc199c9ed2c273deb2f22028f0 (diff)
Adds Experimental support for Joid
JIRA: N/A Adds a joid installer object, and needed configuration / scripts. Currently, this only works with a no-ha scenario. Change-Id: Ib3076d0341e47d3bebe89ae1b22e87547fe3f524 Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
-rw-r--r--laas-fog/conf/joid.yaml17
-rwxr-xr-xlaas-fog/hostScripts/joidInstall.sh33
-rw-r--r--laas-fog/source/installers/joid.py40
3 files changed, 90 insertions, 0 deletions
diff --git a/laas-fog/conf/joid.yaml b/laas-fog/conf/joid.yaml
new file mode 100644
index 0000000..b38dedc
--- /dev/null
+++ b/laas-fog/conf/joid.yaml
@@ -0,0 +1,17 @@
+---
+database: /var/OPNFV/hosts.db
+dhcp_log: /var/log/messages
+dhcp_server: null
+fog:
+ api_key: /path/to/fog.key # may also put the key directly here
+ server: http://fogserver.com/fog/
+ user_key: /path/to/fog_user.key
+ image_id: 12
+installer: Joid
+logging_dir: /var/log/OPNFV/
+scenario: os-nosdn-nofeature-noha
+hypervisor_config:
+ networks: /root/laas/conf/network.yaml
+ vms: /root/laas/conf/domain.yaml
+inventory: /root/laas/conf/inventory.yaml
+vpn_config: /root/laas/conf/vpn.yaml
diff --git a/laas-fog/hostScripts/joidInstall.sh b/laas-fog/hostScripts/joidInstall.sh
new file mode 100755
index 0000000..df419c7
--- /dev/null
+++ b/laas-fog/hostScripts/joidInstall.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+#############################################################################
+#Copyright 2017 Parker Berberian and others #
+# #
+#Licensed under the Apache License, Version 2.0 (the "License"); #
+#you may not use this file except in compliance with the License. #
+#You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+#Unless required by applicable law or agreed to in writing, software #
+#distributed under the License is distributed on an "AS IS" BASIS, #
+#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+#See the License for the specific language governing permissions and #
+#limitations under the License. #
+#############################################################################
+
+# parses the passed scenario
+args=($(echo "$1" | tr "-" "\n"))
+# args is array: [os, nosdn, nofeature, noha]
+
+# the deploy script expects 'none' rather than 'nofeature'
+if [ "nofeature" == "${args[2]}" ]; then
+ args[2]="none"
+fi
+# grabs the joid repo
+git clone "https://gerrit.opnfv.org/gerrit/joid.git"
+# working directory has to be where 03-maasdeploy is
+cd joid/ci
+# virtualy deploy maas
+./03-maasdeploy.sh virtual
+# deploys OPNFV with the given scenario
+./deploy.sh -o newton -s "${args[1]}" -t "${args[3]}" -l default -d xenial -m openstack -f "${args[2]}"
diff --git a/laas-fog/source/installers/joid.py b/laas-fog/source/installers/joid.py
new file mode 100644
index 0000000..a3f3bcf
--- /dev/null
+++ b/laas-fog/source/installers/joid.py
@@ -0,0 +1,40 @@
+"""
+#############################################################################
+#Copyright 2017 Parker Berberian and others #
+# #
+#Licensed under the Apache License, Version 2.0 (the "License"); #
+#you may not use this file except in compliance with the License. #
+#You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+#Unless required by applicable law or agreed to in writing, software #
+#distributed under the License is distributed on an "AS IS" BASIS, #
+#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+#See the License for the specific language governing permissions and #
+#limitations under the License. #
+#############################################################################
+"""
+
+"""
+This class will install Joid onto the remote host.
+Currently only supports joid's "default" configuration
+"""
+
+
+class Joid_Installer:
+
+ def __init__(self, doms, nets, libvirt_handler, util):
+ """
+ init function calls the super constructor
+ """
+ super(Joid_Installer, self).__init__(doms, nets, libvirt_handler, util)
+
+ def go(self):
+ """
+ does all the work of this class.
+ Currently just runs the joidInstall script, which installs joid
+ onto the remote host
+ """
+ self.logger.info("%s", "Executing joid virtual installation")
+ self.util.execRemoteScript("joidInstall.sh")