* cluster-sync, kind: add setup_hostname_resolution_for_registry func
For the Kind provider, we need to configure hostname
resolution for the local image registry in the CoreDNS
service. This ensures that local container images can
be successfully pulled into Kubernetes pods during
certain e2e tests.
Signed-off-by: howard zhang <howard.zhang@arm.com>
* cluster-sync kind: support kind provider in cluster-sync
Signed-off-by: howard zhang <howard.zhang@arm.com>
* bazel arm64: stop build and deploy vddk on Arm64
VDDK is not supported on Arm64
Signed-off-by: howard zhang <howard.zhang@arm.com>
* cluster-sync: add capabilities for registry-populate in kind
Add SYS_ADMIN and SYS_CHROOT capability to make buildah work
in kind cluster
Signed-off-by: howard zhang <howard.zhang@arm.com>
* e2e: add vddk label
Signed-off-by: howard zhang <howard.zhang@arm.com>
* e2e: add no-kubernetes-in-docker label
This label means the e2e tests are not suitable to test in
containerized k8s env (kind provider).
In this commit, we label two tests because the large size images
would lead to OOM of cdi-uploader. For more detail, please
refer to:
https://github.com/kubevirt/containerized-data-importer/pull/3577#discussion_r1903547758
Signed-off-by: howard zhang <howard.zhang@arm.com>
* e2e: amend the VerifyPermissions strings
The output of ls -ln for a file with 660 permissions can be either
-rw-rw----. or -rw-rw----
Signed-off-by: howard zhang <howard.zhang@arm.com>
* automation, test: add kind provider in automation test
Signed-off-by: howard zhang <howard.zhang@arm.com>
---------
Signed-off-by: howard zhang <howard.zhang@arm.com>
* Bump kvci to latest
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Switch testing lanes to 1.31/1.30
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Retry seeding images
This fails often since the most recent kvci bump,
so let's retry
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
---------
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Update functional tests to skip incompatible default storage classes
Signed-off-by: Alvaro Romero <alromero@redhat.com>
* Enable the use of non-csi HPP in testing lanes
This commit modifies several scripts to allow the usage of classic HPP as the default SC in tests.
This allows us to test our non-populator flow with a non-csi provisioner.
Signed-off-by: Alvaro Romero <alromero@redhat.com>
---------
Signed-off-by: Alvaro Romero <alromero@redhat.com>
CI is failing, it looks like gh releases/latest now redirects (302 HTTP).
Also seems like the go to is to use the gh API for this
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Retire ember LVM code, unused
(Rationale: avoid having to change more things for changing the
base image)
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Remove unreferenced files from WORKSPACE
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Switch to centos:stream9 as a base image.
It has a significantly longer support cycle than Fedora releases,
and supposedly offers vulnerability scans.
Add a tinyCore.vdi to the repo instead of generating it.
The centos qemu-img has read-only VDI support, so we can't generate
it. Generate it using my system and add to the file-host.
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Use full names for pulls from dockerhub
CentOS doesn't like short tags
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Avoid specifying checksum for CentOS images.
They expire faster than we can update checksums, this is unfortunate
but perhaps they will soon publish images at a lower rate allowing
us to keep up.
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Bump number of open file limit to avoid bazel crashes
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Update builder to include #2087, builder based on centos stream9
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Update checksums that seem wrong
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Update ovirt links: old ones were removed
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Remove unused RPMs
Noticed due to: duplicated checksum but no problem in testsuite,
lack of aarch64 equivalent.
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Put nbdkit-vddk-plugin back for amd64.
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Use quay.io instead of dockerhub.
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Install util-linux-core for /usr/sbin/blockdev
Needed after #2174
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Update nbdkit/libnbd/nginx/ovirt versions to the latest
The previous version we were using can't be fetched any more
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Generate our own CentOS stream9 image using RPMs
Now updating the dependencies can be done by running `make rpm-deps`
and committing the change, like kubevirt.
This creates a small complication that we need to run update-ca-trust
to trust root CAs. Do this on the pod, using the entrypoint to do so.
Use a single image with all the dependencies for the test tools, we
don't benefit from making them minimal and it saved some trouble in
the conversion.
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Fixup imageio test container
Run update-ca-trust and update-crypto-policies before running
ovirt-imageio, to stop error messages.
Signed-off-by: Maya Rashish <mrashish@redhat.com>
* Update kubevirtci to get NFS-CSI
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
* Use NFS CSI instead of static no provisioner manual PVs
We are creating (and deleting) NFS PVs on our own before each test,
which seems to trigger a race in the deletion, causing flakes.
There is an NFS CSI driver available that we could use instead for dynamic NFS PV provisioning.
Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
With hpp operator at v0.11.0 it now requires cert-manager, and webhook
This PR modifies the hpp setup to include setting up those items.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Update default storage to use CSI hpp driver
Update the default storage for hpp lanes to be the csi driver
instead of the legacy driver.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Add check for csi driver capabilities in particular fsGroup.
Skip check for fsGroup if csi driver reports it cannot accomidate.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Addressed review comment.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Add support for external openshift cluster, in particular CRC.
make cluster-sync, and functional tests should all work.
Added documentation on how to enable CRC to work.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Updates based on review.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Changes based on review comments:
- removed registry in favor of making people use an external registry.
- added ceph for external provider.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Fix review comments
Signed-off-by: Alexander Wels <awels@redhat.com>
* move from alpha to beta snapshot API
Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
* fix broken clone tests
Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
* don't generate snapshot client
Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
* update kubevirtci to 0b941ea5dc647d3aea6f6a6fff95563d6ce0445e
Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
* make sure SELinux permissions correct for hpp
Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
* fix permission issue with clone source pods and k8s-1.17 provider
Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
* Add loopback device container
Add code to create pv vg and lvm
Add ember csi lvm based provisioner.
Signed-off-by: Alexander Wels <awels@redhat.com>
* import/export
Signed-off-by: Alexander Wels <awels@redhat.com>
* Address PR comments.
Switch deployment to pod for loopback device
Sleep 1 instead of 60 to allow kubernetes easier way of killing pod.
Instead of embercsi master, grab one that works from known repo.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Finish loopback pod instead of looping it.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Update datavolume controller to use runtime controller library
Signed-off-by: Alexander Wels <awels@redhat.com>
* Update smart clone controller to use controller runtime library
Signed-off-by: Alexander Wels <awels@redhat.com>
* Mark smart cloned cloned PVCs are k8s.io/CloneOf
Signed-off-by: Alexander Wels <awels@redhat.com>
* Removed unused informer factories.
Fixed naming of controller from import to smart clone.
Ignore not found error on delete.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Only delete snapshot if pvc is bound
Signed-off-by: Alexander Wels <awels@redhat.com>
* * Initial upgrade support
* - Detect from reconcile loop that it is uograde flow
* - Set ObeservedVersion to target when upgrade is finished
* - Delete unused objects at the end of upgrade
* * opertor controller unit test - detect upgrade
* cdi upgrade unit tests
* - verify upgrade flow is detected when version is updated
* - verify on upgrade objects are updated
* - verify on upgrade unused objects are deleted
* * optimize cleanuoUnusedResourses function
* fix logging error
* * CR fixes
* remove unused methods in unit tests
* use reflect.DeepEqual to compare runtime.Objects in unit test
* check DeletionTimeStamp before entering upgrade
* * uit tests - CR is deleted during/before upgrade
* * CR fixes:
* - invoke Deletion callbacks before and after resource deletion on clenaupUnusedResourse function
* - when looking for object to delete - search not only by name but by namespace as well
* * delete unused resources of previous version is CDI CRF is marked for deletion during upgrade
* add unit test for this case
* * should not start upgrade if versions are identical
* * add unit tests to verify there is no upgrade on identical versions
* CR fix - return error
* don't think we have to explicitly cleanup old resources when CDI deleted during upgrade
* refactor code and properly handle deleting resources on upgrade
* reconcile loop now does three way merge to better handle upgrade
* cluster-sync/install.sh - contains all supported installation techniques
and a install_cdi method that derives the technique based on CDI_INSTALL variable
- operator manifests
- OLM manifests
* per provider there is cluster-sync/${PROVIDER}/install.sh that has the settting for CDI_INSTALL
for specific provider
* default technique is CDI installation via operator
* Add make tagret docker-olm-catalog
* Add build-olm-catalog script that builds tree expected by operator-registry.
* add catalogsource manifest to deploy operator registry per provider
* os
* k8s
* update olm documentation with opertor-registry deployment
* Remove a flaky part of the test that didn't add value.
Signed-off-by: Alexander Wels <awels@redhat.com>
Updated k8s image to latest.
Refactored cluster up to allow for adding more providers easily.
Signed-off-by: Alexander Wels <awels@redhat.com>
* Updated k8s image to latest.
Refactored cluster up to allow for adding more providers easily.
Enable OKD 4.1 provider
Signed-off-by: Alexander Wels <awels@redhat.com>