Commit Graph

25 Commits

Author SHA1 Message Date
zhlhahaha
d6172f33b6
e2e, arm64: make the e2e tests works of Arm64 platform (#3577)
* 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>
2025-01-15 01:46:40 +01:00
Alex Kalenyuk
745e4df162
Update kubevirtci, 1.31 lanes (#3555)
* 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>
2024-12-17 09:34:01 +01:00
Alex Kalenyuk
fed4d7a604
Update kubevirtci, 1.29 lanes (#3023)
* Update kubevirtci

May help with nfs lane flaking:
https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_containerized-data-importer/3017/pull-containerized-data-importer-e2e-nfs/1731266718799499264
Looks like the nfs server is working but mount commands from nfs csi against it are timing out.

Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>

* Use crictl to prepull images

https://github.com/kubevirt/kubevirtci/pull/1100

Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>

* Add W/A for NFS OOMKills

Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>

* Switch testing lanes to 1.29/1.28

Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>

---------

Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
2024-03-25 23:41:20 +01:00
alromeros
fab858e2fa
Prepare CDI testing for the upcoming non-CSI lane (#2730)
* 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>
2023-06-06 04:30:42 +02:00
Michael Henriksen
93bcff88ca
let's start testing 1.26 (#2697)
* let's start testing 1.26

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>

* remove sync-os-ci.sh

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>

---------

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
2023-04-22 04:47:54 +01:00
akalenyu
8b92395ddf
Change the way we fetch latest release from GitHub (#2256)
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>
2022-05-03 16:52:04 +02:00
Maya Rashish
02e70a5a54
Use centos:stream9 as a base image, cleanup unused code (#1983)
* 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>
2022-04-20 19:37:51 +02:00
akalenyu
af347cebd9
Use NFS CSI instead of static no provisioner manual PVs (#2166)
* 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>
2022-03-07 15:59:46 +01:00
Alexander Wels
1e6976e05b
HPP storage class file name changed. (#2065)
Use the new file name when deploying the legacy HPP CR and storage class.

Signed-off-by: Alexander Wels <awels@redhat.com>
2021-12-18 01:26:27 +01:00
Alexander Wels
2b3bbe85fe
Fix hpp setup for tests. (#2046)
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>
2021-12-03 00:29:04 +01:00
Alexander Wels
af72cfe171
Update default storage to use CSI hpp driver (#1978)
* 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>
2021-10-11 23:08:44 +02:00
Alexander Wels
c5f8d92d3b
Update external provider to allow for hpp and ceph storage. (#1318)
* 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>
2020-08-06 15:41:52 +02:00
Michael Henriksen
87618df3b9
ember csi with beta snapshot api (#1218)
Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
2020-06-02 04:47:35 +02:00
Alexander Wels
ac9b487d76
Increase timeout waiting for ceph to be ready, also print ceph namespace pods every 30 seconds (#1209)
Signed-off-by: Alexander Wels <awels@redhat.com>
2020-05-22 03:39:29 +02:00
Michael Henriksen
d45574678b
alpha to beta snapshot API (#1206)
* 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>
2020-05-20 15:25:28 +02:00
Michael Henriksen
f4f8e975b6
update kubevirtci (#1198)
* 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>
2020-05-07 13:19:19 +02:00
Alexander Wels
25249c0148
Add ember csi lane (#1143)
* 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>
2020-03-27 19:13:49 +01:00
Alexander Wels
44b46774d2
Runtime lib smartclone controller (#1134)
* 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>
2020-03-20 17:11:44 +01:00
Alexander Wels
4bceec824d
Add NFS as KUBEVIRT_STORAGE to cluster-sync (#1093)
Signed-off-by: Alexander Wels <awels@redhat.com>
2020-01-30 22:01:55 +01:00
Alexander Wels
d32b8d9914 Enable hostpath provisioner for OKD 4.3 kubevirtci provider. (#1060)
Signed-off-by: Alexander Wels <awels@redhat.com>
2019-12-20 16:04:44 +01:00
Alexander Wels
74704c72dc Replace current ceph install with operator based rook-ceph. (#1010)
Add reporting of DVs on test failures.

Signed-off-by: Alexander Wels <awels@redhat.com>
2019-11-12 13:25:15 +01:00
Michael Henriksen
412b6e10ca CDI upgrade support (#929)
* * 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
2019-08-27 08:43:49 -04:00
annastopel
b9ecc4cf5a Refactor code of variuos CDI installations:
* 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
2019-07-14 09:48:10 +03:00
annastopel
34bc7e1d94 OLM - ci -test. Create cdi-olm-catalog to be able to deploy cdi via olm in ci. This is due to okd 4.1.
* 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
2019-07-14 09:48:09 +03:00
Alexander Wels
0773572e5d
Refactored provider infra structure (#831)
* 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>
2019-06-13 14:29:42 -04:00