-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zpm throws an ambiguous error if a deploy target container does not exist #105
Comments
Hmm, I apologize for not looking into it earlier, but the "proper" way of handling it would be to even refuse a deploy for existing containers. Swift is very good at handling new objects but when you overwrite something the behavior is very different, let's say its consistency window is quite long, it can take a day (24 hours) or even more to have all the objects in the container to be consistently replaced. |
Wow, that's surprising. So, do we want to make it a rule, then, that zpm always creates containers and doesn't deploy to existing ones? I understand the consistency problem, but such a rule seems extreme to me. |
Dunno, maybe we need more people to step in and discuss. But when user is forced to manually delete things before deploying to an existing container, it will better reflect the actual steps that need to be done... |
If you try to
zpm deploy
a zapp to a target container which doesn't exist, you get an error like this:We should do one of the following things instead:
Container 'foo' not found
, like thepython-swiftclient
does) and then maybe give some hints on how to create the containerOR
When using
swift upload
on a non-existent container,python-swiftclient
will automatically create a container for you. So perhaps it's better to go with the second option. (If the container doesn't exist and needs to be created, we could log an INFO message stating that the container was created.)Update: Since there are consistency problems with overwriting objects, here is another solution:
deploy
container targets must exist before deploying; else, error "Container 'foo' not found"The text was updated successfully, but these errors were encountered: