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:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user