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

Alibaba: Update tag and API types to mirror other providers #5381

Merged
merged 2 commits into from
Nov 29, 2021

Conversation

kwoodson
Copy link
Contributor

@kwoodson kwoodson commented Nov 12, 2021

Work summary:

  • Update vendor dependent libraries to no longer depend on machine-api-operator's machine api
  • Updating the tag types used to search for provider objects
  • Remove DNS entry for *.apps. This is created by the ingress-operator.

@kwoodson kwoodson changed the title Update tag types to mirror other providers Alibaba: Update tag types to mirror other providers Nov 12, 2021
@staebler
Copy link
Contributor

I am going to assume that this is a WIP PR since it includes numerous disjoint changes and a vendor of a personal repo.

/retitle [WIP] Alibaba: Update tag types to mirror other providers

@openshift-ci openshift-ci bot changed the title Alibaba: Update tag types to mirror other providers [WIP] Alibaba: Update tag types to mirror other providers Nov 16, 2021
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 16, 2021
@kwoodson
Copy link
Contributor Author

@staebler Thanks, I should have tidied this up. I'm waiting for the mapi to update and then this one is eligible.

@kwoodson kwoodson changed the title [WIP] Alibaba: Update tag types to mirror other providers Alibaba: Update tag types to mirror other providers Nov 17, 2021
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 17, 2021
@kwoodson
Copy link
Contributor Author

@staebler @patrickdillon I was awaiting changes to land in the cluster-api-provider-alibaba repository (openshift/cluster-api-provider-alibaba#12). These changes landed and in order to get the changes to fit I had to refactor and remove the machine api libraries from the other providers.

Please let me know if you have any questions. Thanks!

@kwoodson
Copy link
Contributor Author

Seems like cluster was still installing but test timed out (ovirt)?

fail [github.com/onsi/ginkgo@v4.7.0-origin.0+incompatible/internal/leafnodes/runner.go:113]: Nov 12 22:31:42.482: ClusterVersion Progressing=True: : Working towards 4.10.0-0.ci.test-2021-11-12-220056-ci-op-s4nky6rq-latest: 705 of 773 done (91% complete)

@kwoodson
Copy link
Contributor Author

/test e2e-aws-upgrade

@kwoodson
Copy link
Contributor Author

/retest

Copy link
Contributor

@staebler staebler left a comment

Choose a reason for hiding this comment

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

The last commit seems unrelated to tagging.

The other commits could use some elaboration in their commits messages. For example, "update and simplify tag types" does not tell me anything about how or why the tag types are being updated or simplified.

@@ -544,7 +542,7 @@ func (m *Master) Machines() ([]machineapi.Machine, error) {
libvirtapi.AddToScheme(scheme)
openstackapi.AddToScheme(scheme)
ovirtproviderapi.AddToScheme(scheme)
vsphereapi.AddToScheme(scheme)
machineapi.AddToScheme(scheme)
Copy link
Contributor

Choose a reason for hiding this comment

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

See #5350 (review) for why this won't work.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@staebler Since there are multiple PRs attempting to solve this issue, what do you recommend?

Copy link
Contributor

Choose a reason for hiding this comment

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

@kirankt is working on it. I recommend waiting for his fix. Is this something that is blocking this PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@staebler The issue here is that the cluster-api-provider-alibaba requires a newer version of the machine-api-operator. The vsphere provider requires an older version. Those conflict based upon the machine libraries moving to openshift/api. There might be some go.mod pinning to work around this but I wanted to provide the correct fix by cleaning up the installer dependencies and moving the requirement to openshift/api. I will wait to see what @kirankt comes up with unless you have a suggestion.

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't have a good solution. The recent vendoring brought back MAO probably because of cap-alibaba deps.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@kirankt The issue here isn't cap-Alibaba. The dependency for mao in cap-Alibaba is recent. The issue is we need to clean up the vsphere libraries. The vsphere and openstack caps depend on the older version. I created merged PRs in both of those repositories to update the mao dependency.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@kirankt I checked out your PR. It appears that you are adding the scheme and addressing @staebler's feedback. I'll await your changes and will rebase when yours completes. Thanks

@kwoodson
Copy link
Contributor Author

@staebler I have updated the commit message and removed the last commit and created a new PR #5396

@kwoodson
Copy link
Contributor Author

Awaiting #5350 and then will clean this PR up.

@openshift-ci openshift-ci bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 22, 2021
@openshift-ci openshift-ci bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 23, 2021
@kwoodson kwoodson changed the title Alibaba: Update tag types to mirror other providers [WIP] Alibaba: Update tag types to mirror other providers Nov 23, 2021
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 23, 2021
// +optional
SystemDiskSize int `json:"systemDiskSize,omitempty"`
SystemDisk machinev1.SystemDiskProperties `json:"systemDisk,omitempty"`
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this change intentional? There is no mention of it in the commit description. Generally, it is discouraged to use a type defined elsewhere in the install config. Doing so makes it much more difficult to ensure the API stability of the install config.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It was intentional to align with the new API types. I have gone back and replaced it with what was previously there from your comments.

go.mod Outdated
gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.22.2
k8s.io/apiextensions-apiserver v0.21.0-rc.0
k8s.io/apiextensions-apiserver v0.22.0-rc.0
Copy link
Contributor

Choose a reason for hiding this comment

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

If we are changing this anyway, we may as well change it to v0.22.2 so that it matches the version of k8s.io/api that we are using.

Suggested change
k8s.io/apiextensions-apiserver v0.22.0-rc.0
k8s.io/apiextensions-apiserver v0.22.2

@openshift-ci openshift-ci bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 24, 2021
@openshift-ci openshift-ci bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 24, 2021
@staebler
Copy link
Contributor

/lgtm
/approve

@kwoodson
Copy link
Contributor Author

Updated vendor to resolve conflicts.

@staebler
Copy link
Contributor

/lgtm cancel
I think you have merge conflicts now, probably against #5402.

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 24, 2021
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 24, 2021
go.mod Outdated
github.com/openshift/machine-config-operator v0.0.0
github.com/ovirt/go-ovirt v0.0.0-20210308100159-ac0bcbc88d7c
github.com/ovirt/terraform-provider-ovirt v0.99.1-0.20211019085223-db1ac552ec57
github.com/pborman/uuid v1.2.0
github.com/pkg/errors v0.9.1
github.com/pkg/sftp v1.10.1
<<<<<<< HEAD
Copy link
Contributor

Choose a reason for hiding this comment

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

Unresolved conflicts.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I noticed this moved to go 1.17. Updated.

Thanks!

@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Nov 24, 2021
Kenny Woodson added 2 commits November 24, 2021 17:52
…ating ovirt and openstack. Remove AliyunContainerService/ to openshift/.
…brary.

The updates include renaming and replacing the ResourceTagReference as well as
modifying the SystemDisk property. The tag update changes the type
to an AlibabaResourceReference which is a struct that contains an ID
field and a slice of tags. This reduces the need for two separate API fields and simplifies the
logic into a single field. The reference can hold the information in
which to search for a component inside of the provider or reference it
by ID.

The SystemDisk info update is an attempt to reduce the surface area of the
API and consolidate all information of the SystemDisk into a single
struct.
@kwoodson
Copy link
Contributor Author

/test e2e-aws-upgrade

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 25, 2021

@kwoodson: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-crc 03b791c link false /test e2e-crc
ci/prow/e2e-aws-workers-rhel7 03b791c link false /test e2e-aws-workers-rhel7

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@kwoodson
Copy link
Contributor Author

/test e2e-aws-upgrade

@kwoodson
Copy link
Contributor Author

@staebler I fixed the rebase issues from the previous go 1.17 update. Please TAL

@staebler
Copy link
Contributor

This looks good to me. I'd like to see a successful openstack and ovirt e2e job. The e2e-ovirt history looks pretty bad, unrelated to this PR. We should be able to get a successful openstack job (note that the openshift-kuryr job was successful).

/test e2e-openstack
/test e2e-ovirt

@kwoodson
Copy link
Contributor Author

@staebler Looks like e2e-{ovirt,openstack} are now passing. Mind bumping this along?

@staebler
Copy link
Contributor

/lgtm
/approve

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 29, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 29, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: staebler

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

2 similar comments
@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-merge-robot openshift-merge-robot merged commit 5b1a300 into openshift:master Nov 29, 2021
@zhouhao3
Copy link
Contributor

Hi @kwoodson Is there any special use for specifying the version of gophercloud in gomod? I noticed that you updated the version of gophercloud and then specified the version of gophercloud below.

@kwoodson
Copy link
Contributor Author

kwoodson commented Dec 14, 2021

Hi @kwoodson Is there any special use for specifying the version of gophercloud in gomod? I noticed that you updated the version of gophercloud and then specified the version of gophercloud below.
@zhouhao3 Not specifically. I believe it was a dependency of another module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants