We are happy to announce the GA of pulp-operator!
It brings some fixes, some small changes, and we dropped support to deploy Galaxy (for Galaxy users, we recommend using the galaxy-operator from Ansible team).
We did not update the helm charts, terraform and operatorhub catalog to deploy this version yet, but we will update them soon.
Some questions that may arise:
Can I upgrade from pulp-operator beta to the stable version?
Unfortunately, no, the APIs/CRDs versions are incompatible, so an upgrade is not tested nor supported by Pulp’s team.
The CRD from beta and GA are very similar, can I use the same Pulp CR that I already have?
Even though there are a lot of similarities, we removed and changed some fields definitions, so we don’t recommend trying to use the same Pulp CR because some incompatibilities are expected.
What are the differences (new features or improvements) in this release?
We fixed some bugs and removed some deprecated code.
The most notable changes are:
-
the removal of the “immutable” fields.
note: it was a “safe-lock” used to prevent users from “shooting themselves in the foot”, now that the fields can be changed, users should be more careful with CR updates and data loss. For example, changing from one pvc to another storage type or another pvc and removing it would also delete the PV depending on the reclaim policy (pulp-operator will not move the artifacts to the new storage using the migrate endpoint). Another example of possible data loss is in case of changing the db encryption key without running the key rotation steps. -
update the STORAGE definition in settings.py with the new django format
-
some bug fixes in pulp-web
-
modified the list of allowed_content_checksum (sha1 and sha224 are now considered valid checksums)
I tried to run make install
to update the CRD and it failed with:
$ make install
...
test -s /home/hyagi/pulp/pulp-operator/bin/kustomize || { curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash -s -- 3.8.7 /home/hyagi/pulp/pulp-operator/bin; }
/home/hyagi/pulp/pulp-operator/bin/kustomize build config/crd | kubectl apply --server-side=true -f -
Apply failed with 2 conflicts: conflicts with "catalog" using apiextensions.k8s.io/v1:
- .metadata.annotations.controller-gen.kubebuilder.io/version
- .spec.versions
This is because of the incompatibility of v1beta2 and v1 CRDs. A possible workaround is to first delete the “old” CRDs and re-run make install
THIS WILL REMOVE ALL THE RUNNING INSTALLATIONS OF PULP!
kubectl delete crd pulpbackups.repo-manager.pulpproject.org pulprestores.repo-manager.pulpproject.org pulps.repo-manager.pulpproject.org
make install
Can we still use pulp-operator to install galaxy-ng?
We are not testing the integration of pulp-operator with Galaxy images anymore. The Ansible team released the galaxy-operator which is dedicated to deploy Galaxy.