Skip to content

Start work on equinix metal provider#1

Closed
detiber wants to merge 4 commits intoopenshift:masterfrom
detiber:metal
Closed

Start work on equinix metal provider#1
detiber wants to merge 4 commits intoopenshift:masterfrom
detiber:metal

Conversation

@detiber
Copy link
Copy Markdown

@detiber detiber commented Oct 12, 2020

Basic bare functionality in place.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 12, 2020
@detiber
Copy link
Copy Markdown
Author

detiber commented Oct 12, 2020

/cc @displague

@openshift-ci-robot
Copy link
Copy Markdown

@detiber: GitHub didn't allow me to request PR reviews from the following users: displague.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

/cc @displague

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.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. label Oct 12, 2020
@detiber detiber force-pushed the metal branch 3 times, most recently from 7ff7603 to f4a6ae1 Compare November 13, 2020 18:23
@detiber detiber changed the title [WIP] start work on equinix metal provider Start work on equinix metal provider Nov 13, 2020
@openshift-ci-robot openshift-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 13, 2020
Comment thread go.mod Outdated
@JoelSpeed
Copy link
Copy Markdown

Was this provider implementation based off of another? I notice a lot of the boilerplate stuff seems to be familiar, just wondering if I could diff with the other implementation to review any changes/diffs in the boilerplate

@detiber
Copy link
Copy Markdown
Author

detiber commented Nov 24, 2020

@JoelSpeed It's kind of an amalgamation of openshift/cluster-api-provider-gcp openshift/cluster-api-provider-aws and some bits taken from kubernetes-sigs/cluster-api-provider-packet circa v1alpha1. It wasn't overly clear if there were preferred patterns or scaffolding for openshift machine api providers. I'd be happy to refactor based on top of a particular provider if you feel it would be more aligned with best practices, though.

@JoelSpeed
Copy link
Copy Markdown

No worries, I was just thinking if it's close to a previous provider I might be able to do a diff to reduce the review load. Eg compare the boilerplate/structure and make sure it looks correct and in keeping with prior art.

I have been rushed this week so haven't had an opportunity to look into it yet, but will try to do so soon, sorry for the delay.

Comment thread example/worker-machine.yaml Outdated
@elmiko
Copy link
Copy Markdown

elmiko commented Jan 12, 2021

hey @detiber and @displague , i'm just starting to review this and i was going through the basics of building and reviewing the base artifacts. but when i run the make build i am seeing the following error:

$ make build
docker run --rm -e CGO_ENABLED=1 -v "/home/mike/src/cluster-api-provider-equinix-metal":/go/src/github.com/openshift/cluster-api-provider-equinix-metal:Z -w /go/src/openshift/cluster-api-provider-equinix-metal openshift/origin-release:golang-1.13 go build  -o "bin/machine-controller-manager" \
               -ldflags "-X github.com/openshift/cluster-api-provider-equinix-metal/pkg/version.Raw=20f599b -extldflags -static" "github.com/openshift/cluster-api-provider-equinix-metal/cmd/manager"
Error: chdir: No such file or directory: OCI not found
make: *** [Makefile:65: build] Error 127

the Makefile command looks good to me, so i'm not quite sure what is causing this but i'll keep poking around.

edit:
i guess we will need to add @displague to the openshift org or something to correct the owners issue. i will ask around about this.

- API types
- basic controller/actuator scaffolding
- basic reconciliation of Machine resources
@JoelSpeed
Copy link
Copy Markdown

displague
User is not a member of the org. User is not a collaborator. Satisfy at least one of these conditions to make the user trusted.

Well that should have been fixed, will chase 🤔

@displague
Copy link
Copy Markdown

/verify-owners

@openshift-ci-robot openshift-ci-robot removed the do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. label Jan 14, 2021
Comment thread Makefile Outdated
Comment thread Makefile Outdated
Comment thread OWNERS
@elmiko
Copy link
Copy Markdown

elmiko commented Jan 14, 2021

with the updated Makefile changes in place i was able to build the binary and run the unit tests. i hit a couple failures in the tests, doing some investigation to make sure i didn't miss something.

@detiber
Copy link
Copy Markdown
Author

detiber commented Jan 14, 2021

@elmiko The tests are likely pretty broken, most of them where copy/paste from another provider. I'm going to start digging into those to fix them up and mock out the api service for the unit style tests.

@elmiko
Copy link
Copy Markdown

elmiko commented Jan 14, 2021

@elmiko The tests are likely pretty broken, most of them where copy/paste from another provider. I'm going to start digging into those to fix them up and mock out the api service for the unit style tests.

ok cool, i'll focus more on reviewing the implementation details for now then. thanks for the heads up!

@displague
Copy link
Copy Markdown

I'm starting to adapt the installer to take advantage of Metros. It would be great to see that introduced here - I suspect the dependencies will need to be revisited too.

@elmiko
Copy link
Copy Markdown

elmiko commented Apr 8, 2021

@displague i am not familiar with Metros, do you have a link or something i could catch up on?

@displague
Copy link
Copy Markdown

@elmiko https://feedback.equinixmetal.com/changelog/new-metros-feature-live

@crawford
Copy link
Copy Markdown

Hey @elmiko, is there anything else you'd like to see changed before merging? We were hoping to merge this as is and then follow up with support for Metros later (it's dependent on some changes to the installer).

@displague
Copy link
Copy Markdown

displague commented Apr 14, 2021

I realized that the installer, which is using the legacy Packet TF provider, would need to use the Equinix Metal TF provider. The EM provider is not an https://github.com/hashicorp/ provider (as Packet was). I don't believe I can use the EM TF provider until openshift/installer#4837 is merged.

The Packet provider will not be getting metro support, so I can't take advantage of metros even if this cluster-api provider included it.

@elmiko
Copy link
Copy Markdown

elmiko commented Apr 14, 2021

@crawford i have no specific requests at this time, but i haven't been able to test this code deeply. that said, i don't think my slowness here should be a blocker. i would like to have an opportunity to review more before we start packaging this as a supportable platform though.

@openshift-bot
Copy link
Copy Markdown

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci Bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 14, 2021
@openshift-bot
Copy link
Copy Markdown

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten
/remove-lifecycle stale

@openshift-ci openshift-ci Bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Aug 14, 2021
@displague
Copy link
Copy Markdown

/remove-lifecycle rotten

@openshift-ci openshift-ci Bot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Aug 19, 2021
@openshift-bot
Copy link
Copy Markdown

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci Bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 17, 2021
@openshift-bot
Copy link
Copy Markdown

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten
/remove-lifecycle stale

@openshift-ci openshift-ci Bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Dec 17, 2021
@openshift-bot
Copy link
Copy Markdown

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.

/close

@openshift-ci openshift-ci Bot closed this Jan 16, 2022
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Jan 16, 2022

@openshift-bot: Closed this PR.

Details

In response to this:

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.

/close

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants