Red Hat Bugzilla – Bug 1462248
pcs should not allow or at least warn about a bundle with no IP address having an inner resource
Last modified: 2017-07-21 07:04:17 EDT
+++ This bug was initially created as a clone of Bug #1447951 +++
Description of problem:
If a bundle resource is created without an IP address and a primitive resource is put inside the bundle, the bundle and the primitive is not shown in crm_mon and crm_mon --xml output. crm_verify shows why:
# crm_verify --live-check --verbose
error: container_unpack: Cannot control http-bundle inside dummy1
without either ip-range-start or control-port
error: unpack_resources: Failed unpacking bundle http-bundle
Errors found during check: config not valid
It would be nice to see these resources in crm_mon output.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. create a bundle without an IP
2. put a primitive into the bundle
The bundle is missing in crm_mon and crm_mon --xml output.
The bundle is present in crm_mon --xml output. Failed actions are shown in crm_mon output.
Expected results seem to be consistent with a misconfigured primitive (tested with a primitive based on a nonexistent resource agent).
--- Additional comment from Ken Gaillot on 2017-05-04 10:42:41 EDT ---
This will be considered in the 7.5 timeframe.
--- Additional comment from Andrew Beekhof on 2017-05-04 20:09:23 EDT ---
I agree invalid resources (not just bundles) should be in the xml output, I'm less sure about the normal output - unless as a "invalid resources detected, use crm_verify" line somewhere.
(Consider that it may be invalid because there is no id)
> Expected results seem to be consistent with a misconfigured primitive (tested with a primitive based on a nonexistent resource agent).
Thats a very different kind of invalid resource.
We would not want resources that cannot even be unpacked to show up in the "failed operations" section of the output.
--- Additional comment from Tomas Jelinek on 2017-05-05 03:07:16 EDT ---
This is the use case I am concerned about:
1) The user creates an invalid resource.
2) The user runs pcs status / crm_mon.
3) There is no sign of the resource created in step 1.
4) The user is confused.
Consider some time may pass between step 1 and two.
As long as crm_mon shows there is something wrong, by any means possible, I am fine with that.
When putting a resource into a bundle, pcs should check the bundle has an IP address defined. Similar check should be done when removing an IP address in the bundle update command.
(In reply to Tomas Jelinek from comment #1)
> When putting a resource into a bundle, pcs should check the bundle has an IP
> address defined. Similar check should be done when removing an IP address in
> the bundle update command.
IP address or control port. Pacemaker can reach inside the container if it using the host's network (without its own IP address) and has pacemaker remote running on a distinct port.
> It would be nice to see these resources in crm_mon output.
I disagree, it's not the right tool (clearly, since we have one for this purpose).
At most, a catch-all "You should go and run crm_verify now" could be added.