Remove running components if one component fails
In case you have f.e. 3 components and 2 start successfully and one fails you are in a weird state where you cannot run again.
This should be quite easy after #278 is merged.
So this will require us to implement for each provider. Let's itemize those here:
- [x] Docker provider.. Documented by #421
- [x] Kubernetes provider.. Documented by #429
- [x] Openshift provider.. Documented by #428
@kadel do you want to take a look at #428 and #429. Maybe work with charlie on the work he is doing for #421.
Perhaps one way to do this would be to run "stop" but don't report any errors? I'm not sure.
@dustymabe sure, I will look into that.
I have been thinking about this a little bit.
One way how I would solve this is checking here if provider.deploy() didn't failed , either by making deploy() returning some value, or making sure provider always raises exception when something is wrong, and catching it here. If deploy fails then we would call provider.undeploy().
We also have to make sure that when during undeploy, one artifact fails, provider continues to next artifacts so it tries to undeploy all artifacts.
@dustymabe isn't it already taken care by #456 ?
@kadel @rtnpro, right. The way @rtnpro implemented #456 it should take care of all of the providers.
@rtnpro you will need to wait for #458 before we can add in the plumbing to undeploy for openshift.
ok #458 has been fixed. @rtnpro, you should be able to add the support to undeploy() in openshift now
This is fixed, already!
There a few outstanding items in the PR: https://github.com/projectatomic/atomicapp/pull/456#issuecomment-171872694
Removing blocker label as the required change would be too risky for GA and is not worth it.