Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.7.0 installation doesn't work on k8s 1.16 or 1.17 #4737

Closed
thbkrkr opened this issue Aug 5, 2021 · 22 comments
Closed

1.7.0 installation doesn't work on k8s 1.16 or 1.17 #4737

thbkrkr opened this issue Aug 5, 2021 · 22 comments
Labels
>bug Something isn't working

Comments

@thbkrkr
Copy link
Contributor

thbkrkr commented Aug 5, 2021

The installation of ECK 1.7.0 on Kubernetes 1.16 and 1.17 using Helm or the YAML manifests returns this error:

error: SchemaError(co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates): array should have exactly one sub-item

To reproduce:

> kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.17", GitCommit:"f3abc15296f3a3f54e4ee42e830c61047b13895f", GitTreeState:"clean", BuildDate:"2021-01-13T13:21:12Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.17", GitCommit:"f3abc15296f3a3f54e4ee42e830c61047b13895f", GitTreeState:"clean", BuildDate:"2021-05-18T07:11:14Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

> helm repo add elastic https://helm.elastic.co && helm repo update && helm install elastic-operator elastic/eck-operator -n elastic-system --create-namespace

"elastic" already exists with the same configuration, skipping
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "elastic" chart repository
Update Complete. ⎈Happy Helming!⎈
NAME: elastic-operator
LAST DEPLOYED: Thu Aug  5 18:05:55 2021
NAMESPACE: elastic-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Inspect the operator logs by running the following command:
   kubectl logs -n elastic-system sts/elastic-operator
                                                                                                                                                           
> kubectl explain es
error: SchemaError(co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates): array should have exactly one sub-item

> cat <<EOF | kubectl apply -f -
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 7.14.0
  nodeSets:
  - name: default
    count: 1
    config:
      node.store.allow_mmap: false
EOF
error: SchemaError(co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates): array should have exactly one sub-item

> kubectl create -f https://download.elastic.co/downloads/eck/1.7.0/crds.yaml
customresourcedefinition.apiextensions.k8s.io/agents.agent.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/apmservers.apm.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/beats.beat.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/elasticmapsservers.maps.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/elasticsearches.elasticsearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/enterprisesearches.enterprisesearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/kibanas.kibana.k8s.elastic.co created
                                                                                                                                                           
> kubectl apply -f https://download.elastic.co/downloads/eck/1.7.0/operator.yaml
error: SchemaError(co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates): array should have exactly one sub-item
                                                                                                                                     

Workarounds:

  • use kubectl <= 1.16
  • use the --validate=false flag:
  • use the legacy crds:
kubectl create -f https://download.elastic.co/downloads/eck/1.7.0/crds-legacy.yaml
kubectl apply -f https://download.elastic.co/downloads/eck/1.7.0/operator-legacy.yaml

NOTE: We haven't yet found a workaround for Helm and will update the issue when we do.

This seems to be a client side issue during validation as --validate=false is a remedy.

@thbkrkr
Copy link
Contributor Author

thbkrkr commented Aug 5, 2021

I did some more tests and although kubectl explain es fails, kubectl apply -f quickstart.yml works if kubectl <= 1.16.

@travisghansen
Copy link

travisghansen commented Aug 5, 2021

I just tried to update from 1.5.o -> 1.7.0 and ran into this issue on a 1.19 cluster.

In my case I ended up with not being able to update all kinds of objects (totally unrelated) because of the validation problem.

@idanmo
Copy link
Collaborator

idanmo commented Aug 6, 2021

Hi @travisghansen , can you please share what's your kubectl version? (kubectl version command output)

@travisghansen
Copy link

Yeah, v1.21 and then whatever is bundled with argocd 2.0.5.

@malcolm061990
Copy link

malcolm061990 commented Aug 6, 2021

The same issue.

kubectl version
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b5237ccd9c0f1d600d3072634ca66cefdf272f", GitTreeState:"clean", BuildDate:"2021-08-04T17:56:19Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17+", GitVersion:"v1.17.17-eks-087e67", GitCommit:"087e67e479962798594218dc6d99923f410c145e", GitTreeState:"clean", BuildDate:"2021-07-31T01:39:55Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

@pebrc
Copy link
Collaborator

pebrc commented Aug 6, 2021

@travisghansen I cannot reproduce the issue on a 1.19 cluster with a v1.21 kubectl client.

@pebrc
Copy link
Collaborator

pebrc commented Aug 6, 2021

Our Elasticsearch CRD has an array type without subelements

kubectl get --raw /openapi/v2 | jq '.definitions["co.elastic.k8s.elasticsearch.v1.Elasticsearch"].properties.spec.properties.nodeSets.items.properties.volumeClaimTemplates'

 {
                "description": "VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod in this NodeSet. Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate. Items defined here take precedence over any default claims added by the operator with the same name.",
                "type": "array",
                "x-kubernetes-preserve-unknown-fields": true
 }

Which is totally fine according to
https://github.com/kubernetes/kube-openapi/blob/1a6458611d189dc17e98a0824dc92536365efedf/pkg/util/proto/document.go#L214-L218

Note the TODO(wrong) comments. However kubectl which uses the kube-openapi library cannot deal with it as these TODOs have not been addressed.

if len(s.GetItems().GetSchema()) != 1 {
		// TODO(wrong): Items can have multiple elements. We can ignore Items then (would be incomplete), but we cannot return an error.
		// TODO(wrong): "type: array" witohut any items at all is completely valid.
		return nil, newSchemaError(path, "array should have exactly one sub-item")
	}

Kubernetes seems to have "fixed" this issue in later versions server-side by changing the data returned by the OpenAPI endpoint that kubectl uses for validation. Specifically they are pruning the type attribute from the response.

For comparison purposes the same command on K8s v1.19:
kubectl get --raw /openapi/v2 | jq '.definitions["co.elastic.k8s.elasticsearch.v1.Elasticsearch"].properties.spec.properties.nodeSets.items.properties.volumeClaimTemplates'

{
  "description": "VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod in this NodeSet. Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate. Items defined here take precedence over any default claims added by the operator with the same name.",
  "x-kubernetes-preserve-unknown-fields": true
}

I believe these are the two relevant PRs (v1.18 and v1.19) in Kubernetes.

I don't see a way at the moment to tweak our CRDs to avoid the issue other than not using structural schema but we are already offering a non-structural version as *-legacy.yaml manifests.

@malcolm061990
Copy link

@travisghansen I cannot reproduce the issue on a 1.19 cluster with a v1.21 kubectl client.

Try to reproduce it on 1.17 k8s cluster. This is the minimal supported version but still supported :)

@travisghansen
Copy link

I don’t think it’s an issue with the crd itself but the validation webhook.

I’m not sure if it’s relevant but the clusterroles I think may all have had permissions to crds…not specific crds per-se, just the ability to read/whatever crds generally.

@pebrc
Copy link
Collaborator

pebrc commented Aug 6, 2021

don’t think it’s an issue with the crd itself but the validation webhook.

The root cause is still in the CRD. I updated my original post to add a bit more explanation of my current understanding. Tweaking the clusterroles to be less restrictive might avoid the error at installation time but you still run into it every time you want to deploy an Elasticsearch cluster or run any other kubectl operation involving that CRD (e.g. kubectl explain es)

@thbkrkr
Copy link
Contributor Author

thbkrkr commented Aug 10, 2021

The bug only occurs on k8s 1.16 && 1.17 with kubectl > 1.16. I couldn't reproduce it with other combinations of versions.

I don't see a way at the moment to tweak our CRDs to avoid the issue other than not using structural schema but we are already offering a non-structural version as *-legacy.yaml manifests.

We could remove type: array for the volumeClaimTemplates definition in the CRDs. This makes the bug disappear. The drawback is that we loose the nice validation that we have starting k8s 1.18 thanks to the structural schema.

> kubectl apply -f quickstart.yml # where I put an object in the volumeClaimTemplates instead of an array
The Elasticsearch "quickstart" is invalid: spec.nodeSets.volumeClaimTemplates: Invalid value: "object": spec.nodeSets.volumeClaimTemplates in body must be of type array: "object"

Instead we get a more obscure error:

Error from server: error when creating "q.yml": admission webhook "elastic-es-validation-v1.k8s.elastic.co" denied the request: v1.Elasticsearch.Spec: v1.ElasticsearchSpec.NodeSets: []v1.NodeSet: v1.NodeSet.VolumeClaimTemplates: []v1.PersistentVolumeClaim: decode slice: expect [ or n, but found {, error found in #10 byte of ...|mplates":{"metadata"|..., bigger context ...|count":1,"name":"default","volumeClaimTemplates":{"metadata":{"name":"elasticsearch-data"},"spec":{"|...

The above error prevents us from adding our own validation.

For now, I see 3 options:

  • document the bug and the workarounds
  • generate a third version of CRDs without type: array to target only k8s 1.16 and 1.17
  • generate the CRDs without type: array to target k8s >= 1.16 with the drawback of loosing a nice validation for the volumeClaimTemplates field

@malcolm061990
Copy link

The bug only occurs on k8s 1.16 && 1.17 with kubectl > 1.16. I couldn't reproduce it with other combinations of versions.

I don't see a way at the moment to tweak our CRDs to avoid the issue other than not using structural schema but we are already offering a non-structural version as *-legacy.yaml manifests.

We could remove type: array for the volumeClaimTemplates definition in the CRDs. This makes the bug disappear. The drawback is that we loose the nice validation that we have starting k8s 1.18 thanks to the structural schema.

> kubectl apply -f quickstart.yml # where I put an object in the volumeClaimTemplates instead of an array
The Elasticsearch "quickstart" is invalid: spec.nodeSets.volumeClaimTemplates: Invalid value: "object": spec.nodeSets.volumeClaimTemplates in body must be of type array: "object"

Instead we get a more obscure error:

Error from server: error when creating "q.yml": admission webhook "elastic-es-validation-v1.k8s.elastic.co" denied the request: v1.Elasticsearch.Spec: v1.ElasticsearchSpec.NodeSets: []v1.NodeSet: v1.NodeSet.VolumeClaimTemplates: []v1.PersistentVolumeClaim: decode slice: expect [ or n, but found {, error found in #10 byte of ...|mplates":{"metadata"|..., bigger context ...|count":1,"name":"default","volumeClaimTemplates":{"metadata":{"name":"elasticsearch-data"},"spec":{"|...

The above error prevents us from adding our own validation.

For now, I see 3 options:

  • document the bug and the workarounds
  • generate a third version of CRDs without type: array to target only k8s 1.16 and 1.17
  • generate the CRDs without type: array to target k8s >= 1.16 with the drawback of loosing a nice validation for the volumeClaimTemplates field

Good news, thanks :)
I think it’s a good idea to document the bug with workaround and to remove 1.17 version from supported versions.

@travisghansen
Copy link

I hit the issue with different combinations of kube/kubectl for the record. I should note, I manage the crds with argocd so when upgrade/downgrade the chart version I simultaneously upgrade/downgrade the crds.

@tanxiaoning007
Copy link

I don’t think we need to add x-kubernetes-preserve-unknown-fields to volumeClaimTemplates, because we sometimes need to use local storage to deploy eck for testing.

--- crds-orig.yaml	2021-08-12 15:06:03.933995197 +0800
+++ crds.yaml	2021-08-12 15:00:34.561085304 +0800
@@ -2202,7 +2202,6 @@ spec:
                               type: object
                           type: object
                         type: array
-                        x-kubernetes-preserve-unknown-fields: true
                     required:
                       - name
                     type: object

@thbkrkr
Copy link
Contributor Author

thbkrkr commented Aug 12, 2021

I don’t think we need to add x-kubernetes-preserve-unknown-fields to volumeClaimTemplates

I forgot this one, it might be a good option. This avoids the bug and also the obscure error that we can get with removing type: array.

Test with an object instead of an array for the volumeClaimTemplates

apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 7.14.0
  nodeSets:
  - name: default
    count: 1
    config:
      node.store.allow_mmap: false
    volumeClaimTemplates:
      metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 5Gi
        storageClassName: standard

k8s 1.16 with kubectl > 1.16 (where the bug occurs)

> k version --short                                                            
Client Version: v1.17.17
Server Version: v1.16.15

# CRDs => the bug occurs
error: SchemaError(co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates): array should have exactly one sub-item

# CRDs without type:array => obscure error
Error from server: error when creating "q.yml": admission webhook "elastic-es-validation-v1.k8s.elastic.co" denied the request: v1.Elasticsearch.Spec: v1.ElasticsearchSpec.NodeSets: []v1.NodeSet: v1.NodeSet.VolumeClaimTemplates: []v1.PersistentVolumeClaim: decode slice: expect [ or n, but found {, error found in #10 byte of ...|mplates":{"metadata"|..., bigger context ...|count":1,"name":"default","volumeClaimTemplates":{"metadata":{"name":"elasticsearch-data"},"spec":{"|...

# CRDs without x-kubernetes-preserve-unknown-fields:true
error: error validating "q.yml": error validating data: ValidationError(Elasticsearch.spec.nodeSets[0].volumeClaimTemplates): invalid type for co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false

k8s 1.19

> k version --short
Client Version: v1.20.7
Server Version: v1.19.9-gke.1900

# CRDs
The Elasticsearch "quickstart" is invalid: spec.nodeSets.volumeClaimTemplates: Invalid value: "object": spec.nodeSets.volumeClaimTemplates in body must be of type array: "object"

# CRDs without type:array => obscure error
Error from server: error when creating "q.yml": admission webhook "elastic-es-validation-v1.k8s.elastic.co" denied the request: v1.Elasticsearch.Spec: v1.ElasticsearchSpec.NodeSets: []v1.NodeSet: v1.NodeSet.VolumeClaimTemplates: []v1.PersistentVolumeClaim: decode slice: expect [ or n, but found {, error found in #10 byte of ...|mplates":{"metadata"|..., bigger context ...|count":1,"name":"default","volumeClaimTemplates":{"metadata":{"name":"elasticsearch-data"},"spec":{"|...

# CRDs without x-kubernetes-preserve-unknown-fields:true
error: error validating "q.yml": error validating data: ValidationError(Elasticsearch.spec.nodeSets[0].volumeClaimTemplates): invalid type for co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false

Test with an invalid field spex instead of spec

apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 7.14.0
  nodeSets:
  - name: default
    count: 1
    config:
      node.store.allow_mmap: false
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spex:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 5Gi
        storageClassName: standard

k8s 1.16 with kubectl > 1.16 (where the bug occurs)

> k version --short                                                            
Client Version: v1.17.17
Server Version: v1.16.15

# CRDs => the bug occurs
error: SchemaError(co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates): array should have exactly one sub-item

# CRDs without type:array
Error from server (Elasticsearch.elasticsearch.k8s.elastic.co "quickstart" is invalid: spex: Invalid value: "spex": spex field found in the kubectl.kubernetes.io/last-applied-configuration annotation is unknown. This is often due to incorrect indentation in the manifest.): error when creating "q.yml": admission webhook "elastic-es-validation-v1.k8s.elastic.co" denied the request: Elasticsearch.elasticsearch.k8s.elastic.co "quickstart" is invalid: spex: Invalid value: "spex": spex field found in the kubectl.kubernetes.io/last-applied-configuration annotation is unknown. This is often due to incorrect indentation in the manifest.

# CRDs without x-kubernetes-preserve-unknown-fields:true
error: error validating "q.yml": error validating data: ValidationError(Elasticsearch.spec.nodeSets[0].volumeClaimTemplates[0]): unknown field "spex" in co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates; if you choose to ignore these errors, turn validation off with --validate=false

k8s 1.19

> k version --short                                                         
Client Version: v1.20.7
Server Version: v1.19.9-gke.1900

# CRDs
Error from server (Elasticsearch.elasticsearch.k8s.elastic.co "quickstart" is invalid: spex: Invalid value: "spex": spex field found in the kubectl.kubernetes.io/last-applied-configuration annotation is unknown. This is often due to incorrect indentation in the manifest.): error when creating "q.yml": admission webhook "elastic-es-validation-v1.k8s.elastic.co" denied the request: Elasticsearch.elasticsearch.k8s.elastic.co "quickstart" is invalid: spex: Invalid value: "spex": spex field found in the kubectl.kubernetes.io/last-applied-configuration annotation is unknown. This is often due to incorrect indentation in the manifest.

# CRDs without type:array
Error from server (Elasticsearch.elasticsearch.k8s.elastic.co "quickstart" is invalid: spex: Invalid value: "spex": spex field found in the kubectl.kubernetes.io/last-applied-configuration annotation is unknown. This is often due to incorrect indentation in the manifest.): error when creating "q.yml": admission webhook "elastic-es-validation-v1.k8s.elastic.co" denied the request: Elasticsearch.elasticsearch.k8s.elastic.co "quickstart" is invalid: spex: Invalid value: "spex": spex field found in the kubectl.kubernetes.io/last-applied-configuration annotation is unknown. This is often due to incorrect indentation in the manifest

# CRDs without x-kubernetes-preserve-unknown-fields:true
error: error validating "q.yml": error validating data: ValidationError(Elasticsearch.spec.nodeSets[0].volumeClaimTemplates[0]): unknown field "spex" in co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates; if you choose to ignore these errors, turn validation off with --validate=false

@morningspace
Copy link

I did not see this issue on Kubernetes 1.21

# kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.11", GitCommit:"ea5f00d93211b7c80247bf607cfa422ad6fb5347", GitTreeState:"clean", BuildDate:"2020-08-13T15:20:25Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-07-12T20:40:20Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}

But on Kubernetes 1.19, it can be reproduced.

@barkbay
Copy link
Contributor

barkbay commented Aug 17, 2021

We are still in the process of evaluating a fix and a workaround. A good candidate would be to remove the x-kubernetes-preserve-unknown-fields field from the volumeClaimTemplates node.

From a user perspective it would mean:

  • Validation is still enabled but with a slightly different message: invalid type for co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates: got "map", expected "array" See also @thbkrkr's comment here.
  • Unexpected field in the volumeClaimTemplates node would be rejected on the client side, by kubectl, while it would be rejected by the validation webhook today:
    error: error validating "config/samples/elasticsearch/elasticsearch-unknown-field.yaml": error validating data: ValidationError(Elasticsearch.spec.nodeSets[0].volumeClaimTemplates[0]): unknown field "foo" in co.elastic.k8s.elasticsearch.v1.Elasticsearch.spec.nodeSets.volumeClaimTemplates; if you choose to ignore these errors, turn validation off with --validate=false

One caveat is that once the CRD has been installed it does not seem possible to upgrade anymore, either with Helm or by using kubectl replace.
A workaround is to patch manually the CRD with the following command before proceeding with the upgrade from 1.7.0:

kubectl patch crd elasticsearches.elasticsearch.k8s.elastic.co --type json -p='[{"op": "remove", "path": "/spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/nodeSets/items/properties/volumeClaimTemplates/x-kubernetes-preserve-unknown-fields"}]'

@barkbay
Copy link
Contributor

barkbay commented Aug 17, 2021

@morningspace @travisghansen The fix for K8S 1.19 is actually available since 1.19.5. Could you provide the exact version of K8S you're using (using kubectl version) please ?
Thanks !

@travisghansen
Copy link

Interesting! thanks for doing the research on that front. I can try updating to a newer version of 1.19 and let you know how it goes.

kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T21:04:39Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-11T13:09:17Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}

@travisghansen
Copy link

That seems to have done the trick. Let me know if you want me to run any other tests before I go ahead and move the clusters to 1.20 and 1.21 shortly after that.

As an aside, would it be possible to remove the empty properties: {} blocks from the CRDs? ArgoCD detects it as a diff as the cluster apparently wipes the fields out completely.

@barkbay
Copy link
Contributor

barkbay commented Aug 18, 2021

As an aside, would it be possible to remove the empty properties: {} blocks from the CRDs? ArgoCD detects it as a diff as the cluster apparently wipes the fields out completely.

Unfortunately we have to insert those blocks in the Elasticsearch CRD for backward compatibility, see #4679

@barkbay
Copy link
Contributor

barkbay commented Aug 23, 2021

Fixed in 1.7.1, see https://www.elastic.co/guide/en/cloud-on-k8s/current/release-highlights-1.7.1.html

@barkbay barkbay closed this as completed Aug 23, 2021
danfengliu added a commit to danfengliu/velero that referenced this issue Oct 16, 2022
1. Fix kubectl client and server mismatch version issue, ref to elastic/cloud-on-k8s#4737
2.
Signed-off-by: danfengl <danfengl@vmware.com>
danfengliu added a commit to danfengliu/velero that referenced this issue Oct 16, 2022
1. Fix kubectl client and server mismatch version issue, ref to elastic/cloud-on-k8s#4737
2.
Signed-off-by: danfengl <danfengl@vmware.com>
danfengliu added a commit to danfengliu/velero that referenced this issue Oct 16, 2022
1. Fix issue of kubectl client and server mismatch version in GitAction E2E job, refer to elastic/cloud-on-k8s#4737;
2. Adapt to the changing of keyword for involing Kpoia as fs backupper, new installtion breaked upgrade and migration tests;
3. Accept multi-labels of Ginkgo focus as input of E2E make command;
4. Distinguish workload namespace from each tests;
5. Fix issues of not using Velero util to perform Velero commands;
6. Add snapshot test case for NamespaceMapping E2E test;
7. Collect debug bundle after catching error of Velero backup or restore command;
Signed-off-by: danfengl <danfengl@vmware.com>
danfengliu added a commit to danfengliu/velero that referenced this issue Oct 16, 2022
1. Fix issue of kubectl client and server mismatch version in GitAction E2E job, refer to elastic/cloud-on-k8s#4737;
2. Adapt to the changing of keyword for involing Kpoia as fs backupper, new installtion breaked upgrade and migration tests;
3. Accept multi-labels of Ginkgo focus as input of E2E make command;
4. Distinguish workload namespace from each tests;
5. Fix issues of not using Velero util to perform Velero commands;
6. Add snapshot test case for NamespaceMapping E2E test;
7. Collect debug bundle after catching error of Velero backup or restore command;
Signed-off-by: danfengl <danfengl@vmware.com>
wenterjoy pushed a commit to wenterjoy/velero that referenced this issue Dec 21, 2022
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Clean backups after each test and fix exlude label test issue

1. Clean backups after each test to avoid exceeding limitation of storage capability during E2E test;
2. Fix exlude label test issue that namespace should not be included and excluded at the same time no matter by which way to config.

Signed-off-by: danfengl <danfengl@vmware.com>

Remove reference to non-existent doc

fixes vmware-tanzu#4923

Signed-off-by: Daniel Jiang <jiangd@vmware.com>

Uploader Implementation: Kopia backup and restore

Signed-off-by: Ming <mqiu@vmware.com>

update upstream codes

Signed-off-by: Ming <mqiu@vmware.com>

refactor gc controller with kubebuilder

Signed-off-by: allenxu404 <qix2@vmware.com>

add OADP to adopters list

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

fix typo

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

check vsc null pointer

Signed-off-by: 李龙峰 <lilongfeng@inspur.com>

kopia lib

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Move the code in pkg/restic/common.go to the proper package

Move the code in pkg/restic/common.go to the proper package

Fixes vmware-tanzu#5243

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

Don't panic when storageClassName is not set in stateful sets

Signed-off-by: divolgin <dmitriy@replicated.com>

Controller refactor code modifications.

1. Add some refactored controllers initiation code into enabledRuntimeControllers.
2. Add reconciler struct initiation function for DownloadRequest and ServerStatusRequest controllers.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

equip gc controller with configurable frequency

Signed-off-by: allenxu404 <qix2@vmware.com>

Update the website of velero to refelct the change of PM (vmware-tanzu#5260)

Signed-off-by: Daniel Jiang <jiangd@vmware.com>

Signed-off-by: Daniel Jiang <jiangd@vmware.com>

Migrate backup sync controller from code-generator to kubebuilder (vmware-tanzu#5218)

* Migrate backup sync controller from code-generator to kubebuilder

1. use kubebuilder's reconcile logic to replace controller's old logic.
2. use ginkgo and gomega to replace testing.
3. modify BSL reconciler registration method.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

* Add Option for PeriodicalEnqueueSource.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>

Refactor BackupItemAction to backupitemaction/v1

Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>

Add changelog

Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>

Add missing file

Signed-off-by: Hoang, Phuong <phuong.n.hoang@dell.com>

renamed update files so that protoc is run before CRD update.

If generating protoc go files from scratch, `make update` fails if
CRD generation happens first, since the protoc-generated
files are imported by the api go files.
protoc generation needs to happen earlier.

Signed-off-by: Scott Seago <sseago@redhat.com>

updated to newer protoc/protoc-gen-go

Signed-off-by: Scott Seago <sseago@redhat.com>

Updated plugin/framework server files to cope with protoc changes

Signed-off-by: Scott Seago <sseago@redhat.com>

some additional debug logs

Signed-off-by: Scott Seago <sseago@redhat.com>

fix edge cases for already exists resources

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog file

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

update changelog filename

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

change log level and error type

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

Uploader Implementation: Restic backup and restore

Signed-off-by: Ming <mqiu@vmware.com>

merge upstream code

Signed-off-by: Ming <mqiu@vmware.com>

Add enable API group on k8s resources E2E test upon issue vmware-tanzu#5146

Signed-off-by: danfengl <danfengl@vmware.com>

Check for empty ns list before checking nslist[0]

In determining whether a backup includes all namespaces, item_collector
checks for an empty string in the first element of the ns list. If processing
includes+excludes results in an empty list, treat this as another case
of a not-all-namespaces backup rather than crashing velero.

Signed-off-by: Scott Seago <sseago@redhat.com>

Kopia Pod Volume Backup/Restore (vmware-tanzu#5259)

* kopia pvbr

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

chore: remove duplicate word in comments

Signed-off-by: Abirdcfly <fp544037857@gmail.com>

add CSISnapshotTimeout for describe backup

Signed-off-by: cleverhu <shouping.hu@daocloud.io>

kopia pvbr smoking test changes

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

trim isAlreadyExistsError for restore

Signed-off-by: cleverhu <shouping.hu@daocloud.io>

refactor repo ensurer

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Add credentials to volume snapshot locations.

This is analogous to the BSL creds work that was done previously, but for VSLs instead.

Signed-off-by: Scott Seago <sseago@redhat.com>

fix issue 4874

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

issue fix 4874 update

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

add shorthand for labels columns

Signed-off-by: cleverhu <shouping.hu@daocloud.io>

Fix PVB finds wrong parent snapshot

Signed-off-by: Ming <mqiu@vmware.com>

Fix restore cmd extraflag overwrite bug

Signed-off-by: Ming <mqiu@vmware.com>

Don't move velero v1 plugins to new proto dir

To preserve backwards compatibility, don't move velero
v1 plugins to new proto dir.

Signed-off-by: Scott Seago <sseago@redhat.com>

Change the status of restore to completed from partially failed when restore empty backup

Signed-off-by: allenxu404 <qix2@vmware.com>

plugin/clientmgmt refactoring for BackupItemAction v1

Refactors the clientmgmt package to implement the plugin versioning changes
needed for BIA v1 and overall package refactoring to support plugin versions
in different packages. This should be all that's needed to move on to
v2 for BackupItemAction. The remaining plugin types still need similar
refactoring to what's being done here for BIA before attempting a
v2 implementation.

Signed-off-by: Scott Seago <sseago@redhat.com>

plugin/framework refactoring for BackupItemAction v1

Refactors the framework  package to implement the plugin versioning changes
needed for BIA v1 and overall package refactoring to support plugin versions
in different packages. This should be all that's needed to move on to
v2 for BackupItemAction. The remaining plugin types still need similar
refactoring to what's being done here for BIA before attempting a
v2 implementation.

Signed-off-by: Scott Seago <sseago@redhat.com>

Remove github.com/apex/log logger.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

cancel downloadRequest checkFunc if timeout passed

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

fix issue 5352

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

fix issue 5358

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Clarify the help message for the default value of parameter --snapshot-volumes, when it's not set.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Support pause/unpause schedules

Support pause/unpause schedule

Fixes vmware-tanzu#2363

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

RestoreItemAction v1 refactoring for plugin api versioning

Signed-off-by: Scott Seago <sseago@redhat.com>

add useOwnerReferencesInBackup field doc

Signed-off-by: cleverhu <shouping.hu@daocloud.io>

Fix issue of fail to get command output for test verification

When running velero backup/restore command, if the command result is "PartiallyFailed", it won't reture error as design, but we do need to know the debug information to figure out the reason, so the command output is needed to get the command result, then further action will be taken.

Signed-off-by: danfengl <danfengl@vmware.com>

rename pvbr param (vmware-tanzu#5370)

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

plugin versioning v1 refactor for VolumeSnapshotter

Signed-off-by: Scott Seago <sseago@redhat.com>

Remove snapshot related lister, informer and client from backup controller. (vmware-tanzu#5299)

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

 Add schedule backup timing E2E test

Signed-off-by: danfengl <danfengl@vmware.com>

fix issue 5386

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Added backupController's UT to test the prepareBackupRequest() method BackupStorageLocation processing logic

Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>

add change log

Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>

Add Kopia support for Velero installation in E2E test

Signed-off-by: danfengl <danfengl@vmware.com>

Add backup opt-in/opt-out E2E test

Signed-off-by: danfengl <danfengl@vmware.com>

Fix Test_prepareBackupRequest_BackupStorageLocation UT failure.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Fix restore error with flag namespace-mappings (vmware-tanzu#5377)

Signed-off-by: Ming <mqiu@vmware.com>

A little note about TTL expiration

I think is necessary this little comment about TTL expiration, because it can be confusing when the expiration time has passed and the data allocated and the snapshots are not erased at that time.

Signed-off-by: Aaron Arias <33655005+aaronariasperez@users.noreply.github.com>

Add backup status checking schedule controller. (vmware-tanzu#5283)

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>

Exclude "csinodes.storage.k8s.io" and "volumeattachments.storage.k8s.io" from backup and restore by default. (vmware-tanzu#5064)

Signed-off-by: Xun Jiang <jxun@vmware.com>

Signed-off-by: Xun Jiang <jxun@vmware.com>
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>

Fix issues of E2E test for API group, migration and pv opt-out backup

1. One of API group test failed due to other PR with fix for treat PartiallyFailed as failure to collect debugbundle without wrap the origin error;
2. Fix migration test issue of wrong velero cli for backup commmand;
3. Fix wrong pararmeter name issue for pv opt-out backup test.

Signed-off-by: danfengl <danfengl@vmware.com>

update velero using klog to version v2.9.0 (vmware-tanzu#5396)

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>

Change B/R describe cli to support kopia

Signed-off-by: allenxu404 <qix2@vmware.com>

Update Maintainers with the new PM pradeepkchaturvedi

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Maintainers with the new PM pradeepkchaturvedi

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

rename daemonset (vmware-tanzu#5390)

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Skip the exclusion check for additional resources returned by BIA

This commit provides a simple contract that if the BackupItemAction
plugin sets an annotation in a resource it has handled, the additional
items will considered "must include" i.e. each of them will skip the
"include-exclude" filter, such that the plugin developer can make sure
they are included in the backup disregarding the filter setting in the
bakcup CR.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>

moved RIA execute input/output structs back to velero package

The RIA refactoring moved velero.RestoreItemAction into a separate
(restoreitemaction) v1 package. Unfortunately, this change would require
plugins to make code changes to locate the RestoreItemActionExecuteInput
and RestoreItemActionExecuteOutput structs.

This commit restores those structs to the original velero package, leaving
just the RestoreItemAction interface in the new v1 package.

Signed-off-by: Scott Seago <sseago@redhat.com>

fix-ctx-issue

1. Fix issue of kubectl client and server mismatch version in GitAction E2E job, refer to elastic/cloud-on-k8s#4737;
2. Adapt to the changing of keyword for involing Kpoia as fs backupper, new installtion breaked upgrade and migration tests;
3. Accept multi-labels of Ginkgo focus as input of E2E make command;
4. Distinguish workload namespace from each tests;
5. Fix issues of not using Velero util to perform Velero commands;
6. Add snapshot test case for NamespaceMapping E2E test;
7. Collect debug bundle after catching error of Velero backup or restore command;
Signed-off-by: danfengl <danfengl@vmware.com>

Pod Volume Backup/Restore Refactor: Rename Init Helper (vmware-tanzu#5432)

* restore helper refactor

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

* resolve codespell

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

remove restic from code

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Change subcommand restic to repo

Signed-off-by: allenxu404 <qix2@vmware.com>

Bump Go to 1.18

Signed-off-by: Gábor Lipták <gliptak@gmail.com>

upgrade velero docker image

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

fix lint errors

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

fix lint loop iterator problem

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Add CSI VolumeSnapshot client back. (vmware-tanzu#5449)

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Add nil check before execution of csi snapshot delete

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

add changelog

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

change CSISnapshotTimeout from point to normal var

Signed-off-by: cleverhu <shouping.hu@daocloud.io>

Fix CVE-2022-27191

https://nvd.nist.gov/vuln/detail/CVE-2022-27191
updates to:
  * golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd
adds:
  * golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2

Signed-off-by: Wesley Hayutin <weshayutin@gmail.com>

Resolve gopkg.in/yaml.v3 vulnerabilities

as shown from https://security.snyk.io/package/golang/gopkg.in%2Fyaml.v3

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

increase ensure restic repository timeout (vmware-tanzu#5335)

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>

Fix label naming  issue for restore helper (vmware-tanzu#5469)

Signed-off-by: danfengl <danfengl@vmware.com>

Add more nil pointer check for CSI related code in backup controller. (vmware-tanzu#5388)

Add some corner cases checking for CSI snapshot in backup controller.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

update k8s.io dependencies to 0.24.0
* This also required an update to use github.com/bombsimon/logrusr/v3
* 'WithClusterName' removed as per the k8s doc reasoning:
* https://github.com/kubernetes/apimachinery/blob/release-1.24/pkg/apis/meta/v1/types.go\#L257-L259
* ('ClusterName was a legacy field that was always cleared by the system and never used')
* Test was updated accordingly

Signed-off-by: Kira Boyle <kira@replicated.com>

Change name of changelog file

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

Trivial correction to 1.7 upgrade instructions

The container name for the aws plugin is `velero-plugin-for-aws`. There was an extra `velero-` prefix in the doc.

Signed-off-by: Dave Pedu <dave@davepedu.com>

Remove redundancy code block left by vmware-tanzu#5388. (vmware-tanzu#5483)

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

refactor pvbr doc

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Add credential file store in the backup deletion controller.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

fix backup failure with self-signed certification

Signed-off-by: Ming <mqiu@vmware.com>

remove restic in docs (vmware-tanzu#5499)

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

repo config for s3 compatible store

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

issue fix 5505

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

fix restic backup progress error

Signed-off-by: Ming <mqiu@vmware.com>

Fix GCP StorageClass used for E2E testing's YAML syntax error. (vmware-tanzu#5536)

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>

Enhance the restore priorities list to support specifying the low prioritized resources that need to be restored in the last

Enhance the restore priorities list to support specifying the low prioritized resources that need to be r
estored in the last

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

feat: dependabot workflow automation for updating dependency

Signed-off-by: Pratik Raj <Rajpratik71@gmail.com>

Fix pointer deference to string in error message

Signed-off-by: Faizan Ahmad <faizan@obmondo.com>

add VSL credentials documentation.

Signed-off-by: Scott Seago <sseago@redhat.com>

Add v1.10 velero upgrade doc

Signed-off-by: Ming <mqiu@vmware.com>

fix main TOC for 1.10

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

add note for left over resources

Signed-off-by: Ming <mqiu@vmware.com>

Modify dependabot rules by only fix security issues

Signed-off-by: Ming <mqiu@vmware.com>

remove gofrs uuid

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Upload Velero build package saved from build image to Google cloud storage

Signed-off-by: danfengl <danfengl@vmware.com>

Fix controller problematic log output

Signed-off-by: Ming <mqiu@vmware.com>

Add compile restic binary for CVE fix

Signed-off-by: Ming <mqiu@vmware.com>

Rename secret for Google cloud storage

Signed-off-by: danfengl <danfengl@vmware.com>

Fix restic cross platform compile

Signed-off-by: Ming <mqiu@vmware.com>

debug opt in out

Signed-off-by: danfengl <danfengl@vmware.com>

Update upgrade test for 1.10

Signed-off-by: danfengl <danfengl@vmware.com>

Save vvelero image tarball only for velero namespace in docker registry (vmware-tanzu#5581)

Signed-off-by: danfengl <danfengl@vmware.com>

1.10 changelog and doc (vmware-tanzu#5583)

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

update 1.10 readme

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Add Velero behind proxy document.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Add Velero File System Backup Performance Guide

Signed-off-by: Ming <mqiu@vmware.com>

update 1.10 release notes

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Update the Valero channel hash-name for Kubernetes Slack.

Signed-off-by: Nikhil Maheshwari <nikhil.m2498@gmail.com>

[Main Cherry-Pick]Enhance upgrade velero bash script

Signed-off-by: Ming <mqiu@vmware.com>

Add pause/unpause schedule e2e test (vmware-tanzu#5609)

Signed-off-by: danfengl <danfengl@vmware.com>

Restore ClusterBootstrap before Cluster

Restore ClusterBootstrap before Cluster otherwise a new default ClusterBootstrap object is create for the cluster

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

remove versions from kind matrix

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Bump goreleaser to v1.12.3

Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>

Fix git action issue for setup-gcloud

Signed-off-by: danfengl <danfengl@vmware.com>

Add verification for CRD installation

Signed-off-by: danfengl <danfengl@vmware.com>

Update the api-types doc

This commit makes update to the update api-types docs to add missing
fields.
It also includes misc changes to the inline comment, and a change to
Dockerfile to make sure the build-image works on mac

Signed-off-by: Daniel Jiang <jiangd@vmware.com>

cut v1.10 docs on main

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Add sleep before backing up new born CRD

Signed-off-by: danfengl <danfengl@vmware.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct plugin name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct plugin name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

try to fix link check error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

reversed the order of name and kind

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct plugin name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct plugin name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

try to fix link check error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

Fix CVEs scanned by trivy

Signed-off-by: Ming <mqiu@vmware.com>

Fix links to compatibility matrix

Signed-off-by: Lukas Hass <lukas@slucky.de>

Update Velero and k8s version compatibility matrix.

Due to CSIDriver is checked for Restic volume mounting path, and CSIDriver is GA and moved to storage v1 group in k8s v1.18, so update Velero v1.8, v1.9 and v1.10 compatible k8s version to 1.18-latest.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Item action progress monitoring design

This design combines the requirements for the previously-merged
Upload Progress Monitoring design with the requirements for the
(not submitted but discussed in meetings and slack) proposed asynchronous
item action plugins into one integrated proposal.

Signed-off-by: Scott Seago <sseago@redhat.com>

BackupItemAction v2 design

This includes necessary changes to support async item action monitoring.

Signed-off-by: Scott Seago <sseago@redhat.com>

reversethe order of name and kind

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

RestoreItemAction v2 design

Signed-off-by: Scott Seago <sseago@redhat.com>

VolumeSnapshotter v2 API design

Signed-off-by: Scott Seago <sseago@redhat.com>

Prevent nil panic on exec restore hooks (vmware-tanzu#5675)

* Prevent nil panic on exec restore hooks

Signed-off-by: Dylan Murray <dymurray@redhat.com>

refactor pvbr doc

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Add credential file store in the backup deletion controller.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

fix backup failure with self-signed certification

Signed-off-by: Ming <mqiu@vmware.com>

remove restic in docs (vmware-tanzu#5499)

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

repo config for s3 compatible store

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

issue fix 5505

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

fix restic backup progress error

Signed-off-by: Ming <mqiu@vmware.com>

Fix GCP StorageClass used for E2E testing's YAML syntax error. (vmware-tanzu#5536)

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
Co-authored-by: Xun Jiang <blackpiglet@gmail.com>

Enhance the restore priorities list to support specifying the low prioritized resources that need to be restored in the last

Enhance the restore priorities list to support specifying the low prioritized resources that need to be r
estored in the last

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

Update Community meetings times

vmware-tanzu#5091

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

feat: dependabot workflow automation for updating dependency

Signed-off-by: Pratik Raj <Rajpratik71@gmail.com>

Fix pointer deference to string in error message

Signed-off-by: Faizan Ahmad <faizan@obmondo.com>

add VSL credentials documentation.

Signed-off-by: Scott Seago <sseago@redhat.com>

Add v1.10 velero upgrade doc

Signed-off-by: Ming <mqiu@vmware.com>

fix main TOC for 1.10

Signed-off-by: OrlinVasilev <ovasilev@vmware.com>

add note for left over resources

Signed-off-by: Ming <mqiu@vmware.com>

Modify dependabot rules by only fix security issues

Signed-off-by: Ming <mqiu@vmware.com>

remove gofrs uuid

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Upload Velero build package saved from build image to Google cloud storage

Signed-off-by: danfengl <danfengl@vmware.com>

Fix controller problematic log output

Signed-off-by: Ming <mqiu@vmware.com>

Add compile restic binary for CVE fix

Signed-off-by: Ming <mqiu@vmware.com>

Rename secret for Google cloud storage

Signed-off-by: danfengl <danfengl@vmware.com>

Fix restic cross platform compile

Signed-off-by: Ming <mqiu@vmware.com>

debug opt in out

Signed-off-by: danfengl <danfengl@vmware.com>

Update upgrade test for 1.10

Signed-off-by: danfengl <danfengl@vmware.com>

Save vvelero image tarball only for velero namespace in docker registry (vmware-tanzu#5581)

Signed-off-by: danfengl <danfengl@vmware.com>

1.10 changelog and doc (vmware-tanzu#5583)

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

update 1.10 readme

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Add Velero behind proxy document.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Add Velero File System Backup Performance Guide

Signed-off-by: Ming <mqiu@vmware.com>

update 1.10 release notes

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Update the Valero channel hash-name for Kubernetes Slack.

Signed-off-by: Nikhil Maheshwari <nikhil.m2498@gmail.com>

[Main Cherry-Pick]Enhance upgrade velero bash script

Signed-off-by: Ming <mqiu@vmware.com>

Add pause/unpause schedule e2e test (vmware-tanzu#5609)

Signed-off-by: danfengl <danfengl@vmware.com>

Restore ClusterBootstrap before Cluster

Restore ClusterBootstrap before Cluster otherwise a new default ClusterBootstrap object is create for the cluster

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

remove versions from kind matrix

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Bump goreleaser to v1.12.3

Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>

Fix git action issue for setup-gcloud

Signed-off-by: danfengl <danfengl@vmware.com>

Add verification for CRD installation

Signed-off-by: danfengl <danfengl@vmware.com>

Update the api-types doc

This commit makes update to the update api-types docs to add missing
fields.
It also includes misc changes to the inline comment, and a change to
Dockerfile to make sure the build-image works on mac

Signed-off-by: Daniel Jiang <jiangd@vmware.com>

cut v1.10 docs on main

Signed-off-by: Lyndon-Li <lyonghui@vmware.com>

Add sleep before backing up new born CRD

Signed-off-by: danfengl <danfengl@vmware.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct plugin name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct plugin name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

try to fix link check error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

reversed the order of name and kind

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct plugin name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image repository by configmap

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct changelog name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

modified according review comments

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

change image replace rule to match all the cases

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

use single bit "," as the delimiter

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

removed  section of juding DELIMITER_KEY

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

corrected code spell error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

 remove "Job" from the conditional

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

correct plugin name

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

try to fix link check error

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

Fix CVEs scanned by trivy

Signed-off-by: Ming <mqiu@vmware.com>

Fix links to compatibility matrix

Signed-off-by: Lukas Hass <lukas@slucky.de>

Update Velero and k8s version compatibility matrix.

Due to CSIDriver is checked for Restic volume mounting path, and CSIDriver is GA and moved to storage v1 group in k8s v1.18, so update Velero v1.8, v1.9 and v1.10 compatible k8s version to 1.18-latest.

Signed-off-by: Xun Jiang <blackpiglet@gmail.com>

Item action progress monitoring design

This design combines the requirements for the previously-merged
Upload Progress Monitoring design with the requirements for the
(not submitted but discussed in meetings and slack) proposed asynchronous
item action plugins into one integrated proposal.

Signed-off-by: Scott Seago <sseago@redhat.com>

BackupItemAction v2 design

This includes necessary changes to support async item action monitoring.

Signed-off-by: Scott Seago <sseago@redhat.com>

reversethe order of name and kind

Signed-off-by: wenterjoy <zhaoxin26@lenovo.com>

RestoreItemAction v2 design

Signed-off-by: Scott Seago <sseago@redhat.com>

VolumeSnapshotter v2 API design

Signed-off-by: Scott Seago <sseago@redhat.com>

Prevent nil panic on exec restore hooks (vmware-tanzu#5675)

* Prevent nil panic on exec restore hooks

Signed-off-by: Dylan Murray <dymurray@redhat.com>

[Cherry-Pick]Fix error with Restic backup empty volumes

Signed-off-by: Ming <mqiu@vmware.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants