kubernetes-sigs / cluster-api-provider-kubevirt

Cluster API Provider for KubeVirt
Apache License 2.0
110 stars 63 forks source link

template: Add kccm flavor #168

Closed qinqon closed 2 years ago

qinqon commented 2 years ago

What this PR does / why we need it:

The clusterctl tool has a "--flavor" using this a cluster with cloud-provider-kubevirt integrated can be created doing:

cluterctl generate cluster --infrastructure kubevirt --flavor kccm

This change create at tool to generate those flavors from a cloud-provider-kubevirt repository.

TODO:

Release notes:

Add kccm flavors for clusterctl 
coveralls commented 2 years ago

Pull Request Test Coverage Report for Build 3104334638


Changes Missing Coverage Covered Lines Changed/Added Lines %
controllers/kubevirtcluster_controller.go 16 25 64.0%
<!-- Total: 16 25 64.0% -->
Totals Coverage Status
Change from base Build 3073156890: 0.2%
Covered Lines: 952
Relevant Lines: 1850

💛 - Coveralls
qinqon commented 2 years ago

Logs from kccm show failures

W0801 14:47:13.117160       1 core.go:111] --configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.
W0801 14:47:13.117219       1 controllermanager.go:279] Skipping "route"
I0801 14:47:13.117447       1 node_controller.go:118] Sending events to api server.
W0801 14:47:13.117484       1 core.go:53] failed to start cloud node controller: cloud provider does not support instances
W0801 14:47:13.117500       1 controllermanager.go:279] Skipping "cloud-node"
I0801 14:47:13.117695       1 node_lifecycle_controller.go:77] Sending events to api server
W0801 14:47:13.117735       1 core.go:72] failed to start cloud node lifecycle controller: cloud provider does not support instances
W0801 14:47:13.117749       1 controllermanager.go:279] Skipping "cloud-node-lifecycle"
E0801 14:47:13.118004       1 core.go:93] Failed to start service controller: the cloud provider does not support external load balancers
W0801 14:47:13.118019       1 controllermanager.go:279] Skipping "service"
davidvossel commented 2 years ago

/ok-to-test

qinqon commented 2 years ago

/retest

qinqon commented 2 years ago

/retest

qinqon commented 2 years ago

/hold

Need to pin to a kccm with:

davidvossel commented 2 years ago

Expected
      <*errors.errorString | 0xc0007170b0>: {
          s: "waiting on object e2e-test-create-cluster-b5j4f6/kvcluster to be deleted",
      }
  to be nil

fyi, that e2e failure is likely due to deletion failing because the list command fails.

qinqon commented 2 years ago

@davidvossel this is good now for basic functionality, I am still wondering what do we do if deployed kccm get changed, ideally capk manager should reconcile it with the latest created and also cluster readiness has to depend on kccm too but we can do that at follow up PR.

qinqon commented 2 years ago

/hold cancel

k8s-ci-robot commented 2 years ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: davidvossel, qinqon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt/blob/main/OWNERS)~~ [davidvossel] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment