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

5918 Коммитов

Автор SHA1 Сообщение Дата
BasPH e442d055e8 [AIRFLOW-XXX] Update docs with new BranchPythonOperator behaviour (#4682) 2019-02-12 16:01:01 +01:00
Felix 20c7eeb0a6 [AIRFLOW-XXX] Add notes for imports and sensors (#4698)
- Add note for the removal of deprecated import mechanism
- Add note for changes to sensor imports
2019-02-12 16:00:13 +01:00
Tao Feng 69e9e9729c [AIRFLOW-XXX] Upgrade FAB to 1.12.3 (#4694) 2019-02-12 10:33:23 +01:00
Sarmad Ali 1ae7f6f789 [AIRFLOW-3876] AttributeError: module 'distutils' has no attribute 'util'
fix for AttributeError: module 'distutils' has no attribute 'util'
2019-02-12 10:30:29 +01:00
Amarnath 1a738e5a37 [AIRFLOW-XXX] added company to the Users list in the README (#4693) 2019-02-11 21:17:28 -08:00
Tao Feng a9b36f1abd
[AIRFLOW-3851] ExternalTasksensor should not check existence in subsequent poke (#4673) 2019-02-11 13:20:48 -08:00
Patouche 57c6665767 [AIRFLOW-3801] Fix DagBag collect dags invocation to prevent examples to be loaded (#4677) 2019-02-11 16:40:21 +00:00
Felix 3041f2fcc2 [AIRFLOW-3749] Fix Edit Dag Run page when using RBAC (#4613) 2019-02-11 11:31:45 +00:00
BasPH f4374eda3e [AIRFLOW-XXX] Add section on task lifecycle & correct casing in docs (#4681) 2019-02-11 11:28:26 +00:00
Kamil Breguła 4f3d0fdd77 [AIRFLOW-XXX] Docs rendering improvement (#4684) 2019-02-11 10:50:33 +00:00
Fokko Driesprong 07ac00da40 [AIRFLOW-3866] Run docker-compose pull silently in CI (#4688)
To reduce the output in Travis
2019-02-11 10:15:54 +00:00
Tanay Tummalapalli 8917ce6bef [AIRFLOW-3742] Fix handling of "fallback" for AirflowConfigParsxer.getint/boolean (#4674)
We added (and used) fallback as an argument on `getboolean` but didn't
add it to the method, or add tests covering those "casting" accessors,
so they broke.

This fixes those methods, and adds tests covering them
2019-02-11 09:53:55 +00:00
BasPH 59d2615459 AIRFLOW-[3823] Exclude branch's downstream tasks from the tasks to skip (#4666) 2019-02-10 19:59:46 +01:00
BasPH 8d6dcd1840 [AIRFLOW-3464] Move SkipMixin out of models.py (#4386) 2019-02-10 12:47:41 +01:00
Kamil Breguła d11147ad65 [AIRFLOW-XXX] Move out the examples from integration.rst (#4672) 2019-02-08 09:32:11 -08:00
Verdan Mahmood 2a963909f5 [AIRFLOW-3820] Add back the gunicorn config (#4661) 2019-02-08 09:29:56 -08:00
Kamil Breguła b6f85740d4 [AIRFLOW-3828] Use context manager to manage session in cli.rotate_fernet_key (#4668) 2019-02-08 10:31:58 +00:00
Kamil Breguła 6d229b240b [AIRFLOW-3707] Group subpackages/extras by cloud providers (#4524) 2019-02-08 10:23:32 +00:00
Kamil Breguła dbeb6a8b0f [AIRFLOW-XXX] Add backreference in docs between operator and integration (#4671) 2019-02-08 10:22:48 +00:00
Mathew Wicks f2fe587f59 [AIRFLOW-3547] Fixed Jinja templating in SparkSubmitOperator (#4347)
* [AIRFLOW-3547] Fixed Jinja templating in SparkSubmitOperator

This is a minor change to allow Jinja templating in parameters where it
makes sense for SparkSubmitOperator.

* [AIRFLOW-3547] Fixed Jinja templating in SparkSubmitOperator

This is a minor change to allow Jinja templating in parameters where it
makes sense for SparkSubmitOperator.
2019-02-08 10:54:11 +01:00
Chris Nordqvist e60710657b [AIRFLOW-XXX] Correct typo for `prev_ds` (#4664)
`@weekly` probably shouldn't yield the date from 2 years + 1 week ago :)
2019-02-07 15:15:33 +00:00
Kamil Breguła 6b38649fa6 [AIRFLOW-XXX] Improve linking to classes (#4655) 2019-02-07 11:57:32 +00:00
Penumbra69 13c63ffad0 [AIRFLOW-3647] Add archives config option to SparkSubmitOperator (#4467)
To enable to spark behavior of transporting and extracting an archive
on job launch,  making the _contents_ of the archive available to the
driver as well as the workers (not just the jar or archive as a zip
file) - this configuration attribute is necessary.

This is required if you have no ability to modify the Python env on
the worker / driver nodes, but you wish to use versions, modules, or
features not installed.

We transport a full Python 3.5 environment to our CDH cluster using
this option and the alias "#PYTHON" paired an additional configuration
to spark to use it:

    --archives "hdfs:///user/myuser/my_python_env.zip#PYTHON"
    --conf "spark.yarn.appMasterEnv.PYSPARK_PYTHON=./PYTHON/python35/bin/python3"
2019-02-07 11:37:25 +00:00
T. Tanay 4230404abc [AIRFLOW-3643] Add shebang to docs/start_doc_server.sh (#4650)
Since this script uses bash syntax, shebang needs to be added.
2019-02-07 11:32:48 +00:00
mans2singh ba66fa7e77 [AIRFLOW-3802] Updated documentation for HiveServer2Hook (#4647) 2019-02-06 21:44:36 -08:00
mans2singh a1d5b01b10 [AIRFLOW-3817] - Corrected task ids returned by BranchPythonOperator to match the dummy operator ids (#4659) 2019-02-06 21:43:13 -08:00
Andrew Stahlman 2dadee7a24 [AIRFLOW-3813] Add CLI commands to manage roles (#4658)
* [AIRFLOW-3813] Add CLI commands to manage roles

Here is the help text of the new command `airflow roles`:

    usage: airflow roles [-h] [-c] [-l] [role [role ...]]

    positional arguments:
      role          The name of a role

    optional arguments:
      -h, --help    show this help message and exit
      -c, --create  Create a new role
      -l, --list    List roles

Create is reentrant, i.e., it only adds a new role if it does not exist.

* Update docs on role creation
2019-02-06 20:34:50 -08:00
Andrew Stahlman 5275a8ff0e [AIRFLOW-2694] Declare permissions in DAG definition (#4642)
* [AIRFLOW-2694] Declare permissions in DAG definition

This PR adds support for declaratively assigning DAG-level permissions
to a role via the `DAG.__init__()` method.

When the DAG definition is evaluated and the `access_control` argument
is supplied, we update the permissions on the ViewMenu associated with
this DAG according to the following rules:

- If the role does not exist, we raise an exception.
- If the role exists, we ensure that it has the specified set of
  permissions on the DAG
- If any other permissions exist for the DAG that are not specified in
  `access_control`, we revoke them

* Move RBAC constants to break circular dependency

* Add license header

* Sync DAG permissions via CLI and /refresh* endpoints

Move the DAG-level permission syncing logic into
`AirflowSecurityManager.sync_perm_for_dag`, and trigger this method from
the CLI's `sync_perm` command and from the `/refresh` and `/refresh_all`
web endpoints.

* Default access_control to None
2019-02-06 11:49:19 -08:00
Kamil Breguła 6f122f4fc5 [AIRFLOW-XXX] Extract reverse proxy info to a separate file (#4657) 2019-02-06 18:45:46 +00:00
Kamil Breguła 2e19e1842a [AIRFLOW-3810] Remove duplicate autoclass directive (#4656) 2019-02-06 14:35:12 +00:00
BasPH e1d3df1999 [AIRFLOW-3476,3477] Move Kube classes out of models.py (#4443) 2019-02-06 09:55:16 +01:00
Ryo Okubo 6cfadcde7a [AIRFLOW-3814] Add exception details to warning log (#4651)
* Add exception details to warning log

* Fix log format
2019-02-05 21:54:43 -08:00
Kamil Breguła 40c14e5f77 [AIRFLOW-XXX] Add missing class references to docs (#4644) 2019-02-05 20:48:25 +00:00
gseva 7c6ce873f2 [AIRFLOW-XXX] Fixed note in plugins.rst (#4649)
Changing it to rst notation, so it stands out in read the docs.
2019-02-05 10:30:04 -08:00
andyh1203 0f02e45b7e [AIRFLOW-3463] Move Log out of models.py (#4639) 2019-02-01 22:09:41 -08:00
Fokko Driesprong f07f3a8831
[AIRFLOW-XXX] The execution_date is Pendulum 2019-02-01 12:44:02 +01:00
Stefan Seelmann ee5b8c2683 [AIRFLOW-3461] Move TaskFail out of models.py (#4630) 2019-01-31 12:01:52 -08:00
Xiaodong 11f5032527 [AIRFLOW-3782] Clarify docs around celery worker_autoscale in default_airflow.cfg (#4609)
Celery supports `autoscale` by accepting values in format "max_concurrency,min_concurrency".
But the default value in default_airflow.cfg is wrong, and the comment can be clearer.
2019-01-31 14:12:57 +00:00
Kamil Breguła d126d9ef21 [AIRFLOW-3730] Standarization use of logs mechanisms (#4556) 2019-01-31 11:32:23 +00:00
andyh1203 e1c0433127 [AIRFLOW-3471] Move XCom out of models.py (#4629) 2019-01-30 23:37:35 -08:00
Fokko Driesprong 05d43516fb [AIRFLOW-2876] Update Tenacity to 4.12 (#3723)
Tenacity 4.8 is not python 3.7 compatible because it contains
reserved keywords in the code
2019-01-30 22:59:49 -08:00
Tao Feng 0fef65a10f
[AIRFLOW-XXX] Add a doc about fab security (#4595) 2019-01-30 22:50:13 -08:00
Stefan Seelmann 8e6bca1546 [AIRFLOW-3462] Move TaskReschedule out of models.py (#4618) 2019-01-30 14:31:37 -08:00
Andrew Stahlman cd4c61a2de [AIRFLOW-3787] Import/export users from JSON file (#4624)
* [AIRFLOW-3787] Import/export users from JSON file

Provide a CLI command to import or export users from a JSON file. The
CLI arguments are modeled after the import/export commands for Variables
and Pools.

Example Usage:

    airflow users -i users.json
    airflow users -e /tmp/exported-users.json

The import command will create any users that do not yet exist and
update any users that already exist. It never deletes users.

The format of the file produced by an export is compatible with the
import command, i.e., `import(export())` should succeed but have no
side-effects.

* Add input file format to help text
2019-01-30 14:24:19 -08:00
Ash Berlin-Taylor 7ebecd677d [AIRFLOW-3779] Don't install enum34 backport when not needed (#4620)
https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-platform-specific-dependencies

Installing this in more recent versions causes a "AttributeError: module
'enum' has no attribute 'IntFlag'`" in re.py
2019-01-30 11:19:41 -08:00
Drew J. Sonne 82c60a2040 [AIRFLOW-3774] Register blueprints with app (#4598) 2019-01-30 11:10:25 -08:00
Joshua Carp 26d775aa20 [AIRFLOW-3789] Fix flake8 3.7 errors. (#4617) 2019-01-30 16:52:19 +00:00
Stefan Seelmann 2f688f69cb AIRFLOW-3590: Change log message of executor exit status (#4616)
Try to make the log message clearer in the presence of rescheduled tasks -
i.e that the task exited with 0/1, not the status of the task, without having each
executor having to know about reschedule or other states we might introduce.
2019-01-29 21:44:10 +00:00
Ash Berlin-Taylor 0d64fd8aac [AIRFLOW-3742] Respect the `fallback` arg in airflow.configuration.get (#4567)
This argument is part of the API from our parent class, but we didn't
support it because of the various steps we perform in `get()` - this
makes it behave more like the parent class, and can simplify a few
instances in our code (I've only included one that I found here)
2019-01-29 11:56:08 -08:00
Tao Feng fc22c6efad
[AIRFLOW-XXX] Update timezone doc (#4592) 2019-01-29 11:55:13 -08:00