* functests, macvtap, multus: add connectivity test between VMs
* macvtap: feature gate macvtap feature
* functests, multus: refactor `configInterface` to allow sudo
* functests, macvtap, multus: add test with a custom MAC address
* tests: remove all net-attach-defs on test cleanup
* automation, macvtap: restrict macvtap func tests to multus lanes
* unit tests, macvtap, multus: introduce macvtap
* macvtap, multus: add macvtap BindingMechanism
* improving PCI configuration tests
* Template the cdi namespace
* add dev registry as insecure registry to cdi
* Update testing infra to cdi 1.23.7 in order to bring in registry import fixes
* Datavolume container registry import test
* CONTRIBUTING: point developers to kubevirt-dev slack
* rebase
* Remove incorrect listtype
* fix 1.19 lane
* Propagate error from patchValidation
* rebase
* reduce scope to vm/vmi
* Remove +listType=map from tolerations This marker also requires //+listMapKey which can't be resonable set at this moment. (All fields are optional and missing default)
* update builder
* review
* Add missing markers
* Test verifying kubectl explain works
* Adding test verifying crds are structural
* Use controller-gen to generate validations for crds
* test if crds for operator are correct
* adding tools for generating correct validation
* cleaning generated desc. and nullable fields in status
* adding patching of crds for operator
* adding markers for controller-gen
* tests, restore tests: check on successful commands
* Fix gosec issue: week random generator
* Bump kubevirtci
* It is not always bad for VolumeSnapshot to have an error
* Fix artifacts in gosec target
* tests, infra-test, Refactor node selection
* Do not change vnc socket's permission to 0444
* tests, infra-test, Fix node updates
* tests, infra-test, Add missing break when selecting a node
* tests, pausing test: increase time for long process
* tests, dual stack: Adapt tests using NFSTargetPOD to support dual stack
* docs: Fix the ginkgo flags usage example
* Properly exit if kubevirt does not get ready on cluster-sync
* Rework logic so it is easier to understand what is happening
* fix restore controller memory corruption
* Allow PVC as volume source with a DV populating the PVC. Before this was not allowed because we could not be sure that the PVC was fully populated. This commit checks the DV to ensure the PVC is fully populated.
* Save a nice cluster-overview to the artifacts
* Disable goveralls debug output
* Take time in cert tests after CA generation
* Use coverage merge tool for goveralls
* Introduce a tool to merge coverage reports
* Enable atomic count, race detection and fix races
* Move coverage reports over to bazel
* Use a proper cc_library for libvirt dependencies
* Auto-generate Help message from /metrics endpoint to docs/metrics.md
* tests, libnet: Relocate validation to libnet
* tests, libnet: Move cloud-init net and dns to libnet
* Fix flaky rename test
* Run Travis CI only on selected branches, remove sudo flag
* tests, infra-test, Solve CI flakiness due to update conflict
* Fix flaky unpause tests
* Refactor .json files to go file
* Mark networking conformance tests
* Fail only when new issue comes up
* Fix high severity&confidence issues
* Add gosec to project
* Fix display of virtctl help text for other usages
* tests, libvmi: Introduce CloudInit NoCloud Network Data
* restore backwards compatiblity with api group/version on DataVolumeTemplates spec
* Revert "move all tests to use kv config"
* Revert "update config message to specify which resource type it is using"
* Revert "test usage of configmap configuration"
* Revert "update build file"
* Revert "convert postcopy tests to use KubeVirt CR"
* Rework logic so it is easier to understand what is happening
* Allow PVC as volume source with a DV populating the PVC. Before this was not allowed because we could not be sure that the PVC was fully populated. This commit checks the DV to ensure the PVC is fully populated.
* vmi, sriov: Enable to set the PCI address on a SRIOV iface
* Don't discard bazel platform cache on virtctl cross-compilation
* convert postcopy tests to use KubeVirt CR
* fix autoconverge test
* remove using BeforeAll in vmi configuration tests
* generated openapi spec
* clean up
* start prom server earlier in the virt-handler process so health check returns without EOF error
* change kubevirt config type MemBalloon
* dump kubevirt cr in ci artifacts
* cpuRequest can not be type string since when the resource is patched it will fail to parse the units
* change bool to pointer to know unset vs value set to false
* update build file
* test usage of configmap configuration
* update config message to specify which resource type it is using
* move all tests to use kv config
* virt-launcher, Add mechanism to guard add/delete events channel
* Generated artifacts
* Add functional tests for missing subresource RBAC rules
* Allow admins and editors of a namespace to [un]pause a VMI
* Add dummy status to DataVolumeTemplate objects to maintain backwards compatibility
* Add functional test to validate api compatiblity during update
* changed migration test to use table
* only log event if migration is stuck during post copy migration
* change api from MigrationMode to AllowPostCopy
* switch to post copy migration if not completed with in acceptableCompletionTime
* update openapi spec
* add NFS migration test with postcopy
* remove vmiHasLocalStorage function
* fix migration tests
* remove reject postcopy for storage test
* remove nested vmi migration configuration
* change usePostCopy to migrationMode
* move when mode is set
* allow for postcopy migration
* maybe fix flakes test
* vendor in 1.23.5 CDI to hand golden namespace use case
* Validate network interface name
* tests, utils: Check events watcher type before casting
* Add readiness and health probes to virt-handler
* Removes unusable fields from vm DataVolumeTemplates
* selinux: always build KubeVirt with selinux support
* Run make generate
* Adjust ceph-rook focus for e2e tests
* wrong apiVersion used for VirtualMachineRestore owner references
* update init container unit tests to validate container-disk pre-pull
* add container disk images also as init containers in order to guarantee they are pulled before virt-launcher starts
* add '--no-op' option to container-disk entry point for pre-pull logic
* Make the nogo check pass
* Make kubevirt compile with bazel 3.4.1
* Update builder image to bazel 3.4.1
* wait for vmi-killer pod to start before moving on
* Document basic parallel-test execution needs
* Integrate the junit merger into the parallel functest execution
* Add a tool to merge partial junit results
* Don't set the namespace in the VMI factory
* Run most of the VMI lifecycle tests in parallel
* Run kubectl related tests in parallel
* Hugepages are limited, run the relevant tests not in parallel
* Make version and vm-watch tests execute in parallel
* Don't check terminating pods if they pick up config changes
* Run container disk tests in parallel
* Run expose tests in parallel
* Run probe tests in parallel
* Allow running VMI Preset tests in parallel
* Run most of the cloud-init tests in parallel
* Make subresource tests part of the parallel test suite
* Adjust subresource access tests to new test service accounts
* Reference the default namespace directly
* Add a skip check for a migration tests if enough nodes are available
* Make access tests parallel executable
* More parallel tests
* Resolve test-namespace name in the test
* Allow VM tests to run in parallel
* Allow console tests to run in parallel
* Allow the headless service tests for VMIs to run in parallel
* Allow tests in vmi_configuration_test to run in parallel
* Make it possible to set the number of parallel executors
* Increase slow test threashold to 60 seconds
* Ensure that --skip and --focus flags are only passed onces
* Change build environment to execute ginkgo in parallel
* Let the ginkgo reporter log where it will dump artifacts
* Split setup and teardown code between parallel and synchronized steps
* Consume the ginkgo binary from the vendor folder
* Mark all tests as have to be run in serial
* fix typos
* docs: Update for k8s-1.18 as default provider
* Add option to log BIOS output to serial and use it to test for bootable NICs
* Migrate VMI when its pod is marked for eviction
* Intercept evictions on virt-launcher pods
* Support testing kubevirt on RHCOS
* Update kubevirtci to latest commit
* create tap device: add multiqueue support to netlink
* set vmipod cpu request based on guest vcpus and cpu_allocation_ratio
* allow to set a cpu allocation ratio in kubevirt config
* Test IDs for Node Placement tests
* only focus on tests that require rook-ceph for rook-ceph lane
* When filtering or aggregating metrics around the state label, having it exposed as a human readable state makes it a lot easier to understand, and thus, easier to get the desirable information. This PR changes kubevirt_vmi_vcpu_seconds' state label to a human readable string
* libvirt: disable PXE rom on interfaces with no boot order Except for virtio interfaces for which a rom is implicitely loaded
* Keep conformance artifacts on the top level
* tap device: use netlink instead of songgao's water lib
* netlink: update vendor folder
* bazel: update netlink dependency
* Release func tests on every release
* Add missing test ids
* Fix sync of generated client-go to master
* flaky pause test: make long-running process longer and quieter
* switch virtiofs tests to use datavolume
* test that vitriofs file written in the guest is present in the pod
* functional test to verify that virtiofs is enabled
* network, tests: move services functests to dedicated module
* tests, libvmi: provide a minimal CirrOS VMI via the libvmi factory
* fmt updates
* Adjust timelines and verbage to reflect feedback
* Fix release scripts git email and name variables
* New release documentation
* Replace outdated release announce script with new tool
* We introduced our `Pach` type which collides with kubernetes type. By default kube-openapi takes only last part of type/model definition. So type "kubevirt.io/client-go/api/v1.Patch" ends up -> "v1.Patch" & "k8s.io/apimachinery/pkg/apis/meta/v1.Patch" -> "v1.Patch".
* dual-stack, tests: actively check the cluster for dual stack conf
* dual stack, tests: check if the cluster is dual stack
* Add creation of bazelrc for running unnested in prow
* virt-chroot: use sysfs node for getenforce instead of less-reliable go-selinux
* network, tests: add a flag to skip a test asserting dual stack conf
* Addressed comments
* fix virtctl image-upload ignoring custom storage class
* Add unit tests for Service patching
* use informer for VirtualMachineRestores in restore webhook
* staticcheck updates
* don't allow creation of a VirtualMachineRestore if on is in progress
* make VirtualMachineRestores owned by VM
* wait for PVCs created from snapshots to be bound if not WaitForFirstConsumer
* Correctly check VM run strategy
* check running/runstrategy before restoring and one additional functional test
* tighten up functional tests
* initial functional tests for VM restore
* restore controller generate events on completion and error
* updates from rebase
* add source UID to VMSnapshot status and verify source matches target when restoring
* fix apiGroup handling
* VM sestore webhook
* restore unit tests
* restore controller implementation
* snapshot controller waits for no VMIs or pods using PVCs
* add VirtualMachineRestore type and CRD
* remove include/excludeVolumes
* update VirtualMachineRestoreStatus object to include timestamp and error
* add VirtualMachineRestore type and CRD
* Fix overloaded 'v1.Patch' api field
* Prevent delete and replace of service endpoints with ClusterIP == ""
* Fix validation for self-signed cert and addressed comments
* Add support for camel-case spellings of "userdata" and "networkdata"
* tests, net: Add dual-stack checks for post migration connectivity
* tests, net: Remove post migration connectivity workaround
* Enhance operator functional tests to validate pods are torn down after kv cr is deleted
* test: set kubevirt.io/memfd = false for k8s 1.16
* Add annotation kubevirt.io/memfd
* Unit tests to validate finalizer functionality on kubevirt objects
* Restore ability to set finalizer on kubevirt objects
* Unit tests to verify operator injected labels remain consistent
* Restores operator managed by label for backwards/forwards compability during updates
* Add mhenriks to approvers/reviewers list
* introduce retryOnConflict to certificate infra test
* tests, Make network policy tests dual stack compatible
* make generate after git rebase
* deps-updae && generate
* Workaround for a not accessible CDI dependency bitbucket.org/ww/goautoneg
* Update cdi in client-go and manifests/testing to v 1.21
* Run make deps-update
* Bumped CDI version to 1.21.0
* virt-api: allow update of VM metadata and status during VM rename process
* Rename option --allow-intermediate-certificates to --externally-name
* Add unit test for cert-manager
* Add option to allow client's intermediate certs to be used in building up the chain of trust in cert validation for virt-handler and virt-api
* Add options to allow users to configure certificate and key file paths for virt-handler, virt-controller and virt-api to accommodate varying rules around certificate validation.
* Limit CriticalAddonsOnly taint to a single compute
* Add test-id's for VMI migration and lifecycle testcases
* Add event for vmi failed render
* test, masquerade: Add dual stack vmi to vmi ping
* tests, Fix Network Policy Flakiness
* tests, Add waitForNetworkPolicyDeletion
* tests, Add skipNetworkPolicyRunningOnKindInfra for NetworkPolicy tests
* tests, Remove SkipIfNotUseNetworkPolicy
* tests, expecter: Centralize expecter helpers under expecter.go and login.go
* Add unit tests for to make sure it won't accidentally break passing monitorNamespace and monitorServiceAccount parameters
* add test_id to functional test
* add openapi listType=atomic to patches
* add func test for custom patches
* add custom patches to kubevirt resources on creation
* Fix issues of using default monitorNamespace and monitorServiceAccounta when those properities are not assigned
* update: fixing and adding unit tests
* test: add reserved hugepages
* tests, skip migration fail test on kind ipv6 provider
* test: add test for source in memorybacking
* Add source in memorybacking
* Set NUMA to use memfd
* virt-operator: on update, roll over daemonsets first, then controllers
* virt-operator: fix a copy-paste error
* Add functional test for custom-port flag
* Make use of stdout cleaner
* Added functional test
* Add option to run only VNC Proxy in virtctl
* Keep a single go_test_default rule
* Document on how to use the conformance tests
* Add the first conformance test
* Add wrapper binary for conformance tests
* Detect the kubevirt install namespace dynamically
* Fix issues that virt-operator cannot extract MonitorNamespace and MonitorServiceAccount from JSON.
* tests, network: Test connectivity pre/post migration
* tests, job: Convert WaitForJobTo* to a non-assert version.
* Generate deepcopy for NUMA
* add a NUMA schema element
* Removal of unnecessary output
* Added e2e test for unused memory metric
* Fix virtctl build for linux-amd64
* Adds new metric kubevirt_vmi_memory_unused_bytes
* cluster-deploy.sh: cancel cdi deployment on sriov-lane
* remove version from go.mod
* Use PingFromVMConsole for ipv6 instead of trace route
* tests, make test 1780 dual stack compatible
* refactor virtctl image-upload args
* tests,libvmi: Append passed options
* Rebase on Goveralls
* Export -mod=vendor to always use vendor
* Update ldflag to point to right package
* Increase memory limit for iscsi pod
* deps-update to reflect state after rebase
* Fix test to properly work with TLS 1.3
* Update kubevirt builder image to use go1.13.14
* Add required dependencies for functest image build
* Check if new api rule violation was added
* Pin bazel for builder
* selinux: relabel /dev/null to container_file_t
* selinux, virt-handler: relabel the clone device
* selinux, virt-chroot: provide a command to relabel files
* Add gradle install for builder to reenable swagger
* Set libvirt to virtmaint-sig/for-kubevirt 5.0.0
* Update builder image to include new goveralls version, remove ppc64le
* Move coverage from travis to prow
* Support VMI scheme multi IPs list in case of dual stack
* Improve stability of fedora VM's login expecter
* tests: Use new image for sriov tests
* tests/containerdisks: add fedora-extended image
* kubevirt/BUILD.bazel: push to cluster registry
* containerdisks/ WORKSPACE, BUILD.bazel: add new image
* containerdisks: add doc about container-disk images
* Unit test to veriy migration target is cleaned when VMI is deleted
* Unit test to ensure an error is returned if multiple container disk directories for the same vmi exist
* Add unit test to verify stale clients are handled during pre migration target setup
* abort migration if the vmi is deleted or in the process of being deleted
* Add better logging to container disk mount/unmount
* wait for virt-handler to come back online during migration fail func test case
* ensure we detect the correct pod environment during isolation detection when migrating
* ensure only we're mounting/unmounting the right pod's container disk during migration
* gitignore: ignore files ending with ~
* Ensures stale local data from failed migration target is cleaned before attempting to migrate again
* Functional test to validate migration failures
* Domain XML to be logged on info level
* Fix the test default SMBIOS testcase
* Add custom PCI tests
* Fix bug in virtctl upload when using PVC without any annotations. In this case in code the annotations map is nil, and we attempted to set a value in that nil map causing a crash of virtctl.
* Allow podman for normal build steps
* Makefile: Control timestamp addition
* Makefile: Add timestamps to make targets
* Makefile: Use realpath instead of shell to calculate path
* export local provider variables to the correct location
* no need to verify the number of depoyed nodes for local provider
* Use proper namespace in functional test
* Fix doc string
* Add --security-opt label:disable to bazel server version check On Fedora 32 with moby this fixes an selinux issue in the imega/jq container.
* Fix tests binary release
* tests: Add phoracek to approvers
* create-tap: improve code readability
* selinux: update the default launcher selinux type
* create-tap: prevent FD leaking into the tap-maker
* Shorten the release job exectuion time on travis
* libvirt expects memory value in bytes to be provided with correct units
* Bump kubevirtci
* flaky-finder: fix leading pipe bug
* tests: skip dmidecode tests on ipv6 lanes
* code inspection changes
* Add unit test to verify domain resync period
* Add resync period for syncing domains in virt-handler from each virt-launcher
* tests: fix string equality tests
* tests, vmi_config: Fix expecter false positives In these tests, BExp-ecting "pass" always worked, because the command line was matched. Splitting the word in 2 on the command line ensures the match to happen (or not) in the result. Also removed unused 'fail' echos.