Last active
February 29, 2024 18:38
-
-
Save mtcoffee/bc5fd63448079f09f2ba35d8ba99d29e to your computer and use it in GitHub Desktop.
Servicenow K8s cleanup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Cleanup all Kubernetes tables that are orphaned with no cluster | |
// Define the tables where records need to be deleted | |
// MUST BE RUN IN A FIX SCRIPT IN DISCOVERY AND SERVICE MAPPING SCOPE | |
var k8scluster_sysid = '9c880487475c0a10971497da116d43d1'; //sys_id of cluster | |
var tables = [ | |
'cmdb_ci_kubernetes_cluster', | |
'cmdb_ci_kubernetes_service', | |
'cmdb_ci_kubernetes_replicationcontroller', | |
'cmdb_ci_kubernetes_replicaset', | |
'cmdb_ci_kubernetes_daemonset', | |
'cmdb_ci_kubernetes_deployment', | |
'cmdb_ci_kubernetes_job', | |
'cmdb_ci_kubernetes_node', | |
'cmdb_ci_kubernetes_statefulset', | |
'cmdb_ci_kubernetes_pod', | |
'cmdb_ci_kubernetes_namespace', | |
'cmdb_ci_kubernetes_ingress', | |
'cmdb_ci_kubernetes_workload', | |
'cmdb_ci_kubernetes_cronjob', | |
'cmdb_ci_kubernetes_volume' | |
]; | |
// Loop through each table | |
tables.forEach(function(table) { | |
var gr = new GlideRecord(table); | |
gr.addQuery('cluster', k8scluster_sysid); // Add query to filter records with empty 'cluster' field | |
gr.query(); | |
// Iterate through records and delete them | |
while (gr.next()) { | |
gr.deleteRecord(); | |
gs.info('Deleted record from ' + table) | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment