Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved Armada Airflow Operator #3672

Merged
merged 18 commits into from
Jun 21, 2024
Merged

Conversation

MustafaI
Copy link
Contributor

@MustafaI MustafaI commented Jun 14, 2024

Fixes #

Special notes for your reviewer:

Summary of changes:

  • Migrating the Armada Airflow Operator to use the Query API as opposed to JobService, resulting in improved performance and reliability.
  • A major version change for the Armada Airflow Operator
  • Including lookoutIngesterv2 to be run as part of the mage localDev minimal command. This is required for the Query API.
  • Requiring python3.10 and above for the Armada Airflow Operator
  • Users can now see the Armada container logs for any given Airflow task

@@ -46,11 +46,8 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
python: [ '3.8', '3.9', '3.10' ]
python: [ '3.10' ]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to support any python versions other than 3.10?

@@ -218,7 +218,7 @@ func LocalDev(arg string) error {

switch arg {
case "minimal":
os.Setenv("ARMADA_COMPONENTS", "executor,server,scheduler")
os.Setenv("ARMADA_COMPONENTS", "executor,server,scheduler,lookoutingesterv2")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need this? I think in the docker-compose the server depend on the lookoutingester. If it doesn't , then it should!

@@ -1,18 +1,2 @@
#!/bin/bash
# This script is intended to be run under the docker container at $ARMADADIR/build/python-api-client/
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

presumably we can just delete this file?

start_date=datetime(2022, 1, 1),
catchup=False,
user_defined_macros={
'version': vid
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this

securityContext=core_v1.SecurityContext(runAsUser=1000),
resources=core_v1.ResourceRequirements(
requests={
"cpu": api_resource.Quantity(string="120m"),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we have these weird quantities!

@@ -0,0 +1,252 @@
# Copyright 2016-2024 The Apache Software Foundation
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add this license to all files or none of them. @dave-gantenbein?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not to all files, that would be overly cumbersome!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in which case can we get rid of the license header from these files

import grpc


class GrpcChannelArgs:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add documentation here as it's not obvious what all these parameters are.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should also explain why this class exists; i.e. because we can't serialise a grpc channel.

lookout_url_template: Optional[str] = None,
poll_interval: int = 30,
container_logs: Optional[str] = None,
token_retriever: Optional[TokenRetriever] = None,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't have doc for the token retriever (should it be called k8s_token_retriever?).

@MustafaI MustafaI merged commit ef2c3ec into master Jun 21, 2024
24 checks passed
@MustafaI MustafaI deleted the sendToGitHub/new-airflow-operator branch June 21, 2024 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants