in packages/constructs/L3/dataops/dataops-nifi-l3-construct/docker/nifi-manager/scripts/toolkit/utils.py [0:0]
def nifi_toolkit(nifi_app, args):
while True:
cmd = args + ["-ot", "json"]
logger.info(f"Executing cmd: {' '.join(cmd)}")
starttime = time.time()
output = nifi_toolkit_pexpect(nifi_app, cmd)
elapsed = time.time() - starttime
logger.info(f"Command took {elapsed} seconds")
if "ERROR:" in output:
if 'connect timed out' in output:
logger.warning(
"Cannot connect to Nifi using toolkit. Timeout.")
elif 'No route to host' in output:
logger.warning(
"Cannot connect to Nifi using toolkit. No route to host.")
elif 'Connection refused' in output:
logger.warning(
"Cannot connect to Nifi using toolkit. Connection refused.")
elif 'The Flow Controller is initializing the Data Flow' in output:
logger.warning(
"Cannot connect to Nifi using toolkit. Initializing flow.")
elif 'Cannot replicate request' in output:
logger.warning(
"Cannot connect to Nifi using toolkit. Cannot replicate request. Node disconnected.")
elif 'no nodes are connected' in output:
logger.warning(
"Cannot connect to Nifi using toolkit. No nodes are connected.")
elif 'is currently connecting' in output:
logger.warning(
"Cannot connect to Nifi using toolkit. Node is currently connecting.")
else:
logger.error(f"Nifi Toolkit Exception: {output}")
raise Exception(f"Nifi Toolkit Exception: {output}")
else:
return output
logger.info("Retrying in 10 seconds.")
# nosemgrep
time.sleep(10)