in src/es_pii_tool/helpers/steps.py [0:0]
def fix_aliases(task: 'Task', stepname, var: DotMap, **kwargs) -> None:
"""Using the aliases collected from var.index, update mount_name and verify"""
missing_data(stepname, kwargs)
data = kwargs['data']
step = Step(task=task, stepname=stepname)
if step.finished():
logger.info('%s: already completed', step.stub)
return
step.begin()
if data.data_stream:
msg = 'Cannot apply aliases to indices in data_stream'
logger.debug(msg)
step.add_log(msg)
step.end(completed=True, errors=False, logmsg=f'{stepname} completed')
return
alias_names = var.aliases.toDict().keys()
if not alias_names:
msg = f'No aliases associated with index {var.index}'
step.add_log(msg)
logger.info(msg)
elif not task.job.dry_run:
msg = f'Transferring aliases to new index ' f'{var.mount_name}'
logger.debug(msg)
step.add_log(msg)
var.client.indices.update_aliases(
actions=get_alias_actions(var.index, var.mount_name, var.aliases.toDict())
)
verify = var.client.indices.get(index=var.mount_name)[var.mount_name][
'aliases'
].keys()
if alias_names != verify:
msg = f'Alias names do not match! {alias_names} does not match: {verify}'
logger.critical(msg)
step.add_log(msg)
failed_step(
task, step, ValueMismatch(msg, 'alias names mismatch', alias_names)
)
else:
msg = 'Dry-Run: alias transfer not executed'
logger.debug(msg)
step.add_log(msg)
step.end(completed=True, errors=False, logmsg=f'{stepname} completed')