airflow-unicore-integration 0.1.3__tar.gz → 0.1.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {airflow_unicore_integration-0.1.3/src/airflow_unicore_integration.egg-info → airflow_unicore_integration-0.1.5}/PKG-INFO +1 -1
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/pyproject.toml +1 -1
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/util/job.py +15 -7
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5/src/airflow_unicore_integration.egg-info}/PKG-INFO +1 -1
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/LICENSE +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/README.rst +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/setup.cfg +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/__init__.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/executors/__init__.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/executors/run_task_via_supervisor.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/executors/unicore_executor.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/hooks/__init__.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/hooks/unicore_hooks.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/operators/__init__.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/operators/unicore_operators.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration/policies/__init__.py +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration.egg-info/SOURCES.txt +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration.egg-info/dependency_links.txt +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration.egg-info/entry_points.txt +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration.egg-info/requires.txt +0 -0
- {airflow_unicore_integration-0.1.3 → airflow_unicore_integration-0.1.5}/src/airflow_unicore_integration.egg-info/top_level.txt +0 -0
|
@@ -63,7 +63,7 @@ class NaiveJobDescriptionGenerator(JobDescriptionGenerator):
|
|
|
63
63
|
else:
|
|
64
64
|
python_env = conf.get("unicore.executor", "DEFAULT_ENV")
|
|
65
65
|
# prepare dag file to be uploaded via unicore
|
|
66
|
-
# dag_file = open(
|
|
66
|
+
# dag_file = open("/tmp/test")
|
|
67
67
|
# dag_content = dag_file.readlines()
|
|
68
68
|
# dag_import = {"To": dag_rel_path, "Data": dag_content}
|
|
69
69
|
worker_script_import = {
|
|
@@ -84,20 +84,28 @@ class NaiveJobDescriptionGenerator(JobDescriptionGenerator):
|
|
|
84
84
|
"AIRFLOW__CORE__DAGS_FOLDER": "./",
|
|
85
85
|
"AIRFLOW__LOGGING__LOGGING_LEVEL": "DEBUG",
|
|
86
86
|
"AIRFLOW__CORE__EXECUTOR": "LocalExecutor,airflow_unicore_integration.executors.unicore_executor.UnicoreExecutor",
|
|
87
|
-
"AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST": os.environ.get(
|
|
88
|
-
"AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST", ""
|
|
89
|
-
),
|
|
90
87
|
}
|
|
88
|
+
|
|
89
|
+
# build filecontent string for importing in the job | this is needed to avoid confusing nested quotes and trying to escape them properly when using unicore env vars directly
|
|
90
|
+
env_file_content: list[str] = [
|
|
91
|
+
f"export AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST='{os.environ.get("AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST", "")}'"
|
|
92
|
+
]
|
|
93
|
+
|
|
91
94
|
# insert connection details that are provided via env vars to get bundles
|
|
92
95
|
for env_key in os.environ.keys():
|
|
93
96
|
if env_key.startswith("AIRFLOW_CONN_"):
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
env_file_content.append(f"export {env_key}='{os.environ[env_key]}'")
|
|
98
|
+
|
|
99
|
+
airflow_env_import = {"To": "airflow_config.env", "Data": env_file_content}
|
|
100
|
+
|
|
101
|
+
user_added_pre_commands.append(
|
|
102
|
+
f"source airflow_config.env && source {python_env}/bin/activate"
|
|
103
|
+
)
|
|
96
104
|
job_descr_dict["User precommand"] = ";".join(user_added_pre_commands)
|
|
97
105
|
job_descr_dict["RunUserPrecommandOnLoginNode"] = (
|
|
98
106
|
"false" # precommand includes activating the python env, this should be done on compute node right before running the job
|
|
99
107
|
)
|
|
100
|
-
job_descr_dict["Imports"] = [worker_script_import]
|
|
108
|
+
job_descr_dict["Imports"] = [worker_script_import, airflow_env_import]
|
|
101
109
|
# add user defined options to description
|
|
102
110
|
if user_added_env:
|
|
103
111
|
job_descr_dict["Environment"].update(user_added_env)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|