Network Space Binding Changes After Deployment or Upgrades
Dmitrii Shcherbakov
dmitrii.shcherbakov at canonical.com
Mon Mar 27 11:31:52 UTC 2017
Hi everybody,
As far as I can see, there is no way to change a network space binding or
add a new one after a charm has been deployed.
What I encountered is a situation where you either want to add a new
endpoint (and bind it to a space) after a charm upgrade or modify an
existing one. With the current approach this is not possible without a full
redeployment of an application (remove-application -> deploy & bind ->
add-unit).
However, for deployments with large uptime requirements this is not a
feasible solution.
My view of the problem:
- Juju doesn't know how a charm code have used binding information
during a deployment;
- Juju can expose an event which should be handled in the charm code;
- There is a distinction between "binding-changed" and "upgrade" events
as the latter may include binding changes but needs a mechanism to learn
which bindings have changed.
--
Only the deployment-related code has handling of bindings:
https://github.com/juju/juju/blob/master/cmd/juju/application/deploy.go#L615
https://github.com/juju/juju/blob/staging/cmd/juju/application/bundle.go#L382
<https://github.com/juju/juju/blob/master/cmd/juju/application/deploy.go#L615>
Nothing about bindings here:
https://github.com/juju/juju/blob/master/cmd/juju/application/upgradecharm.go
---
I realize that this is a complex feature and will require code on the charm
side but I think it is important as it makes deployments less rigid and
more update-friendly.
Has it been discussed before?
Any feedback is appreciated - thanks in advance.
Best Regards,
Dmitrii Shcherbakov
Field Software Engineer
IRC (freenode): Dmitrii-Sh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20170327/6d51be14/attachment.html>
More information about the Juju-dev
mailing list