def clean_consul_metadata(self): """ This method will iterate over all archived instances and clean their metadata from Consul. """ instances_ids = self.get_archived_instances() agent = ConsulAgent() self.stdout.write('Cleaning metadata for {} archived instances...'.format(len(instances_ids))) for instances_id in instances_ids: prefix = settings.CONSUL_PREFIX.format(ocim=settings.OCIM_ID, instance=instances_id) agent.delete(prefix, recurse=True) self.stdout.write(self.style.SUCCESS('Successfully cleaned archived instances\' metadata'))
def test_delete_no_prefix(self): """ Will test whether a key is gonna be deleted or not from the Key-Value store. """ agent = ConsulAgent() self.client.kv.put('key', 'value') self.client.kv.put('another_key', 'another value') self.client.kv.put('dummy_key', '1') _, values = self.client.kv.get('', recurse=True) self.assertEqual(len(values), 3) agent.delete('key') _, values = self.client.kv.get('', recurse=True) self.assertEqual(len(values), 2)
def test_delete_with_prefix(self): """ Delete with prefix will delete the given key from a prefixed agent. """ prefix = 'nice-prefix' agent = ConsulAgent(prefix=prefix) self.client.kv.put(prefix + 'key', 'value') self.client.kv.put(prefix + 'another_key', 'another value') self.client.kv.put('dummy_key', '1') _, values = self.client.kv.get('', recurse=True) self.assertEqual(len(values), 3) agent.delete('key') _, values = self.client.kv.get('', recurse=True) self.assertEqual(len(values), 2) agent.delete('dummy_key') _, values = self.client.kv.get('', recurse=True) self.assertEqual(len(values), 2)