summaryrefslogtreecommitdiffstats
path: root/tools/laas-fog/source
diff options
context:
space:
mode:
authorJack Morgan <jack.morgan@intel.com>2017-09-19 23:28:01 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-09-19 23:28:01 +0000
commit56e74f8f2eafe0cfcc30e1f03a30b02665e3b4f6 (patch)
tree4284a8f3450d586738a1ceb05b0f92e9f8a93f53 /tools/laas-fog/source
parent1cd91a3788e6b9964e7f88a16a842355c9ee36e2 (diff)
parentee0b737e9182ddf7a674a0cde0ef5e7c115981cd (diff)
Merge "Adds various conveniences for hosters."
Diffstat (limited to 'tools/laas-fog/source')
-rwxr-xr-xtools/laas-fog/source/deploy.py82
-rwxr-xr-xtools/laas-fog/source/stop.sh24
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[*]}