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

⚠️ clusterctlv2: add file system backend implementations for provider's repository #1963

Merged

Conversation

Arvinderpal
Copy link
Contributor

What this PR does / why we need it:
This PR adds a file system backend implementations for provider's repository.

Which issue(s) this PR fixes
Rif #1729

/assign @fabriziopandini
/cc @detiber @ncdc @vincepri @jiatongw

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Dec 24, 2019
@k8s-ci-robot
Copy link
Contributor

Welcome @Arvinderpal!

It looks like this is your first PR to kubernetes-sigs/cluster-api 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/cluster-api has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Dec 24, 2019
@k8s-ci-robot
Copy link
Contributor

Hi @Arvinderpal. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@k8s-ci-robot k8s-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Dec 24, 2019
@fabriziopandini
Copy link
Member

@Arvinderpal thanks for this PR!
FYI the work on new backends is on hold on the clusterctl tracking issue because most probably there will be some rework in the Repository interface, due to new requirements under definition for supporting upgrades.
I will keep you posted
/hold

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 28, 2019
@fabriziopandini
Copy link
Member

@Arvinderpal, as anticipated #1978 implements the change of the Repository interface.
hopefully, this should not be a big change for your PR (everything you need is already implemented in getLatestRelease, even if some refactors are required).

@vincepri
Copy link
Member

vincepri commented Jan 3, 2020

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 3, 2020
@ncdc
Copy link
Contributor

ncdc commented Jan 16, 2020

@fabriziopandini is this needed for v0.3.0? I'm trying to wrangle PRs-vs-milestones and want to make sure I put it in the right place. Thanks!

@Arvinderpal
Copy link
Contributor Author

This needs to incorporate the recent change to the Repository interface, which I think is pretty straightforward and I can do that asap. However, the PR still needs a code review.

Copy link
Member

@fabriziopandini fabriziopandini left a comment

Choose a reason for hiding this comment

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

@Arvinderpal
The PR is definitely on the right track, pending the change on the interface.
It would be also great if we can simplify the URL syntax and make it more flexible and at the same time more consistent with other clusterctl features.
I also added some nits on test messages for consistency with the rest of the codebase

@ncdc It would be great to get this into the milestone so we can provide a more articulated solution for the air-gapped scenario

@ncdc ncdc added this to the v0.3.0 milestone Jan 17, 2020
Copy link
Contributor Author

@Arvinderpal Arvinderpal left a comment

Choose a reason for hiding this comment

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

@fabriziopandini Thanks for the feedback. I have incorporated all the suggested changes. Please do another pass.

@Arvinderpal Arvinderpal force-pushed the clusterctlv2-repository-local branch 3 times, most recently from 39b7f93 to ae46ed3 Compare January 21, 2020 13:55
Copy link
Member

@fabriziopandini fabriziopandini left a comment

Choose a reason for hiding this comment

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

@Arvinderpal thanks!

Copy link
Contributor Author

@Arvinderpal Arvinderpal left a comment

Choose a reason for hiding this comment

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

@fabriziopandini Addressed all your comments. Please have another look. Thanks.

Copy link
Member

@fabriziopandini fabriziopandini left a comment

Choose a reason for hiding this comment

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

@Arvinderpal thanks
One last mini nit from my side + some CI checks error to be fixed
/hold cancel

@ncdc @vincepri this PR add an important piece for the air-gapped support in clusterctl. PTAL

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 22, 2020
@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Jan 24, 2020
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jan 24, 2020
@Arvinderpal
Copy link
Contributor Author

BTW, pull-cluster-api-test is constantly failing. Appears to be a controller-runtime issue. I have filed a fix for that here: kubernetes-sigs/controller-runtime#781

@ncdc
Copy link
Contributor

ncdc commented Jan 24, 2020

BTW, pull-cluster-api-test is constantly failing. Appears to be a controller-runtime issue.

The master branch doesn't have this problem (consistent failures). Please try rebasing to see if that fixes your issue. I think your controller-runtime PR is 👍, but our tests should be passing, and if they're consistently failing with this PR, then it's likely localized to your branch.

@vincepri
Copy link
Member

FYI the commits shouldn't include references to issues or usernames

@ncdc
Copy link
Contributor

ncdc commented Jan 24, 2020

The test failures were because you were deleting /tmp and not the tempdir you just created. My latest review comments should resolve the issues.

@Arvinderpal
Copy link
Contributor Author

The test failures were because you were deleting /tmp and not the tempdir you just created. My latest review comments should resolve the issues.

@ncdc Hmm...I really don't see where I'm deleting all of /tmp. Can you tell me exactly where you saw this? I see that /tmp is just fine when I run my tests locally and only the tmpDir is removed.
Besides that I'll investigate some more as to why my branch would fail on that particular test while master is passing. I have rebased several times with master, so ¯_(ツ)_/¯

@ncdc
Copy link
Contributor

ncdc commented Jan 25, 2020

You were deleting filepath.Dir(tmpDir). That resolves to /tmp

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Jan 25, 2020
@Arvinderpal
Copy link
Contributor Author

Squashed all the commits into one and removed username reference from message. If there are no final concerns, please go ahead and merge this.

@ncdc
Copy link
Contributor

ncdc commented Jan 27, 2020

/approve

@fabriziopandini over to you for lgtm when you're ready

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 27, 2020
Copy link
Member

@fabriziopandini fabriziopandini left a comment

Choose a reason for hiding this comment

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

@Arvinderpal thanks!
/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 28, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Arvinderpal, fabriziopandini, ncdc

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

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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants