Recreate Model

Add a "model-recreate" command to
recreate model with new datasets.

implements blueprint recreate-model

Change-Id: Ic4872552503d75e59f62407e87ff4880e5720a8e
This commit is contained in:
Hiroyuki Eguchi 2017-02-09 15:20:10 +09:00
parent 88dfb9c035
commit 28a0248d45
3 changed files with 41 additions and 0 deletions

View File

@ -84,3 +84,20 @@ class ModelManager(base.ResourceManager):
body = {'os-unload': None}
self._post(url, body)
def recreate(self, model_id, source_dataset_url=None, dataset_format=None,
swift_tenant=None, swift_username=None, swift_password=None):
"""Recreate a Model."""
data = {
'source_dataset_url': source_dataset_url,
'dataset_format': dataset_format,
'swift_tenant': swift_tenant,
'swift_username': swift_username,
'swift_password': swift_password,
}
url = '/models/%s/action' % model_id
body = {'os-recreate': data}
return self._post(url, body)

View File

@ -220,6 +220,8 @@ def do_dataset_delete(cs, args):
#
# model-create [--json <file>]
#
# model-recreate [--json <file>]
#
# model-delete <model_id>
#
# model-load <model_id>
@ -261,6 +263,21 @@ def do_model_create(cs, args):
_show_dict(cs.models.create(**model))
@utils.arg('id',
metavar='<model_id>',
help='ID of the model to recreate.')
@utils.arg('--json',
default=sys.stdin,
type=argparse.FileType('r'),
help='JSON representation of model.')
def do_model_recreate(cs, args):
"""Recreate a model."""
model = json.loads(args.json.read())
_filter_call_args(model, cs.models.recreate)
cs.models.recreate(args.id, **model)
@utils.arg('id',
metavar='<model_id>',
help='ID of the model to delete.')

View File

@ -0,0 +1,7 @@
{
"source_dataset_url": "<YOUR_SOURCE_DATASET_URL>",
"dataset_format": "<YOUR_DATASET_FORMAT>",
"swift_tenant": "demo",
"swift_username": "demo",
"swift_password": "nova"
}