User can add all outofsync tasks to whitelist
Change-Id: Ic73913d72ed5eaecb8a44fad47413ad47d94287d
This commit is contained in:
parent
75019a58dc
commit
a3171ef317
|
@ -355,3 +355,44 @@ class WhitelistRuleAddFromFile(lister.Lister, command.Command):
|
||||||
ret = data_utils.get_display_data_multi(self.columns, ret)
|
ret = data_utils.get_display_data_multi(self.columns, ret)
|
||||||
|
|
||||||
return (self.columns, ret)
|
return (self.columns, ret)
|
||||||
|
|
||||||
|
|
||||||
|
class WhitelistRuleAddAll(OutOfSyncResources):
|
||||||
|
columns = (
|
||||||
|
'id',
|
||||||
|
'fuel_task',
|
||||||
|
'rule'
|
||||||
|
)
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
task_id = parsed_args.task
|
||||||
|
if not task_id:
|
||||||
|
all_tasks = Task.get_all()
|
||||||
|
env_tasks = filter(
|
||||||
|
lambda t: t.data['cluster'] == parsed_args.env and
|
||||||
|
t.data['name'] == 'dry_run_deployment',
|
||||||
|
all_tasks)
|
||||||
|
env_tasks.sort(key=lambda t: t.data['time_start'])
|
||||||
|
fuel_task = env_tasks[-1]
|
||||||
|
else:
|
||||||
|
fuel_task = Task(task_id)
|
||||||
|
|
||||||
|
env_id = fuel_task.data['cluster']
|
||||||
|
|
||||||
|
changes = Audit.get_outofsync(fuel_task)
|
||||||
|
|
||||||
|
remap = lambda x: {
|
||||||
|
'fuel_task': x['task_id'],
|
||||||
|
'rule': x['resource'][:254]
|
||||||
|
}
|
||||||
|
remap_changes = map(remap, changes)
|
||||||
|
uniq_data = set(map(lambda x: tuple(x.items()), remap_changes))
|
||||||
|
data = map(lambda x: dict(x), uniq_data)
|
||||||
|
|
||||||
|
ret = fc_client.post_request(
|
||||||
|
'/clusters/{env}/changes-whitelist/'.format(env=env_id),
|
||||||
|
data
|
||||||
|
)
|
||||||
|
ret = data_utils.get_display_data_multi(self.columns, ret)
|
||||||
|
|
||||||
|
return (self.columns, ret)
|
||||||
|
|
|
@ -35,3 +35,4 @@ fuelclient:
|
||||||
audit_whitelist_add = fuel_external_git.fuelclient_audit:WhitelistRuleAdd
|
audit_whitelist_add = fuel_external_git.fuelclient_audit:WhitelistRuleAdd
|
||||||
audit_whitelist_load_fromfile = fuel_external_git.fuelclient_audit:WhitelistRuleAddFromFile
|
audit_whitelist_load_fromfile = fuel_external_git.fuelclient_audit:WhitelistRuleAddFromFile
|
||||||
audit_whitelist_delete = fuel_external_git.fuelclient_audit:WhitelistRuleDelete
|
audit_whitelist_delete = fuel_external_git.fuelclient_audit:WhitelistRuleDelete
|
||||||
|
audit_whitelist_load_all = fuel_external_git.fuelclient_audit:WhitelistRuleAddAll
|
||||||
|
|
Loading…
Reference in New Issue