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
|
previous configuration. If set to `True`, simply stop the
|
||||||
deployment.
|
deployment.
|
||||||
:type force: bool
|
:type force: bool
|
||||||
:returns: an error if unable to rollback the deployment; None otherwise
|
:returns: cancelation deployment
|
||||||
:rtype: Error
|
:rtype: (dict, Error)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if not force:
|
if not force:
|
||||||
@@ -388,19 +388,25 @@ class Client(object):
|
|||||||
|
|
||||||
url = self._create_url('v2/deployments/{}'.format(deployment_id))
|
url = self._create_url('v2/deployments/{}'.format(deployment_id))
|
||||||
|
|
||||||
_, error = http.delete(url,
|
response, error = http.delete(
|
||||||
params=params,
|
url,
|
||||||
response_to_error=_response_to_error)
|
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):
|
def rollback_deployment(self, deployment_id):
|
||||||
"""Rolls back an application deployment.
|
"""Rolls back an application deployment.
|
||||||
|
|
||||||
:param deployment_id: the deployment id
|
:param deployment_id: the deployment id
|
||||||
:type deployment_id: str
|
:type deployment_id: str
|
||||||
:returns: an error if unable to rollback the deployment; None otherwise
|
:returns: cancelation deployment
|
||||||
:rtype: Error
|
:rtype: (dict, Error)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
return self._cancel_deployment(deployment_id, False)
|
return self._cancel_deployment(deployment_id, False)
|
||||||
@@ -414,7 +420,8 @@ class Client(object):
|
|||||||
:rtype: Error
|
:rtype: Error
|
||||||
"""
|
"""
|
||||||
|
|
||||||
return self._cancel_deployment(deployment_id, True)
|
_, err = self._cancel_deployment(deployment_id, True)
|
||||||
|
return err
|
||||||
|
|
||||||
def get_tasks(self, app_id):
|
def get_tasks(self, app_id):
|
||||||
"""Returns a list of tasks, optionally limited to an app.
|
"""Returns a list of tasks, optionally limited to an app.
|
||||||
|
|||||||
@@ -613,11 +613,13 @@ def _deployment_rollback(deployment_id):
|
|||||||
config.load_from_path(
|
config.load_from_path(
|
||||||
os.environ[constants.DCOS_CONFIG_ENV]))
|
os.environ[constants.DCOS_CONFIG_ENV]))
|
||||||
|
|
||||||
err = client.rollback_deployment(deployment_id)
|
deployment, err = client.rollback_deployment(deployment_id)
|
||||||
if err is not None:
|
if err is not None:
|
||||||
emitter.publish(err)
|
emitter.publish(err)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
emitter.publish(deployment)
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -483,8 +483,11 @@ def test_rollback_deployment():
|
|||||||
returncode, stdout, stderr = exec_command(
|
returncode, stdout, stderr = exec_command(
|
||||||
['dcos', 'app', 'deployment', 'rollback', result[0]['id']])
|
['dcos', 'app', 'deployment', 'rollback', result[0]['id']])
|
||||||
|
|
||||||
|
result = json.loads(stdout.decode('utf-8'))
|
||||||
|
|
||||||
assert returncode == 0
|
assert returncode == 0
|
||||||
assert stdout == b''
|
assert 'deploymentId' in result
|
||||||
|
assert 'version' in result
|
||||||
assert stderr == b''
|
assert stderr == b''
|
||||||
|
|
||||||
_list_deployments(0)
|
_list_deployments(0)
|
||||||
|
|||||||
Reference in New Issue
Block a user