apache-airflow-providers-cncf-kubernetes 10.5.0rc2__tar.gz → 10.6.0rc1__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.

Potentially problematic release.


This version of apache-airflow-providers-cncf-kubernetes might be problematic. Click here for more details.

Files changed (156) hide show
  1. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/PKG-INFO +13 -13
  2. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/README.rst +8 -8
  3. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/changelog.rst +35 -0
  4. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/index.rst +6 -6
  5. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/local_kubernetes_executor.rst +6 -0
  6. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/operators.rst +1 -1
  7. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/provider.yaml +4 -3
  8. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/pyproject.toml +6 -10
  9. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/__init__.py +1 -1
  10. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py +19 -4
  11. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor.py +3 -3
  12. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_types.py +5 -1
  13. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_utils.py +2 -10
  14. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/executors/local_kubernetes_executor.py +15 -9
  15. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/get_provider_info.py +1 -1
  16. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/kube_config.py +6 -3
  17. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/operators/pod.py +58 -10
  18. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/pod_generator.py +39 -0
  19. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/template_rendering.py +6 -2
  20. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/triggers/pod.py +11 -0
  21. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py +22 -2
  22. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/decorators/test_kubernetes.py +3 -0
  23. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/decorators/test_kubernetes_cmd.py +8 -0
  24. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/decorators/test_kubernetes_commons.py +18 -1
  25. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/executors/test_kubernetes_executor.py +21 -0
  26. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/executors/test_local_kubernetes_executor.py +5 -7
  27. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/log_handlers/test_log_handlers.py +2 -2
  28. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/operators/test_pod.py +85 -1
  29. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/operators/test_spark_kubernetes.py +34 -14
  30. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/test_template_rendering.py +24 -10
  31. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/triggers/test_pod.py +1 -0
  32. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/utils/test_pod_manager.py +71 -11
  33. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/.latest-doc-only-change.txt +0 -0
  34. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/cli-ref.rst +0 -0
  35. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/commits.rst +0 -0
  36. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/conf.py +0 -0
  37. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/configurations-ref.rst +0 -0
  38. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/connections/kubernetes.rst +0 -0
  39. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/img/arch-diag-kubernetes.png +0 -0
  40. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/img/arch-diag-kubernetes2.png +0 -0
  41. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/img/k8s-failed-pod.png +0 -0
  42. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/img/k8s-happy-path.png +0 -0
  43. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/installing-providers-from-sources.rst +0 -0
  44. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/integration-logos/Kubernetes.png +0 -0
  45. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/integration-logos/Spark-On-Kubernetes.png +0 -0
  46. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/kubernetes_executor.rst +0 -0
  47. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/redirects.txt +0 -0
  48. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/docs/security.rst +0 -0
  49. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/__init__.py +0 -0
  50. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/__init__.py +0 -0
  51. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/__init__.py +0 -0
  52. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/LICENSE +0 -0
  53. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/backcompat/__init__.py +0 -0
  54. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/backcompat/backwards_compat_converters.py +0 -0
  55. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/callbacks.py +0 -0
  56. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/cli/__init__.py +0 -0
  57. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/decorators/__init__.py +0 -0
  58. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +0 -0
  59. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/decorators/kubernetes_cmd.py +0 -0
  60. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/exceptions.py +0 -0
  61. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/executors/__init__.py +0 -0
  62. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/hooks/__init__.py +0 -0
  63. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/hooks/kubernetes.py +0 -0
  64. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/k8s_model.py +0 -0
  65. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/kube_client.py +0 -0
  66. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/__init__.py +0 -0
  67. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/basic_template.yaml +0 -0
  68. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/kubernetes_helper_functions.py +0 -0
  69. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/operators/__init__.py +0 -0
  70. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py +0 -0
  71. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/operators/job.py +0 -0
  72. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/operators/kueue.py +0 -0
  73. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/operators/resource.py +0 -0
  74. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py +0 -0
  75. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/__init__.py +0 -0
  76. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_image_template.yaml +0 -0
  77. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_volume_template.yaml +0 -0
  78. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/git_sync_template.yaml +0 -0
  79. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.jinja2 +0 -0
  80. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.py +0 -0
  81. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/resource_convert/__init__.py +0 -0
  82. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/resource_convert/configmap.py +0 -0
  83. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/resource_convert/env_variable.py +0 -0
  84. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/resource_convert/secret.py +0 -0
  85. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/secret.py +0 -0
  86. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/sensors/__init__.py +0 -0
  87. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py +0 -0
  88. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/triggers/__init__.py +0 -0
  89. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/triggers/job.py +0 -0
  90. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/utils/__init__.py +0 -0
  91. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/utils/delete_from.py +0 -0
  92. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/utils/k8s_resource_iterator.py +0 -0
  93. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/utils/xcom_sidecar.py +0 -0
  94. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/src/airflow/providers/cncf/kubernetes/version_compat.py +0 -0
  95. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/conftest.py +0 -0
  96. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/__init__.py +0 -0
  97. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/__init__.py +0 -0
  98. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/__init__.py +0 -0
  99. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_kubernetes.py +0 -0
  100. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_kubernetes_async.py +0 -0
  101. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_kubernetes_cmd_decorator.py +0 -0
  102. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_kubernetes_decorator.py +0 -0
  103. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_kubernetes_job.py +0 -0
  104. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_kubernetes_kueue.py +0 -0
  105. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_kubernetes_resource.py +0 -0
  106. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_spark_kubernetes.py +0 -0
  107. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/example_spark_kubernetes_spark_pi.yaml +0 -0
  108. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/system/cncf/kubernetes/spark_job_template.yaml +0 -0
  109. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/__init__.py +0 -0
  110. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/__init__.py +0 -0
  111. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/__init__.py +0 -0
  112. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/backcompat/__init__.py +0 -0
  113. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/backcompat/test_backwards_compat_converters.py +0 -0
  114. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/cli/__init__.py +0 -0
  115. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/cli/test_kubernetes_command.py +0 -0
  116. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/conftest.py +0 -0
  117. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/__init__.py +0 -0
  118. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/executor/__init__.py +0 -0
  119. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/executor/basic_template.yaml +0 -0
  120. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/kube_config +0 -0
  121. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/pods/__init__.py +0 -0
  122. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/pods/generator_base.yaml +0 -0
  123. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/pods/generator_base_with_secrets.yaml +0 -0
  124. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/pods/template.yaml +0 -0
  125. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/spark/__init__.py +0 -0
  126. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/spark/application_template.yaml +0 -0
  127. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/spark/application_test.json +0 -0
  128. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/spark/application_test.yaml +0 -0
  129. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/spark/application_test_with_no_name_from_config.json +0 -0
  130. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/data_files/spark/application_test_with_no_name_from_config.yaml +0 -0
  131. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/decorators/__init__.py +0 -0
  132. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/executors/__init__.py +0 -0
  133. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/hooks/__init__.py +0 -0
  134. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py +0 -0
  135. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/log_handlers/__init__.py +0 -0
  136. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/models/__init__.py +0 -0
  137. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/models/test_secret.py +0 -0
  138. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/operators/__init__.py +0 -0
  139. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/operators/test_custom_object_launcher.py +0 -0
  140. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/operators/test_job.py +0 -0
  141. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/operators/test_kueue.py +0 -0
  142. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/operators/test_resource.py +0 -0
  143. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/resource_convert/__init__.py +0 -0
  144. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/resource_convert/test_configmap.py +0 -0
  145. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/resource_convert/test_env_variable.py +0 -0
  146. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/resource_convert/test_secret.py +0 -0
  147. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/sensors/__init__.py +0 -0
  148. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/sensors/test_spark_kubernetes.py +0 -0
  149. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/test_callbacks.py +0 -0
  150. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/test_client.py +0 -0
  151. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/test_kubernetes_helper_functions.py +0 -0
  152. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/test_pod_generator.py +0 -0
  153. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/triggers/__init__.py +0 -0
  154. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/triggers/test_job.py +0 -0
  155. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/utils/__init__.py +0 -0
  156. {apache_airflow_providers_cncf_kubernetes-10.5.0rc2 → apache_airflow_providers_cncf_kubernetes-10.6.0rc1}/tests/unit/cncf/kubernetes/utils/test_k8s_resource_iterator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-cncf-kubernetes
3
- Version: 10.5.0rc2
3
+ Version: 10.6.0rc1
4
4
  Summary: Provider package apache-airflow-providers-cncf-kubernetes for Apache Airflow
5
5
  Keywords: airflow-provider,cncf.kubernetes,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -24,11 +24,11 @@ Requires-Dist: aiofiles>=23.2.0
24
24
  Requires-Dist: apache-airflow>=2.10.0rc1
25
25
  Requires-Dist: asgiref>=3.5.2
26
26
  Requires-Dist: cryptography>=41.0.0
27
- Requires-Dist: kubernetes>=29.0.0,<=31.0.0
28
- Requires-Dist: kubernetes_asyncio>=29.0.0,<=31.0.0
27
+ Requires-Dist: kubernetes>=32.0.0,<33.0.0
28
+ Requires-Dist: kubernetes_asyncio>=32.0.0,<33.0.0
29
29
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
30
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.5.0/changelog.html
31
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.5.0
30
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.6.0/changelog.html
31
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.6.0
32
32
  Project-URL: Mastodon, https://fosstodon.org/@airflow
33
33
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
34
34
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -59,7 +59,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
59
59
 
60
60
  Package ``apache-airflow-providers-cncf-kubernetes``
61
61
 
62
- Release: ``10.5.0``
62
+ Release: ``10.6.0``
63
63
 
64
64
 
65
65
  `Kubernetes <https://kubernetes.io/>`__
@@ -72,7 +72,7 @@ This is a provider package for ``cncf.kubernetes`` provider. All classes for thi
72
72
  are in ``airflow.providers.cncf.kubernetes`` python package.
73
73
 
74
74
  You can find package information and changelog for the provider
75
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.5.0/>`_.
75
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.6.0/>`_.
76
76
 
77
77
  Installation
78
78
  ------------
@@ -86,17 +86,17 @@ The package supports the following python versions: 3.9,3.10,3.11,3.12
86
86
  Requirements
87
87
  ------------
88
88
 
89
- ====================== =====================
89
+ ====================== ====================
90
90
  PIP package Version required
91
- ====================== =====================
91
+ ====================== ====================
92
92
  ``aiofiles`` ``>=23.2.0``
93
93
  ``apache-airflow`` ``>=2.10.0``
94
94
  ``asgiref`` ``>=3.5.2``
95
95
  ``cryptography`` ``>=41.0.0``
96
- ``kubernetes`` ``>=29.0.0,<=31.0.0``
97
- ``kubernetes_asyncio`` ``>=29.0.0,<=31.0.0``
98
- ====================== =====================
96
+ ``kubernetes`` ``>=32.0.0,<33.0.0``
97
+ ``kubernetes_asyncio`` ``>=32.0.0,<33.0.0``
98
+ ====================== ====================
99
99
 
100
100
  The changelog for the provider package can be found in the
101
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.5.0/changelog.html>`_.
101
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.6.0/changelog.html>`_.
102
102
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-cncf-kubernetes``
25
25
 
26
- Release: ``10.5.0``
26
+ Release: ``10.6.0``
27
27
 
28
28
 
29
29
  `Kubernetes <https://kubernetes.io/>`__
@@ -36,7 +36,7 @@ This is a provider package for ``cncf.kubernetes`` provider. All classes for thi
36
36
  are in ``airflow.providers.cncf.kubernetes`` python package.
37
37
 
38
38
  You can find package information and changelog for the provider
39
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.5.0/>`_.
39
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.6.0/>`_.
40
40
 
41
41
  Installation
42
42
  ------------
@@ -50,16 +50,16 @@ The package supports the following python versions: 3.9,3.10,3.11,3.12
50
50
  Requirements
51
51
  ------------
52
52
 
53
- ====================== =====================
53
+ ====================== ====================
54
54
  PIP package Version required
55
- ====================== =====================
55
+ ====================== ====================
56
56
  ``aiofiles`` ``>=23.2.0``
57
57
  ``apache-airflow`` ``>=2.10.0``
58
58
  ``asgiref`` ``>=3.5.2``
59
59
  ``cryptography`` ``>=41.0.0``
60
- ``kubernetes`` ``>=29.0.0,<=31.0.0``
61
- ``kubernetes_asyncio`` ``>=29.0.0,<=31.0.0``
62
- ====================== =====================
60
+ ``kubernetes`` ``>=32.0.0,<33.0.0``
61
+ ``kubernetes_asyncio`` ``>=32.0.0,<33.0.0``
62
+ ====================== ====================
63
63
 
64
64
  The changelog for the provider package can be found in the
65
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.5.0/changelog.html>`_.
65
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.6.0/changelog.html>`_.
@@ -28,6 +28,41 @@ Changelog
28
28
  ---------
29
29
 
30
30
 
31
+ 10.6.0
32
+ ......
33
+
34
+ Features
35
+ ~~~~~~~~
36
+
37
+ * ``KubernetesPodOperator push xcom after failed pod (#51475)``
38
+ * ``[KubernetesPodOperator] Reads Kubernetes events and writes them into log (#50192)``
39
+ * ``Added detection of terminated pod during get_or_create_pod (#51158)``
40
+
41
+ Bug Fixes
42
+ ~~~~~~~~~
43
+
44
+ * ``Add xcom sidecar terminated detection (#51144)``
45
+ * ``Fix 'EksPodOperator' in deferrable mode (#51255)``
46
+ * ``Fix a bug where Kube config "worker_pod_pending_fatal_container_state_reasons" is parsed wrongly (#50931)``
47
+
48
+ Misc
49
+ ~~~~
50
+
51
+ * ``Relax Kubernetes client version support to <33.0.0 (#51195)``
52
+ * ``Adjust code path in executors to be compatible with airflow task run (#51009)``
53
+ * ``Port ''ti.run'' to Task SDK execution path (#50141)``
54
+ * ``Bump some provider dependencies for faster resolution (#51727)``
55
+ * ``Prevent legacy static hybrid executors to be running in Airflow 3 (#51733)``
56
+
57
+ Doc-only
58
+ ~~~~~~~~
59
+
60
+ * ``Update the executor and provider doc to highlight the two statically coded hybrid executors are no longer supported in Airflow 3.0.0+ (#51715)``
61
+ * ``Update operators.rst - fix typo Kubernetes Pod Operator doc (#51574)``
62
+
63
+ .. Below changes are excluded from the changelog. Move them to
64
+ appropriate section above if needed. Do not delete the lines(!):
65
+
31
66
  10.5.0
32
67
  ......
33
68
 
@@ -87,7 +87,7 @@ apache-airflow-providers-cncf-kubernetes package
87
87
  `Kubernetes <https://kubernetes.io/>`__
88
88
 
89
89
 
90
- Release: 10.5.0
90
+ Release: 10.6.0
91
91
 
92
92
  Provider package
93
93
  ----------------
@@ -107,13 +107,13 @@ Requirements
107
107
 
108
108
  The minimum Apache Airflow version supported by this provider distribution is ``2.10.0``.
109
109
 
110
- ====================== =====================
110
+ ====================== ====================
111
111
  PIP package Version required
112
- ====================== =====================
112
+ ====================== ====================
113
113
  ``aiofiles`` ``>=23.2.0``
114
114
  ``apache-airflow`` ``>=2.10.0``
115
115
  ``asgiref`` ``>=3.5.2``
116
116
  ``cryptography`` ``>=41.0.0``
117
- ``kubernetes`` ``>=29.0.0,<=31.0.0``
118
- ``kubernetes_asyncio`` ``>=29.0.0,<=31.0.0``
119
- ====================== =====================
117
+ ``kubernetes`` ``>=32.0.0,<33.0.0``
118
+ ``kubernetes_asyncio`` ``>=32.0.0,<33.0.0``
119
+ ====================== ====================
@@ -28,6 +28,12 @@ LocalKubernetes Executor
28
28
  or by installing Airflow with the ``cncf.kubernetes`` extras:
29
29
  ``pip install 'apache-airflow[cncf.kubernetes]'``.
30
30
 
31
+ .. note::
32
+
33
+ ``LocalKubernetesExecutor`` is no longer supported starting from Airflow 3.0.0. You can use the
34
+ :ref:`Using Multiple Executors Concurrently <using-multiple-executors-concurrently>` feature instead,
35
+ which provides equivalent functionality in a more flexible manner.
36
+
31
37
  The :class:`~airflow.providers.cncf.kubernetes.executors.local_kubernetes_executor.LocalKubernetesExecutor` allows users
32
38
  to simultaneously run a ``LocalExecutor`` and a ``KubernetesExecutor``.
33
39
  An executor is chosen to run a task based on the task's queue.
@@ -752,4 +752,4 @@ you to start a Kueue job in a Kubernetes cluster
752
752
  For further information, look at:
753
753
 
754
754
  * `Kubernetes Documentation <https://kubernetes.io/docs/home/>`__
755
- * `Rub a Kubernetes job in Kueue <https://kueue.sigs.k8s.io/docs/tasks/run/jobs/>`__
755
+ * `Run a Kubernetes job in Kueue <https://kueue.sigs.k8s.io/docs/tasks/run/jobs/>`__
@@ -22,12 +22,13 @@ description: |
22
22
  `Kubernetes <https://kubernetes.io/>`__
23
23
 
24
24
  state: ready
25
- source-date-epoch: 1747132113
25
+ source-date-epoch: 1749896254
26
26
  # Note that those versions are maintained by release manager - do not update them manually
27
27
  # with the exception of case where other provider in sources has >= new provider version.
28
28
  # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
29
29
  # to be done in the same PR
30
30
  versions:
31
+ - 10.6.0
31
32
  - 10.5.0
32
33
  - 10.4.3
33
34
  - 10.4.2
@@ -241,8 +242,8 @@ config:
241
242
  version_added: 8.1.0
242
243
  type: string
243
244
  example: ~
244
- default: 'CreateContainerConfigError,ErrImagePull,CreateContainerError,ImageInspectError,
245
- InvalidImageName'
245
+ default: "CreateContainerConfigError,ErrImagePull,CreateContainerError,ImageInspectError,\
246
+ InvalidImageName"
246
247
  worker_pods_creation_batch_size:
247
248
  description: |
248
249
  Number of Kubernetes Worker Pod creation calls per scheduler loop.
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-cncf-kubernetes"
28
- version = "10.5.0rc2"
28
+ version = "10.6.0rc1"
29
29
  description = "Provider package apache-airflow-providers-cncf-kubernetes for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  authors = [
@@ -69,13 +69,9 @@ dependencies = [
69
69
  # limiting minimum airflow version supported in cncf.kubernetes provider, due to the
70
70
  # potential breaking changes in Airflow Core as well (kubernetes is added as extra, so Airflow
71
71
  # core is not hard-limited via install-requirements, only by extra).
72
- "kubernetes>=29.0.0,<=31.0.0",
73
- # The Kubernetes_asyncio package is used for providing Asynchronous (AsyncIO) client library for
74
- # standard Kubernetes API. The version is limited by minimum 18.20.1 because of introducing the ability to
75
- # load kubernetes config file from dictionary in that release and is limited to the next MAJOR version
76
- # (started from current 24.2.2 version) to prevent introducing some problems that could be due to some
77
- # major changes in the package.
78
- "kubernetes_asyncio>=29.0.0,<=31.0.0",
72
+ "kubernetes>=32.0.0,<33.0.0",
73
+ # the version is limited to the next MAJOR version and should by synced with the kubernetes version
74
+ "kubernetes_asyncio>=32.0.0,<33.0.0",
79
75
  ]
80
76
 
81
77
  [dependency-groups]
@@ -112,8 +108,8 @@ apache-airflow-providers-common-sql = {workspace = true}
112
108
  apache-airflow-providers-standard = {workspace = true}
113
109
 
114
110
  [project.urls]
115
- "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.5.0"
116
- "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.5.0/changelog.html"
111
+ "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.6.0"
112
+ "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.6.0/changelog.html"
117
113
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
118
114
  "Source Code" = "https://github.com/apache/airflow"
119
115
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "10.5.0"
32
+ __version__ = "10.6.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.10.0"
@@ -26,16 +26,17 @@ from kubernetes import client
26
26
  from kubernetes.client.api_client import ApiClient
27
27
  from kubernetes.client.rest import ApiException
28
28
 
29
- from airflow.models import DagRun, TaskInstance
29
+ from airflow.models import DagModel, DagRun, TaskInstance
30
30
  from airflow.providers.cncf.kubernetes import pod_generator
31
31
  from airflow.providers.cncf.kubernetes.executors.kubernetes_executor import KubeConfig
32
32
  from airflow.providers.cncf.kubernetes.kube_client import get_kube_client
33
33
  from airflow.providers.cncf.kubernetes.kubernetes_helper_functions import create_unique_id
34
- from airflow.providers.cncf.kubernetes.pod_generator import PodGenerator
34
+ from airflow.providers.cncf.kubernetes.pod_generator import PodGenerator, generate_pod_command_args
35
35
  from airflow.providers.cncf.kubernetes.version_compat import AIRFLOW_V_3_0_PLUS
36
36
  from airflow.utils import cli as cli_utils, yaml
37
37
  from airflow.utils.cli import get_dag
38
38
  from airflow.utils.providers_configuration_loader import providers_configuration_loaded
39
+ from airflow.utils.types import DagRunType
39
40
 
40
41
 
41
42
  @cli_utils.action_cli
@@ -48,14 +49,28 @@ def generate_pod_yaml(args):
48
49
  else:
49
50
  dag = get_dag(subdir=args.subdir, dag_id=args.dag_id)
50
51
  yaml_output_path = args.output_path
52
+
53
+ dm = DagModel(dag_id=dag.dag_id)
54
+
51
55
  if AIRFLOW_V_3_0_PLUS:
52
56
  dr = DagRun(dag.dag_id, logical_date=logical_date)
57
+ dr.run_id = DagRun.generate_run_id(
58
+ run_type=DagRunType.MANUAL, logical_date=logical_date, run_after=logical_date
59
+ )
60
+ dm.bundle_name = args.bundle_name if args.bundle_name else "default"
61
+ dm.relative_fileloc = dag.relative_fileloc
53
62
  else:
54
63
  dr = DagRun(dag.dag_id, execution_date=logical_date)
64
+ dr.run_id = DagRun.generate_run_id(run_type=DagRunType.MANUAL, execution_date=logical_date)
65
+
55
66
  kube_config = KubeConfig()
67
+
56
68
  for task in dag.tasks:
57
- ti = TaskInstance(task, None)
69
+ ti = TaskInstance(task, run_id=dr.run_id)
58
70
  ti.dag_run = dr
71
+ ti.dag_model = dm
72
+
73
+ command_args = generate_pod_command_args(ti)
59
74
  pod = PodGenerator.construct_pod(
60
75
  dag_id=args.dag_id,
61
76
  task_id=ti.task_id,
@@ -63,7 +78,7 @@ def generate_pod_yaml(args):
63
78
  try_number=ti.try_number,
64
79
  kube_image=kube_config.kube_image,
65
80
  date=ti.logical_date if AIRFLOW_V_3_0_PLUS else ti.execution_date,
66
- args=ti.command_as_list(),
81
+ args=command_args,
67
82
  pod_override_object=PodGenerator.from_obj(ti.executor_config),
68
83
  scheduler_job_id="worker-config",
69
84
  namespace=kube_config.executor_namespace,
@@ -76,13 +76,13 @@ from airflow.utils.state import TaskInstanceState
76
76
 
77
77
  if TYPE_CHECKING:
78
78
  import argparse
79
+ from collections.abc import Sequence
79
80
 
80
81
  from kubernetes import client
81
82
  from kubernetes.client import models as k8s
82
83
  from sqlalchemy.orm import Session
83
84
 
84
85
  from airflow.executors import workloads
85
- from airflow.executors.base_executor import CommandType
86
86
  from airflow.models.taskinstance import TaskInstance
87
87
  from airflow.models.taskinstancekey import TaskInstanceKey
88
88
  from airflow.providers.cncf.kubernetes.executors.kubernetes_executor_types import (
@@ -254,7 +254,7 @@ class KubernetesExecutor(BaseExecutor):
254
254
  def execute_async(
255
255
  self,
256
256
  key: TaskInstanceKey,
257
- command: CommandType,
257
+ command: Any,
258
258
  queue: str | None = None,
259
259
  executor_config: Any | None = None,
260
260
  ) -> None:
@@ -292,7 +292,7 @@ class KubernetesExecutor(BaseExecutor):
292
292
  ti = workload.ti
293
293
  self.queued_tasks[ti.key] = workload
294
294
 
295
- def _process_workloads(self, workloads: list[workloads.All]) -> None:
295
+ def _process_workloads(self, workloads: Sequence[workloads.All]) -> None:
296
296
  from airflow.executors.workloads import ExecuteTask
297
297
 
298
298
  # Airflow V3 version
@@ -20,10 +20,14 @@ from typing import TYPE_CHECKING, Any, Optional, Union
20
20
 
21
21
  ADOPTED = "adopted"
22
22
  if TYPE_CHECKING:
23
- from airflow.executors.base_executor import CommandType
23
+ from collections.abc import Sequence
24
+
24
25
  from airflow.models.taskinstance import TaskInstanceKey
25
26
  from airflow.utils.state import TaskInstanceState
26
27
 
28
+ # TODO: Remove after Airflow 2 support is removed
29
+ CommandType = Sequence[str]
30
+
27
31
  # TaskInstance key, command, configuration, pod_template_file
28
32
  KubernetesJobType = tuple[TaskInstanceKey, CommandType, Any, Optional[str]]
29
33
 
@@ -41,7 +41,7 @@ from airflow.providers.cncf.kubernetes.kubernetes_helper_functions import (
41
41
  annotations_to_key,
42
42
  create_unique_id,
43
43
  )
44
- from airflow.providers.cncf.kubernetes.pod_generator import PodGenerator
44
+ from airflow.providers.cncf.kubernetes.pod_generator import PodGenerator, workload_to_command_args
45
45
  from airflow.utils.log.logging_mixin import LoggingMixin
46
46
  from airflow.utils.singleton import Singleton
47
47
  from airflow.utils.state import TaskInstanceState
@@ -387,20 +387,12 @@ class AirflowKubernetesScheduler(LoggingMixin):
387
387
  key, command, kube_executor_config, pod_template_file = next_job
388
388
 
389
389
  dag_id, task_id, run_id, try_number, map_index = key
390
- ser_input = ""
391
390
  if len(command) == 1:
392
391
  from airflow.executors.workloads import ExecuteTask
393
392
 
394
393
  if isinstance(command[0], ExecuteTask):
395
394
  workload = command[0]
396
- ser_input = workload.model_dump_json()
397
- command = [
398
- "python",
399
- "-m",
400
- "airflow.sdk.execution_time.execute_workload",
401
- "--json-string",
402
- ser_input,
403
- ]
395
+ command = workload_to_command_args(workload)
404
396
  else:
405
397
  raise ValueError(
406
398
  f"KubernetesExecutor doesn't know how to handle workload of type: {type(command[0])}"
@@ -18,7 +18,7 @@
18
18
  from __future__ import annotations
19
19
 
20
20
  from collections.abc import Sequence
21
- from typing import TYPE_CHECKING
21
+ from typing import TYPE_CHECKING, Any
22
22
 
23
23
  from deprecated import deprecated
24
24
 
@@ -26,18 +26,17 @@ from airflow.configuration import conf
26
26
  from airflow.exceptions import AirflowProviderDeprecationWarning
27
27
  from airflow.executors.base_executor import BaseExecutor
28
28
  from airflow.providers.cncf.kubernetes.executors.kubernetes_executor import KubernetesExecutor
29
+ from airflow.providers.cncf.kubernetes.version_compat import AIRFLOW_V_3_0_PLUS
29
30
 
30
31
  if TYPE_CHECKING:
31
32
  from airflow.callbacks.base_callback_sink import BaseCallbackSink
32
33
  from airflow.callbacks.callback_requests import CallbackRequest
33
- from airflow.executors.base_executor import (
34
- CommandType,
35
- EventBufferValueType,
36
- QueuedTaskInstanceType,
37
- )
34
+ from airflow.executors.base_executor import EventBufferValueType
38
35
  from airflow.executors.local_executor import LocalExecutor
39
36
  from airflow.models.taskinstance import SimpleTaskInstance, TaskInstance, TaskInstanceKey
40
37
 
38
+ CommandType = Sequence[str]
39
+
41
40
 
42
41
  class LocalKubernetesExecutor(BaseExecutor):
43
42
  """
@@ -81,7 +80,7 @@ class LocalKubernetesExecutor(BaseExecutor):
81
80
  """Not implemented for hybrid executors."""
82
81
 
83
82
  @property
84
- def queued_tasks(self) -> dict[TaskInstanceKey, QueuedTaskInstanceType]:
83
+ def queued_tasks(self) -> dict[TaskInstanceKey, Any]:
85
84
  """Return queued tasks from local and kubernetes executor."""
86
85
  queued_tasks = self.local_executor.queued_tasks.copy()
87
86
  # TODO: fix this, there is misalignment between the types of queued_tasks so it is likely wrong
@@ -121,6 +120,13 @@ class LocalKubernetesExecutor(BaseExecutor):
121
120
 
122
121
  def start(self) -> None:
123
122
  """Start local and kubernetes executor."""
123
+ if AIRFLOW_V_3_0_PLUS:
124
+ raise RuntimeError(
125
+ f"{self.__class__.__name__} does not support Airflow 3.0+. See "
126
+ "https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/executor/index.html#using-multiple-executors-concurrently"
127
+ " how to use multiple executors concurrently."
128
+ )
129
+
124
130
  self.log.info("Starting local and Kubernetes Executor")
125
131
  self.local_executor.start()
126
132
  self.kubernetes_executor.start()
@@ -145,7 +151,7 @@ class LocalKubernetesExecutor(BaseExecutor):
145
151
  """Queues command via local or kubernetes executor."""
146
152
  executor = self._router(task_instance)
147
153
  self.log.debug("Using executor: %s for %s", executor.__class__.__name__, task_instance.key)
148
- executor.queue_command(task_instance, command, priority, queue)
154
+ executor.queue_command(task_instance, command, priority, queue) # type: ignore[union-attr]
149
155
 
150
156
  def queue_task_instance(
151
157
  self,
@@ -171,7 +177,7 @@ class LocalKubernetesExecutor(BaseExecutor):
171
177
  if not hasattr(task_instance, "pickle_id"):
172
178
  del kwargs["pickle_id"]
173
179
 
174
- executor.queue_task_instance(
180
+ executor.queue_task_instance( # type: ignore[union-attr]
175
181
  task_instance=task_instance,
176
182
  mark_success=mark_success,
177
183
  ignore_all_deps=ignore_all_deps,
@@ -169,7 +169,7 @@ def get_provider_info():
169
169
  "version_added": "8.1.0",
170
170
  "type": "string",
171
171
  "example": None,
172
- "default": "CreateContainerConfigError,ErrImagePull,CreateContainerError,ImageInspectError, InvalidImageName",
172
+ "default": "CreateContainerConfigError,ErrImagePull,CreateContainerError,ImageInspectError,InvalidImageName",
173
173
  },
174
174
  "worker_pods_creation_batch_size": {
175
175
  "description": 'Number of Kubernetes Worker Pod creation calls per scheduler loop.\nNote that the current default of "1" will only launch a single pod\nper-heartbeat. It is HIGHLY recommended that users increase this\nnumber to match the tolerance of their kubernetes cluster for\nbetter performance.\n',
@@ -42,9 +42,12 @@ class KubeConfig:
42
42
  )
43
43
  self.worker_pod_pending_fatal_container_state_reasons = []
44
44
  if conf.get(self.kubernetes_section, "worker_pod_pending_fatal_container_state_reasons", fallback=""):
45
- self.worker_pod_pending_fatal_container_state_reasons = conf.get(
46
- self.kubernetes_section, "worker_pod_pending_fatal_container_state_reasons"
47
- ).split(",")
45
+ self.worker_pod_pending_fatal_container_state_reasons = [
46
+ r.strip()
47
+ for r in conf.get(
48
+ self.kubernetes_section, "worker_pod_pending_fatal_container_state_reasons"
49
+ ).split(",")
50
+ ]
48
51
 
49
52
  self.worker_pods_creation_batch_size = conf.getint(
50
53
  self.kubernetes_section, "worker_pods_creation_batch_size"