Commit Graph

2643 Commits (f2fc1050940c57c461e51fb9bb88ab5d840a6337)

Author SHA1 Message Date
David L. Smith-Uchida 5bd70fd8ee
Merge pull request #3673 from zubron/release-1.6-changelog-docs
Add changelog and docs for v1.6.0
2021-04-12 14:54:26 -07:00
Bridget McErlean b7c166e019 Add changelog and docs for v1.6.0
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-04-12 16:00:34 -04:00
Carlisia Thompson 9f24587cef
Upgrade docs for v1.6.0-rc2 (#3662)
* Update changelog for v1.6.0-rc.2

Signed-off-by: Carlisia <carlisia@vmware.com>

* Update docs for v1.6.0-rc.2

Signed-off-by: Carlisia <carlisia@vmware.com>

* Upgrade docs for v1.6.0-rc2

Signed-off-by: Carlisia <carlisia@vmware.com>
2021-04-05 15:31:30 -04:00
Carlisia Thompson c65c17c559
Revert printer columns (#3652)
* Revert "Add additional printer columns for CRDs (#2881)"

This reverts commit 4178d9de32.

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add generated files

Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-31 14:46:37 -07:00
David L. Smith-Uchida 52d4a4693a
Merge pull request #3637 from zubron/release-1.6-rc1
Add changelog and docs for v1.6.0-rc.1
2021-03-29 09:32:23 -07:00
Bridget McErlean 5e72b87ef7 Add changelog and docs for v1.6.0-rc.1
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-29 10:56:05 -04:00
Bridget McErlean 9a9525725d
Allow Dockerfiles to be configurable (#3634)
For internal builds of Velero, we need to be able to specify an
alternative Dockerfile which uses an alternative image registry to pull
the base images from. This change adapts our Makefile such that both the
main Dockerfile and build image Dockerfile can be overridden.

We have some special handling for the build image to only build when the
Dockerfile has changed. In this case, we check whether a custom
Dockerfile has been provided, and always rebuild in that case. For
custom build image Dockerfiles, use a fixed tag rather than the one
based on commit SHA of the original file.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-26 17:30:40 -07:00
David L. Smith-Uchida 6a6734789e
Merge pull request #3618 from carlisia/c-uninstall
Make uninstall more robust and informative
2021-03-25 19:13:01 -07:00
Carlisia e498a23311 Remove unnecessary check
Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-25 17:26:44 -07:00
Carlisia 6decba9dda Adress Ashish's second review
Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-25 17:21:23 -07:00
David L. Smith-Uchida 242fba9c05
Runs vSphere tests with snapshots (#3629)
Added wait for vSphere plug-in uploads to complete

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-03-25 17:46:57 -04:00
Carlisia c64f45e044 Address Ashish's review
Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-25 14:31:21 -07:00
Carlisia ae47ac0948 Addressed Bridget's review
Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-25 13:36:49 -07:00
Carlisia 61c891f055 Addressed Dave's review
Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-25 13:24:30 -07:00
Carlisia 4fff2a4a5c Make uninstall more robust and informative
Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-23 18:00:38 -07:00
Jalaja 40a1b62c09 use region input to detect the Bucket region
Signed-off-by: Jalaja Ganapathy <jalaja@replicated.com>

Signed-off-by: Jalaja <jalaja@replicated.com>
2021-03-24 00:26:51 +00:00
Ondrej Vasko 8c53659d2a
Docs: Add OpenStack list item to plugin page
Signed-off-by: Ondrej Vasko <ondrej.vaskoo@gmail.com>
2021-03-21 20:50:01 +01:00
Ondrej Vasko 4f8dc45133
Docs: include OpenStack plugin in community supported providers
Signed-off-by: Ondrej Vasko <ondrej.vaskoo@gmail.com>
2021-03-21 16:48:51 +01:00
David L. Smith-Uchida e9c997839e
Added volume snapshot test for backup/restore. (#3592)
Snapshot tests can be run with Ginkgo focus "Snapshot" and restic tests with Ginkgo focus "Restic".
Restic and volume snapshot tests can now be run simultaneously.
Added check for kibishii app start after restore.
Consolidated kibishii pod checks into waitForKibishiiPods.
Added WaitForPods function to e2e/tests/common.goSnapshot tests are skipped automatically on kind clusters.
Fixed issue where velero_utils InstallVeleroServer was looking for the Restic daemon set in the "velero" namespace only (was ignoring io.Namespace)

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-03-17 14:38:47 -04:00
David L. Smith-Uchida 69334d782b
Merge pull request #3590 from carlisia/c-1.2
Upgrade e2e tests to new plugin versions (v1.2)
2021-03-16 11:24:37 -07:00
Carlisia Thompson 68320362d5
Improve GH Action PR assign + labeling (#3584)
Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-16 23:52:50 +08:00
Carlisia Thompson 50b7201508
Update upgrade docs (#3568)
* Update upgrade docs

Signed-off-by: Carlisia <carlisia@vmware.com>

* Update TOC

Signed-off-by: Carlisia <carlisia@vmware.com>

* The right next version is v1.6.0-beta.1

Signed-off-by: Carlisia <carlisia@vmware.com>

* Correct the listing order

Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-16 11:43:08 -04:00
Carlisia c032f12232 Upgrade e2e tests to new plugin versions (v1.2)
Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-15 16:06:16 -07:00
codegold79 c8dfd648bb
Restore progress reporting bug fix (#3583)
* Improve readbility and formatting of pkg/restore/restore.go

Signed-off-by: F. Gold <fgold@vmware.com>

* Update paths to include API group versions

Signed-off-by: F. Gold <fgold@vmware.com>

* Use full word, 'resource' instead of 'resrc'

Signed-off-by: F. Gold <fgold@vmware.com>
2021-03-15 18:51:07 -04:00
Bridget McErlean 70287f00f9
Install plugins for additional BSL in E2E test (#3582)
The test for multiple credentials assumed that the plugin for the
additional BSL provider was already installed. This will not be the case
when performing a clean install of Velero between tests.

This adds a new utility function to add the plugins that are necessary
for the additional BSL provider. It doesn't check which plugins are
already installed, it will just attempt to install and if the stderr
contains the message that it is a duplicate plugin, we ignore the error
and continue. This could be improved by instpecting the output from
`velero plugin get` but I opted for a quicker solution given the
upcoming release.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-14 23:23:41 -07:00
David L. Smith-Uchida b191140cf1
Updated Azure plugin in e2e tests to 1.1.2 (latest) (#3585)
Updated vSphere plugin in e2e tests to 1.1.0 (latest)

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-03-14 23:21:05 -07:00
Bridget McErlean 43f52f1aea Correctly render links with fragments on docs pages
Our previous render hook to create links would drop the fragment when
linking to headings within the current page or within other markdown
pages on the site.

This change parses the URL and formats the link correctly if it includes
a fragment. If the link is a header on the current page, it is rendered
as `http://<current-url>/#header`. If the link is a header on a
different page (e.g. page.md#header), it is rendered as
`http://<page-url>/#header`.

This change is taken from the following Hugo community support post:
https://discourse.gohugo.io/t/markdown-render-hooks-github-and-hugo-compatible-links/22543/14

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-11 19:01:51 -05:00
Ashish Amarnath 2cddda84c5
Upgrade restic from v0.9.6 to v0.12.0 (#3528)
* Upgrade restic from v0.9.6 to v0.12.0

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* add changelog

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2021-03-11 13:11:23 -05:00
Bridget McErlean 9ffffda11e
Use Credential from BSL for restic commands (#3489)
* Use Credential from BSL for restic commands

This change introduces support for restic to make use of per-BSL
credentials. It makes use of the `credentials.FileStore` introduced in
PR #3442 to write the BSL credentials to disk. To support per-BSL
credentials for restic, the environment for the restic commands needs to
be modified for each provider to ensure that the credentials are
provided via the correct provider specific environment variables.
This change introduces a new function `restic.CmdEnv` to check the BSL
provider and create the correct mapping of environment variables for
each provider.

Previously, AWS and GCP could rely on the environment variables in the
Velero deployments to obtain the credentials file, but now these
environment variables need to be set with the path to the serialized
credentials file if a credential is set on the BSL.

For Azure, the credentials file in the environment was loaded and parsed
to set the environment variables for restic. Now, we check if the BSL
has a credential, and if it does, load and parse that file instead.

This change also introduces a few other small improvements. Now that we
are fetching the BSL to check for the `Credential` field, we can use the
BSL directly to get the `CACert` which means that we can remove the
`GetCACert` function. Also, now that we have a way to serialize secrets
to disk, we can use the `credentials.FileStore` to get a temp file for
the restic repo password and remove the `restic.TempCredentialsFile`
function.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Add documentation for per-BSL credentials

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Address review feedback

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Address review comments

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-11 13:10:51 -05:00
Bridget McErlean 3656f45f55
Partially revert adding credentials to VSL (#3561)
We are no longer adding the Credentials field to the VSL so this reverts
part the change that added it (#3409).

The original PR also added the `snapshot-location set` command. This
command only included options for setting the credential but is part of
the work for #2426. Due to this, the command has been left in place
(with the credentials option removed) but has been hidden.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-11 10:10:27 -08:00
David L. Smith-Uchida 574bc16aa1
Merge pull request #3559 from zubron/add-e2e-test-for-multi-creds
Add E2E test for multiple credentials
2021-03-10 15:00:26 -08:00
Bridget McErlean 26c14933cc Address review comments
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-10 17:35:17 -05:00
Bridget McErlean 9ad1e898d6 Add E2E test for multiple credentials
This change adds an E2E test which exercises the mulitple credentials
feature added in #3489. The test creates a secret from the given
credentials and creates a BackupStorageLocation which uses those
credentials. A backup and restore is then performed to the default
BSL and to the newly created BSL.

This change adds new flags to the E2E test suite to configure the BSL
created and used in the test.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-10 16:43:47 -05:00
Ashish Amarnath 55a9b65c17
Prefer conditional waiting over magic sleep (#3527)
* prefer conditional waiting over magic sleep

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* update go modules

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2021-03-09 13:32:30 -08:00
David L. Smith-Uchida afe47aeec8
Proposed 1.7.0 roadmap (#3537)
Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-03-08 17:04:30 -08:00
Nolan Brubaker a76cacd2ca
Assign a smaller number of reviewers to PRs (#3543)
Using a smaller number of reviewers should increase responsiveness and
accountability.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2021-03-08 16:28:03 -08:00
Ashish Amarnath 5778752d2c
fix broken build (#3525)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2021-03-05 06:30:44 +08:00
Bridget McErlean b9a8c0b254
Pass configured BSL credential to plugin via config (#3442)
* Load credentials and pass to ObjectStorage plugins

Update NewObjectBackupStore to take a CredentialsGetter which can be
used to get the credentials for a BackupStorageLocation if it has been
configured with a Credential. If the BSL has a credential, use that
SecretKeySelector to fetch the secret, write the contents to a temp file
and then pass that file through to the plugin via the config map using
the key `credentialsFile`. This relies on the plugin being able to use
this new config field.

This does not yet handle VolumeSnapshotLocations or ResticRepositories.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Address code reviews

Add godocs and comments.
Improve formatting and test names.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Address code reviews

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-03-04 13:43:15 -08:00
Pranav Gaikwad c46fe71b12
Restore progress reporting (#3125)
* restore progress reporting

Signed-off-by: Pranav Gaikwad <pgaikwad@redhat.com>

* add restore statistics to describe restore

Signed-off-by: Pranav Gaikwad <pgaikwad@redhat.com>

* address feedback, include namespaces in the count

Signed-off-by: Pranav Gaikwad <pgaikwad@redhat.com>
2021-03-04 16:21:44 -05:00
Suraj Banakar ff1a31db4a
Support cli uninstall (#3399)
* Add uninstall cmd
- init fn to uninstall velero
- abstract dynamic client creation to a separate fn
- creates a separate client per unstructured resource
- add delete client for CRDs
- export appendUnstructured
- add uninstall command to main cmd
- export `podTemplateOption`
- uninstall resources in the reverse order of installation
- fallback to `velero` if no ns is provided during uninstall
- skip deletion if the resource doesn't exist
- handle resource not found error
- match log formatting with cli install logs
- add Delete fn to fake client
- fix import order
- add changelog
- add comment doc for CreateClient fn

Signed-off-by: Suraj Banakar <suraj@infracloud.io>

* Re-use uninstall code from test suite
- move helper functions out of test suite
- this is to prevent cyclic imports
- move uninstall helpers to uninstall cmd
- call them from test suite
- revert export of variables/fns from install code
- because not required anymore

Signed-off-by: Suraj Banakar <suraj@infracloud.io>

* Revert `PodTemplateOption` -> `podTemplateOption`

Signed-off-by: Suraj Banakar <suraj@infracloud.io>

* Use uninstall helper under VeleroUninstall
- as a wrapper
- fix import related errors in test suite

Signed-off-by: Suraj Banakar <suraj@infracloud.io>
2021-03-04 14:16:40 -05:00
Carlisia Thompson 11bfe82342
Convert DownloadRequest resource/controller to kubebuilder (#3004)
* Migrate DownloadRequest types to kubebuilder

Signed-off-by: Carlisia <carlisia@vmware.com>

* Migrate controller to kubebuilder

Signed-off-by: Carlisia <carlisia@vmware.com>

* Migrate download request cli to kubebuilder

Signed-off-by: Carlisia <carlisia@vmware.com>

* Format w make update

Signed-off-by: Carlisia <carlisia@vmware.com>

* Remove download file

Signed-off-by: Carlisia <carlisia@vmware.com>

* Remove kubebuilder from backup/restore apis

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix test description

Signed-off-by: Carlisia <carlisia@vmware.com>

* Import cleanups

Signed-off-by: Carlisia <carlisia@vmware.com>

* Refactor for controller runtime version update

Signed-off-by: Carlisia <carlisia@vmware.com>

* Remove year from the copyright

Signed-off-by: Carlisia <carlisia@vmware.com>

* Check for expiration regardless of phase

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix typos and godoc

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix test setup and fix a test case

Signed-off-by: Carlisia <carlisia@vmware.com>
2021-03-01 13:28:46 -05:00
codegold79 c80ad61bbc
Update in-code documentation to show resources can be specified with group name (#3498)
Signed-off-by: F. Gold <fgold@vmware.com>
2021-03-01 13:24:11 -05:00
Carlisia Thompson 5e18bd4d1e
(low priority) Add port fwding info to Tilt doc (#3424)
* Add port fwding info to Tilt doc

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix spelling

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix capitalization

Signed-off-by: Carlisia <carlisia@vmware.com>
2021-02-26 11:35:29 -05:00
Nolan Brubaker 1e16723da4
Combine CRD install verification into 1 job, and update k8s versions (#3448)
* Validate CRDs against latest Kubernetes versions

Add Kubernetes v1.19 and v1.20 series images, and consolidate the job
into a single file to reduce repetition.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Ignore job if the changes are only site/design

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix codespell error

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Cache Velero binary for reuse on workers

This will cache the Velero binary based on the PR number and a SHA256 of
the generated binary.

This way, the runners testing each version of Kubernetes do not need to
build it independently.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix GitHub event access

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Wrap output path in quotes

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Move code checkout to build step

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Also cache go modules

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix syntax issues

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Download cached binary on each node

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Use cached go modules on main CI

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2021-02-25 16:51:39 -08:00
Carlisia Thompson cf5d7d4701
(low priority) Update to Thompson (#3502)
* Update to Thompson

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix main page

Signed-off-by: Carlisia <carlisia@vmware.com>
2021-02-24 08:01:35 -05:00
Bridget McErlean f9fe40befc
Install CA certificates in Tilt Docker image (#3496)
HTTPS requests were failing due to the ca-certificates package not being
installed in the Tilt image.

This change takes the command to install this package from our main
Dockerfile (which also includes installing tzdata).

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-02-24 13:50:30 +08:00
Bridget McErlean 31246c569a
Update PR template to use checkbox task lists (#3492)
To use checkboxes, each line must be part of a list.

For more details, see:
https://docs.github.com/en/github/managing-your-work-on-github/about-task-lists#creating-task-lists

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-02-23 12:58:47 -05:00
Bridget McErlean 0246a32ad0
Use pod namespace from backup when matching PVBs (#3475)
* Use pod namespace from backup when matching PVBs

In #3051, we introduced an additional check to ensure that a PVB matched
a particular pod by checking both the name and the namespace of the pod.
This caused an issue when using a namespace mapping on restore. In the
case where a namespace mapping is being used, the check for whether a
PVB matches a particular pod will fail as the PVB was created for the
original pod namespace and is not aware of the new namespace mapping
being used. This resulted in PVRs not being created for pods that were
being restored into new namespaces. The restic init containers were
being created to wait on the volume restore, however this would cause
the restored pods to block indefinitely as they would be waiting for a
volume restore that was not scheduled.

To fix this, we use the original namespace of the pod from the backup to
match the PVB to the pod being restored, not the new namespace where
the pod is being restored into.

Fixes #3467.

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>

* Explain why the namespace mapping can't be used

Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-02-22 11:16:00 -08:00
Madhav Jivrajani 046cb596d0
added documentation for how velero handles encryption (#3463)
Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
2021-02-22 13:35:42 -05:00
David L. Smith-Uchida 45d53178ae
E2E tests now run in multiple clouds in addition to KIND (#3286)
Split plug-in provider into cloud provider/object provider
Moved velero install/uninstall for tests into velero_utils
Added remove of CRDs to test v elero uninstall
Added remove of cluster role binding to test velero uninstall
Added dump of velero describe and logs on error
Added velero namespace argument to velero_utils functions
Modified api group versions e2e tests to use VeleroInstall
Added velero logs dumps for api group versions e2e testing
Added DeleteNamespace to test/e2e/common.go
Fixed VeleroInstall to use the image specified
Changed enable_api_group_versions_test to use veleroNamespace instead of hardcoded "velero"

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2021-02-19 08:16:59 +08:00