Yep  +1 for queue parameter.

I had implemented once a POC for a multi-executor that also used 'queue' to
route between any executors (and potentially multiple of them):

* Main commit here:
https://github.com/PolideaInternal/airflow/commit/c87e87a5e7673e67e78d4ce39d5a15a8cc494e56

* fixup here:
https://github.com/PolideaInternal/airflow/commit/6590f665d4d9aa2629052c1af2e6f4c36a9a4dd3

But I agree that more "generic" solution is not needed here - really the
case we want to handle is 'Celery' + 'Kubernetes'.

J.

On Thu, Aug 27, 2020 at 9:21 AM Kaxil Naik <kaxiln...@gmail.com> wrote:

> +1 for queue param
>
> On Thu, Aug 27, 2020, 04:38 Ping Zhang <pin...@umich.edu> wrote:
>
> > Hi Daniel,
> >
> > Thanks for checking that. I like the idea of using the queue field too. I
> > will make the change  and tag you in the PR.
> >
> > Best wishes
> >
> > Ping Zhang
> >
> >
> > On Mon, Aug 24, 2020 at 9:10 AM Daniel Imberman <
> daniel.imber...@gmail.com
> > >
> > wrote:
> >
> > > Hi Ping,
> > >
> > > This looks great! The only change I might suggest is maybe we check the
> > > “queue” field and set the router to KubernetesExecutor is
> > > “queue=‘kubernetes’”. What do you think?
> > >
> > > via Newton Mail [
> > >
> >
> https://cloudmagic.com/k/d/mailapp?ct=dx&cv=10.0.50&pv=10.15.5&source=email_footer_2
> > > ]
> > > On Mon, Aug 24, 2020 at 12:12 AM, Ping Zhang <pin...@umich.edu> wrote:
> > > ah, did not know that. Thanks for letting me know.
> > >
> > > The image is not that important, all the important information is in
> the
> > > gist:
> > >
> > >
> >
> https://gist.github.com/pingzh/cc44c97336560b658d012c225a2242cc#file-jobdispatcherexecutor-py
> > >
> > > Best wishes
> > >
> > > Ping Zhang
> > >
> > >
> > > On Sun, Aug 23, 2020 at 11:59 PM Deng Xiaodong <xd.den...@gmail.com>
> > > wrote:
> > >
> > > > Hi Ping,
> > > >
> > > > Inserting images in the email body doesn’t work for this mail list.
> So
> > we
> > > > cannot actually see the pictures you shared.
> > > >
> > > > If you find them important, you may share the pictures somewhere then
> > > > provide the links in the mail body.
> > > >
> > > > Thanks.
> > > >
> > > > XD
> > > >
> > > > On Mon, Aug 24, 2020 at 08:56 Ping Zhang <pin...@umich.edu> wrote:
> > > >
> > > > > Great ideas.
> > > > >
> > > > > Actually, when I evaluated using KubernetesExecutor in Airbnb, I
> > > created
> > > > > *JobDispatcherExecutor*, which is similar to the idea 2.
> > > > >
> > > > > We have tons of sensor tasks launched at around UTC 00:00 and we
> > > enabled
> > > > > the SmartSensor, which means each sensor task is very short
> running.
> > If
> > > > we
> > > > > choose to have one pod per task, the k8s cluster will not be able
> to
> > > > handle
> > > > > the bursty load.
> > > > >
> > > > > Thus, I created a JobDispatcherExecutor which takes an instance of
> > > > > `celery_executor` and `kubernetes_executor`.
> > > > > [image: image.png]
> > > > > And there is a router
> > > > > <
> > > >
> > >
> >
> https://gist.github.com/pingzh/cc44c97336560b658d012c225a2242cc#file-jobdispatcherexecutor-py-L165-L168
> > > > >
> > > > > method to determine use which executor to queue_command,
> > > > > [image: image.png]
> > > > > It is currently based on whether a task is a smart sensor task, but
> > it
> > > > can
> > > > > be easily changed to other attributes and/or settings.policy (so
> that
> > > > infra
> > > > > can have control).
> > > > >
> > > > > Here is the gist:
> > > > >
> > > >
> > >
> >
> https://gist.github.com/pingzh/cc44c97336560b658d012c225a2242cc#file-jobdispatcherexecutor-py
> > > > >
> > > > > [image: image.png]
> > > > >
> > > > >
> > > > > Would love to get some feedback.
> > > > >
> > > > > Best wishes
> > > > >
> > > > > Ping Zhang
> > > > >
> > > > >
> > > > > On Thu, Aug 13, 2020 at 12:58 PM Jarek Potiuk <
> > > jarek.pot...@polidea.com>
> > > > > wrote:
> > > > >
> > > > >> +1 for pod mutation in config. It's not a "yamly" thing - it's a
> > > python
> > > > >>
> > > > >>
> > > > >> code to run, so it's quite appropriate to have it in config.
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> On Wed, Aug 12, 2020 at 9:43 PM Daniel Imberman <
> > > > >> daniel.imber...@gmail.com>
> > > > >>
> > > > >>
> > > > >> wrote:
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> > I think pod_mutation is important as an “admin override”. E.g.
> > there
> > > > >> might
> > > > >>
> > > > >>
> > > > >> > be a label that is required by security policy for all tasks
> > > launched
> > > > by
> > > > >>
> > > > >>
> > > > >> > airflow. I do agree that the executor_config should take in a
> > V1Pod
> > > > >> object
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > > >>
> > > > >> > One option is that the executor_config could take in a
> > > > pod_mutation_hook
> > > > >>
> > > > >>
> > > > >> > function as well? So users can manually override the pod
> > > functionally
> > > > >>
> > > > >>
> > > > >> > rather than just giving an object and hoping it merges the way
> > they
> > > > >> expect
> > > > >>
> > > > >>
> > > > >> > it to?
> > > > >>
> > > > >>
> > > > >> > via Newton Mail [
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > >
> > >
> >
> https://cloudmagic.com/k/d/mailapp?ct=dx&cv=10.0.50&pv=10.15.5&source=email_footer_2
> > > > >>
> > > > >>
> > > > >> > ]
> > > > >>
> > > > >>
> > > > >> > On Wed, Aug 12, 2020 at 12:19 PM, David Lum <
> davidlu...@gmail.com
> > >
> > > > >> wrote:
> > > > >>
> > > > >>
> > > > >> > I'll just leave some passing thoughts here. How the pod template
> > > file
> > > > is
> > > > >>
> > > > >>
> > > > >> > modified by the executor config might not be very well defined.
> > > > >> Currently
> > > > >>
> > > > >>
> > > > >> > when a user passes in a k8s.V1Pod object through executor_config
> > we
> > > > >> kind of
> > > > >>
> > > > >>
> > > > >> > arbitrarily merge the two pod definitions to what we imagine the
> > > > client
> > > > >>
> > > > >>
> > > > >> > would want, but it could be often misinterpreted. Previously the
> > > > >>
> > > > >>
> > > > >> > Airflow-defined Pod class was fairly flat. This made merging the
> > two
> > > > >>
> > > > >>
> > > > >> > objects fairly straight forward. If the user wrote the field in
> > > > >>
> > > > >>
> > > > >> > executor_config, it overwrote that field in the Pod definition,
> > but
> > > > the
> > > > >>
> > > > >>
> > > > >> > rest stayed the same. When attributes are arbitrarily nested
> like
> > in
> > > > the
> > > > >>
> > > > >>
> > > > >> > k8s.V1Pod, some aspects can be mistakenly overwritten. For
> > example,
> > > > >>
> > > > >>
> > > > >> > specifying the volumeMounts of a container requires also
> > specifying
> > > > the
> > > > >>
> > > > >>
> > > > >> > rest of the V1Pod. How do we handle this? Do we just overwrite
> > > > >>
> > > > >>
> > > > >> > volumeMounts? The client must have specified a container, so do
> we
> > > > >>
> > > > >>
> > > > >> > overwrite that too? The fact that there is a choice means the
> API
> > > > could
> > > > >> be
> > > > >>
> > > > >>
> > > > >> > unintuitive to the user.
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > > >>
> > > > >> > What I suggest might be easier is that executor_config
> completely
> > > > >> replaces
> > > > >>
> > > > >>
> > > > >> > the pod_template_file if it is specified, but then also offer
> > > > something
> > > > >>
> > > > >>
> > > > >> > like pod_mutation_hook at the operator level. This makes it
> quite
> > > > clear
> > > > >> to
> > > > >>
> > > > >>
> > > > >> > the user, you are either replacing the pod_template, or you are
> > > > >> modifying
> > > > >>
> > > > >>
> > > > >> > the pod_template with pod_mutation_hook and you are doing it by
> > your
> > > > own
> > > > >>
> > > > >>
> > > > >> > rules. the argument to executor_config can be something like
> > > > >>
> > > > >>
> > > > >> > ```
> > > > >>
> > > > >>
> > > > >> > executor_config: { 'KubernetesExector': {'pod_mutation':
> > some_func,
> > > > >>
> > > > >>
> > > > >> > 'pod_template': k8s.V1Pod(...) }} # Pod template could also be a
> > > path
> > > > >> to a
> > > > >>
> > > > >>
> > > > >> > file
> > > > >>
> > > > >>
> > > > >> > ```
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > > >>
> > > > >> > If both are specified then pod_mutation is a function applied to
> > > > >>
> > > > >>
> > > > >> > pod_template. Thoughts?
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > > >>
> > > > >> > On Wed, Aug 12, 2020 at 11:24 AM Tomasz Urbaszek <
> > > > turbas...@apache.org>
> > > > >>
> > > > >>
> > > > >> > wrote:
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > > >>
> > > > >> > > +1 for the idea, thanks Daniel! I agree that multi-executor
> and
> > > pod
> > > > >>
> > > > >>
> > > > >> > > templates should be 2.1.
> > > > >>
> > > > >>
> > > > >> > >
> > > > >>
> > > > >>
> > > > >> > > T.
> > > > >>
> > > > >>
> > > > >> > >
> > > > >>
> > > > >>
> > > > >> > > On Wed, Aug 12, 2020 at 5:13 PM Daniel Imberman <
> > > > >>
> > > > >>
> > > > >> > daniel.imber...@gmail.com>
> > > > >>
> > > > >>
> > > > >> > > wrote:
> > > > >>
> > > > >>
> > > > >> > >
> > > > >>
> > > > >>
> > > > >> > >> (Also funny enough we could use a lot of the existing
> > > > infrastructure
> > > > >> int
> > > > >>
> > > > >>
> > > > >> > >> 1.10 to create that migration script. Would just need to take
> > the
> > > > >> python
> > > > >>
> > > > >>
> > > > >> > >> dictionary and use the python yaml library)
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> via Newton Mail [
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > >
> > >
> >
> https://cloudmagic.com/k/d/mailapp?ct=dx&cv=10.0.50&pv=10.15.5&source=email_footer_2
> > > > >>
> > > > >>
> > > > >> > >> ]
> > > > >>
> > > > >>
> > > > >> > >> On Wed, Aug 12, 2020 at 8:09 AM, Daniel Imberman <
> > > > >>
> > > > >>
> > > > >> > >> daniel.imber...@gmail.com> wrote:
> > > > >>
> > > > >>
> > > > >> > >> 100% agreed on timing. I think 2.0 should be for the breaking
> > > > aspect
> > > > >>
> > > > >>
> > > > >> > >> (losing the configurations) and then 2.1/2.2 we can start
> > adding
> > > on
> > > > >> the
> > > > >>
> > > > >>
> > > > >> > new
> > > > >>
> > > > >>
> > > > >> > >> features. I also like the idea of a migration tool. We can
> > make a
> > > > >> script
> > > > >>
> > > > >>
> > > > >> > >> that takes your airflow.cfg and converts that into a yaml
> file.
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> via Newton Mail [
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > >
> > >
> >
> https://cloudmagic.com/k/d/mailapp?ct=dx&cv=10.0.50&pv=10.15.5&source=email_footer_2
> > > > >>
> > > > >>
> > > > >> > >> ]
> > > > >>
> > > > >>
> > > > >> > >> On Wed, Aug 12, 2020 at 7:48 AM, Jarek Potiuk <
> > > > >> jarek.pot...@polidea.com
> > > > >>
> > > > >>
> > > > >> > >
> > > > >>
> > > > >>
> > > > >> > >> wrote:
> > > > >>
> > > > >>
> > > > >> > >> Big +1. All the arguments are very appealing to me and
> > > simplifying
> > > > >> the
> > > > >>
> > > > >>
> > > > >> > >> Kubernetes Executor down to YAML-configurable one seems like
> a
> > > > >>
> > > > >>
> > > > >> > no-brainer
> > > > >>
> > > > >>
> > > > >> > >> especially if we provide some migration tools. I've lost
> > > countless
> > > > >> hours
> > > > >>
> > > > >>
> > > > >> > >> on
> > > > >>
> > > > >>
> > > > >> > >> debugging some configuration problems, simply because the
> > > relevant
> > > > >>
> > > > >>
> > > > >> > >> Kubernetes-related configuration was in the least expected
> > place
> > > -
> > > > >> i.e.
> > > > >>
> > > > >>
> > > > >> > >> airflow.cfg. YAML configuration.
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> I am also a big fan of both 1. and 2. I've implemented a POC
> of
> > > > >>
> > > > >>
> > > > >> > >> queue-based multi-scheduler once but having it embedded as
> part
> > > of
> > > > >> core
> > > > >>
> > > > >>
> > > > >> > >> Airflow rather than based it on queues (which are basically a
> > > > Celery
> > > > >>
> > > > >>
> > > > >> > >> Executor concept) is I think much better approach. Both 1.
> and
> > 2.
> > > > are
> > > > >>
> > > > >>
> > > > >> > >> cool.
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> Now - question about timing. If we decide to go that route -
> my
> > > > view
> > > > >> is
> > > > >>
> > > > >>
> > > > >> > >> that simplifying Kubernetes should be an Airflow 2.0 task -
> > > > alongside
> > > > >>
> > > > >>
> > > > >> > more
> > > > >>
> > > > >>
> > > > >> > >> comprehensive tests (which will be much easier to write in
> this
> > > > >> case).
> > > > >>
> > > > >>
> > > > >> > The
> > > > >>
> > > > >>
> > > > >> > >> new features/ideas 1. 2. for KE I think should come after
> that
> > -
> > > > >> when we
> > > > >>
> > > > >>
> > > > >> > >> release and stabilize 2.0. Sounds like great candidates for
> 2.1
> > > to
> > > > >> me.
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> J.
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> On Wed, Aug 12, 2020 at 4:24 PM Daniel Imberman <
> > > > >>
> > > > >>
> > > > >> > >> daniel.imber...@gmail.com>
> > > > >>
> > > > >>
> > > > >> > >> wrote:
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> > Hello, fellow Airflowers! I hope you are all well in these
> > > trying
> > > > >>
> > > > >>
> > > > >> > times.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > With the recent launch of Airflow 2.0 preparation, it now
> > seems
> > > > >> like a
> > > > >>
> > > > >>
> > > > >> > >> > good time to review the project's state and where we can
> fit
> > in
> > > > >> some
> > > > >>
> > > > >>
> > > > >> > >> > breaking changes that will improve the project for the
> > future.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > When we first created the KubernetesExecutor, we had two
> > goals
> > > in
> > > > >>
> > > > >>
> > > > >> > mind.
> > > > >>
> > > > >>
> > > > >> > >> > The first goal was to improve the airflow Auto scaling
> story.
> > > > >>
> > > > >>
> > > > >> > >> Previously,
> > > > >>
> > > > >>
> > > > >> > >> > airflow users would have to manually provision celery
> > workers,
> > > > >> which
> > > > >>
> > > > >>
> > > > >> > >> could
> > > > >>
> > > > >>
> > > > >> > >> > lead to wasted resources or missed SLAs. The other goal was
> > to
> > > > >>
> > > > >>
> > > > >> > >> introduce a
> > > > >>
> > > > >>
> > > > >> > >> > community that was not yet well versed in the Kubernetes
> API
> > to
> > > > the
> > > > >>
> > > > >>
> > > > >> > >> > Kubernetes system.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > To ease the community's transition, we abstracted many of
> the
> > > > >>
> > > > >>
> > > > >> > >> complexities
> > > > >>
> > > > >>
> > > > >> > >> > of creating a Kubernetes object. We chose to offer a
> limited
> > > > >> number of
> > > > >>
> > > > >>
> > > > >> > >> > configurations and keep much of the pod creation process
> > > internal
> > > > >> to
> > > > >>
> > > > >>
> > > > >> > >> > airflow. In the short-term, this system lowered the barrier
> > to
> > > > >> entry.
> > > > >>
> > > > >>
> > > > >> > >> Over
> > > > >>
> > > > >>
> > > > >> > >> > time, however, this abstraction has become a nightmare of
> > tech
> > > > >> debt as
> > > > >>
> > > > >>
> > > > >> > >> the
> > > > >>
> > > > >>
> > > > >> > >> > Kubernetes API is expensive and constantly changing.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > With this in mind, I think it's time for us to consider a
> > more
> > > > >>
> > > > >>
> > > > >> > >> > straightforward approach that takes the complexity out of
> > > Airflow
> > > > >> and
> > > > >>
> > > > >>
> > > > >> > >> > offers the full Kubernetes API to the airflow user.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > What I'm proposing here is pretty straightforward. We
> remove
> > > all
> > > > >>
> > > > >>
> > > > >> > >> > Kubernetes pod creation configurations from the airflow.cfg
> > and
> > > > >>
> > > > >>
> > > > >> > instead
> > > > >>
> > > > >>
> > > > >> > >> > offer only one way to use the KubernetesExecutor: with a
> YAML
> > > > file.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > We can easily supply all of the configurations to the
> > > > >>
> > > > >>
> > > > >> > KubernetesExecutor
> > > > >>
> > > > >>
> > > > >> > >> > by offering example YAMLs (git sync mode is just a sidecar
> > and
> > > an
> > > > >> init
> > > > >>
> > > > >>
> > > > >> > >> > container, DAG volumes are just an example volume and
> volume
> > > > mount,
> > > > >>
> > > > >>
> > > > >> > >> etc.).
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > This system would simplify a user's ability to predict
> what a
> > > pod
> > > > >> will
> > > > >>
> > > > >>
> > > > >> > >> > look like once it is launched by airflow. They will know
> > it's a
> > > > >> base
> > > > >>
> > > > >>
> > > > >> > pod
> > > > >>
> > > > >>
> > > > >> > >> > and will be able to simply modify the pod object using the
> > > > executor
> > > > >>
> > > > >>
> > > > >> > >> config
> > > > >>
> > > > >>
> > > > >> > >> > and the pod mutation hook.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > This simplification could also lead to some pretty great
> new
> > > > >> features
> > > > >>
> > > > >>
> > > > >> > in
> > > > >>
> > > > >>
> > > > >> > >> > the KubernetesExecutor
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > Idea 1: Picking a pod_template_file per-task
> > > > >>
> > > > >>
> > > > >> > >> > Along with the existing customization with the executor
> > config,
> > > > >> solely
> > > > >>
> > > > >>
> > > > >> > >> > relying on pod files can allow users to pick the pod
> template
> > > > file
> > > > >>
> > > > >>
> > > > >> > that
> > > > >>
> > > > >>
> > > > >> > >> > they want to use as their base pod on a per-task basis. An
> > > > Airflow
> > > > >>
> > > > >>
> > > > >> > >> engineer
> > > > >>
> > > > >>
> > > > >> > >> > could supply several pre-made templates for their data
> > > scientists
> > > > >> to
> > > > >>
> > > > >>
> > > > >> > >> reduce
> > > > >>
> > > > >>
> > > > >> > >> > the amount of customization an airflow user would need to
> > use.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > Idea 2: Merging the KubernetesExecutor into the
> > CeleryExecutor
> > > > >>
> > > > >>
> > > > >> > >> > One idea that we've been excited about recently has been
> the
> > > idea
> > > > >> of
> > > > >>
> > > > >>
> > > > >> > >> > creating merged Celery and Kubernetes executor. This hybrid
> > > > >> executor
> > > > >>
> > > > >>
> > > > >> > >> would
> > > > >>
> > > > >>
> > > > >> > >> > default to launching celery workers with KEDA and would
> have
> > > the
> > > > >>
> > > > >>
> > > > >> > option
> > > > >>
> > > > >>
> > > > >> > >> to
> > > > >>
> > > > >>
> > > > >> > >> > launch individual tasks using the Kubernetes executor when
> a
> > > user
> > > > >>
> > > > >>
> > > > >> > wants
> > > > >>
> > > > >>
> > > > >> > >> > isolation or customization. Simplifying the Kubernetes
> > executor
> > > > >>
> > > > >>
> > > > >> > reduces
> > > > >>
> > > > >>
> > > > >> > >> the
> > > > >>
> > > > >>
> > > > >> > >> > number of fail-points that this merged executor would need
> to
> > > > >> account
> > > > >>
> > > > >>
> > > > >> > >> for.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > What would we need to do to implement this?
> > > > >>
> > > > >>
> > > > >> > >> > The good news here is that the hard work has already been
> > done!
> > > > As
> > > > >> of
> > > > >>
> > > > >>
> > > > >> > >> > AIRFLOW-5413 [
> > > https://issues.apache.org/jira/browse/AIRFLOW-5413
> > > > ]
> > > > >> by
> > > > >>
> > > > >>
> > > > >> > >> > David Lum, airflow already has the ability to use base
> worker
> > > > pods
> > > > >> on
> > > > >>
> > > > >>
> > > > >> > a
> > > > >>
> > > > >>
> > > > >> > >> > template file. This would involve primarily code deletion
> and
> > > > very
> > > > >>
> > > > >>
> > > > >> > >> little
> > > > >>
> > > > >>
> > > > >> > >> > new code.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > Thank you for your time and I look forward to the
> community’s
> > > > >>
> > > > >>
> > > > >> > >> discussion.
> > > > >>
> > > > >>
> > > > >> > >> >
> > > > >>
> > > > >>
> > > > >> > >> > Daniel
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> --
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> Jarek Potiuk
> > > > >>
> > > > >>
> > > > >> > >> Polidea <https://www.polidea.com/> | Principal Software
> > Engineer
> > > > >>
> > > > >>
> > > > >> > >>
> > > > >>
> > > > >>
> > > > >> > >> M: +48 660 796 129 <+48660796129>
> > > > >>
> > > > >>
> > > > >> > >> [image: Polidea] <https://www.polidea.com/>
> > > > >>
> > > > >>
> > > > >> > >
> > > > >>
> > > > >>
> > > > >> > >
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> --
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> Jarek Potiuk
> > > > >>
> > > > >>
> > > > >> Polidea <https://www.polidea.com/> | Principal Software Engineer
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> M: +48 660 796 129 <+48660796129>
> > > > >>
> > > > >>
> > > > >> [image: Polidea] <https://www.polidea.com/>
> > > > >>
> > > > >>
> > > > >>
> > > > >
> > > > >
> > > >
> >
>


-- 

Jarek Potiuk
Polidea <https://www.polidea.com/> | Principal Software Engineer

M: +48 660 796 129 <+48660796129>
[image: Polidea] <https://www.polidea.com/>

Reply via email to