Bug 1420298

Summary: "pcs resource delete" overhaul
Product: Red Hat Enterprise Linux 8 Reporter: Tomas Jelinek <tojeline>
Component: pcsAssignee: Tomas Jelinek <tojeline>
Status: CLOSED MIGRATED QA Contact: cluster-qe <cluster-qe>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0CC: cfeist, cluster-maint, cmarthal, idevat, jkortus, omular, tojeline
Target Milestone: rcKeywords: MigratedToJIRA, Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-10-09 09:44:43 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:
Bug Depends On:    
Bug Blocks: 1420101, 1426608, 1553782, 1849994, 2062390    

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

Comment 20 Tomas Jelinek 2020-09-01 07:24:26 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

We actually may want to do resource refresh: bz1508350, bz1873691 comment 6

Comment 23 RHEL Program Management 2020-12-01 07:28:13 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.

Comment 25 RHEL Program Management 2024-10-09 09:09:24 UTC
Issue migration from Bugzilla to Jira is in process at this time. This will be the last message in Jira copied from the Bugzilla bug.