apache / airflow-on-k8s-operator

Airflow on Kubernetes Operator
https://airflow.apache.org/
Apache License 2.0
89 stars 26 forks source link

GenericReconciler generates ownerRefernces incorrectly #13

Open vpavlin opened 4 years ago

vpavlin commented 4 years ago

Hi, we (@VedantMahabaleshwarkar and I) are trying to use the operator on OpenShift 4 and getting errors which led us to GenericReconciler being the source:

statefulsets.apps "pc-base-postgres" is forbidden: cannot set blockOwnerDeletion
      in this case because cannot find RESTMapping for APIVersion airflow.apache.org/v1alpha1
      Kind *v1alpha1.AirflowBase: no matches for kind "*v1alpha1.AirflowBase" in version
      "airflow.apache.org/v1alpha1", secrets "pc-base-sql" is forbidden: cannot set
      blockOwnerDeletion in this case because cannot find RESTMapping for APIVersion
      airflow.apache.org/v1alpha1 Kind *v1alpha1.AirflowBase: no matches for kind
      "*v1alpha1.AirflowBase" in version "airflow.apache.org/v1alpha1"

Basically, the error explains that there is no Kind with name *v1alpha1.AirflowBase - which makes sense, because the Kind name is Airflowbase.

I was able to workaround this by either turning off blockOwnerDeletion (which disables k8s garbage collection, no good) or by changing the Kind name creation - see https://github.com/vpavlin/airflow-on-k8s-operator/commit/274c347d714eaf719aafdd692d55bbc3de5a51cf

Now, I don't think this is a good solution since it is changing a dependency of the operator code, but at the same time, the actual GenericReconciler code is gone from Github (or I cannot find it).

It would be probably good to get rid of it entirely - is there a plan for this?

Also, see this other commit: https://github.com/vpavlin/airflow-on-k8s-operator/commit/881058bd84539e4158e40699e2d4d6ad049cf3c8

Those are the changes we had to make to get things actually running at all - it seems like current master is broken - are you aware of these issues? Are we missing something?