diff options
author | Jack Morgan <jack.morgan@intel.com> | 2017-09-19 23:28:01 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-09-19 23:28:01 +0000 |
commit | 56e74f8f2eafe0cfcc30e1f03a30b02665e3b4f6 (patch) | |
tree | 4284a8f3450d586738a1ceb05b0f92e9f8a93f53 /tools/laas-fog/source | |
parent | 1cd91a3788e6b9964e7f88a16a842355c9ee36e2 (diff) | |
parent | ee0b737e9182ddf7a674a0cde0ef5e7c115981cd (diff) |
Merge "Adds various conveniences for hosters."
Diffstat (limited to 'tools/laas-fog/source')
-rwxr-xr-x | tools/laas-fog/source/deploy.py | 82 | ||||
-rwxr-xr-x | tools/laas-fog/source/stop.sh | 24 |
2 files changed, 106 insertions, 0 deletions
diff --git a/tools/laas-fog/source/deploy.py b/tools/laas-fog/source/deploy.py new file mode 100755 index 00000000..a9c5e04f --- /dev/null +++ b/tools/laas-fog/source/deploy.py @@ -0,0 +1,82 @@ +#!/usr/bin/python +""" +############################################################################# +#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. # +############################################################################# +""" + +import sys +import yaml +from pod_manager import Pod_Manager + +""" +This file is the first executed when a booking begins. +""" + +usage = """ +./deploy [--config CONFIG_FILE] [--host HOSTNAME] [--reset] +""" + + +def main(config_path, host): + """ + starts the deployment with the given configuration. + """ + config = yaml.safe_load(open(config_path)) + + manager = Pod_Manager(config, requested_host=host) + manager.start_deploy() + + +def reset(config_path, host): + """ + Tells the Pod Manager to clean and reset the given host. + """ + config = yaml.safe_load(open(config_path)) + Pod_Manager(config, requested_host=host, reset=True) + + +if __name__ == "__main__": + # parse command line + host = None + + if "--help" in sys.argv: + print usage + sys.exit(0) + + if "--config" in sys.argv: + try: + conf = sys.argv[1+sys.argv.index("--config")] + open(conf) + except Exception: + print "bad config file" + sys.exit(1) + if "--host" in sys.argv: + try: + host = sys.argv[1+sys.argv.index("--host")] + except: + "host not provided. Exiting" + sys.exit(1) + + try: + config_file = yaml.safe_load(open(conf)) + except: + print "Failed to read from config file" + sys.exit(1) + # reset or deploy host + if "--reset" in sys.argv: + reset(conf, host) + else: + main(conf, host) diff --git a/tools/laas-fog/source/stop.sh b/tools/laas-fog/source/stop.sh new file mode 100755 index 00000000..e7214829 --- /dev/null +++ b/tools/laas-fog/source/stop.sh @@ -0,0 +1,24 @@ +#!/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. # +############################################################################# + + +# This just finds all processes from this program and kills them. + + +PIDS=$(ps -ef | grep laas/source/ | grep python | awk '{print $2}') + +kill ${PIDS[*]} |