aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJing Lu <lvjing5@huawei.com>2017-07-21 03:01:10 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-07-21 03:01:10 +0000
commitbe2da4d7ef13f61cfcd9b591a9b00579b896213d (patch)
treea969e31c6e6bebb8f6e03fd746acacdb11e581fd
parent2d0247646d8f5b46c41f8429f439133745c5ed14 (diff)
parentf4319e7750c5e444c4a5d02df32bcbab372c6dfa (diff)
Merge "Add API(v2) to load images"
-rw-r--r--api/resources/v2/images.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/api/resources/v2/images.py b/api/resources/v2/images.py
new file mode 100644
index 000000000..dc996742f
--- /dev/null
+++ b/api/resources/v2/images.py
@@ -0,0 +1,44 @@
+import logging
+import subprocess
+import threading
+
+from api import ApiResource
+from yardstick.common.utils import result_handler
+from yardstick.common.utils import source_env
+from yardstick.common import constants as consts
+
+LOG = logging.getLogger(__name__)
+LOG.setLevel(logging.DEBUG)
+
+
+class V2Images(ApiResource):
+
+ def post(self):
+ return self._dispatch_post()
+
+ def load_image(self, args):
+ thread = threading.Thread(target=self._load_images)
+ thread.start()
+ return result_handler(consts.API_SUCCESS, {})
+
+ def _load_images(self):
+ LOG.info('source openrc')
+ source_env(consts.OPENRC)
+
+ LOG.info('clean images')
+ cmd = [consts.CLEAN_IMAGES_SCRIPT]
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
+ cwd=consts.REPOS_DIR)
+ _, err = p.communicate()
+ if p.returncode != 0:
+ LOG.error('clean image failed: %s', err)
+
+ LOG.info('load images')
+ cmd = [consts.LOAD_IMAGES_SCRIPT]
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
+ cwd=consts.REPOS_DIR)
+ _, err = p.communicate()
+ if p.returncode != 0:
+ LOG.error('load image failed: %s', err)
+
+ LOG.info('Done')