Hide Forgot
As described in this comment: https://bugzilla.redhat.com/show_bug.cgi?id=794496#c6 I would suggest to Conductor guys to perform a check before they are launching instance via DC to verify that the image they want to use is ready and correctly reported by Deltacloud: GET /api/images/:image_id Aso the image resource in DC reports 'status' which should say if the image is *ready* for the launch (<status>OK</status>). So instead of just trying to launch an instance and report to user that the instance launch failed, we should report to user that the image user wants to launch is not available due to whatever error and IF log inspection is needed to figure out reason.
*** Bug 797955 has been marked as a duplicate of this bug. ***
Tzumainn discussed this issue with several of us on the dev team, and we feel this is not the direction we should be going, especially in a bug fix phase. This seems to be very similar to what was requested in https://bugzilla.redhat.com/show_bug.cgi?id=788239, which we decided was behaving correctly by giving the user valid feedback from delta cloud showing why the requested action could not be performed. This i snot some meaningless stack trace, but a use bit of information the user can act on. Putting in all kinds of launch/pre-action conditions is, in my opinion, a slippery slope, and unlikely to ever catch all possible conditions (and possibly end up checking things not all users want). I think we would be ether served by allowing (and this is more in general) validity to be determined and explained at the time the action is attempted, rather than hiding it behind a complex rules engine.
The solution here, which is not in scope for the 1.0 release, is for conductor to support retrying, including switching to an alternative realm/provider account, when a launch invocation fails. We also, potentially, need amendments to the deltacloud API to enable better reporting of root causes of launch failures.
Currently if the image is not found, deployment rollback is done and Conductor tries to launch whole deployment with next possible configuration (different hw profile, provider account, realm...). We can optimize launch retry to choose completely different provider in next try when the image is not found in future, also dc-api error categorization is needed for this.
works as per comment #4 using aeolus-conductor-0.13.21-1.el6cf