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

[CAFV-175] Create developer guide for CAPVCD Upgrade #410

Merged
merged 9 commits into from
Mar 21, 2023

Conversation

ymo24
Copy link
Contributor

@ymo24 ymo24 commented Mar 7, 2023

Description

Please provide a brief description of the changes proposed in this Pull Request

  • Create developer guide for CAPVCD Upgrade

Checklist

  • tested locally
  • updated any relevant dependencies
  • updated any relevant documentation or examples

API Changes

Are there API changes?

  • Yes
  • No

If yes, please fill in the below

  1. Updated conversions?
    • Yes
    • No
    • N/A
  2. Updated CRDs?
    • Yes
    • No
    • N/A
  3. Updated infrastructure-components.yaml?
    • Yes
    • No
    • N/A
  4. Updated ./examples/capi-quickstart.yaml?
    • Yes
    • No
    • N/A
  5. Updated necessary files under ./infrastructure-vcd/v1.0.0/?
    • Yes
    • No
    • N/A

Issue

If applicable, please reference the relevant issue

Fixes #


This change is Reviewable

Signed-off-by: ymo24 <[email protected]>
@ymo24 ymo24 requested review from sahithi and Anirudh9794 March 7, 2023 02:01
@ymo24 ymo24 self-assigned this Mar 7, 2023
Copy link
Collaborator

@sahithi sahithi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 1 files reviewed, 2 unresolved discussions (waiting on @Anirudh9794 and @ymo24)


docs/DEVELOPER_GUIDE.md line 1 at r1 (raw file):

## RDE

Can you mention that developers must evaluate RDE upgrades and CAPVCD API upgrades right every a minor version of capvcd is shipped?


docs/DEVELOPER_GUIDE.md line 19 at r1 (raw file):

## CAPVCD Upgrade
1. RDE schema registration: Ensure the correct runtime RDE version is chosen and register the appropriate schema if necessary.
2. Use [CAPVCD UPGRADE GUIDE](./UPGRADES.md) to upgrade CAPVCD to the desired version.

This section must be about capvcd API upgrades NOT capvcd upgrades itself.
The steps mentioned in this document must be evaluated and run - https://confluence.eng.vmware.com/display/VCD/CAPVCD+upgrades

Copy link
Collaborator

@sahithi sahithi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yan,, I Just noticed that the developer guide is under the docs folder. This should not be part of official capvcd docs.
There is a placeholder file that I created sometime ago - https://github.com/vmware/cluster-api-provider-cloud-director/blob/main/developer_guide.md

Please move the content there and follow the sections mentioned there.

Reviewable status: 0 of 1 files reviewed, 2 unresolved discussions (waiting on @Anirudh9794 and @ymo24)

ymo24 added 4 commits March 14, 2023 15:03
Signed-off-by: ymo24 <[email protected]>
Signed-off-by: ymo24 <[email protected]>
Signed-off-by: ymo24 <[email protected]>
@ymo24 ymo24 requested a review from sahithi March 16, 2023 18:09
Copy link
Collaborator

@sahithi sahithi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 2 files reviewed, 3 unresolved discussions (waiting on @Anirudh9794 and @ymo24)


developer_guide.md line 7 at r2 (raw file):

### Steps to Create New APIs with Version `v1beta1`

1. Create new API files with the desired version (e.g., `v1beta1`) in the `api` directory of your project. 

We need not mention the details here, Yan. Just mention that API upgrades need to be evaluated and performed after every release and before beginning ne w release.
You can add a confluence link, that is good enough (it will be inaccessible from out of vmware though)

ymo24 added 2 commits March 16, 2023 13:01
Signed-off-by: ymo24 <[email protected]>
Copy link
Contributor Author

@ymo24 ymo24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 2 files reviewed, 3 unresolved discussions (waiting on @Anirudh9794 and @sahithi)


developer_guide.md line 7 at r2 (raw file):

Previously, sahithi (Sahithi Ayloo) wrote…

We need not mention the details here, Yan. Just mention that API upgrades need to be evaluated and performed after every release and before beginning ne w release.
You can add a confluence link, that is good enough (it will be inaccessible from out of vmware though)

Thanks Sahithi, already pushed the fix


docs/DEVELOPER_GUIDE.md line 1 at r1 (raw file):

Previously, sahithi (Sahithi Ayloo) wrote…

Can you mention that developers must evaluate RDE upgrades and CAPVCD API upgrades right every a minor version of capvcd is shipped?

Done.


docs/DEVELOPER_GUIDE.md line 19 at r1 (raw file):

Previously, sahithi (Sahithi Ayloo) wrote…

This section must be about capvcd API upgrades NOT capvcd upgrades itself.
The steps mentioned in this document must be evaluated and run - https://confluence.eng.vmware.com/display/VCD/CAPVCD+upgrades

Thanks Sahithi, already pushed the fix

Copy link
Collaborator

@sahithi sahithi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm:

Reviewed 1 of 2 files at r2, 1 of 1 files at r3, all commit messages.
Reviewable status: all files reviewed, 3 unresolved discussions (waiting on @Anirudh9794)

Copy link
Contributor

@Anirudh9794 Anirudh9794 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm: with a few comments.

Reviewed 1 of 2 files at r2, 1 of 1 files at r3.
Reviewable status: all files reviewed, 6 unresolved discussions (waiting on @sahithi and @ymo24)


developer_guide.md line 14 at r3 (raw file):

### opening Upgrade path (for minor/patch upgrade )
1. Create new schema file under /schemas/schema_x_y_z.json
2. Locate the function ConvertToLatestRDEVersionFormat in the vcdcluster_controller.go.

The definition of ConvertToLatestRDEVersionFormat() is in /pkg/capisdk/defined_entity.go.
I think having this path makes more sense as the following steps say that we need to add another convertFromXFormat()

Code quote:

ocate the function ConvertToLatestRDEVersionFormat in the vcdcluster_controller.go.

developer_guide.md line 22 at r3 (raw file):

- Call the API update call to update CAPVCD entity and persist data into VCD.

## API Upgrade

I think this should be called CAPVCD API upgrade


developer_guide.md line 27 at r3 (raw file):

* Create New APIs with the new Version (e.g., `v1beta1`).
* Enable clusterctl upgrade command and do the upgrade to the new version.
* Enable CAPVCD handle other supported versions.

Can we change this to "Enable CAPVCD handle other supported API versions " ?

Code quote:

Enable CAPVCD handle other supported versions.

Copy link
Contributor Author

@ymo24 ymo24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: all files reviewed, 6 unresolved discussions (waiting on @Anirudh9794 and @sahithi)


developer_guide.md line 14 at r3 (raw file):

Previously, Anirudh9794 wrote…

The definition of ConvertToLatestRDEVersionFormat() is in /pkg/capisdk/defined_entity.go.
I think having this path makes more sense as the following steps say that we need to add another convertFromXFormat()

Thanks, Aniruddha! Already pushed the fix


developer_guide.md line 22 at r3 (raw file):

Previously, Anirudh9794 wrote…

I think this should be called CAPVCD API upgrade

Thanks, Aniruddha! Already pushed the fix


developer_guide.md line 27 at r3 (raw file):

Previously, Anirudh9794 wrote…

Can we change this to "Enable CAPVCD handle other supported API versions " ?

Done.

ymo24 added 2 commits March 20, 2023 19:26
Signed-off-by: ymo24 <[email protected]>
Signed-off-by: ymo24 <[email protected]>
@ymo24 ymo24 merged commit 751cf94 into vmware:main Mar 21, 2023
@ymo24 ymo24 deleted the CAFV-175 branch March 21, 2023 02:31
lzichong added a commit that referenced this pull request Apr 11, 2023
#424)

* feat: add cluster class support (#357)

- create a VCDClusterTemplate object
- update controllers with required changes
- update infrastructure templates

* make rde type consistent (#403)

Signed-off-by: ymo24 <[email protected]>

* [CAFV-156] Revert addition of v1beta2 fields in v1beta1 VCDMachineSpec (#397)

* remove ExtraOvdcNetworks & VmNamingTemplate fields from v1beta1.VCDMachineSpec and update conversions

* make ExtraOvdcNetworks a pointer to make it truly optional

* regenerate after rebase

* outputting etcd and coredns versions (#404)

Signed-off-by: ltimothy7 <[email protected]>

* [CAFV-181] Testfest - Add omitempty for extraOvdcNetworks to avoid null when empty (#405)

* Add omitempty for extraOvdcNetworks to avoid null when empty

Signed-off-by: lzichong <[email protected]>

* Remove pointer type and keep it as a generic slice of string

Signed-off-by: lzichong <[email protected]>

---------

Signed-off-by: lzichong <[email protected]>

* fix: fields in example resources (#314)

* fix: update webhook server secret name (#407)

- This MR updates the webhook server cert secret name from webhook-server-cert to
  capvcd-webhook-server-cert to avoid other controllers Certificate overwriting the
  CAPVCD certificate. webhook-server-cert is very common name and it is default secret
  name of any operator created using kubebuilder.

  This is a problem when multiple controller built using kubebuilder are deployed in the
  namespace.

* Fix deepy copy for in.ExtraOvdcNetworks (#406)

* update ci file with missing packages (#411)

* [CAFV-27], [CAFV-180] Add CSI, CPI qualified versions for CAPVCD 1.0.0, CAPVCD main-branch & update TKG BOM link in CLUSTERCTL README (#409)

* Add CSI, CPI supported versions for CAPVCD 1.0.0, CAPVCD  main-branch

Signed-off-by: lzichong <[email protected]>

* CAFV-180: Update CLUSTERCTL README link to refer to TKG BOM in Workload cluster README

Signed-off-by: lzichong <[email protected]>

---------

Signed-off-by: lzichong <[email protected]>

* [CAFV-182] Remove unneeded config values and management label (#408)

* removed vsphere and management references and other unneded values

Signed-off-by: ltimothy7 <[email protected]>

* reverted antrea

Signed-off-by: ltimothy7 <[email protected]>

* removed oidc, nsxt, and tkg values

Signed-off-by: ltimothy7 <[email protected]>

---------

Signed-off-by: ltimothy7 <[email protected]>

* Add bom.json and dependencies.txt to capvcd-manifest-airgapped image (#412)

Add bom.json and dependencies.txt to capvcd-manifest-airgapped image

---------

Signed-off-by: Aritra Sen <[email protected]>

* common core sync with safe ovdc name access (#416)

Signed-off-by: ltimothy7 <[email protected]>

* [CAFV-195] Updates the capvcdCluster schema apiVersion to 1.1 (#413)

Signed-off-by: sayloo <[email protected]>

* [CAFV-175] Create developer guide for CAPVCD API Upgrade (#410)

* add developer build

Signed-off-by: ymo24 <[email protected]>

* minor update

Signed-off-by: ymo24 <[email protected]>

* address comments

Signed-off-by: ymo24 <[email protected]>

* [CAFV-175] address comments

Signed-off-by: ymo24 <[email protected]>

* minor fix

Signed-off-by: ymo24 <[email protected]>

* remove all the details

Signed-off-by: ymo24 <[email protected]>

* minor fix

Signed-off-by: ymo24 <[email protected]>

* update comments

Signed-off-by: ymo24 <[email protected]>

* address comments

Signed-off-by: ymo24 <[email protected]>

---------

Signed-off-by: ymo24 <[email protected]>

* [CAFV-159] update v1beta2 capvcd objects in template files and example files (#417)

* [CAFV-159] update v1beta2 capvcd objects in cluster-class-template.yaml

Signed-off-by: ymo24 <[email protected]>

* [CAFV-159] update cluster-class-template.yaml and capi-quickstart.yaml

Signed-off-by: ymo24 <[email protected]>

* [CAFV-159] update all the template files

Signed-off-by: ymo24 <[email protected]>

---------

Signed-off-by: ymo24 <[email protected]>

* Cleanup Makefile and DockerFile to use release/version for prod builds and release/version-gitsha for dev builds (#418)

Currently the capvcd dev images are tagged with release/version-gitsha and prod images are tagged with release/version string. However the version string stored in the binary is alway release/version.

In this PR, we have cleaned up the Makefile and Dockerfile to ensure that proper version strings are set on the binary too.

Signed-off-by: Aritra Sen <[email protected]

* Update on manifest template files: migrate from k8s.gcr.io to registry.k8s.io (#415)

Signed-off-by: Waleed Malik <[email protected]>

* [CAFV-200] Update manifests generated to point to projects.registry.vmware.com (#422)

Signed-off-by: lzichong <[email protected]>

---------

Signed-off-by: ymo24 <[email protected]>
Signed-off-by: ltimothy7 <[email protected]>
Signed-off-by: lzichong <[email protected]>
Signed-off-by: Aritra Sen <[email protected]>
Signed-off-by: sayloo <[email protected]>
Signed-off-by: Aritra Sen <[email protected]
Signed-off-by: Waleed Malik <[email protected]>
Co-authored-by: Vivek Kumar Singh <[email protected]>
Co-authored-by: ymo24 <[email protected]>
Co-authored-by: Adnan Baruni <[email protected]>
Co-authored-by: ltimothy7 <[email protected]>
Co-authored-by: Erkan Erol <[email protected]>
Co-authored-by: rocknes <[email protected]>
Co-authored-by: Sahithi Ayloo <[email protected]>
Co-authored-by: Waleed Malik <[email protected]>
lzichong pushed a commit that referenced this pull request Apr 20, 2023
* add developer build

Signed-off-by: ymo24 <[email protected]>

* minor update

Signed-off-by: ymo24 <[email protected]>

* address comments

Signed-off-by: ymo24 <[email protected]>

* [CAFV-175] address comments

Signed-off-by: ymo24 <[email protected]>

* minor fix

Signed-off-by: ymo24 <[email protected]>

* remove all the details

Signed-off-by: ymo24 <[email protected]>

* minor fix

Signed-off-by: ymo24 <[email protected]>

* update comments

Signed-off-by: ymo24 <[email protected]>

* address comments

Signed-off-by: ymo24 <[email protected]>

---------

Signed-off-by: ymo24 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants