Commit 9eedd3d
kola: add KubeVirt platform support
Add a new "kubevirt" platform to kola for testing CoreOS on KubeVirt VMs.
This enables end-to-end testing of afterburn's KubeVirt metadata provider,
supporting both ConfigDrive and NoCloud cloud-init types.
Platform implementation:
- API wrapper using controller-runtime client + kubevirt.io/api types
(lightweight alternative to kubevirt.io/client-go)
- SSH access via WebSocket port-forward through the KubeVirt API server
(no virtctl binary dependency)
- containerDisk support for FCOS images (cosa already builds these)
- Per-test CloudInitType and NetworkData via MachineOptions
External test framework:
- Detect network_data.json in test dir -> ConfigDrive cloud-init type
- Detect network-config in test dir -> NoCloud cloud-init type
- File naming follows real-world conventions (OpenStack / cloud-init)
- Error if both files present in the same test directory
- Silently ignored on platforms that don't support network data
New CLI flags:
--kubevirt-kubeconfig, --kubevirt-namespace, --kubevirt-image,
--kubevirt-cloud-init-type, --kubevirt-memory, --kubevirt-cpus
New tests:
fcos.metadata.kubevirt.configdrive
fcos.metadata.kubevirt.nocloud
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Enrique Llorente <ellorent@redhat.com>1 parent 361b1af commit 9eedd3d
1,496 files changed
Lines changed: 690740 additions & 14 deletions
File tree
- mantle
- cmd/kola
- kola
- register
- tests/metadata
- platform
- api/kubevirt
- machine/kubevirt
- vendor
- github.com
- emicklei/go-restful/v3
- log
- evanphx/json-patch/v5
- internal/json
- fxamacker/cbor/v2
- go-openapi
- jsonpointer
- jsonreference
- internal
- swag
- google/gnostic-models
- compiler
- extensions
- jsonschema
- openapiv2
- openapiv3
- gorilla/websocket
- josharian/intern
- mailru/easyjson
- buffer
- jlexer
- jwriter
- modern-go/reflect2
- munnerz/goautoneg
- openshift/custom-resource-status
- conditions/v1
- x448/float16
- go.yaml.in/yaml/v3
- golang.org/x/net
- internal/socks
- proxy
- google.golang.org/protobuf/types/descriptorpb
- gopkg.in/inf.v0
- k8s.io
- apiextensions-apiserver
- pkg/apis/apiextensions
- v1
- apimachinery
- pkg
- apis/meta
- internalversion
- scheme
- v1beta1
- v1
- unstructured
- validation
- api
- equality
- errors
- meta
- operation
- resource
- safe
- validate
- constraints
- content
- validation
- conversion
- queryparams
- fields
- labels
- runtime
- schema
- serializer
- cbor
- direct
- internal/modes
- json
- protobuf
- recognizer
- streaming
- versioning
- selection
- types
- util
- dump
- errors
- framer
- intstr
- json
- managedfields
- internal
- mergepatch
- naming
- net
- runtime
- sets
- strategicpatch
- validation
- field
- version
- wait
- yaml
- version
- watch
- third_party/forked/golang
- json
- reflect
- api
- admissionregistration
- v1alpha1
- v1beta1
- v1
- apidiscovery
- v2beta1
- v2
- apiserverinternal/v1alpha1
- apps
- v1beta1
- v1beta2
- v1
- authentication
- v1alpha1
- v1beta1
- v1
- authorization
- v1beta1
- v1
- autoscaling
- v1
- v2beta1
- v2beta2
- v2
- batch
- v1beta1
- v1
- certificates
- v1alpha1
- v1beta1
- v1
- coordination
- v1alpha2
- v1beta1
- v1
- core/v1
- discovery
- v1beta1
- v1
- events
- v1beta1
- v1
- extensions/v1beta1
- flowcontrol
- v1beta1
- v1beta2
- v1beta3
- v1
- networking
- v1beta1
- v1
- node
- v1alpha1
- v1beta1
- v1
- policy
- v1beta1
- v1
- rbac
- v1alpha1
- v1beta1
- v1
- resource
- v1alpha3
- v1beta1
- v1beta2
- v1
- scheduling
- v1alpha1
- v1beta1
- v1
- storagemigration/v1beta1
- storage
- v1alpha1
- v1beta1
- v1
- client-go
- discovery
- dynamic
- features
- kubernetes/scheme
- metadata
- openapi
- pkg
- apis/clientauthentication
- install
- v1beta1
- v1
- version
- plugin/pkg/client/auth/exec
- restmapper
- rest
- watch
- tools
- auth
- clientcmd
- api
- latest
- v1
- metrics
- transport
- util
- apply
- cert
- connrotation
- flowcontrol
- homedir
- keyutil
- workqueue
- klog/v2
- internal
- buffer
- clock
- dbg
- serialize
- severity
- sloghandler
- kube-openapi
- pkg
- cached
- common
- handler3
- internal
- third_party/go-json-experiment/json
- schemaconv
- spec3
- util
- proto
- validation/spec
- utils
- clock
- internal/third_party/forked/golang
- net
- net
- pointer
- ptr
- kubevirt.io
- api
- backup
- v1alpha1
- core
- v1
- containerized-data-importer-api
- pkg/apis/core
- v1beta1
- controller-lifecycle-operator-sdk/api
- sigs.k8s.io
- controller-runtime
- pkg
- client
- apiutil
- log
- json
- internal/golang/encoding/json
- randfill
- bytesource
- structured-merge-diff/v6
- fieldpath
- merge
- schema
- typed
- value
- yaml
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
| |||
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
59 | 65 | | |
60 | 66 | | |
61 | 67 | | |
| |||
85 | 91 | | |
86 | 92 | | |
87 | 93 | | |
| 94 | + | |
| 95 | + | |
88 | 96 | | |
| 97 | + | |
89 | 98 | | |
90 | 99 | | |
91 | 100 | | |
92 | 101 | | |
| 102 | + | |
| 103 | + | |
93 | 104 | | |
| 105 | + | |
94 | 106 | | |
95 | 107 | | |
96 | 108 | | |
97 | 109 | | |
98 | 110 | | |
99 | 111 | | |
| 112 | + | |
100 | 113 | | |
101 | 114 | | |
102 | 115 | | |
| |||
106 | 119 | | |
107 | 120 | | |
108 | 121 | | |
| 122 | + | |
109 | 123 | | |
110 | 124 | | |
| 125 | + | |
111 | 126 | | |
112 | 127 | | |
113 | | - | |
| 128 | + | |
| 129 | + | |
114 | 130 | | |
115 | 131 | | |
| 132 | + | |
116 | 133 | | |
117 | 134 | | |
118 | 135 | | |
119 | 136 | | |
120 | 137 | | |
| 138 | + | |
121 | 139 | | |
122 | 140 | | |
123 | 141 | | |
| |||
127 | 145 | | |
128 | 146 | | |
129 | 147 | | |
| 148 | + | |
130 | 149 | | |
131 | 150 | | |
132 | 151 | | |
133 | 152 | | |
134 | 153 | | |
135 | 154 | | |
136 | 155 | | |
| 156 | + | |
137 | 157 | | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
138 | 167 | | |
139 | 168 | | |
140 | 169 | | |
| |||
0 commit comments