Compare commits

...

15 Commits

Author SHA1 Message Date
Wenkai Yin(尹文开)
a818c97dde Merge pull request #4602 from reasonerjt/cleanup-changelog-1.8
Clean up the change log for v1.8
2022-01-30 21:55:59 +08:00
Wenkai Yin(尹文开)
106f8a0376 Merge branch 'release-1.8' into cleanup-changelog-1.8 2022-01-30 21:42:43 +08:00
Wenkai Yin(尹文开)
3c636760af Merge pull request #4604 from reasonerjt/custom-plugin-doc-update-1.8
[Cherry pick to 1.8] Undeprecate the volumesnapshot plugin in the doc
2022-01-30 21:41:18 +08:00
Daniel Jiang
de1722b001 Undeprecate the volumesnapshot plugin in the doc
Since Itemsnapshotter plugin is still WIP,
this commit removes the reference and the deprecation of volumeSnapshotter plugin
from the doc to avoid confusion.
We'll update the doc when it's ready and we have a reference
implementation.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-01-30 16:15:53 +08:00
Daniel Jiang
0ceb3850e7 Clean up the change log
Clean up the cherrypicked changelog files for 1.8 branch

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-01-30 14:35:03 +08:00
qiuming
ae4cfa9e0e Merge pull request #4600 from danfengliu/cherry-pick-change-1.8-e2e-plugins-version-to-release-version
[cherry pick 1.8] Change 1.8 plugins version to release version
2022-01-29 18:30:51 +08:00
danfengl
796913c3cc cherry pick to 1.8 Change 1.8 plugins version to release version
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-29 10:19:22 +00:00
danfengliu
4a8d2b00fb Merge pull request #4596 from danfengliu/cherry-pick-add-1.8-plugin-to-e2e
[cherry-pick 1.8] Add 1.8 plugins map in e2e test
2022-01-29 17:43:29 +08:00
danfengl
ccf699171d Cherry pick to1.8 - Add 1.8 plugins map in e2e test
Signed-off-by: danfengl <danfengl@vmware.com>
2022-01-29 09:30:32 +00:00
qiuming
c11b682ec4 Merge pull request #4594 from qiuming-best/release-1.8
E2E SSR test add retry mechanism and logs
2022-01-29 17:06:51 +08:00
Ming
1d656a0aec E2E SSR test add retry mechanism and logs
Signed-off-by: Ming <mqiu@vmware.com>
2022-01-29 16:25:01 +08:00
Wenkai Yin(尹文开)
764143da8d Merge pull request #4568 from reasonerjt/fix-custom-plugin-doc-1.8
[Cherrypick-1.8] Remove reference of restic_restore_action.go from the doc
2022-01-26 10:21:01 +08:00
Daniel Jiang
dbce8a2e90 Remove reference of restic_restore_action.go from the doc
fixes #4554

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-01-24 15:26:53 +08:00
danfengliu
1a8e660ea3 Merge pull request #4535 from reasonerjt/pin-img
Pin the base image and golang img for v1.8.0 release
2022-01-17 09:38:46 +08:00
Daniel Jiang
3607bf0f72 Pin the base image and golang img for v1.8.0 release
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2022-01-16 23:54:59 +08:00
7 changed files with 38 additions and 22 deletions

View File

@@ -11,7 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=$BUILDPLATFORM golang:1.17 as builder-env
FROM --platform=$BUILDPLATFORM golang:1.17.6 as builder-env
ARG GOPROXY
ARG PKG
@@ -50,7 +50,8 @@ RUN mkdir -p /output/usr/bin && \
go build -o /output/${BIN} \
-ldflags "${LDFLAGS}" ${PKG}/cmd/${BIN}
FROM gcr.io/distroless/base-debian10:nonroot
# The digest for tag 'nonroot' at the time of the release
FROM gcr.io/distroless/base-debian10@sha256:6dc8ca7c3bbdb1a00fd8f1229b1b8c88986a5818b830e3a42d4946982dbbf18b
LABEL maintainer="Nolan Brubaker <brubakern@vmware.com>"

View File

@@ -31,6 +31,8 @@ Starting v1.8 velero will only support v1 CRD, therefore, it will only run on Ku
### All changes
* E2E SSR test add retry mechanism and logs (#4594, @mqiu)
* Update doc for v1.8 (#4517, @reasonerjt)
* E2E test on ssr object with controller namespace mix-ups (#4521, @mqiu)
* Check whether the volume is provisioned by CSI driver or not by the annotation as well (#4513, @ywk253100)
* Initialize the labels field of `velero backup-location create` option to avoid #4484 (#4491, @ywk253100)

View File

@@ -1 +0,0 @@
Update doc for v1.8

View File

@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM golang:1.17
FROM golang:1.17.6
ARG GOPROXY

View File

@@ -54,14 +54,10 @@ You will need to give your plugin(s) the full name when registering them by call
Velero supports the following kinds of plugins:
- **Object Store** - persists and retrieves backups, backup logs and restore logs
- **Item Snapshotter** - creates snapshots for Kubernetes objects during backup and restores the object from snapshots during restore. ItemSnapshotters
are typically used with the [Astrolabe](https://github.com/vmware-tanzu/astrolabe) framework.
- **Volume Snapshotter** - creates volume snapshots (during backup) and restores volumes from snapshots (during restore)
- **Backup Item Action** - executes arbitrary logic for individual items prior to storing them in a backup file
- **Restore Item Action** - executes arbitrary logic for individual items prior to restoring them into a cluster
- **Delete Item Action** - executes arbitrary logic based on individual items within a backup prior to deleting the backup
## Deprecated plugin kinds
- **Volume Snapshotter** - creates volume snapshots (during backup) and restores volumes from snapshots (during restore) VolumeSnapshotters
are deprecated and will be replaced with ItemSnapshotter/Astrolabe plugins.
## Plugin Logging
@@ -103,8 +99,7 @@ data:
# add your configuration data here as key-value pairs
```
Then, in your plugin's implementation, you can read this ConfigMap to fetch the necessary configuration. See the [restic restore action][3]
for an example of this -- in particular, the `getPluginConfig(...)` function.
Then, in your plugin's implementation, you can read this ConfigMap to fetch the necessary configuration.
## Feature Flags
@@ -118,4 +113,3 @@ Velero adds the `LD_LIBRARY_PATH` into the list of environment variables to prov
[1]: https://github.com/vmware-tanzu/velero-plugin-example
[2]: https://github.com/vmware-tanzu/velero/blob/main/pkg/plugin/logger.go
[3]: https://github.com/vmware-tanzu/velero/blob/main/pkg/restore/restic_restore_action.go

View File

@@ -73,16 +73,30 @@ func SSRTest() {
fmt.Sprintf("Failed to create an ssr object in %s namespace", VeleroCfg.VeleroNamespace))
ssrListResp := new(v1.ServerStatusRequestList)
By(fmt.Sprintf("Check ssr object in %s namespace", VeleroCfg.VeleroNamespace))
Expect(client.Kubebuilder.List(ctx, ssrListResp, &kbclient.ListOptions{Namespace: VeleroCfg.VeleroNamespace})).To(Succeed(),
fmt.Sprintf("Failed to list ssr object in %s namespace", VeleroCfg.VeleroNamespace))
Expect(len(ssrListResp.Items)).To(BeNumerically("==", 1),
fmt.Sprintf("Count of ssr object in %s namespace is not 1", VeleroCfg.VeleroNamespace))
Expect(ssrListResp.Items[0].Status.ServerVersion).NotTo(BeEmpty(),
fmt.Sprintf("ServerVersion of ssr object in %s namespace should not empty", VeleroCfg.VeleroNamespace))
Expect(ssrListResp.Items[0].Status.Phase == "Processed").To(BeTrue(),
fmt.Sprintf("Phase of ssr object in %s namespace should be Processed", VeleroCfg.VeleroNamespace))
err = waitutil.PollImmediate(5*time.Second, time.Minute,
func() (bool, error) {
if err = client.Kubebuilder.List(ctx, ssrListResp, &kbclient.ListOptions{Namespace: VeleroCfg.VeleroNamespace}); err != nil {
return false, fmt.Errorf("failed to list ssr object in %s namespace with err %v", VeleroCfg.VeleroNamespace, err)
}
if len(ssrListResp.Items) != 1 {
return false, fmt.Errorf("count of ssr object in %s namespace is not 1", VeleroCfg.VeleroNamespace)
}
if ssrListResp.Items[0].Status.ServerVersion == "" {
fmt.Printf("ServerVersion of ssr object in %s namespace should not empty, current response result %v\n", VeleroCfg.VeleroNamespace, ssrListResp)
return false, nil
}
if ssrListResp.Items[0].Status.Phase != "Processed" {
return false, fmt.Errorf("phase of ssr object in %s namespace should be Processed but got phase %s", VeleroCfg.VeleroNamespace, ssrListResp.Items[0].Status.Phase)
}
return true, nil
})
if err == waitutil.ErrWaitTimeout {
fmt.Printf("exceed test case deadline and failed to check ssr object in %s namespace", VeleroCfg.VeleroNamespace)
}
Expect(err).To(Succeed(), fmt.Sprintf("Failed to check ssr object in %s namespace", VeleroCfg.VeleroNamespace))
By(fmt.Sprintf("Check ssr object in %s namespace", testNS))
Expect(client.Kubebuilder.List(ctx, ssrListResp, &kbclient.ListOptions{Namespace: testNS})).To(Succeed(),

View File

@@ -70,10 +70,16 @@ var pluginsMatrix = map[string]map[string][]string{
"vsphere": {"velero/velero-plugin-for-aws:v1.3.0", "vsphereveleroplugin/velero-plugin-for-vsphere:v1.3.0"},
"gcp": {"velero/velero-plugin-for-gcp:v1.3.0"},
},
"v1.8": {
"aws": {"velero/velero-plugin-for-aws:v1.4.0"},
"azure": {"velero/velero-plugin-for-microsoft-azure:v1.4.0"},
"vsphere": {"velero/velero-plugin-for-aws:v1.4.0", "vsphereveleroplugin/velero-plugin-for-vsphere:v1.3.1"},
"gcp": {"velero/velero-plugin-for-gcp:v1.4.0"},
},
"main": {
"aws": {"velero/velero-plugin-for-aws:main"},
"azure": {"velero/velero-plugin-for-microsoft-azure:main"},
"vsphere": {"velero/velero-plugin-for-aws:main", "vsphereveleroplugin/velero-plugin-for-vsphere:v1.3.0"},
"vsphere": {"velero/velero-plugin-for-aws:main", "vsphereveleroplugin/velero-plugin-for-vsphere:v1.3.1"},
"gcp": {"velero/velero-plugin-for-gcp:main"},
},
}