User Details
- User Since
- Feb 21 2025, 7:59 PM (85 w, 4 d)
- Availability
- Available
- LDAP User
- Unknown
- MediaWiki User
- AStein-WMF [ Global Accounts ]
Fri, Oct 9
@atsuko i'll be out for the next 2 weeks. if there's a risk of anything breaking can we wait until i'm back to upgrade?
Thu, Oct 8
Tue, Oct 6
Mon, Oct 5
Tue, Sep 29
Wed, Sep 16
Sep 10 2026
Aug 28 2026
This is complete! we have 2 dags moving data to FR Tech's data lake. docs can be found in the dag factory code. the basic idea is that spark runs an hql query and outputs the data into hdfs. then a utility script copies that data to a tempfile and uses boto3 to transfer the tempfile to FR Tech's data lake
Aug 24 2026
Aug 21 2026
Looks like it's still not transferring. after 10 minutes it requeues twice and then fails. lmk what other info would be helpful to provide. if you're able to- you're welcome to switch to my user for testing and getting past the hdfs permissions
Aug 20 2026
2 issues:
- the compute task is giving an error:
::group::Log message source details
s3://logs.airflow-dev.dse-k8s-eqiad/dev-astein/dag_id=pageviews_hourly_aggregated/run_id=manual__2026-08-20T17:08:13.094929+00:00/task_id=compute/attempt=1.log
::endgroup::
[2026-08-20T17:08:24.263518Z] INFO - ::group::Pre Execute
Task Identity ti_id=01a02025-08f6-7d9b-9a67-8356e2d7277a dag_id=pageviews_hourly_aggregated task_id=compute run_id=manual__2026-08-20T17:08:13.094929+00:00 try_number=1 map_index=-1
[2026-08-20T17:08:24.315779Z] INFO - Successfully loaded custom StatsD client
[2026-08-20T17:08:24.323948Z] WARNING - The `airflow.models.baseoperator.BaseOperator` attribute is deprecated. Please use `'airflow.sdk.bases.operator.BaseOperator'`. category=DeprecatedImportWarning
[2026-08-20T17:08:24.324076Z] WARNING - The `airflow.models.baseoperatorlink.BaseOperatorLink` attribute is deprecated. Please use `'airflow.sdk.BaseOperatorLink'`. category=DeprecatedImportWarning
[2026-08-20T17:08:24.326473Z] WARNING - airflow.exceptions.AirflowSkipException is deprecated and will be removed in a future version. Use airflow.sdk.exceptions.AirflowSkipException instead. category=DeprecatedImportWarning
[2026-08-20T17:08:24.326825Z] WARNING - The `airflow.operators.python.PythonOperator` attribute is deprecated. Please use `'airflow.providers.standard.operators.python.PythonOperator'`. category=DeprecatedImportWarning
[2026-08-20T17:08:25.482205Z] WARNING - The `airflow.utils.types.NOTSET` attribute is deprecated. Please use `'airflow.serialization.definitions.notset.ArgNotSet'`. category=DeprecatedImportWarning
[2026-08-20T17:08:25.482334Z] WARNING - The `airflow.utils.types.ArgNotSet` attribute is deprecated. Please use `'airflow.serialization.definitions.notset.ArgNotSet'`. category=DeprecatedImportWarning
[2026-08-20T17:08:25.489479Z] INFO - DAG bundles loaded: dags-folder
[2026-08-20T17:08:25.489907Z] INFO - Filling up the DagBag from /opt/airflow/dags/airflow_dags/fr_tech/dags/pageviews_hourly_aggregated_dag.py
[2026-08-20T17:08:25.812771Z] INFO - Dag-default-args set is `dev_wmf`.
[2026-08-20T17:08:25.843583Z] WARNING - Skipping masking for a secret as it's too short (<5 chars)
[2026-08-20T17:08:25.848018Z] WARNING - The `airflow.operators.python.PythonOperator` attribute is deprecated. Please use `'airflow.providers.standard.operators.python.PythonOperator'`. category=UserWarning
[2026-08-20T17:08:25.848111Z] WARNING - The `airflow.sensors.base.BaseSensorOperator` attribute is deprecated. Please use `'airflow.sdk.bases.sensor.BaseSensorOperator'`. category=UserWarning
[2026-08-20T17:08:25.848176Z] WARNING - airflow.exceptions.AirflowFailException is deprecated and will be removed in a future version. Use airflow.sdk.exceptions.AirflowFailException instead. category=UserWarning
[2026-08-20T17:08:25.848236Z] WARNING - Import 'AirflowException' directly from the airflow module is deprecated and will be removed in the future. Please import it from 'airflow.exceptions.AirflowException'. category=UserWarning
[2026-08-20T17:08:25.848320Z] WARNING - The `airflow.hooks.base.BaseHook` attribute is deprecated. Please use `'airflow.sdk.bases.hook.BaseHook'`. category=UserWarning
[2026-08-20T17:08:25.848405Z] WARNING - The `airflow.sensors.base.BaseSensorOperator` attribute is deprecated. Please use `'airflow.sdk.bases.sensor.BaseSensorOperator'`. category=UserWarning
[2026-08-20T17:08:25.848466Z] WARNING - The `airflow.sensors.external_task.ExternalTaskSensor` attribute is deprecated. Please use `'airflow.providers.standard.sensors.external_task.ExternalTaskSensor'`. category=UserWarning
[2026-08-20T17:08:25.848529Z] WARNING - The `airflow.sensors.external_task.ExternalTaskSensor` attribute is deprecated. Please use `'airflow.providers.standard.sensors.external_task.ExternalTaskSensor'`. category=UserWarning
[2026-08-20T17:08:25.848587Z] WARNING - The `airflow.sensors.base.BaseSensorOperator` attribute is deprecated. Please use `'airflow.sdk.bases.sensor.BaseSensorOperator'`. category=UserWarning
[2026-08-20T17:08:25.848644Z] WARNING - The `airflow.sensors.base.BaseSensorOperator` attribute is deprecated. Please use `'airflow.sdk.bases.sensor.BaseSensorOperator'`. category=UserWarning
[2026-08-20T17:08:25.848702Z] WARNING - Using Variable.get from `airflow.models` is deprecated.Please use `get` on Variable from sdk(`airflow.sdk.Variable`) instead category=UserWarning
[2026-08-20T17:08:25.848760Z] WARNING - Setting email on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.848818Z] WARNING - Setting email_on_retry on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.848875Z] WARNING - Setting email_on_failure on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.848932Z] WARNING - Setting email on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.848989Z] WARNING - Setting email_on_retry on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.849045Z] WARNING - Setting email_on_failure on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.849100Z] WARNING - Setting email on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.849156Z] WARNING - Setting email_on_retry on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.849213Z] WARNING - Setting email_on_failure on a task is deprecated; please migrate to SmtpNotifier. category=UserWarning
[2026-08-20T17:08:25.849936Z] INFO - Worker startup parse complete bundle_name=dags-folder bundle_version=null dag_file=dags/pageviews_hourly_aggregated_dag.py bundle_prepare_ms=0 dag_file_parse_ms=360
[2026-08-20T17:08:25.935223Z] INFO - ::endgroup::
[2026-08-20T17:08:25.935496Z] INFO - Running in a Kubernetes devenv. Switching to using krb5ccache instead of a keytab.
[2026-08-20T17:08:25.936136Z] ERROR - Task failed with exceptionKeyError: 'keytab'
File /home/app/.local/lib/python3.11/site-packages/airflow/sdk/execution_time/task_runner.py, line 1579 in _run_task_and_map_outcome
File /home/app/.local/lib/python3.11/site-packages/airflow/sdk/execution_time/task_runner.py, line 197 in wrapper
File /home/app/.local/lib/python3.11/site-packages/airflow/sdk/execution_time/task_runner.py, line 2234 in _execute_task
File /home/app/.local/lib/python3.11/site-packages/airflow/sdk/execution_time/task_runner.py, line 197 in wrapper
File /home/app/.local/lib/python3.11/site-packages/airflow/sdk/execution_time/task_runner.py, line 2192 in _run_execute_callable
File /home/app/.local/lib/python3.11/site-packages/airflow/sdk/bases/operator.py, line 445 in wrapper
File /home/app/.local/lib/python3.11/site-packages/airflow/providers/apache/spark/operators/spark_submit.py, line 193 in execute
File /opt/airflow/dags/airflow_dags/wmf_airflow_common/operators/spark.py, line 415 in _get_hook
File /opt/airflow/dags/airflow_dags/wmf_airflow_common/hooks/spark.py, line 473 in __init__
File /opt/airflow/dags/airflow_dags/wmf_airflow_common/hooks/spark.py, line 213 in _build_spark_submit_command
File /home/app/.local/lib/python3.11/site-packages/airflow/providers/apache/spark/hooks/spark_submit.py, line 484 in _build_spark_submit_command
File /home/app/.local/lib/python3.11/site-packages/airflow/providers/apache/spark/hooks/spark_submit.py, line 451 in _build_spark_common_argsrunning my dags, pageviews_hourly and banner_activity_minutely in devenv:
airflow-devenv create --dags-folder fr_tech --branch main_airflow_3.3
Hey folks, please let FR-Analytics know when dropping fields. their pipeline broke last night because wmf_donor.largest_donation was removed
Aug 19 2026
Aug 17 2026
Aug 14 2026
Aug 13 2026
Aug 5 2026
I've added the snooze link as a 3rd button in the zendesk app! @EBrill-WMF can you please confirm that it works as expected?
Aug 3 2026
Jul 13 2026
Jul 8 2026
permissions are largely in place. the only update needed was adding files.slack.com to the squid ACL.
Jul 7 2026
Jun 30 2026
Jun 15 2026
Jun 12 2026
Jun 11 2026
@ayounsi which IPs did you allow traffic from? i ran my script and its trying to connect from 10.67...
@brouberol, @BTullis suggested that 10.67.24.0/21 is the IP range to allowlist. But dse-k8s-worker1001's IP isn't in that range. I'm also running my DAG in airflow devenv and running into timeout issues. Is there a different list of IPs we need to allowlist? to clarify, we want to transfer data from any airflow worker, prod or in devenv
Thank you! does that mean the firewall changes are all done? I'll look into the iptables
Jun 10 2026
@brouberol for when you get this tomorrow: if you cant use FRACK_NETWORKS then these are the IPs: 10.195.0.46 and 10.64.40.104
Jun 5 2026
Jun 4 2026
some more info- i was able to connect to hdfs and get file info in airflow devenv without CLASSPATH, by using wmf_airflow_common.util.hdfs_client. i dont know if that's the preferred way to interact with hdfs. code now looks like:
Hey @ABran-WMF, we've just completed the migration!
May 22 2026
May 20 2026
Cassie and I agreed on a normalized data structure and the data is now in Trino. Since this data will only be used until the surveymonkey api pipeline is set up, we decided to create a new trino schema to house this data- static.
The 4 tables can be found in hive.static and are named: questions, responses, respondents, and response_types.
May 19 2026
Added to the ZD store! marking this as closed!
May 15 2026
done!
May 14 2026
you're right, we can! i dont know what the other apps are or if they're used- so i'll hold off on changing the order
Done! Folks can access the extension by clicking the extension button and then scrolling down to Civi Links. It's below some other extensions so you can pin it for easy access
Great! @Lars i removed the extra text! Once Katie is back and tests/ approves the app, I'll put it in a repo and add it to the production ZD instance
also @Lars i want to put the code into a repo. what do you think about the name fr-tech-zendesk-utils?
@KHansen are you able to access the advancement sandbox ZD instance? if so, the links are ready for you to try!
sounds good! 2 questions:
May 11 2026
This looks good to me! thanks for writing it up! I assume next step is for @BTullis to review and give his thoughts- but lmk if there's anything i can do to help!
May 1 2026
Apr 27 2026
i loaded one of the folders into a gsheet.
Adding another use case: At SDS we decided that we'd use FR Tech's airflow instance to push data from P&T's data lake to FR Tech's data lake (we use minio- s3 compatible api)
Apr 24 2026
awesome, i have it working! once the contact page is set up i'll test that too
@Lars i can give it a shot!
do we have test emails i can use to test unsubscribing?
Mar 27 2026
the changes have been merged! now the daily job loads: users, macros, tickets, and ticket_metrics!
Mar 25 2026
do we have any more details, or do we still need to decide what would be useful to send over?
Mar 24 2026
first dataset is pageviews. i'm going to move the dag to the new fr tech airflow instance
data is in review by analytics
Mar 23 2026
Mar 20 2026
I'm getting set up with the new FR Tech airflow instance and hope to have progress updates soon!
Mar 16 2026
Mar 11 2026
currently in testing by DR
Mar 10 2026
@brouberol i believe so! I'll be creating some aggregate datasets like this one. Does that involve running spark jobs on yarn?
Mar 4 2026
Feb 27 2026
Hey! zendesk data is in our data lake but i dont think it's in civi. I can have the surveymonkey data in next week! @IAckerman-WMF do you know what the next steps are for modeling the zendesk data?
Feb 24 2026
Feb 18 2026
Feb 17 2026
@IAckerman-WMF is this ticket still needed?
Feb 13 2026
2 questions:
- where does the data for each of these sources live?
- do we expect schema changes between ingestion runs?
is google sheets the permanent source for this data, or is there an API we can/ should pull from instead?



