Граф коммитов

470 Коммитов

Автор SHA1 Сообщение Дата
Jarek Potiuk 10d39eff25
[AIRFLOW-XXXX] Google Season of Docs updates to CONTRIBUTING doc (#6283)
Co-authored-by: Elena Fedotova <lavel@mail.ru>
Co-Authored-By: Kamil Breguła <mik-laj@users.noreply.github.com>
Co-Authored-By: Kaxil Naik <kaxilnaik@gmail.com>
Co-Authored-By: Ash Berlin-Taylor <ash_github@firemirror.com>
2019-10-13 22:20:31 +02:00
arkadiuszbach 00ef8cb928 [AIRFLOW-4660] Make airflow/bin Pylint compatible (#6294) 2019-10-09 15:23:12 +02:00
Jarek Potiuk bf4cea0b2f [AIRFLOW-5585] Remove docker context from build 2019-10-04 18:13:06 +02:00
Kevin Yang d719e1fd67 [AIRFLOW-5362] Reorder imports (#5944) 2019-10-02 16:30:03 +01:00
Quentin Lemaire d70c5fd417 [AIRFLOW-5408] Fix env variable name in Kubernetes template 2019-09-30 17:05:35 +02:00
Marek Šuppa 781d001863 [AIRFLOW-5280] conn: Remove aws_default's default region name (#5879)
The `aws_default` by default specifies the `region_name` to be
`us-east-1` in its `extra` field. This causes trouble when the desired
AWS account uses a different region as this default value has priority
over the $AWS_REGION and $AWS_DEFAULT_REGION environment variables,
gets passed directly to `botocore` and does not seem to be documented.

This commit removes the default region name from the `aws_default`'s
extra field. This means that it will have to be set manually, which
would follow the "explicit is better than implicit" philosophy.
2019-09-30 09:52:09 +01:00
Jarek Potiuk 30c442c9b8 [AIRFLOW-5537] Yamllint is not needed as dependency on host
It used to be needed for pre-commits but is not needed any more
as it is automatically installed as dependency in the virtualenv
created by pre-commit
2019-09-22 19:47:44 +01:00
Jarek Potiuk f63e4e37d0 [AIRFLOW-5536] Better handling of temporary output files 2019-09-22 19:47:44 +01:00
Jarek Potiuk 511615c884 [AIRFLOW-5535] Fix name of VERBOSE parameter 2019-09-22 19:47:44 +01:00
Jarek Potiuk 1815ef32d8 [AIRFLOW-5533] Fixed failing CRON build
This change optimises further image building and removes unnecessary
verbosity in building the images for CI builds.

After this change is merged, only the necessary images are built for
each type of check:
* Tests -> only CI
* Static checks (with/without pylint) -> Only CI_SLIM
* Docs -> only CI_SLIM
* Licence checks -> Only CHECKLICENCE

Previously the right images only were built in ci_before_install.sh
but then in case of static checks, the pre-commit build image step
also rebuilt CHECKLICENCE and CI images - which was not necessary
and very long in case of CRON job - this caused the CRON job to
fail at 10m of inactivity.
2019-09-22 19:47:44 +01:00
Hao Liang 0a505b6136 [AIRFLOW-XXX] Fix typo and format error (#6149) 2019-09-21 12:56:02 +08:00
Jarek Potiuk 04da038100
[AIRFLOW-XXX] Update documentation about variables forcing answer (#6158) 2019-09-20 16:59:54 +01:00
Andrei deec7548c2 [AIRFLOW-5147] extended character set for for k8s worker pods annotations (#5819)
* [AIRFLOW-5147] extended character set for for k8s worker pods annotations

* updated UPDATING.md with new breaking changes

* excluded pylint too-many-statement check from constructor due to its nature
2019-09-18 09:49:00 -07:00
Jarek Potiuk 857788e305
[AIRFLOW-5369] Adds interactivity to pre-commits (#5976)
This commit adds full interactivity to pre-commits. Whenever you run pre-commit
and it detects that the image should be rebuild, an interactive question will
pop up instead of failing the build and asking to rebuild with REBUILD=yes

This is much nicer from the user perspective. You can choose whether to:
1) Rebuild the image (which will take some time)
2) Not rebuild the image (this will use the old image with hope it's OK)
3) Quit.

Answer to that question is carried across all images needed to rebuild.
There is the special "build" pre-commit hook that takes care about that.

Note that this interactive question cannot be asked if you run only
single pre-commit hook with Dockerfile because it can run multiple processes
and you can start building in parallel. This is not desired so instead we fail
such builds.
2019-09-18 13:43:30 +02:00
Jarek Potiuk 4780105798 [AIRFLOW-5256] Related pylint changes for common licences in python files (#5786) 2019-09-17 13:16:32 +02:00
Tomek Urbaszek b07cb439a0 [AIRFLOW-5457] Move GCS operators to core 2019-09-11 17:22:04 +01:00
Tomek Urbaszek 766ebfe780 [AIRFLOW-5455] Move BigQuery operators to core
For more information check AIP-21.
2019-09-11 17:22:04 +01:00
Jarek Potiuk e399d0c2d5
[AIRFLOW-5440] Static checks from docker file use dumb-init (#6056)
This is needed so that you can easily kill such checks with ^C
Not doing it might cause your docker containers run for a long time
and take precious resources.
2019-09-11 01:47:21 +01:00
Jarek Potiuk 455eb41ba6
[AIRFLOW-5437] Better python version detection/explanation. (#6060)
We have fairly complex python version detection in our CI scripts.

They have to handle several cases:

1) Running builds on DockerHub (we cannot pass different environment
   variables there, so we detect python version based on the image
   name being build (airflow:master-python3.7 -> PYTHON_VERSION=3.7)

2) Running builds on Travis CI. We use python version determined
   from default python3 version available on the path. This way we
   do not have to specify PYTHON_VERSION separately in each job,
   we just specify which host python version is used for that job.
   This makes a nice UI experience where you see python version in
   Travis UI.

3) Running builds locally via scripts where we can pass PYTHON_VERSION
   as environment variable.

4) Running builds locally for the first time with Breeze. By default
   we determine the version based on default python3 version we have
   in the host system (3.5, 3.6 or 3.7) and we use this one.

5) Selecting python version with Breeze's --python switch. This will
   override python version but it will also store the last used version
   of python in .build directory so that it is automatically used next
   time.

This change adds necessary explanations to the code that works for
all the cases and fixes some of the edge-cases we had. It also
extracts the code to common directory.
2019-09-10 10:16:10 +02:00
Jarek Potiuk f116faf7c0
[AIRFLOW-5437] Do not override python when you rebuild ci_slim image (#6053) 2019-09-08 11:55:29 +02:00
Daniel Imberman 50523ea914 fix postrgres bug 2019-09-07 16:57:21 +02:00
Daniel Imberman ddf2a231a2 pre-load requirements for airflow image 2019-09-07 16:57:21 +02:00
Jarek Potiuk 35e7b622c2 [AIRFLOW-5411] Remove the noise produced while running failed pre-commits 2019-09-06 14:35:24 +02:00
Jarek Potiuk 6f6112e262 [AIRFLOW-5405] Fixed Unbound variable in force build 2019-09-04 23:07:35 +02:00
Omkar Desai 13843151fb [Airflow-4668] Make airflow/contrib/utils Pylint compatible (#5916) 2019-09-04 09:23:57 +01:00
Hao Liang f497d1d5aa [AIRFLOW-4858] Deprecate "Historical convenience functions" in airflow.configuration (#5495)
1. Issue old conf method deprecation warnings properly and remove current old conf method usages.
2. Unify the way to use conf as `from airflow.configuration import conf`
2019-09-03 17:08:55 +01:00
Jarek Potiuk 9d6b58d871 [AIRFLOW-5389] better organized scripts for building CI docker deps 2019-09-03 16:13:41 +02:00
Jarek Potiuk 319b80437c [AIRFLOW-5365] No need to do image rebuild when switching master/v1-10-test (#5972) 2019-09-03 11:20:25 +01:00
Jarek Potiuk 593dfb9134 [AIRFLOW-5364] Fix missing port numbers for local ci scripts 2019-08-31 09:49:26 -04:00
Hao Liang a670e5cd2c [Airflow-XXXX] Fix a comment error in _utils.sh 2019-08-29 22:58:33 -04:00
Jarek Potiuk f98867c3a8 [AIRFLOW-5329] Added shared files folder 2019-08-28 04:14:55 -04:00
Jarek Potiuk d766637a41 [AIRFLOW=5327] Fixed .bash* files mounting lost during rebase 2019-08-28 04:14:55 -04:00
Jarek Potiuk 6950a2b1cd [AIRFLOW-5325] Default python version if no python3 on path is 3.5 2019-08-28 04:14:55 -04:00
Jarek Potiuk 286aa7a581
[AIRFLOW-3611] Simplified development environment (#4932) 2019-08-27 14:39:36 -04:00
Tomek 286eb00f33 [AIRFLOW-5300] Move GcsToService operators to core (#5899)
[AIRFLOW-5300] Move GcsToService operators to core

For more information check AIP-21.
2019-08-26 23:30:08 -07:00
Tomek 7f6f2f008e [AIRFLOW-5294] Make GCP MLEngine pylint compatible (#5892)
This commit make MLEngine operators and tests pylint compatible
2019-08-23 20:37:32 -07:00
Tomek 59d371e9e1 [AIRFLOW-5297] Move AdlsToGcs operator to core (#5897)
For more information check AIP-21.
2019-08-23 20:06:07 -07:00
Tomek 52c21b402b [AIRFLOW-5298] Move FileToGcs to core (#5898)
For more information check AIP-21.
2019-08-23 20:04:34 -07:00
Jarek Potiuk 3c60a11c25
[AIRFLOW-5288] Auto-remove temporary containers for static checks (#5887) 2019-08-23 16:22:14 -04:00
Jarek Potiuk d24db825ff
[AIRFLOW-5285] Pylint pre-commit filters out pylint_todo files (#5884)
* [AIRFLOW-5285] Pylint pre-commit filters out pylint_todo files
2019-08-23 16:19:27 -04:00
Jarek Potiuk aacf9ba1a6
[AIRFLOW-5301] Remove not-yet-existing files from mounts (#5901)
This should be only merged if breeze is not yet merged.
2019-08-23 16:16:00 -04:00
Jarek Potiuk e1cb8ce99b
[AIRFLOW-5180] Added static checks (yamllint) + auto-licences for yaml file (#5790) 2019-08-22 10:13:56 -04:00
Jarek Potiuk e090744787
[AIRFLOW-5206] Common licence in all .md files, TOC + removed TODO.md (#5809) 2019-08-21 23:27:54 -04:00
Tomek cfaf90175a [AIRFLOW-5202] Move GCP MLEngine to core (#5805)
This commit moves GCP MLEngine from contrib to core.
For more information check AIP-21.
2019-08-21 10:58:19 +02:00
Jarek Potiuk a317cd22b1 [AIRFLOW-5247] Move NPM dependencies up in the Dockerfile (#5870) 2019-08-20 11:41:51 +02:00
Jarek Potiuk 5e36f421b0
[AIRFLOW-5263] Show diff on failure of pre-commit checks (#5869) 2019-08-20 00:14:50 -04:00
Jarek Potiuk 64207120fd
[AIRFLOW-5204] Shellcheck + common licences + executable shebangs in shell files (#5807)
* [AIRFLOW-5204] Shellcheck + common licence in shell files
2019-08-20 00:07:39 -04:00
Osmar Coronel 0661118b59 [AIRFLOW-4665] Remove contrib/plugins from Pylint todo (#5851)
This commit intends to remove files under contrib/plugins out
of the Pylint todo list.
2019-08-19 12:23:49 +01:00
Jarek Potiuk 6ad628cec9 [AIRFLOW-5248] Pylint fixes related to source constructor param removal 2019-08-18 19:40:07 -04:00
Omkar Desai 513d10f632 [AIRFLOW-4667] Make airflow/contrib/task_runner Pylint compatible (#5852) 2019-08-18 19:17:31 +02:00
Jarek Potiuk e515fee768 [AIRFLOW-5237] Less verbose output for CI builds (#5840) 2019-08-17 15:36:20 +01:00
Felix Uellendall 6d27ced85a [AIRFLOW-5056] Add argument to filter mails in ImapHook and related operators (#5672)
- changes the order of arguments for `has_mail_attachment`, `retrieve_mail_attachments` and `download_mail_attachments`
- add `get_conn` function
- refactor code
- fix pylint issues
- add imap_mail_filter arg to ImapAttachmentToS3Operator
- add mail_filter arg to ImapAttachmentSensor
- remove superfluous tests
- changes the order of arguments in the sensors + operators __init__
2019-08-16 18:31:29 +01:00
Daniel Imberman ef7e37c90d [AIRFLOW-5235] Fixes bug where K8s CI does not properly create user (#5838) 2019-08-16 16:01:01 +01:00
Jarek Potiuk 5cfe9c29a0
[AIRFLOW-5233] Fixed consistency in whitespace (tabs/eols) + common problems (#5835)
* [AIRFLOW-5233] Fixed consistency in whitespace (tabs/eols) + common problems
2019-08-16 10:35:34 -04:00
Jarek Potiuk 3fac1bd04a
[AIRFLOW-5229] Consistent licences to all other files (#5831) 2019-08-15 20:02:53 -04:00
Jarek Potiuk 70e937a8d8
[AIRFLOW-5161] Static checks are run automatically in pre-commit hooks (#5777) 2019-08-14 20:53:28 -04:00
Felix Uellendall 571ffcc97f [AIRFLOW-4686] Make dags Pylint compatible (#5753) 2019-08-13 03:26:50 +02:00
Jarek Potiuk 8cf0635793
[AIRFLOW-5159] Checklicence image is not built when not needed (#5774) 2019-08-10 18:11:51 +03:00
Jarek Potiuk a4e3295e19
[AIRFLOW-5143] Caching works for Checklicence images (#5762) 2019-08-08 23:22:57 +02:00
Bas Harenslak d2038d22c5 [AIRFLOW-4690] Make tests/api Pylint compatible (#5413) 2019-08-08 08:57:27 +02:00
Chao-Han Tsai 0be39219cd [AIRFLOW-4509] SubDagOperator using scheduler instead of backfill (#5498)
Change SubDagOperator to use Airflow scheduler to schedule
tasks in subdags instead of backfill.

In the past, SubDagOperator relies on backfill scheduler
to schedule tasks in the subdags. Tasks in parent DAG
are scheduled via Airflow scheduler while tasks in
a subdag are scheduled via backfill, which complicates
the scheduling logic and adds difficulties to maintain
the two scheduling code path.

This PR simplifies how tasks in subdags are scheduled.
SubDagOperator is reponsible for creating a DagRun for subdag
and wait until all the tasks in the subdag finish. Airflow
scheduler picks up the DagRun created by SubDagOperator,
create andschedule the tasks accordingly.
2019-08-07 21:17:50 +02:00
Ishan Rastogi 157170ba4c [AIRFLOW-5003] Making AWS Hooks pylint compatible (#5627) 2019-08-07 17:31:54 +02:00
Jarek Potiuk 9267c5e19e
[AIRFLOW-5083] Move image building to before_install for licence (#5695) 2019-08-06 15:34:18 +02:00
Jarek Potiuk 8b41c3f129
[AIRFLOW-5051] Better coverage integration (#5732) 2019-08-06 15:03:18 +02:00
Jarek Potiuk f98428c379
[AIRFLOW-5108] More informative message when kerberos in ci fails (#5719) 2019-08-05 15:18:03 +02:00
Jonathan de Bruin 281298f434 [AIRFLOW-5101] Fix inconsistent owner value in examples (#5712) 2019-08-03 09:37:47 +02:00
Jarek Potiuk c80db83604
[AIRFLOW-5085] we always pass the default branch name to the build (#5699)
TRAVIS_BRANCH is set to TAG when TAG build runs. We should alwayss
use branch and we already have our current branch in
hooks/_default_branch.sh and we can use it from there.

This seems to be the only way as TRAVIS does not pass the branch
in any variable - mainly because we do not know what branch we
are in when building a TAG build
2019-08-01 14:29:36 +02:00
Jarek Potiuk 1031cc827b
[AIRFLOW-5092] Local CI pull and build also pulls python image (#5705)
Needed as the pulled image will usually be rebuilt using the
latest python version.
2019-08-01 14:14:27 +02:00
Jarek Potiuk da938a1ee0
[AIRFLOW-5078] User is asked if an image needs to be rebuild (#5691)
This is not happening when the user explicitely wants to build image
or in CI environment (DockerHub always builds the image via
hooks/build script.
2019-07-31 09:50:31 +02:00
Jarek Potiuk b460e5dd1a
[AIRFLOW-5079] Checklicence test uses own, much smaller image (#5692) 2019-07-31 09:48:23 +02:00
Jarek Potiuk 27c79582ba
[AIRFLOW-5077] Skip force pulling latest python in CI environment (#5690)
The latest python will only be pulled by DockerHub when building
master/v1-10-test - which means that it will eventually catch
up with the latest python security releases but it will not
slow down the CI builds.
2019-07-31 09:12:17 +02:00
Ash Berlin-Taylor b5b9bc1e79
[AIRFLOW-XXX] Remove default/wrong values from test config. (#5684)
Most of the values I've removed here are the current defaults, so we
don't need to specify them again.

The reason I am removing them is that `email_backend` of
`airflow.utils.send_email_smtp` has been incorrect since 1.7.2(!) but
hasn't mattered until #5379 somehow triggered it. By removing the
default values it should make it easier to update in future.
2019-07-30 14:37:12 +01:00
Felix Uellendall fc99998212 [AIRFLOW-5057] Provide bucket name to functions in S3 Hook when none is specified (#5674)
Note: The order of arguments has changed for `check_for_prefix`.
The `bucket_name` is now optional. It falls back to the `connection schema` attribute.
- refactor code
- complete docs
2019-07-30 10:05:02 +02:00
Joshua Carp be0c9901dd
Reorganize sql to gcs operators. (#5504) 2019-07-29 10:50:17 -04:00
Jarek Potiuk 7e498b48f0
[AIRFLOW-5063] Fix performance when switching between master/v1-10 (#5677) 2019-07-29 16:15:55 +02:00
Jarek Potiuk 817cf5b3b1
[AIRFLOW-5064] Switched to python 3.5 (#5678) 2019-07-29 15:27:42 +02:00
Felix Uellendall 80d87923c6 [AIRFLOW-XXX] Ignore rbac node_modules when running pylint (#5670) 2019-07-28 16:23:30 +02:00
Jarek Potiuk 347dda7b98
[AIRFLOW-5041] just force PYTHON_VERSION variable (#5660)
There is no need for python3.6 to be installed in the host.
2019-07-25 16:32:20 +02:00
Jarek Potiuk 94209a8ec9
[AIRFLOW-5001] Moving building image to before_install phase (#5648)
(cherry picked from commit 15d78b723db3bf05f845025fcceafe3170563063)
2019-07-24 10:24:57 +02:00
Jarek Potiuk 96148478ef
[AIRFLOW-5005] Split kubernetes tests into separate jobs (#5625)
(cherry picked from commit 87150e26fb3912dadaaa50b073d5f95ad4df1b0a)
2019-07-24 08:34:14 +02:00
Jarek Potiuk 7a6990a48c
[AIRFLOW-5002] Diagnostics of getopt fixed for zsh on MacOS (#5623) 2019-07-24 01:10:21 +02:00
Jarek Potiuk c6eb8d8e07
[AIRFLOW-4999] Local build and build_and_pull work on both images (#5621)
(cherry picked from commit e054f146cca9c07f753a6e7da29a26d4289d24e8)
2019-07-23 23:13:03 +02:00
Jarek Potiuk 207e54f9a9
[AIRFLOW-4997] Support for non-master branches (#5620)
(cherry picked from commit 98c17d97947ef58b3dbc11b341c67c4ca562d5a7)
2019-07-23 09:08:43 +02:00
Jarek Potiuk a53da88822
[AIRFLOW-5014] Fix sphinx doc problem and leaves API docs (#5636)
This change fixes autodoc generated documentation problems but also
leaves generated .rst files in _api folder so that it is easier to
debug and fix problems like that in the future.
2019-07-22 13:17:08 +02:00
Jarek Potiuk 7b56198126
[AIRFLOW-5007] Remove override of python version to 3.6 in tests (#5628) 2019-07-21 18:53:06 +02:00
Kamil Breguła 96933b0797 [AIRFLOW-4952] Remove unused arguments in tests (#5586) 2019-07-20 11:00:26 +02:00
Joshua Carp 30defe130d [AIRFLOW-3998] Use nested commands in cli. (#4821) 2019-07-19 08:40:14 +01:00
Jarek Potiuk 2d086d77f1
[AIRFLOW-4117] Travis CI uses multi-stage images to run tests (#4938) 2019-07-17 22:42:43 +02:00
Kamil Breguła fe20a9aa01 [AIRFLOW-4945] Use super() syntax (#5579) 2019-07-13 21:11:11 +02:00
Tomek f06ae8fbe9 [AIRFLOW-4882] Make GCP tests and examples Pylint compatible (#5522) 2019-07-13 13:24:40 +02:00
Facu b516183d68 [AIRFLOW-4868] Fix typo in kubernetes/docker/build.sh (#5505) 2019-07-11 11:33:35 +01:00
Kamil Breguła 2758cd1fdd
[AIRFLOW-4840] Fix pylint errors regarding logging-format-interpolation (#5466) 2019-06-28 22:34:58 +02:00
Tomek 8c4633c9f4 [AIRFLOW-4859] Extend list of pylint good-names (#5496)
Nearly 10% of pylint errors are related to invalid-name of variable.
So this commit propose to add cm, db, f, dr, op to pylint good-names.
2019-06-27 21:19:57 +02:00
Ash Berlin-Taylor 8481bb7ab6
[AIRFLOW-XXX] Dump logs in case of kube failure (#5472)
Previously we were only dumping the logs in case of _success_, which was
somewhat pointless
2019-06-26 11:35:02 +01:00
Tomek 7d904467d6 [AIRFLOW-4782] Make GCP hooks Pylint compatible (#5431) 2019-06-24 17:44:13 +02:00
Kamil Breguła 0d38bf40e5 [AIRFLOW-4837] Fix pylint errors regarding ungrouped imports (#5464) 2019-06-24 00:01:47 +02:00
Kamil Breguła 45217d7d5f [AIRFLOW-4818] Remove valid files from pylint_todo.txt (#5439) 2019-06-20 05:12:13 +02:00
Kamil Breguła e77d78db9e [AIRFLOW-4817] Remove deprecated methods from tests (#5438) 2019-06-20 04:56:44 +02:00
Tomek 62ebc7d61a [AIRFLOW-4784] Make GCP operators Pylint compatible (#5432) 2019-06-19 21:25:14 +02:00
Tomek 6c74815e71 [AIRFLOW-4807] Make GCS operators, hooks, sensors Pylint compatible (#5434) 2019-06-19 12:45:37 +02:00
Jarek Potiuk f710a0db49
[AIRFLOW-4757] Selectively disable missing docstrings for tests (#5400) 2019-06-10 17:51:35 +02:00
Jarek Potiuk 4b7667d2ad
[AIRFLOW-4659] Fix pylint problems for api module (#5398) 2019-06-10 13:53:52 +02:00
Bas Harenslak 6dd3f31a04 [AIRFLOW-4689] Make setup.py Pylint compatible (#5395) 2019-06-09 08:35:22 -07:00
Bas Harenslak 189bbfd85d [AIRFLOW-4670] Make airflow/example_dags Pylint compatible (#5361) 2019-06-09 07:36:33 -07:00
Jarek Potiuk 3891de68af
[AIRFLOW-4752] Add missing * in build exclusion and generated config (#5392) 2019-06-09 07:35:17 -07:00
Bas Harenslak 02ef974e4b [AIRFLOW-4669] Make airflow/dag Pylint compatible (#5362) 2019-06-09 00:26:44 -07:00
Andrii Soldatenko 0da976a0e1 [AIRFLOW-3370] Add stdout output options to Elasticsearch task log handler (#5048)
When using potentially larger offets than javascript can handle, they can get parsed incorrectly on the client, resulting in the offset query getting stuck on a certain number. This patch ensures that we return a string to the client to avoid being parsed. When we run the query, we ensure the offset is set as an integer.

Add unnecesary prefix_ in config for elastic search section
2019-06-04 22:50:26 +01:00
Philippe Gagnon d1626d80b5 [AIRFLOW-4573] Import airflow_local_settings after prepare_classpath (#5330)
Moves the airflow_local_settings import code into a dedicated function
in settings.py and adds a call to it in initialize after prepare_syspath
2019-06-04 10:50:45 +01:00
Bas Harenslak 669b026c0b [AIRFLOW-4364] Add Pylint to CI (#5238) 2019-05-30 22:02:09 +02:00
Daniel Imberman f153bf5367
[AIRFLOW-4487] Move k8s executor from contrib folder to main project (#5261)
* Move k8s executor from contrib folder

Considering that the k8s executor is now fully supported by core
committers, we should move it from contrib to the primary executor
directory.
2019-05-09 16:05:31 -07:00
Ash Berlin-Taylor 188b3193c7
[AIRFLOW-4436] Don't build the same docker image twice in tests (#5209) 2019-04-30 13:43:24 +01:00
Chao-Han Tsai 9daad7ecd1 [AIRFLOW-4361] Fix flaky test_integration_run_dag_with_scheduler_failure (#5182) 2019-04-27 23:48:49 -07:00
Jiajie Zhong 0ac501faa9 [AIRFLOW-4296] Remove py2 in ci process (#5090) 2019-04-20 20:05:07 +02:00
Kaxil Naik e26e340e7c [AIRFLOW-4313] Remove the Mesos executor (#5115)
* [AIRFLOW-4313] Remove the Mesos executor

* Update UPDATING.md
2019-04-17 18:28:58 +08:00
Jarek Potiuk 5b53d9987f [AIRFLOW-4115] Multi-staging Aiflow Docker image (#4936) 2019-04-13 15:03:02 +02:00
Chao-Han Tsai bd08034811 [AIRFLOW-XXX] how to setup test env with mysql (#4898) 2019-04-06 23:02:12 -07:00
Chao-Han Tsai 9d8719e17d [AIRFLOW-XXX] 1-setup-env.sh should only run in docker (#5003)
[AIRFLOW-XXX] 1-setup-env.sh should only run in docker
2019-03-29 10:55:46 -07:00
Ash Berlin-Taylor 1c43cde65c
[AIRFLOW-3743] Unify different methods of working out AIRFLOW_HOME (#4705)
There were a few ways of getting the AIRFLOW_HOME directory used
throughout the code base, giving possibly conflicting answer if they
weren't kept in sync:

- the AIRFLOW_HOME environment variable
- core/airflow_home from the config
- settings.AIRFLOW_HOME
- configuration.AIRFLOW_HOME

Since the home directory is used to compute the default path of the
config file to load, specifying the home directory Again in the config
file didn't make any sense to me, and I have deprecated that.

This commit makes everything in the code base use
`settings.AIRFLOW_HOME` as the source of truth, and deprecates the
core/airflow_home config option.

There was an import cycle form settings -> logging_config ->
module_loading -> settings that needed to be broken on Python 2 - so I
have moved all adjusting of sys.path in to the settings module

(This issue caused me a problem where the RBAC UI wouldn't work as it
didn't find the right webserver_config.py)
2019-03-25 11:10:28 +00:00
Peter van 't Hof c1f98a89a4 [AIRFLOW-XXX] Remove verbose test on nosetests (#4913)
Something about the tests or how we run them changed and we ended up 
with a lot more lines appearing in the output, taking us over Travis' "will 
display in the UI" limit, making it harder to debug failures. This isn't a long
term fix, but improves things while we fix the tests for the better.
2019-03-17 18:17:17 +00:00
Ash Berlin-Taylor 01b6d1d8da [AIRFLOW-4053] Fix KubePodOperator Xcom on Kube 1.13.0 (#4883)
Newer versions of Kube return "failed" events for the side car container
when the ^C causes the python process to exit with 1

Kube 1.13 runs a different number of kube-dns pods (2 by default, 1.9
and 1.10 ran only 1) so the setup scripts needed changing a little bit.

To get a Kube 1.13 cluster I had to upgrade minikube, and it no longer
works on a dist without systemd installed (#systemdsucks) so I had to
update the travis dist to xenial which is no bad thing!

This version of minikube doesn't need the localkube bootstrapper set
anymore, it handles driver=none much more gracefully, and some of the
permissions set up for context files/keys needed to be updated.
2019-03-08 22:17:48 -08:00
Xiaodong 6abcdfd496 [AIRFLOW-3793] Decommission configuration items for Flask-Admin web UI & related codes (#4637) 2019-03-04 15:13:29 +00:00
Chao-Han Tsai bbe711640f [AIRFLOW-4001] Update docs about how to run tests (#4826)
fix docs
2019-03-03 21:24:11 -08:00
Chao-Han Tsai 484adb0daa [AIRFLOW-3992] 1-setup-env.sh should be re-runable (#4817) 2019-03-01 14:51:09 -08:00
Stijn De Haes b51712ca93 [AIRFLOW-3766] Add support for kubernetes annotations (#4589) 2019-03-01 00:13:09 -08:00
Ash Berlin-Taylor 28b53e2073 [AIRFLOW-XXX] Pin version of Pip in tests to work around pypa/pip#6163 (#4576)
There is a bug or a new feature that causes a number of our dependencies
to fail to install.
2019-01-23 16:21:24 -08:00
Verdan Mahmood c030729dcb [AIRFLOW-3303] Deprecate old UI in favor of FAB (#4339) 2019-01-14 14:33:45 +00:00
bolkedebruin 69adaee25c [AIRFLOW-3692] Remove ENV variables to avoid GPL (#4506) 2019-01-13 12:34:00 +00:00
Peter van 't Hof e2c22fe70a [AIRFLOW-3673] Add official dockerfile (#4483) 2019-01-12 14:06:23 +01:00
Fokko Driesprong 327860fe4f [AIRFLOW-3515] Remove the run_duration option (#4320) 2019-01-08 10:40:10 +00:00
Kaxil Naik 94bfeef7cb
[AIRFLOW-3612] Remove remaining incubator mention & Fix CI Behaviour (#4441) 2019-01-05 16:32:12 +00:00
Tao Feng 67572025cc [AIRFLOW-3612] Remove incubation/incubator mention (#4419) 2019-01-05 14:05:25 +00:00
Kevin Pullin 8bdf6c4ab9 [AIRFLOW-3402] Support global k8s affinity and toleration configs (#4247)
* Support setting global k8s affinity and toleration configuration in the airflow config file.

* Copy annotations as dict, not list

* Update airflow/contrib/kubernetes/pod.py

Co-Authored-By: kppullin <kevin.pullin@gmail.com>
2019-01-02 21:40:14 +01:00
ianbillett c5c0705de8 [AIRFLOW-XXX] Adds image code comment (#4413) 2019-01-01 23:45:47 -08:00
Daniel Imberman 6bb88fab1e [AIRFLOW-360] Launch custom images to Airflow CI tests (#4416)
To help move away from Minikube, we need to remove the dependency on
a local docker registry and move towards a solution that can be used
in any kubernetes cluster. Custom image names allow users to use
systems like docker, artifactory and gcr
2019-01-02 08:40:22 +01:00
Daniel Imberman f4f55fdc2c [AIRFLOW-3609] Fix bug in volumes readWriteMany (#4417)
When running integration tests on a k8s cluster vs. Minikube
I discovered that we were actually using an invalid permission
structure for our persistent volume. This commit fixes that.
2019-01-01 21:55:43 -08:00
Riccardo Bini 9de9721b48 [AIRFLOW-3281] Fix Kubernetes operator with git-sync (#3770)
* Refactor Kubernetes operator with git-sync

Currently the implementation of git-sync is broken because:
- git-sync clones the repository in /tmp and not in airflow-dags volume
- git-sync add a link to point to the revision required but it is not
taken into account in AIRFLOW__CORE__DAGS_FOLDER

Dags/logs hostPath volume has been added (needed if airflow run in
kubernetes in local environment)

To avoid false positive in CI `load_examples` is set to `False`
otherwise DAGs from `airflow/example_dags` are always loaded. In this
way is possible to test `import` in DAGs

Remove `worker_dags_folder` config:
`worker_dags_folder` is redundant and can lead to confusion.
In WorkerConfiguration `self.kube_config.dags_folder` defines the path of
the dags and can be set in the worker using airflow_configmap
Refactor worker_configuration.py
Use a docker container to run setup.py
Compile web assets
Fix codecov application path

* Fix kube_config.dags_in_image
2018-12-30 21:03:32 -08:00
Kevin Pullin 067b9671e9 [AIRFLOW-2770] Read `dags_in_image` config value as a boolean (#4319)
* Read `dags_in_image` config value as a boolean

This PR is a minor fix for #3683

The dags_in_image config value is read as a string. However, the existing code expects this to be a boolean.

For example, in worker_configuration.py there is the statement: if not self.kube_config.dags_in_image:

Since the value is a non-empty string ('False') and not a boolean, this evaluates to true (since non-empty strings are truthy)
and skips the logic to add the dags_volume_claim volume mount.

This results in the CI tests failing because the dag volume is missing in the k8s pod definition.

This PR reads the dags_in_image using the conf.getboolean to fix this error.

Rebased on 457ad83e4e, before the previous
dags_in_image commit was reverted.

* Revert "Revert  [AIRFLOW-2770] [AIRFLOW-3505] (#4318)"

This reverts commit 77c368fd22.
2018-12-16 23:05:26 -08:00
Tao Feng 77c368fd22
Revert [AIRFLOW-2770] [AIRFLOW-3505] (#4318)
* Revert "[AIRFLOW-3505] replace 'dags_in_docker' with 'dags_in_image' (#4311)"

This reverts commit 457ad83e4e.

* Revert "[AIRFLOW-2770] kubernetes: add support for dag folder in the docker image (#3683)"

This reverts commit e9a09d408e.
2018-12-13 10:21:39 -08:00
Daniel Imberman 457ad83e4e [AIRFLOW-3505] replace 'dags_in_docker' with 'dags_in_image' (#4311)
As kubernetes is moving away from docker to OCI, it will be more correct to use the
'dags_in_image' name to be more container system agnostic
2018-12-12 21:03:41 -08:00
Rurui e9a09d408e [AIRFLOW-2770] kubernetes: add support for dag folder in the docker image (#3683) 2018-12-12 09:43:58 -08:00
Kaxil Naik 9dce1f0740 [AIRFLOW-3408] Remove outdated info from Systemd Instructions (#4269) 2018-12-05 12:50:16 -08:00
Paweł Graczyk 35da9e6b0f [AIRFLOW-3250] Fix for Redis Hook for not authorised connection calls (#4090)
Password stay None value and not None (str) in case there is no password set through webadmin interfaces.
This is fix for connections for Redis that not expect autorisation from clients.
2018-11-25 23:01:09 +01:00
Xiaodong 86a83bfff3 [AIRFLOW-3323] Support HTTP basic authentication for Airflow Flower (#4166)
The current `airflow flower` doesn't come with any authentication.
This may make essential information exposed in an untrusted environment.

This commit add support to HTTP basic authentication for Airflow Flower

Ref:
https://flower.readthedocs.io/en/latest/auth.html
2018-11-13 14:48:23 +00:00
Ash Berlin-Taylor b9fc03ea1a [AIRFLOW-2779] Add license headers to doc files (#4178)
This adds ASF license headers to all the .rst and .md files with the
exception of the Pull Request template (as that is included verbatim
when opening a Pull Request on Github which would be messy)
2018-11-13 15:01:44 +01:00
Fokko Driesprong 0e8394fd23 [AIRFLOW-3190] Make flake8 compliant (#4035)
Enforce Flake8 over the entire project
2018-10-12 22:22:52 +01:00
Ash Berlin-Taylor c4f3f6b199 [AIRFLOW-3178] Handle percents signs in configs for airflow run (#4029)
* [AIRFLOW-3178] Don't mask defaults() function from ConfigParser

ConfigParser (the base class for AirflowConfigParser) expects defaults()
to be a function - so when we re-assign it to be a property some of the
methods from ConfigParser no longer work.

* [AIRFLOW-3178] Correctly escape percent signs when creating temp config

Otherwise we have a problem when we come to use those values.

* [AIRFLOW-3178] Use os.chmod instead of shelling out

There's no need to run another process for a built in Python function.

This also removes a possible race condition that would make temporary
config file be readable by more than the airflow or run-as user
The exact behaviour would depend on the umask we run under, and the
primary group of our user, likely this would mean the file was readably
by members of the airflow group (which in most cases would be just the
airflow user). To remove any such possibility we chmod the file
before we write to it
2018-10-12 11:13:05 +02:00
dima-asana 7115883faf [AIRFLOW-3168] More resillient database use in CI (#4014)
Make sure mysql is available before calling it in CI
2018-10-11 09:55:15 +01:00
Kaxil Naik dd4e3cfa77
[AIRFLOW-2952] Fix Kubernetes CI (#3957)
- Update outdated cli command to create user
- Remove `airflow/example_dags_kubernetes` as the dag already exists in `contrib/example_dags/`
- Update the path to copy K8s dags
2018-09-28 11:51:04 +01:00
johnhofman 6a7f388746 [AIRFLOW-XXX] Fix PythonVirtualenvOperator tests (#3968)
The recent update to the CI image changed the default
python from python2 to python3. The PythonVirtualenvOperator
tests expected python2 as default and fail due to
serialisation errors.
2018-09-28 11:04:29 +01:00
Holden Karau 010924a06f [AIRFLOW-3100][AIRFLOW-3101] Improve docker compose local testing (#3933) 2018-09-27 23:26:03 +01:00
Fokko Driesprong 491fd743da [AIRFLOW-2918] Remove unused imports 2018-09-21 13:21:42 -07:00
Fokko Driesprong d277888a04 [AIRFLOW-3076] Remove preloading of MySQL testdata (#3911)
One of the things for tests is being self contained. This means that
it should not depend on anything external, such as loading data.

This PR will use the setUp and tearDown to load the data into MySQL
and remove it afterwards. This removes the actual bash mysql commands
and will make it easier to dockerize the whole testsuite in the future
2018-09-21 15:37:55 +01:00
Riccardo Bini 8038f88b60 AIRFLOW-2952 Fix Kubernetes CI (#3922)
The current dockerised CI pipeline doesn't run minikube and the
Kubernetes integration tests. This starts a Kubernetes cluster 
using minikube and runs k8s integration tests using docker-compose.
2018-09-21 14:36:09 +02:00
Fokko Driesprong 0e5eee83b1 [AIRFLOW-3068] Remove deprecated imports 2018-09-16 09:11:34 -07:00
yrqls21 9b82fcb5fb [AIRFLOW-2156] Parallelize Celery Executor task state fetching (#3830) 2018-09-11 09:12:18 -07:00
Fokko Driesprong 1db6ebe1eb
[AIRFLOW-3003] Pull the krb5 image instead of building (#3844)
Pull the image instead of building it, this will speed up the CI
process since we don't have to build it every time.
2018-09-05 21:52:12 +02:00
Fokko Driesprong acf1378d77 [AIRFLOW-2933] Enable Codecov on Docker-CI Build (#3780)
- Add missing variables and use codecov instead of coveralls.
  The issue why it wasn't working was because missing environment variables.
  The codecov library heavily depends on the environment variables in
  the CI to determine how to push the reports to codecov.

- Remove the explicit passing of the variables in the `tox.ini`
  since it is already done in the `docker-compose.yml`,
  having to maintain this at two places makes it brittle.

- Removed the empty Codecov yml since codecov was complaining that
  it was unable to parse it
2018-08-25 18:50:16 +01:00
Gerardo Curiel ede67299c4 [AIRFLOW-2499] Dockerise CI pipeline (#3393)
Airflow tests depend on many external services and other custom setup,
which makes it hard for contributors to work on this codebase. CI
builds have also been unreliable, and it is hard to reproduce the
causes. Having contributors trying to emulate the build environment
every time makes it easier to get to an "it works on my machine" sort
of situation.

This implements a dockerised version of the current build pipeline.
This setup has a few advantages:

* TravisCI tests are reproducible locally
* The same build setup can be used to create a local development environment
2018-08-22 10:26:54 +02:00
Dan Davydov 7142ae0732 [AIRFLOW-2895] Prevent scheduler from spamming heartbeats/logs
Reverts most of AIRFLOW-2027 until the issues with
it can be fixed.

Closes #3747 from
aoen/revert_min_file_parsing_time_commit
2018-08-20 09:14:36 -04:00
Kazuhiro Sera b78c7fb851 [AIRFLOW-2889] Fix typos detected by github.com/client9/misspell (#3732) 2018-08-11 21:11:19 -07:00
Kaxil Naik 120f4856cd [AIRFLOW-2867] Refactor Code to conform standards (#3714)
- Dictionary creation should be written by dictionary literal
- Python’s default arguments are evaluated once when the function is defined, not each time the function is called (like it is in say, Ruby). This means that if you use a mutable default argument and mutate it, you will and have mutated that object for all future calls to the function as well.
- Functions calling sets which can be replaced by set literal are now replaced by set literal
- Replace list literals
- Some of the static methods haven't been set static
- Remove redundant parentheses
2018-08-07 16:18:42 -07:00
Aldo Giambelluca 90e88dfe82 [AIRFLOW-2755] Added `kubernetes.worker_dags_folder` configuration (#3612)
It was previously hardcoded to `/tmp/dags`.
This causes problems with python import of modules in the DAGs folder.
2018-08-06 22:44:48 +02:00
Kengo Seki 84a55f3e54 [AIRFLOW-2811] Fix scheduler_ops_metrics.py to work (#3653)
This PR fixes timezone problem in
scheduler_ops_metrics.py and makes
its timeout configurable.
2018-08-06 09:42:02 -07:00
Kengo Seki 0d193ada44 [AIRFLOW-2829] Brush up the CI script for minikube
Fix scripts/ci/kubernetes/minikube/start_minikube.sh
as follows:

- Make minikube version configurable via
  environment variable
- Remove unused variables for readability
- Reorder some lines to remove warnings
- Replace ineffective `return` with `exit`
- Add -E to `sudo minikube` so that non-root
  users can use this script locally
2018-08-01 14:30:51 -07:00
bolkedebruin c37fc0b6ba
[AIRFLOW-2817] Force explicit choice on GPL dependency (#3660)
By default one of Apache Airflow's dependencies pulls in a GPL
library. Airflow should not install (and upgrade) without an explicit choice.

This is part of the Apache requirements as we cannot depend on Category X
software.
2018-08-01 11:25:31 +02:00
Taylor D. Edmiston 6d31c9e416 [AIRFLOW-2832] Lint and resolve inconsistencies in Markdown files (#3670)
Clean up the Markdown files and make the formatting consistent
2018-08-01 09:50:23 +02:00
Kevin Yang 216beacd5b [AIRFLOW-2648] Update mapred job name in HiveOperator
Closes #3534 from
yrqls21/keivn_yang_reorder_mapred
2018-06-25 13:31:34 +02:00
pengchen adb648c949 [AIRFLOW-2662][AIRFLOW-2397] Add k8s node_selectors and affinity
Add the ability to set the node selection and the affinity
for the k8s executor

Closes #3535 from Cplo/affinity
2018-06-25 13:09:16 +02:00
Kengo Seki b9cb54f873 [AIRFLOW-2634][AIRFLOW-2534] Remove dependency for impyla
Closes #3514 from sekikn/AIRFLOW-2634
2018-06-16 13:35:41 +01:00
pengchen 2fa155fe8b [AIRFLOW-2617] add imagePullPolicy config for kubernetes executor
Closes #3500 from Cplo/k8sexecutor
2018-06-15 11:38:19 +02:00
Tim Swast 0f4d681f6f [AIRFLOW-2512][AIRFLOW-2522] Use google-auth instead of oauth2client
* Updates the GCP hooks to use the google-auth
library and removes
  dependencies on the deprecated oauth2client
package.
* Removes inconsistent handling of the scope
parameter for different
  auth methods.

Note: using google-auth for credentials requires a
newer version of the
google-api-python-client package, so this commit
also updates the
minimum version for that.

To avoid some annoying warnings about the
discovery cache not being
supported, so disable the discovery cache
explicitly as recommend here:
https://stackoverflow.com/a/44518587/101923

Tested by running:

    nosetests
tests/contrib/operators/test_dataflow_operator.py
\
        tests/contrib/operators/test_gcs*.py \
        tests/contrib/operators/test_mlengine_*.py \
        tests/contrib/operators/test_pubsub_operator.py \
        tests/contrib/hooks/test_gcp*.py \
        tests/contrib/hooks/test_gcs_hook.py \
        tests/contrib/hooks/test_bigquery_hook.py

and also tested by running some GCP-related DAGs
locally, such as the
Dataproc DAG example at
https://cloud.google.com/composer/docs/quickstart

Closes #3488 from tswast/google-auth
2018-06-12 23:53:21 +01:00
Andy Cooper 9e1d8ee837 [AIRFLOW-83] add mongo hook and operator
Closes #3440 from
andscoop/AIRFLOW_83_add_mongo_hooks_and_operators
2018-06-05 23:30:02 +01:00
roc 7945854cc4 [AIRFLOW-2532] Support logs_volume_subpath for KubernetesExecutor
The kubernetes section in the configuration file
supports
logs_volume_subpath for KubernetesExecutor.

Closes #3430 from imroc/AIRFLOW-2532
2018-05-30 11:14:13 +02:00
Daniel Imberman 8fa0bbd56e [AIRFLOW-2460] Users can now use volume mounts and volumes
When launching pods using k8s operator

Closes #3356 from dimberman/k8s-mounts
2018-05-14 21:59:59 +02:00
alberto.calderari 6c19468e0b [AIRFLOW-2110][AIRFLOW-2122] Enhance Http Hook
- Use a header in passed in the "extra" argument and
  add tenacity retry
- Fix the tests with proper mocking

Closes #3071 from albertocalderari/master
2018-05-14 21:52:22 +02:00
Bolke de Bruin 648e1e6930 [AIRFLOW-2425] Add lineage support
Add lineage support by having inlets and oulets
that
are made available to dependent upstream or
downstream
tasks.

If configured to do so can send lineage data to a
backend. Apache Atlas is supported out of the box.

Closes #3321 from bolkedebruin/lineage_exp
2018-05-14 09:09:25 +02:00
Daniel Imberman 5de22d7fa0 [AIRFLOW-2424] Add dagrun status endpoint and increased k8s test coverage
[AIRFLOW-2424] Add dagrun status endpoint and
increase k8s test coverage

[AIRFLOW-2424] Added minikube fixes by @kimoonkim

[AIRFLOW-2424] modify endpoint to remove 'status'

Closes #3320 from dimberman/add-kubernetes-test
2018-05-10 19:32:17 +02:00
Fokko Driesprong 16bae5634d [AIRFLOW-1899] Fix Kubernetes tests
[AIRFLOW-1899] Add full deployment

- Made home directory configurable
- Documentation fix
- Add licenses

[AIRFLOW-1899] Tests for the Kubernetes Executor

Add an integration test for the Kubernetes
executor. Done by
spinning up different versions of kubernetes and
run a DAG
by invoking the REST API

Closes #3301 from Fokko/fix-kubernetes-executor
2018-05-04 08:58:12 +02:00
Alexander Petrovsky c3aa8e31fa [AIRFLOW-1313] Add vertica_to_mysql operator
Closes #2370 from juise/master
2018-04-29 00:05:23 -07:00
Fokko Driesprong e30a1f451a [AIRFLOW-2357] Add persistent volume for the logs
The logs are kept inside of the worker pod. By
attaching a persistent
disk we keep the logs and make them available for
the webserver.

- Remove the requirements.txt since we dont want
to maintain another
  dependency file
- Fix some small casing stuff
- Removed some unused code
- Add missing shebang lines
- Started on some docs
- Fixed the logging

Closes #3252 from Fokko/airflow-2357-pd-for-logs
2018-04-23 18:43:24 +02:00
Daniel Imberman a15b7c5b79 [AIRFLOW-1314] Cleanup the config
Closes #2414 from bloomberg:airflow-kubernetes-executor
2018-04-22 10:24:18 +02:00
Fokko Driesprong d807830fe9 [AIRFLOW-1314] Polish some of the Kubernetes docs/config 2018-04-22 10:23:06 +02:00
Jordan Zucker 317b6c7bd5 [AIRFLOW-1314] Improve error handling
Handle too old resource versions and throw exceptions on errors

- K8s API errors will now throw Airflow exceptions
- Add scheduler uuid to worker pod labels to match the two
2018-04-22 10:23:06 +02:00
Daniel Imberman b9a87a07e3 [AIRFLOW-1314] Rebasing against master 2018-04-22 10:23:06 +02:00
Grant Nicholas c0920efc01 [AIRFLOW-1314] Add executor_config and tests
* Added in executor_config to the task_instance table and the base_operator table

* Fix test; bump up number of examples

* Fix up comments from PR

* Exclude the kubernetes example dag from a test

* Fix dict -> KubernetesExecutorConfig

* fixed up executor_config comment and type hint
2018-04-22 10:23:06 +02:00
fenglu-g ad4e67ce1b [AIRFLOW-1314] Improve k8s support
Add kubernetes config section in airflow.cfg and Inject GCP secrets upon executor start. (#17)
Update Airflow to Pass configuration to k8s containers, add some Py3 … (#9)

* Update Airflow to Pass configuration to k8s containers, add some Py3 compat., create git-sync pod

* Undo changes to display-source config setter for to_dict

* WIP Secrets and Configmaps

* Improve secrets support for multiple secrets. Add support for registry secrets. Add support for RBAC service accounts.

* Swap order of variables, overlooked very basic issue

* Secret env var names must be upper

* Update logging

* Revert spothero test code in setup.py

* WIP Fix tests

* Worker should be using local executor

* Consolidate worker setup and address code review comments

* reconfigure airflow script to use new secrets method
2018-04-22 10:23:06 +02:00
grantnicholas a9d90dc9a5 [AIRFLOW-1314] Use VolumeClaim for transporting DAGs
- fix issue where watcher process randomly dies
- fixed alembic head, was pointing to two tips
2018-04-22 10:22:44 +02:00
dimberman 5821320880 [AIRFLOW=1314] Basic Kubernetes Mode 2018-04-22 10:17:39 +02:00
Bolke de Bruin c7a472ed6b [AIRFLOW-2287] Fix incorrect ASF headers
Closes #3219 from bolkedebruin/fix_header
2018-04-14 09:13:23 +02:00
Bolke de Bruin a30f009aeb [AIRFLOW-2287] Update license notices
Closes #3195 from bolkedebruin/AIRFLOW-2287
2018-04-09 00:32:09 -07:00
Joy Gao 05e1861e24 [AIRFLOW-1433][AIRFLOW-85] New Airflow Webserver UI with RBAC support
Closes #3015 from jgao54/rbac
2018-03-23 09:18:48 +01:00
Fokko Driesprong 4af71fd58e [AIRFLOW-2197] Silence hostname_callable config error message
Since the hostname_callable key is not defined in the config, we end
up with a lot of warnings. Add the key to the config and simplify the
code.
2018-03-08 13:05:41 +01:00
Fokko Driesprong 976fd1245a [AIRFLOW-2123] Install CI dependencies from setup.py
Install the dependencies from setup.py so we keep all the dependencies
in one single place

Closes #3054 from Fokko/fd-fix-ci-2
2018-03-05 22:46:45 +00:00
Moe Nadal 667a26ce49 [AIRFLOW-1551] Add operator to trigger Jenkins job
Closes #2553 from moe-nadal-ck/AIRFLOW-1551/AddJenkinsOperator
2018-02-27 11:51:49 +01:00
Fokko Driesprong 283b8d1b97 [AIRFLOW-2116] Set CI Cloudant version to <2.0
The python-cloudant release 2.8 is broken and
causes our CI to fail.
In the setup.py we install cloudant version <2.0
and in our CI pipeline
we install the latest version.

Closes #3051 from Fokko/fd-fix-cloudant
2018-02-16 10:45:38 +01:00
Bolke de Bruin a1d5551777 [AIRFLOW-1895] Fix primary key integrity for mysql
sla_miss and task_instances cannot have NULL
execution_dates. The timezone
 migration scripts forgot to set this properly. In
addition to make sure
MySQL does not set "ON UPDATE CURRENT_TIMESTAMP"
or MariaDB "DEFAULT
0000-00-00 00:00:00" we now check if
explicit_defaults_for_timestamp is turned
on and otherwise fail an database upgrade.

Closes #2969, #2857

Closes #2979 from bolkedebruin/AIRFLOW-1895
2018-01-27 09:01:10 +01:00
Bolke de Bruin 1abe7f6d54 Merge pull request #2853 from dimberman/Airflow_1517_kubenetes_operator 2018-01-12 19:02:52 +01:00
GRANT NICHOLAS 7fb5906e68 [AIRFLOW-1517] Kubernetes operator PR fixes
Fix python flake8 linting issues and AIRFLOW license issues
2018-01-11 15:29:34 -08:00
Daniel Imberman d5b13a3dad [AIRFLOW-1517] addressed PR comments 2018-01-11 15:29:27 -08:00
GRANT NICHOLAS 965439bef0 [AIRFLOW-1517] Add minikube for kubernetes integration tests
Add better support for minikube integration tests; By default minikube integration tests will run with kubernetes 1.7 and kubernetes 1.8
2018-01-11 15:29:16 -08:00