Bug 1244856
| Summary: | openstack overcloud update stack overcloud requires an undocumented argument | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Attila Fazekas <afazekas> |
| Component: | python-rdomanager-oscplugin | Assignee: | Marek Aufart <maufart> |
| Status: | CLOSED ERRATA | QA Contact: | Udi Kalifon <ukalifon> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | high | ||
| Version: | Director | CC: | akrivoka, calfonso, dmacpher, jslagle, mandreou, mburns, rhel-osp-director-maint |
| Target Milestone: | y1 | Keywords: | Triaged, ZStream |
| Target Release: | 7.0 (Kilo) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | python-rdomanager-oscplugin-0.0.10-1.el7ost | Doc Type: | Bug Fix |
| Doc Text: |
Unclear help text and bug in parameter passing for the "openstack overcloud update stack" operation meant users needed to specify both plan and stack names. This fix removes the need for the stack name. However, the update command now requires either the Tuskar plan ID or the Heat template collection location.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-10-08 12:15:27 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
We should probably default to the --templates if neither --plan or --templates are provided. Looking at this for doctext. I think there is some confusion looking at the comments; this isn't about an actual argument being passed to the update operation, rather it is imo 2 bugs, one with the help text:
usage: openstack overcloud update stack [-h] [--plan PLAN] [-i] [-a]
[--templates [TEMPLATES]]
[-e <HEAT ENVIRONMENT FILE>]
[stack]
replacing that last [stack] with [stack_name] might make it clearer: doing something like:
openstack overcloud update stack foo
ERROR: openstack ERROR: The Stack (foo) could not be found.
At least tells me something useful. And the other is in the way the stack name defaults in the plugin, like
'(default=Env: OVERCLOUD_STACK_NAME)' - which means if not set it will likely default to ""
(you can confirm this is what is happening with the 404 at least):
openstack overcloud update stack ""
ERROR: openstack ERROR: 404 Not Found
We can put a check somewhere like https://github.com/rdo-management/python-rdomanager-oscplugin/blob/master/rdomanager_oscplugin/v1/overcloud_update.py#L65
to make sure these are set and exit otherwise ...
BUT I am confused why we have 2 ways to refer to the deployment by plan id and stack id - not sure what the intent here was/is.
At the same time there does appear to be a bona-fide
haha i rearranged some text before posting the above.. the last line wasn't meant to giveany more information :) (was going to talk about the bona-fide bug with the defaulting to "") added doctext as known issue Looks like the help text lists --plan as optional, when it's actually required. Patch submitted for review. One from plan and templates args is required now. Stack update with a plan is not default anymore.
Example:
$ openstack overcloud update stack
usage: openstack overcloud update stack [-h]
(--plan PLAN | --templates [TEMPLATES])
[-i] [-a] [-e <HEAT ENVIRONMENT FILE>]
[stack]
openstack overcloud update stack: error: one of the arguments --plan --templates is required
https://review.gerrithub.io/#/c/243718/ was merged to midstream Verified: python-rdomanager-oscplugin-0.0.10-1.el7ost.noarch Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2015:1862 |
Description of problem: openstack help overcloud update stack usage: openstack overcloud update stack [-h] [--plan PLAN] [-i] [-a] [--templates [TEMPLATES]] [-e <HEAT ENVIRONMENT FILE>] [stack] Updates packages on overcloud nodes positional arguments: stack Name or ID of heat stack to scale (default=Env: OVERCLOUD_STACK_NAME) optional arguments: -h, --help show this help message and exit --plan PLAN Name or ID of tuskar plan to scale (default=Env: OVERCLOUD_PLAN_NAME) -i, --interactive -a, --abort --templates [TEMPLATES] The directory containing the Heat templates to deploy -e <HEAT ENVIRONMENT FILE>, --environment-file <HEAT ENVIRONMENT FILE> Environment files to be passed to the heat stack- create or heat stack-update command. (Can be specified more than once.) [stack@instack nova]$ openstack overcloud update stack ERROR: openstack ERROR: 404 Not Found The resource could not be found. Version-Release number of selected component (if applicable): python-rdomanager-oscplugin-0.0.8-38.el7ost.noarch Neither the help or the error message useful about how this command supposed to be used. The secret missing arg.: openstack overcloud update stack overcloud --plan overcloud in this case it returns with something sounds like request was accepted. 'starting package update on stack overcloud'