Service update method does not match either docker-py nor docker Engine API spec
guillempuigcom opened this issue · comments
Long story short
We are trying to update a service using the library. However, the library does not offer the same functionality as the official specifications and it is just offering to perform a rollback.
In order to update the service, we are now deleting and creating it again which leaves us the service lacking the previous spec.
Docker official specs:
docker-py
docker engine API
- Expected behaviour: service update method match docker-py spec or docker Engine API spec
- Actual behaviour: missing update service features (only rollback is allowed)
How to reproduce
- We first register a service by calling
docker_client.services.create(data)
where data matches the required arguments from aiodocker - When trying to update the service registered in the 1st step, we are not able to pass the new spec as a method parameter and we are just able to send the rollback
Your environment
- Python 3.7.6
- Docker version 20.10.11, build dea9396
- aiodocker==0.19.1
Sorry, I don't follow.
Are you talking about Docker swarms or services?
The current version of aiodocker (0.21.0) only allows to specify a new image version or a rollback to the previous version with the service update method. The docker API specifies a lot more options, e.g. labels, task template, update and rollback config, etc.
Most of these options are already supported in aiodocker, but only with the service create and not the service update method. Would it be possible to extend the service update method with the same options like the service create method?