Commit Graph

42 Commits

Author SHA1 Message Date
Michael Henriksen
75f4fd6f2f
update k8s deps to 18.6 and controller runtime to 0.6.2 (#1330)
* update k8s deps to 1.18.6 and controller runtime to 0.6.2

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

* remove building code generators from docker image.  This way the k8s ligray version only has to be updated in go.mod

Do more stuff in the bazel container.  Faster and better interop

Fix unit tests

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

* make format

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

* remove unnecessary rsync

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

* redo code generator dep management

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

* builder uses go modules

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
2020-08-07 14:09:52 +02:00
Michael Henriksen
8b9ce68262
enable webhooks for alpha resources (#1321)
* enable webhooks for alpha resources

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

* clean up transport test

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

* update alpha api test, webhook error message was changed

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
2020-08-01 16:09:50 +02:00
Alexander Wels
c7a3610769
Update cdi-builder to use go version 1.14.6 (current latest) (#1310)
* Update cdi-builder to use go version 1.14.6 (current latest)
Fix functional test framework to work with go >= 1.13. We were not
using the ginkgo ordering correctly, and our framework would call
flag.Parse() too soon, and mess with the go testing flag parsing.
As a result we had to alter some of the variables that we use to build
urls to be functions so that when called the required information is
available.
Fixed several tests not checking for errors.
Fixed dumping code being initialized several times messing with the
order in which failures were reported.

Signed-off-by: Alexander Wels <awels@redhat.com>

* Fixed failing tests.

Signed-off-by: Alexander Wels <awels@redhat.com>
2020-07-23 23:09:44 +02:00
Bartosz Rybacki
ab48911b9b
WaitForFirstConsumer handling for DataVolumes (#1242)
* Set the WaitForFirstConsumer phase on DataVolume when storage uses the WaitForFirstConsumer binding mode and is not bound yet.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Skip PVC if not bound in import|clone|upload controllers.

This is done so the VM pod(not the cdi pod) will be the first consumer, and the PVC can be scheduled on the same location as the pod.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

fixup! Skip PVC if not bound in import|clone|upload controllers.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Update importer tests to force bind the PCV by scheduling a pod for pvc, when storage class is wffc.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Update datavolume tests to force bind the PCV by scheduling a pod for pvc, when storage class is wffc.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Update upload controller and upload tests to correctly handle force binding the PCV by scheduling a pod for pvc, when storage class is wffc.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Update clone tests to force bind the PCV by scheduling a pod for pvc when the storage class is wffc.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Update cloner multi-node tests to force bind the PCV by scheduling a pod for pvc when storage class is wffc.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Correct after automerge

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Improve/simplify tests

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Fix error in import test.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Update transport_test,operator_test.go

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Update rbac_test.go and leaderelection_test.go

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Improve Datavolume and PVC Checks for WFFC.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Handle wffc only if feature gate is open - import-controller

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* TEST for Handle wffc only if feature gate is open - import-controller - TEST

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Handle wffc only if feature gate is open - upload-controller with test

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* rename and simplify checks

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* cleanup after rebase

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* update tests after rebase

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* update tests after rebase

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* more cleanups

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Document new WFFC behavior

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Document new HonorWaitForFirstConsumer option

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* update docs according to comments

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* extract common function, cleanup - code review fixes

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* add comment for another pr - 1210, so it can have easier merge/rebase

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* typo

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Simplify getStoragebindingMode - code review comments

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Add FeatureGates interface - code review fix

Additionally pass the features gates instead of the particular feature gate value,
and let shouldReconcilePVC decide what to do with the feature gate. That way shouldReconcilePVC
contains all the logic, and the caller does not need to do additional calls to provide parameters.

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>

* Update matcher

Signed-off-by: Bartosz Rybacki <brybacki@redhat.com>
2020-07-22 16:23:44 +02:00
Michael Henriksen
9e2c79b1e0
move api groups to v1beta1 (#1232)
* move upload.cdi.kubevirt.io API group to v1beta1

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

* move core api to v1beta1

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

* fix os-3.11 cluster sync and add functional tests for alpha api

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

* change more occurences of v1alpha1

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

* updates after rebase

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
2020-07-10 15:47:38 +02:00
Alexander Wels
e4dde4f436
Report the failure count and environmental setup of failure counts (#1226)
Signed-off-by: Alexander Wels <awels@redhat.com>
2020-06-26 18:32:11 +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
Alexander Wels
bdb079f7bf
Make sure all CDI crds have structural schemas (#1171)
* Make sure all CDI crds have structural schemas

Signed-off-by: Alexander Wels <awels@redhat.com>

* Removed unneeded apiVersion, Kind, Metadata from validation

Signed-off-by: Alexander Wels <awels@redhat.com>
2020-04-15 21:54:02 +02:00
kubevirt-bot
19ee764626
Added functional tests for ResourceRequirements feature. (#1076)
Added documentation for ResourceQuota.

Signed-off-by: Alexander Wels <awels@redhat.com>
2020-03-04 23:30:57 +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
Michael Henriksen
99f8af5b86 k8s client upgrade to 1.16 (#1079)
* initial client upgrade to 1.16

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

* fix Route detection in OpenShift

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
2020-01-14 13:43:17 +01:00
Alexander Wels
1bea4529a1 Cleanup functional test frame work (#1053)
Signed-off-by: Alexander Wels <awels@redhat.com>
2019-12-17 19:03:41 +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
Fred Rolland
54b7d79628 Replace isSnapshotClass available logic (#976)
Change-Id: I3bb69da8837700dd08e60b4f89c3cacf540964b5
Signed-off-by: Fred Rolland <frolland@redhat.com>
Signed-off-by: Daniel Erez <derez@redhat.com>
2019-11-05 07:56:35 -05:00
Alexander Wels
43e5faf9df
Enable bazel cache (#995)
Signed-off-by: Alexander Wels <awels@redhat.com>
2019-10-21 10:23:31 -04:00
Michael Henriksen
ec52c85a25 Validating webhook and token authorization for PVC cloning (#869)
* baseline refactoring of webhook package

* datavolume clone validation webhook

* rename datavolumes/clone-init to datavolumes/source

* add RBAC doc

* updates from review

* make clone permission check exportable function

* force dumb cloning in in functional test
2019-07-09 14:02:31 -04:00
Alexander Wels
dc4d22dc5d
Allow specifying block storage class. (#815)
Fix node selection functional test

Signed-off-by: Alexander Wels <awels@redhat.com>
2019-06-28 08:22:56 -04:00
Daniel Erez
5b3109a324 smart-clone
Changes and flow:

* datavolume-controller:
- When clone pvc is requested and smart-clone is applicable -> Create a new VolumeSnapshot.

* Introduced smart-clone-controller:
- Listens to VolumeSnapshot changes and create a new PVC based on the snapshot.
- Upon PVC successful creation, deletes the snapshot for cleaning up.

Change-Id: I369fc92e72edb8a2cf584c8cb916795415f9d6e0
Signed-off-by: Daniel Erez <derez@redhat.com>
Co-authored-by: Fred Rolland <frolland@redhat.com>
2019-05-20 11:04:10 +03:00
Alexander Wels
6270b80b31 Update Datavolume status to include progress
Signed-off-by: Alexander Wels <awels@redhat.com>
2019-04-02 11:34:00 -04:00
Michael Henriksen
c17eb7a183 dump logs when functional tests fail 2019-03-26 20:13:49 -04:00
u5surf
6a2a36e1fd add copies the flags after flags parse 2019-03-07 23:20:34 +09:00
Y.Horie
d61835b74a
Merge branch 'master' into issue-687 2019-03-06 06:47:20 +09:00
Y.Horie
c9104059fb move to klog from glog 2019-03-05 13:33:20 +09:00
Alexander Wels
0a32c5be1c Test prometheus endpoint existance.
Signed-off-by: Alexander Wels <awels@redhat.com>
2019-02-28 11:42:13 -05:00
Michael Henriksen
5e2ed1b97b initial oerator implementation 2019-01-16 20:22:14 -05:00
Alexander Wels
995ebf39e7 Increase e2e test timeouts.
Signed-off-by: Alexander Wels <awels@redhat.com>
2018-11-02 11:31:45 -04:00
Alexander Wels
40072b631a Report cloning progress in logs and prometheus.
Signed-off-by: Alexander Wels <awels@redhat.com>
2018-11-01 11:09:03 -04:00
j-griffith
0a84e2fa8c Add lint checks to remaining go src directories
This finishes up the last of the golint implementation, with the
addition of the cmd, tests and tools directories we are now running
golint tests on all of the current go source files in the project.

This change adds all the little fixes (mostly just commenting and
naming) and also enables the new diretories in the lint test that we
gate on.
2018-09-29 08:35:21 -06:00
Alexander Wels
2c327088cc Clean up some code and spelling issues.
Signed-off-by: Alexander Wels <awels@redhat.com>
2018-09-27 14:09:07 -04:00
Michael Henriksen
be89439734 functional test 2018-09-19 12:30:46 -04:00
John Griffith
c455577cca Fix lint errors on common package (#449)
This change just updates the common package to pass golint.  Of course
that has some reaching implications into other packages with renaming of
constants.

I've intentionally kept this patch set to the bare minimum for the lint
test, I do think that we should put some effort into our use of
constants (especially those in common.go) in the future.

Ideally we'd declare constants where they're used, and we wouldn't
export them if they don't need to be.  There are some in here that
are only used in one or two packages, and that can be cleaned up pretty
easily however it's likely that there might be plans to use them
elsewhere in the future.
2018-09-10 09:14:09 -04:00
Alexander Wels
8dca41a3e4 Return error if creating of clients fails in framework (#405)
Signed-off-by: Alexander Wels <awels@redhat.com>
2018-09-05 09:14:27 -07:00
Alexander Wels
70db9fdf37 Fix find pod by prefix (#402)
- Implemented missing LabelSelector code.
- Fixed bug where err was not nil in inner function.

Signed-off-by: Alexander Wels <awels@redhat.com>
2018-09-05 00:04:39 -07:00
jeff vance
7ebc217d8e don't show test flags every time NewFramework invoked 2018-08-31 17:52:03 -07:00
Jeff Vance
a450005167 NewFrameworkOrDie (#399)
* add NewFrameworkOrDie

* Config{} defaults

* review comments

* init fmt fix
2018-08-31 16:11:14 -05:00
Alexander Wels
0e2731dc8e
Client creation in NewFramework (#401)
- Moved client creation into NewFramework instead of BeforeEach
  block.

Signed-off-by: Alexander Wels <awels@redhat.com>
2018-08-31 10:53:57 -04:00
Alexander Wels
01cfa85dd1 Configure STDCI
- Added oVirt STDCI configuration files.

Signed-off-by: Alexander Wels <awels@redhat.com>
2018-08-30 15:50:36 -04:00
Alexander Wels
ac638c8107 Add cloner e2e tests (#372)
- Positive test clone from namespace into same namespace.
- Positive test clone from namespace into other namespace.

Signed-off-by: Alexander Wels <awels@redhat.com>
2018-08-28 14:12:07 -07:00
Alexander Wels
d7cb81a801 Change embedded Config from ptr to regular embed (#373)
Signed-off-by: Alexander Wels <awels@redhat.com>
2018-08-24 13:54:01 -07:00
Alexander Wels
c5f4615494 Add skip namespace creation flag.
- Not all tests require a namespace to run, add the ability
  to skip creating the generated namespace.

Signed-off-by: Alexander Wels <awels@redhat.com>
2018-08-23 13:53:56 -04:00
Alexander Wels
ea15dd41f5 Add regular PVC creation e2e test.
- Added e2e test to see if regular PVC doesn't get populated.
- Added PVC utilities, for both framework and stand alone
- Added exec utility functions to execute commands against running
  Pods.

Signed-off-by: Alexander Wels <awels@redhat.com>
2018-08-22 14:10:49 -04:00
Jeff Vance
4519a615e9 create common framework object (#349)
* 1st pass at framework object

* add debug

* review comments, flag defaults

* minor log cleanup

* clear ns slice

* installed-ns -> cdi-namespace
2018-08-17 17:07:15 -05:00