Skip to content

Conversation

@estroz
Copy link
Member

@estroz estroz commented Jul 15, 2019

Description of the change: From #1541:

A document describing best practices, tips, gotchas, and any other helpful information about making various API changes in an existing SDK project.

Note: for Go projects only. Ansible and Helm have TODO's.

Motivation for the change: see #1541.

Closes #1541

PTAL @awgreene @dmesser

@estroz estroz added the kind/documentation Categorizes issue or PR as related to documentation. label Jul 15, 2019
@openshift-ci-robot openshift-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jul 15, 2019
@estroz estroz force-pushed the doc-api-changes branch from f3219bb to 80f592e Compare July 15, 2019 21:31
Copy link
Member

@jmrodri jmrodri left a comment

Choose a reason for hiding this comment

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

A few typos.

@estroz estroz requested review from hasbro17 and jmrodri July 29, 2019 15:18
Copy link
Member

@awgreene awgreene left a comment

Choose a reason for hiding this comment

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

Great work @estroz, a few nits but non-blocking.

Kubernetes APIs are assumed to evolve over time, hence the well-defined API [versioning scheme][k8s-versioning]. Upgrading your operator's APIs can be a non-trivial task, one that will involve changing quite a few source files and manifests. This document aims to identify the complexities of migrating an operator project's API using examples from existing operators.

While examples in this guide follow particular types of API migrations, most of the documented migration steps can be generalized to all migration types. A thorough discussion of migration types for a particular project type (Go, Ansible, Helm) is found at the end of each project type's section.

Copy link
Member

Choose a reason for hiding this comment

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

It may be beneficial to start with a happy case where the GVK contains a single kind.

Copy link
Member Author

Choose a reason for hiding this comment

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

You mean do a walkthrough of a migration with a single kind?

Copy link
Member

Choose a reason for hiding this comment

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

Correct - the first case is a bit more difficult to consume when compared to the case outlined here.

Copy link
Member Author

Choose a reason for hiding this comment

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

This case should be added in a follow-up PR since there are a lot of changes here already.

Copy link
Member

@joelanford joelanford left a comment

Choose a reason for hiding this comment

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

LGTM after addressing comments.

Copy link
Member

@jmrodri jmrodri left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci-robot openshift-ci-robot added lgtm Indicates that a PR is ready to be merged. and removed lgtm Indicates that a PR is ready to be merged. labels Aug 20, 2019
@estroz estroz requested a review from joelanford August 22, 2019 18:17
@estroz
Copy link
Member Author

estroz commented Aug 27, 2019

/test e2e-aws-subcommand
/test e2e-aws-ansible

@hasbro17
Copy link
Contributor

hasbro17 commented Sep 9, 2019

Sorry for the hold up. I'll finish my review on this hopefully in a day or so.

Copy link
Member

@joelanford joelanford left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Sep 19, 2019
Copy link
Contributor

@hasbro17 hasbro17 left a comment

Choose a reason for hiding this comment

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

Some edits to the CRD manifest naming format but other than that LGTM.

Co-Authored-By: Haseeb Tariq <hasbro17@gmail.com>
@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Sep 19, 2019
@openshift-ci-robot
Copy link

New changes are detected. LGTM label has been removed.

@estroz
Copy link
Member Author

estroz commented Sep 20, 2019

/test e2e-aws-go
/test e2e-aws-ansible

@estroz
Copy link
Member Author

estroz commented Sep 20, 2019

/test e2e-aws-ansible

1 similar comment
@estroz
Copy link
Member Author

estroz commented Sep 26, 2019

/test e2e-aws-ansible

@estroz estroz changed the title doc/user/migrating-existing-apis.md: document API version migrations doc/user/migrating-existing-apis.md: document API version migra… Sep 26, 2019
@estroz estroz merged commit 0481703 into operator-framework:master Sep 26, 2019
@estroz estroz deleted the doc-api-changes branch September 26, 2019 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/documentation Categorizes issue or PR as related to documentation. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document how to make changes to APIs (e.g. v1 to v2)

6 participants