Skip to content

Commit

Permalink
PVC Clone Populator (#2709)
Browse files Browse the repository at this point in the history
* touch up zero restoresize snapshot

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

* clone populator

only supports PVC source now

snapshot coming soon

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

* more unit tests

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

* unit test for clone populator

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

* func tests for clone populator

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

* move clone populator cleanup function to planner

other review comments

verifier pod should bount readonly

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

* add readonly flag to test executor pods

synchronize get hash calls

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

* increase linter timeout

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

* better/explicit readonly support for test pods

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

* check pv for driver info before looking up storageclass as it may not exist

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

* addressed review comments

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

* chooseStrategy shoud generate more events

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

---------

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
  • Loading branch information
mhenriks authored May 24, 2023
1 parent b2a5aa4 commit f88fab6
Show file tree
Hide file tree
Showing 87 changed files with 5,979 additions and 457 deletions.
7 changes: 7 additions & 0 deletions cluster-sync/clean.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,13 @@ _kubectl get dataimportcron --all-namespaces -o=custom-columns=NAME:.metadata.na
_kubectl patch dataimportcron $name -n $namespace --type=json -p '[{ "op": "remove", "path": "/metadata/finalizers" }]'
done

_kubectl get pvc --all-namespaces -o=custom-columns=NAME:.metadata.name,NAMESPACE:.metadata.namespace,FINALIZERS:.metadata.finalizers --no-headers | grep cdi.kubevirt.io/clonePopulator | while read p; do
arr=($p)
name="${arr[0]}"
namespace="${arr[1]}"
_kubectl patch pvc $name -n $namespace --type=json -p '[{ "op": "remove", "path": "/metadata/finalizers" }]'
done

if [ -f "${OPERATOR_CR_MANIFEST}" ]; then
echo "Cleaning CR object ..."
if _kubectl get crd cdis.cdi.kubevirt.io ; then
Expand Down
4 changes: 4 additions & 0 deletions cmd/cdi-controller/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,10 @@ func start() {
klog.Errorf("Unable to setup upload populator: %v", err)
os.Exit(1)
}
if _, err := populators.NewClonePopulator(ctx, mgr, log, clonerImage, pullPolicy, installerLabels); err != nil {
klog.Errorf("Unable to setup clone populator: %v", err)
os.Exit(1)
}

klog.V(1).Infoln("created cdi controllers")

Expand Down
2 changes: 1 addition & 1 deletion hack/build/run-linters.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ GOLANGCI_VERSION="${GOLANGCI_VERSION:-v1.52.2}"

go install "github.com/golangci/golangci-lint/cmd/golangci-lint@${GOLANGCI_VERSION}"

golangci-lint run --timeout=8m ./...
golangci-lint run --timeout=16m ./...
132 changes: 132 additions & 0 deletions pkg/apis/core/v1beta1/openapi_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ go_library(
"generated_expansion.go",
"objecttransfer.go",
"storageprofile.go",
"volumeclonesource.go",
"volumeimportsource.go",
"volumeuploadsource.go",
],
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ go_library(
"fake_datavolume.go",
"fake_objecttransfer.go",
"fake_storageprofile.go",
"fake_volumeclonesource.go",
"fake_volumeimportsource.go",
"fake_volumeuploadsource.go",
],
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit f88fab6

Please sign in to comment.