magneticio / vamp

Vamp - canary releasing and autoscaling for microservice systems
http://vamp.io
Apache License 2.0
625 stars 55 forks source link

Editing A Running Deployment #1074

Closed jason-magnetic-io closed 6 years ago

jason-magnetic-io commented 6 years ago

Goal:

Editing one or more of the following parameters in a deployment should trigger an update of the associated service or services in Marathon

Current Behaviour:

jason-magnetic-io commented 6 years ago

@dragoslav how can this be best achieved?

dragoslav commented 6 years ago

During deployment sync these changes can be detected and specific request can be sent to container driver. Now it is only about updating/deleting, this should be a restart (or update with restart) - new feature. In case of ports, environment variables etc. scheduler must restart existing instances (containers). In case of changing the scale just number of instances is changed and traffic is not interrupted - assuming at least one instance can still handle it.

dragoslav commented 6 years ago

In case of Rest API, when a blueprint is edited there is no side effect on any deployment. That means if blueprint is later merged again, in this example with change of ports, vars etc. deployment services may be restarted unintentionally. I would add an extra check, e.g. only if restart=true flag is set proceed, otherwise request is invalid - in case of UI an user would need to confirm the restart.