Bug 2224565

Summary: [RFE] Multiple puppet classes delete
Product: Red Hat Satellite Reporter: anfacina <anfacina>
Component: PuppetAssignee: satellite6-bugs <satellite6-bugs>
Status: NEW --- QA Contact: Satellite QE Team <sat-qe-bz-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.14.0CC: aruzicka, lstejska, ofedoren, rlavi
Target Milestone: UnspecifiedKeywords: FutureFeature
Target Release: UnusedFlags: lstejska: needinfo? (anfacina)
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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:

Description anfacina 2023-07-21 13:43:50 UTC
Description of problem:
The customer migrated the environment from puppet to Ansible, and they would like to remove all puppet classes using hammer or webconsole, but unfortunately hammer does not provide such functionality, but Satellite API can help here. Please check https://SATELLITE-FQDN/apidoc specifically DELETE /foreman_puppet/api/puppetclasses/:id  Delete a Puppet class and related methods that could help you to remove puppet related stuff.

Version-Release number of selected component (if applicable):
Satellite 6.13

How reproducible:
Always

Steps to Reproduce:
1.
2.
3.

Actual results:
There is no a method in hammer or Web Console to remove the puppet classes, the only way is using the Satellite API.

Expected results:
Remove the puppet classes using hammer command or through the Web console


Additional info:

Comment 1 Adam Ruzicka 2023-08-02 15:02:02 UTC
On a side note, what do you mean by web console?

Comment 2 Leos Stejskal 2023-08-08 11:36:21 UTC
Hi,
AFAIK we don't have an endpoint for such an action for any other resources,
and we are not planning to add this kind of delete-all-resources endpoint.

Why doesn't the CU list all the puppet classes (their ids) and then simply
iterate over the list of ids, calling the API endpoint for deleting the resource?