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

3548 Коммитов

Автор SHA1 Сообщение Дата
Paul Yang fdb7e94914 [AIRFLOW-160] Parse DAG files through child processes
Instead of parsing the DAG definition files in the same process as the
scheduler, this change parses the files in a child process. This helps
to isolate the scheduler from bad user code.

Closes #1636 from plypaul/plypaul_schedule_by_file_rebase_master
2016-07-31 12:49:39 -07:00
Sid Anand 835bcb6234 merges apache/incubator-airflow#1691 *fixed* 2016-07-29 15:08:47 -07:00
Sid Anand 635ef78fef merges apache/incubator-airflow#1696 *fixed* 2016-07-29 15:07:40 -07:00
Sid Anand b9af444a1a Merge branch '1696' 2016-07-29 14:59:57 -07:00
Sid Anand cda943ef50 closes apache/incubator-airflow#1691 *Fixed* 2016-07-28 18:54:19 -07:00
Sid Anand 6d4ca3cee3 closes apache/mahout#ZZ *Won't fix* 2016-07-28 18:50:44 -07:00
Sid Anand ba278145ab Merge branch '1697' 2016-07-28 18:42:40 -07:00
Norman Mu 35c2215b9f [AIRFLOW-381] Manual UI Dag Run creation: require dag_id field 2016-07-28 16:51:00 -07:00
Norman Mu 3845898900 [AIRFLOW-373] Enhance CLI variables functionality
Add export/import to/from json file option for CLI variable command.
Add delete variable option for CLI variable command.
2016-07-28 16:50:50 -07:00
Chris Riccomini b4aa64731b Link to wiki in README
Closes #1695 from criccomini/readme-links
2016-07-28 15:32:55 -07:00
Norman Mu 3deb9de142 [AIRFLOW-379] Enhance Variables page functionality: import/export variables
Add export option under 'with selected' menu to export selected variables to json.
Add upload file option at top of page to import variables from json file.

The decision was made to avoid flask admin's default export functionality because it
does not handle the possibility of serialized jsons as variable values well.

The import variables field should be made to look nicer.
2016-07-28 15:01:36 -07:00
Peter Pang 7dbc3cd40e [AIRFLOW-331] modify the LDAP authentication config lines in 'Security' sample codes
Closes #1674 from impangt/master
2016-07-27 14:33:39 -07:00
Chris Riccomini 0a8410d4d6 Merge pull request #1686 from mylons/master 2016-07-27 14:22:45 -07:00
Mike Lyons 97675553a9 need to import login_user if we're going to use it
login is broken in GHE for new users:
```
[2016-07-26 22:11:43,077] {github_enterprise_auth.py:199} ERROR -
Traceback (most recent call last):
  File "/opt/virtualenvs/airflow/lib/python3.5/site-packages/airflow/contrib/auth/backends/github_enterprise_auth.py", line 188, in oauth_callback
    'Null response from GHE, denying access.'
airflow.contrib.auth.backends.github_enterprise_auth.AuthenticationError: Null response from GHE, denying access.
[2016-07-26 22:12:12,313] {app.py:1423} ERROR - Exception on / [GET]
Traceback (most recent call last):
  File "/opt/virtualenvs/airflow/lib/python3.5/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/opt/virtualenvs/airflow/lib/python3.5/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/opt/virtualenvs/airflow/lib/python3.5/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/opt/virtualenvs/airflow/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/opt/virtualenvs/airflow/lib/python3.5/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/virtualenvs/airflow/lib/python3.5/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/opt/virtualenvs/airflow/lib/python3.5/site-packages/airflow/contrib/auth/backends/github_enterprise_auth.py", line 215, in oauth_callback
    login_user(GHEUser(user))
NameError: name 'login_user' is not defined```
2016-07-26 15:20:16 -07:00
Li Xuanji a89d1015ce [AIRFLOW-356][AIRFLOW-355][AIRFLOW-354] Replace nobr, enable DAG only exists locally message, change edit DAG icon
Addresses the following issues:
- [https://issues.apache.org/jira/browse/AIRFLOW-356](https://issues.apache.org/jira/browse/AIRFLOW-356)
- [https://issues.apache.org/jira/browse/AIRFLOW-355](https://issues.apache.org/jira/browse/AIRFLOW-355)
- [https://issues.apache.org/jira/browse/AIRFLOW-354](https://issues.apache.org/jira/browse/AIRFLOW-354)

- Replace `<nobr>` with `flexbox`
- "This DAG seems to be existing only locally" now shows up
- Change edit DAG icon from info to edit
- Rename `dttm` variable to `file_last_changed_on_disk`
- Rename `dags` variable to `webserver_dags`
- Adds a comment clarifying what `self.file_last_changed` is
- Clarifies what the `dag.last_expired` column represents
- Refactors some previously very nested logic in `views.py` and adds comments
- Properly indents `dags.html` and adds comments to it

- Edit DAG icon changed
- Home page now sort of responsive, no longer fixed width
- User will occasionally see "This DAG seems to be existing only locally" message

- Verify that edit dag button is now an edit icon and click on it
- Resized home page, check that last column does not wrap

![image](https://cloud.githubusercontent.com/assets/130362/17126889/2e7adb12-52b6-11e6-9a18-b31e424e4be8.png)

Clean up html, replace nobr with flexbox

Refactor HomeView

Rename variables and update comments

Closes #1678 from zodiac/xuanji_refactor
2016-07-26 10:30:11 -07:00
J C Lawrence 2c931abb36 [AIRFLOW-362] Import __future__ division
Fix integer division fencepost error on S3 chunked transfers

Closes #1683 from clearclaw/master
2016-07-26 09:47:49 -04:00
Li Xuanji edce741234 [AIRFLOW-359] Pin flask-login to 0.2.11
Closes #1679 from zodiac/xuanji_pin_ci_flask_login
2016-07-25 13:59:49 -07:00
Ajay Yadava 7628a8656c AIRFLOW-261 Add bcc and cc fields to EmailOperator
Closes #1670 from ajayyadava/261
2016-07-22 13:08:56 +02:00
Stanislav Kudriashev 189e6b8874 [AIRFLOW-348] Fix code style warnings
Closes #1672 from skudriashev/airflow-348
2016-07-22 13:04:03 +02:00
Dan Davydov b6e609824c [AIRFLOW-349] Add metric for number of zombies killed
Closes #1673 from aoen/ddavydov/metric_for_number_of_zombies_killed
2016-07-21 10:43:22 -07:00
Kevin Deldycke 00a591f7bf [AIRFLOW-340] Remove unused dependency on Babel
Closes #1668 from kdeldycke/remove-unused-babel-deps
2016-07-21 10:40:55 -07:00
Sumit Maheshwari 868efc7a00 AIRFLOW-339: Ability to pass a flower conf file
Closes #1671 from msumit/AIRFLOW-339
2016-07-20 18:08:48 -07:00
Dan Davydov 348f25f08a [AIRFLOW-341][operators] Add resource requirement attributes to operators
This PR adds optional resource requirements for tasks for use with
resource managers such as Yarn and Mesos.

Considerations:
- I chose to force users to encapsulate resources in a resources object
e.g. Resources(cpu=1) instead of just cpu=1 in their dag attributes.
This creates the pain of having to import Resources for almost every
DAG. I think this is kind of important for scoping/namespacing which we
should start doing.
- Once resources are used by executors we need to add documentation for
these new resources (and examples)

Testing Done:
- New/existing unit tests

plypaul artwr mistercrunch jlowin bolkedebruin criccomini

Closes #1669 from aoen/ddavydov/ddavydov/augment_tasks_with_resources
2016-07-19 16:39:34 -07:00
Siddharth Anand 5d90d132af Merge branch '1631' 2016-07-18 23:33:47 -07:00
Siddharth Anand ab69637be6 Merge branch '1664' 2016-07-18 19:10:59 -07:00
Stanislav Kudriashev dc1bdf6222 [AIRFLOW-335] Fix simple style errors/warnings
Closes #1665 from skudriashev/airflow-335
2016-07-14 15:11:23 -07:00
Bolke de Bruin aea1fa2d65 Merge remote-tracking branch 'apache/master' 2016-07-14 20:07:58 +02:00
Bolke de Bruin 3079da0624 [AIRFLOW-337] Add __repr__ to VariableAccessor and VariableJsonAccessor
The VariableJsonAccessor and VariableAccessor were missing the __repr__
function that leads to a VariableError when printing out the context
being passed to for example a PythonOperator.
2016-07-14 19:30:46 +02:00
Stanislav Kudriashev cca55d7964 [AIRFLOW-334] Fix using undefined variable 2016-07-14 16:06:23 +03:00
Christian Trebing c32452aba6 Add blue-yonder to Airflow users
Closes #1661 from ctrebing/extend_list_of_companies_blue_yonder
2016-07-14 08:26:29 -04:00
Stanislav Kudriashev 6c7c52c447 [AIRFLOW-315] Fix blank lines code style warnings
Closes #1653 from skudriashev/airflow-315
2016-07-14 08:23:08 -04:00
Daniel van der Ende 9f764275f7 [AIRFLOW-306] Add Spark-sql Hook and Operator
This patch adds a hook and operator that allows execution of Spark-
sql queries. The hook is a wrapper around the Spark-sql binary.

Closes #1644 from danielvdende/spark_sql_operator
2016-07-13 09:39:35 +02:00
Stanislav Kudriashev 3c91bbb5d6 [AIRFLOW-327] Add rename method to the FTPHook
Closes #1660 from skudriashev/airflow-327
2016-07-12 11:13:09 -07:00
Chris Riccomini 7f7f8bfdb1 Merge pull request #1657 from Shekharv/master 2016-07-12 11:08:12 -07:00
Chris Riccomini 14561f20d4 Merge pull request #1659 from sekikn/AIRFLOW-321 2016-07-12 10:34:29 -07:00
jlowin 0953f27a50 Merge pull request #1642 from jlowin/pr-tool-1 2016-07-12 10:55:29 -04:00
Kengo Seki d62a4391c3 [AIRFLOW-321] Fix a wrong code example about tests/dags
tests/dags/README.md has a code example such as
"dag = dagbag.get(dag_id)", but DagBag doesn't have a method called get.
That should be fixed as get_dag.
2016-07-09 13:25:25 +00:00
shekhar 040d41a05f Update README.md 2016-07-07 13:35:13 -07:00
Dan Davydov 635c97a606 [AIRFLOW-316] Always check DB state for Backfill Job execution
Closes #1654 from aoen/ddavydov/dont_skip_db_state_check_for_subdag

Always check DB state and not just the local state for backfill jobs for
determining which task instances have not yet completed execution.
This is to avoid potential race conditions with e.g. two backfill jobs
running the same task instance.
2016-07-06 14:44:28 -07:00
Arthur Wiedmer 92064398c4 [AIRFLOW-264] Adding workload management for Hive
Dear Airflow Maintainers,

Please accept this PR that addresses the following issues:
- https://issues.apache.org/jira/browse/AIRFLOW-264

CC: Original PR by Jparks2532
https://github.com/apache/incubator-airflow/pull/1384

Add workload management to the hive hook and operator.
Edited operator_helper to avoid KeyError on retrieving conf values.
Refactored hive_cli command preparation in a separate private
method.
Added a small helper to flatten one level of an iterator to a list.

Closes #1614 from artwr/artwr_fixing_hive_queue_PR
2016-07-06 12:43:44 -07:00
Joy Gao 8b86ee6a72 [AIRFLOW-297] support exponential backoff option for retry delay
Closes #1639 from jgao54/support-retry-backoff
2016-07-06 08:57:57 -07:00
Jeremiah Lowin 9a61a5bd58 [AIRFLOW-31][AIRFLOW-200] Add note to updating.md
AIRFLOW-31 and AIRFLOW-200 deprecated the old important mechanism and should be noted in UPDATING.md

Closes #1643 from jlowin/patch-1
2016-07-06 10:41:46 +02:00
Oleksandr Vilchynskyy 9b920678bf [AIRFLOW-307] There is no __neq__ python magic method.
Closes #1645 from TheSAS/patch-1
2016-07-06 10:40:05 +02:00
Tsuyoshi Ozawa 72ce0be96c [AIRFLOW-309] Add requirements of develop dependencies to docs
Closes #1647 from oza/AIRFLOW-309
2016-07-06 10:37:33 +02:00
Tsuyoshi Ozawa 7f653dea5b [AIRFLOW-307] Rename __neq__ to __ne__ python magic method.
Closes #1649 from oza/AIRFLOW-307
2016-07-06 10:35:48 +02:00
Stanislav Kudriashev 8b9ead747b [AIRFLOW-313] Fix code style for sqoop_hook.py
Closes #1651 from skudriashev/airflow-313
2016-07-06 10:34:26 +02:00
Stanislav Kudriashev ddb554f2c3 [AIRFLOW-311] Fix wrong path in CONTRIBUTING.md
Closes #1650 from skudriashev/airflow-311
2016-07-06 10:33:12 +02:00
Alex Van Boxel a9ee8ce98b [AIRFLOW-24] DataFlow Java Operator
Closes #1648 from alexvanboxel/AIRFLOW-24
2016-07-06 10:31:29 +02:00
Eric Stern 35d07a8bdd [AIRFLOW-308] Add link to refresh DAG within DAG view header
Closes #1646 from Firehed/refresh_on_dag
2016-07-05 20:21:26 -07:00
Moira Tagle 2d7c830858 [AIRFLOW-314] Fix BigQuery cursor run_table_upsert method
Closes #1652 from mtagle/fix_bq_table_upsert

By default, bigquery will only return 50 tables when you ask for a list
of all the tables in a datatset. If you are trying to upsert a table
that exists, but you have more than 50 tables, the run_table_upsert
method may conclude that the table doesn't exist, and try to insert it,
and bigquery will error saying that the table does exist.

This fix checks if the response has pagination data, and looks at all
the pages, rather than just the first one, to see if the table exists.
2016-07-05 16:29:32 -07:00