dcos-497 Outputs deployment id for rollback

This change makes sure that we out the deployment JSON when performing a
deployment rollback.
This commit is contained in:
José Armando García Sancio
2015-03-09 13:58:38 -07:00
parent 0b1629cae7
commit 9efa908a73
3 changed files with 23 additions and 11 deletions

View File

@@ -377,8 +377,8 @@ class Client(object):
previous configuration. If set to `True`, simply stop the
deployment.
:type force: bool
:returns: an error if unable to rollback the deployment; None otherwise
:rtype: Error
:returns: cancelation deployment
:rtype: (dict, Error)
"""
if not force:
@@ -388,19 +388,25 @@ class Client(object):
url = self._create_url('v2/deployments/{}'.format(deployment_id))
_, error = http.delete(url,
response, error = http.delete(
url,
params=params,
response_to_error=_response_to_error)
if error is not None:
return (None, error)
return error
if not force:
return (response.json(), None)
else:
return (None, None)
def rollback_deployment(self, deployment_id):
"""Rolls back an application deployment.
:param deployment_id: the deployment id
:type deployment_id: str
:returns: an error if unable to rollback the deployment; None otherwise
:rtype: Error
:returns: cancelation deployment
:rtype: (dict, Error)
"""
return self._cancel_deployment(deployment_id, False)
@@ -414,7 +420,8 @@ class Client(object):
:rtype: Error
"""
return self._cancel_deployment(deployment_id, True)
_, err = self._cancel_deployment(deployment_id, True)
return err
def get_tasks(self, app_id):
"""Returns a list of tasks, optionally limited to an app.

View File

@@ -613,11 +613,13 @@ def _deployment_rollback(deployment_id):
config.load_from_path(
os.environ[constants.DCOS_CONFIG_ENV]))
err = client.rollback_deployment(deployment_id)
deployment, err = client.rollback_deployment(deployment_id)
if err is not None:
emitter.publish(err)
return 1
emitter.publish(deployment)
return 0

View File

@@ -483,8 +483,11 @@ def test_rollback_deployment():
returncode, stdout, stderr = exec_command(
['dcos', 'app', 'deployment', 'rollback', result[0]['id']])
result = json.loads(stdout.decode('utf-8'))
assert returncode == 0
assert stdout == b''
assert 'deploymentId' in result
assert 'version' in result
assert stderr == b''
_list_deployments(0)