Skip to content

Commit 6b9549b

Browse files
committed
Skip channels delete when uyuni
1 parent 81047c6 commit 6b9549b

File tree

3 files changed

+24
-12
lines changed

3 files changed

+24
-12
lines changed

jenkins_pipelines/environments/common/pipeline-build-validation-cleanup.groovy

+16-9
Original file line numberDiff line numberDiff line change
@@ -85,33 +85,40 @@ def run(params) {
8585
}
8686

8787
stage('Delete the systems') {
88-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_systems ${defaultResourcesToDeleteArgs}")
88+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} ${defaultResourcesToDeleteArgs} --mode delete_systems")
8989
}
9090
stage('Delete config projects') {
91-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_config_projects ${defaultResourcesToDeleteArgs}")
91+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} ${defaultResourcesToDeleteArgs} --mode delete_config_projects")
9292
}
93+
9394
stage('Delete software channels') {
94-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_software_channels ${defaultResourcesToDeleteArgs}")
95+
when {
96+
expression { product_version != "uyuni" }
97+
}
98+
steps {
99+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} ${defaultResourcesToDeleteArgs} --mode delete_software_channels")
100+
}
95101
}
102+
96103
stage('Delete activation keys') {
97-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_activation_keys ${defaultResourcesToDeleteArgs}")
104+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} ${defaultResourcesToDeleteArgs} --mode delete_activation_keys")
98105
}
99106
stage('Delete minion users') {
100-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_users ${defaultResourcesToDeleteArgs}")
107+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} ${defaultResourcesToDeleteArgs} --mode delete_users")
101108
}
102109
stage('Delete channel repositories') {
103-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_repositories ${defaultResourcesToDeleteArgs}")
110+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} ${defaultResourcesToDeleteArgs} --mode delete_repositories")
104111
}
105112
stage('Delete salt keys') {
106-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_salt_keys ${defaultResourcesToDeleteArgs}")
113+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} ${defaultResourcesToDeleteArgs} --mode delete_salt_keys")
107114
}
108115

109116
stage('Delete ssh know hosts') {
110-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_known_hosts --product_version ${product_version}")
117+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} --mode delete_known_hosts")
111118
}
112119

113120
stage('Delete distributions folders') {
114-
sh(script: "${api_program} --url ${params.manager_hostname} --mode delete_distributions --product_version ${product_version}")
121+
sh(script: "${api_program} --url ${params.manager_hostname} --product_version ${product_version} --mode delete_distributions")
115122
}
116123

117124
// Define shared environment variables for terraform calls

jenkins_pipelines/scripts/SUSEManager_cleaner/suse_manager_cleaner_program/SUSEManagerCleaner.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def main():
2424
parser.add_argument("--default-resources-to-delete", type=str, nargs='*',
2525
choices=['proxy', 'monitoring-server', 'retail'],
2626
default=[], help='List of default modules to force deletion')
27-
parser.add_argument("--product_version", type=str, choices=['5.0', '4.3', 'uyuni'])
27+
parser.add_argument("--product_version", required=True, type=str, choices=['5.0', '4.3', 'uyuni'])
2828

2929
args = parser.parse_args()
3030
manager_url = args.url
@@ -33,7 +33,7 @@ def main():
3333
if args.mode in ["delete_users", "delete_activation_keys", "delete_config_projects",
3434
"delete_software_channels", "delete_systems", "delete_repositories",
3535
"full_cleanup", "delete_salt_keys"]:
36-
resource_manager = ResourceManager(manager_url, args.default_resources_to_delete)
36+
resource_manager = ResourceManager(manager_url, args.default_resources_to_delete, args.product_version)
3737
resource_manager.get_session_key()
3838
mode_actions = {
3939
"delete_users": resource_manager.delete_users,

jenkins_pipelines/scripts/SUSEManager_cleaner/suse_manager_cleaner_program/suse_manager_api.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010
password = "admin"
1111

1212
class ResourceManager:
13-
def __init__(self, manager_url, resources_to_delete):
13+
def __init__(self, manager_url, resources_to_delete, product_version):
1414
self.manager_url = manager_url
1515
self.resources_to_delete = {"proxy", "monitoring", "build"} - set(resources_to_delete)
16+
self.product_version = product_version
1617
self.client = None
1718
self.session_key = None
1819

@@ -46,6 +47,10 @@ def delete_config_projects(self):
4647
self.client.contentmanagement.removeProject(self.session_key, project['label'])
4748

4849
def delete_software_channels(self):
50+
if self.product_version == "uyuni":
51+
logging.warning("Delete channels not supported for uyuni")
52+
return # Exit early if deletion is not supported
53+
4954
channels = self.client.channel.listMyChannels(self.session_key)
5055
for channel in channels:
5156
details = self.client.channel.software.getDetails(self.session_key, channel['label'])

0 commit comments

Comments
 (0)