diff options
author | Parker Berberian <pberberian@iol.unh.edu> | 2017-08-21 09:47:46 -0400 |
---|---|---|
committer | Parker Berberian <pberberian@iol.unh.edu> | 2017-08-31 13:28:58 -0400 |
commit | 42f369cdf3cf7a983132340bce3169d8bb11c0ab (patch) | |
tree | 9ad88166eaf4df3f40b11aaaaed91d65165f02ce /tools | |
parent | 97b65954f0cfb632df3df5aa020e75aae54f331e (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>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/laas-fog/conf/joid.yaml | 17 | ||||
-rwxr-xr-x | tools/laas-fog/hostScripts/joidInstall.sh | 33 | ||||
-rw-r--r-- | tools/laas-fog/source/installers/joid.py | 40 |
3 files changed, 90 insertions, 0 deletions
diff --git a/tools/laas-fog/conf/joid.yaml b/tools/laas-fog/conf/joid.yaml new file mode 100644 index 00000000..b38dedce --- /dev/null +++ b/tools/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/tools/laas-fog/hostScripts/joidInstall.sh b/tools/laas-fog/hostScripts/joidInstall.sh new file mode 100755 index 00000000..df419c79 --- /dev/null +++ b/tools/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/tools/laas-fog/source/installers/joid.py b/tools/laas-fog/source/installers/joid.py new file mode 100644 index 00000000..a3f3bcf1 --- /dev/null +++ b/tools/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") |