diff options
author | Jing Lu <lvjing5@huawei.com> | 2017-07-21 03:01:10 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-07-21 03:01:10 +0000 |
commit | be2da4d7ef13f61cfcd9b591a9b00579b896213d (patch) | |
tree | a969e31c6e6bebb8f6e03fd746acacdb11e581fd /api/resources/v2/images.py | |
parent | 2d0247646d8f5b46c41f8429f439133745c5ed14 (diff) | |
parent | f4319e7750c5e444c4a5d02df32bcbab372c6dfa (diff) |
Merge "Add API(v2) to load images"
Diffstat (limited to 'api/resources/v2/images.py')
-rw-r--r-- | api/resources/v2/images.py | 44 |
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') |