Bug 1420298 - "pcs resource delete" overhaul
Summary: "pcs resource delete" overhaul
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: pcs
Version: 8.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Tomas Jelinek
QA Contact: cluster-qe@redhat.com
URL:
Whiteboard:
: 1619824 (view as bug list)
Depends On:
Blocks: 1420101 1426608 1553782
TreeView+ depends on / blocked
 
Reported: 2017-02-08 11:51 UTC by Tomas Jelinek
Modified: 2019-06-14 11:21 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1359057 None NEW [cli] pcs should provide enhanced, stackable, integrity-protecting "pcs cluster cib/cib-push" alternative 2019-08-19 10:55:30 UTC
Red Hat Bugzilla 1420101 None NEW generalize argument handling with commands like "resource delete": single operand -> multiple operands (-> pattern) 2019-08-19 10:55:30 UTC

Internal Links: 1359057 1420101

Description Tomas Jelinek 2017-02-08 11:51:51 UTC
1) When deleting a resource group, pcs lists all resources in the group and deletes them one by one. For each resource the CIB is loaded, the resource is deleted, and the CIB is pushed. If anything goes wrong in the process, we may end up with part the resources deleted and the other part still present in the cluster.

2) It is not possible to delete more than one resource in one go. So if the user wants to delete five resources, he/she needs to run "pcs resource delete" five times. Pcs will five times load the CIB, stop the resource, push the CIB, wait for pacemaker to stop the resource, load the CIB, delete the resource and push the CIB. That will unnecessary take a lot of time.

We want to make the code modular and reusable, allow multiple resources to be deleted with one command, fix the command line arguments parsing, improve error reporting.

Comment 1 Tomas Jelinek 2017-02-08 12:05:41 UTC
Making "pcs resource remove" an alias to "pcs resource delete" would be nice as well.

Comment 2 Jaroslav Kortus 2017-02-08 13:29:25 UTC
what about hijacking this bug and create something like transaction-aware logic in pcs? Deleting the resource is only one of the examples when this comes handy.

Currently to achieve that we have to dump the cib, do pcs -f cib.xml <something> and push it back.

It would be cool to have something like crm had and be able to do things like:

# pcs
pcs> pcs resource delete ...
pcs> pcs resource create ...
pcs> pcs constraint ..
pcs> commit

Ideas? :)

Comment 3 Jan Pokorný [poki] 2017-02-08 14:09:06 UTC
re [comment 2]:

This is pretty overboard: please realize you are proposing an internal
statefull shell, big feature on its own.  There's hardly any other way
to have it considered than through a dedicated bug or upstream issue.
Note that there's more humble suggestion already to compose compound
"atomic" change natively on command-line through piping: [bug 1359057].

[If the pipe approach was to cover non-mere-CIB-manipulating actions
as well (which "pcs resource delete" is), it would have to embed
a pcs-internal stream of actions to be performed before/after pushing
the CIB into the CIB itself (status section could serve that purpose
temporarily, stripping it for the resulting push of the CIB).  Still
might be doable.]

Comment 4 Jaroslav Kortus 2017-02-08 14:27:43 UTC
I was thinking only about CIB related actions. Anything else seems to be just too complex for "atomic" operation. More of a shortcut for pcs cib dump && modify && pcs cib push.

Comment 5 Tomas Jelinek 2017-02-10 07:46:58 UTC
I discussed this with Jaroslav personally. His proposal is out of the scope of this bz.

Comment 6 Tomas Jelinek 2017-02-10 07:49:08 UTC
We should consider printing a warning when working with CIB file that pcs cannot:
* stop resources before deleting them
* properly remove remote nodes (when deleting VirtualDomain and ocf:pacemaker:remote resources) from the cluster

Comment 7 Tomas Jelinek 2017-05-15 09:52:54 UTC
(In reply to Tomas Jelinek from comment #6)
> We should consider printing a warning when working with CIB file that pcs
> cannot:
> * stop resources before deleting them
> * properly remove remote nodes (when deleting VirtualDomain and
> ocf:pacemaker:remote resources) from the cluster

This is covered by bz1426608.

Comment 8 Tomas Jelinek 2017-05-15 09:53:54 UTC
Once pcs part is done, we need to update pcsd so it does not use -f when deleting resources.

Comment 9 Tomas Jelinek 2017-05-17 08:04:17 UTC
Also we should deal with deleting remove and guest nodes. Currently the resource delete command removes the node from pacemaker by using crm_node --remove, but does not delete config files and stop and disable pacemaker remote on the deleted node. It would be probably better to either do none of that or all of that.

Comment 16 Tomas Jelinek 2018-08-22 08:06:53 UTC
*** Bug 1619824 has been marked as a duplicate of this bug. ***

Comment 17 Tomas Jelinek 2019-06-12 14:49:21 UTC
Also wanted: do a resource cleanup when a resource is being removed, to prevent leaving junk behind

Comment 18 Tomas Jelinek 2019-06-12 15:08:33 UTC
(In reply to Tomas Jelinek from comment #17)
> Also wanted: do a resource cleanup when a resource is being removed, to
> prevent leaving junk behind

reported upstream: https://github.com/ClusterLabs/pcs/issues/194


Note You need to log in before you can comment on or make changes to this bug.