def test_kubernetes_environment_variables(self): # Tests the kubernetes environment variables get copied into the worker pods input_environment = {'ENVIRONMENT': 'prod', 'LOG_LEVEL': 'warning'} self.kube_config.kube_env_vars = input_environment worker_config = WorkerConfiguration(self.kube_config) env = worker_config._get_environment() for key in input_environment: self.assertIn(key, env) self.assertIn(input_environment[key], env.values()) core_executor = 'AIRFLOW__CORE__EXECUTOR' input_environment = {core_executor: 'NotLocalExecutor'} self.kube_config.kube_env_vars = input_environment worker_config = WorkerConfiguration(self.kube_config) env = worker_config._get_environment() self.assertEqual(env[core_executor], 'LocalExecutor')
def test_worker_environment_no_dags_folder(self): self.kube_config.airflow_configmap = '' self.kube_config.git_dags_folder_mount_point = '' self.kube_config.dags_folder = '' worker_config = WorkerConfiguration(self.kube_config) env = worker_config._get_environment() self.assertNotIn('AIRFLOW__CORE__DAGS_FOLDER', env)
def test_worker_environment_when_dags_folder_specified(self): self.kube_config.airflow_configmap = 'airflow-configmap' self.kube_config.git_dags_folder_mount_point = '' dags_folder = '/workers/path/to/dags' self.kube_config.dags_folder = dags_folder worker_config = WorkerConfiguration(self.kube_config) env = worker_config._get_environment() self.assertEqual(dags_folder, env['AIRFLOW__CORE__DAGS_FOLDER'])
def test_worker_environment_dags_folder_using_git_sync(self): self.kube_config.airflow_configmap = 'airflow-configmap' self.kube_config.git_sync_dest = 'repo' self.kube_config.git_subpath = 'dags' self.kube_config.git_dags_folder_mount_point = '/workers/path/to/dags' dags_folder = '{}/{}/{}'.format( self.kube_config.git_dags_folder_mount_point, self.kube_config.git_sync_dest, self.kube_config.git_subpath) worker_config = WorkerConfiguration(self.kube_config) env = worker_config._get_environment() self.assertEqual(dags_folder, env['AIRFLOW__CORE__DAGS_FOLDER'])