Skip to content

Instantly share code, notes, and snippets.

@mtcoffee
Last active February 29, 2024 18:38
Show Gist options
  • Save mtcoffee/bc5fd63448079f09f2ba35d8ba99d29e to your computer and use it in GitHub Desktop.
Save mtcoffee/bc5fd63448079f09f2ba35d8ba99d29e to your computer and use it in GitHub Desktop.
Servicenow K8s cleanup
// 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