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

fix getSubnets for podman #2199

Closed
wants to merge 3 commits into from
Closed

fix getSubnets for podman #2199

wants to merge 3 commits into from

Conversation

flobz
Copy link

@flobz flobz commented Apr 14, 2021

The command to getSubnets for podman isn't the same as the one for docker.

@k8s-ci-robot
Copy link
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If you signed the CLA as a corporation, please sign in with your organization's credentials at https://identity.linuxfoundation.org/projects/cncf to be authorized.
  • If you have done the above and are still having issues with the CLA being reported as unsigned, please log a ticket with the Linux Foundation Helpdesk: https://support.linuxfoundation.org/
  • Should you encounter any issues with the Linux Foundation Helpdesk, send a message to the backup e-mail support address at: [email protected]

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.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Apr 14, 2021
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: flobz
To complete the pull request process, please assign bentheelder after the PR has been reviewed.
You can assign the PR to them by writing /assign @bentheelder in a comment when ready.

The full list of commands accepted by this bot can be found 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

@k8s-ci-robot
Copy link
Contributor

Welcome @flobz!

It looks like this is your first PR to kubernetes-sigs/kind 🎉. 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/kind 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 requested review from amwat and aojea April 14, 2021 12:49
@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 Apr 14, 2021
@k8s-ci-robot
Copy link
Contributor

Hi @flobz. 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/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Apr 14, 2021
@@ -281,7 +281,7 @@ func getProxyEnv(cfg *config.Cluster) (map[string]string, error) {
}

func getSubnets(networkName string) ([]string, error) {
format := `{{range (index (index . "IPAM") "Config")}}{{index . "Subnet"}} {{end}}`
format := `{{index (index .plugins 0).ipam.ranges 0 0 "subnet"}}`
Copy link
Contributor

Choose a reason for hiding this comment

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

has this changed again in podman?
it seems that the new command works for me in 3.0.0 but not the older one

Copy link
Contributor

Choose a reason for hiding this comment

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

we need to provide all the networks, this returns only the first subnet

sudo podman network inspect -f '{{index (index  .plugins 0 ).ipam.ranges 0 0 "subnet"}}' kind
fc00:8866:27d0:bd7e::/64
sudo podman network inspect -f json  kind
[
    {
        "cniVersion": "0.4.0",
        "name": "kind",
        "plugins": [
            {
                "bridge": "cni-podman4",
                "hairpinMode": true,
                "ipMasq": true,
                "ipam": {
                    "ranges": [
                        [
                            {
                                "subnet": "fc00:8866:27d0:bd7e::/64"
                            }
                        ],
                        [
                            {
                                "subnet": "10.89.2.0/24"
                            }
                        ]

Copy link
Author

Choose a reason for hiding this comment

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

Yes but I don't know how, I'm not good at templates.

Copy link
Contributor

Choose a reason for hiding this comment

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

sudo podman network inspect kind -f '{{ range (index (index (index (index . "plugins") 0 ) "ipam" ) "ranges")}}{{ index ( index . 0 ) "subnet" }} {{end}} '
fc00:8866:27d0:bd7e::/64 10.89.0.0/24

Copy link
Contributor

Choose a reason for hiding this comment

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

@flobz can you update the PR with this template ^^^?

@aojea
Copy link
Contributor

aojea commented Apr 15, 2021

@flobz you need to sign the CLA
/ok-to-test
/lgtm
/assign @amwat

@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 Apr 15, 2021
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 15, 2021
@flobz
Copy link
Author

flobz commented Apr 15, 2021

@flobz you need to sign the CLA
Done

Copy link
Contributor

@amwat amwat left a comment

Choose a reason for hiding this comment

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

I'm assuming the format is working (don't currently have a setup to test)
So the changes lgtm.

But we might also need to fix the entire code path here as a follow up
even the default network name seems to have changed from "bridge" to "podman"?

@@ -281,7 +281,7 @@ func getProxyEnv(cfg *config.Cluster) (map[string]string, error) {
}

func getSubnets(networkName string) ([]string, error) {
format := `{{range (index (index . "IPAM") "Config")}}{{index . "Subnet"}} {{end}}`
format := `{{ range (index (index (index (index . "plugins") 0 ) "ipam" ) "ranges")}}{{ index ( index . 0 ) "subnet" }} {{end}}`
Copy link
Contributor

Choose a reason for hiding this comment

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

This format is getting too complicated now. might be worth just unmarshalling the JSON ourselves.
but fine as a follow up.

Also, is this after podman 3.0 ?
do we want to warn/error if podman version is less than that.

@aojea how is our Github Actions working, is this path not exercised?

Copy link
Contributor

Choose a reason for hiding this comment

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

This format is getting too complicated now. might be worth just unmarshalling the JSON ourselves.
but fine as a follow up.

amen, it took me a big chunk of time to come up with the template

Also, is this after podman 3.0 ?
do we want to warn/error if podman version is less than that.

I can't know if this worked before because this is only used to populate the proxy environment variables ... let's keep it this way, I can't imagine we have such power users of podman until now

@aojea how is our Github Actions working, is this path not exercised?

nope

Copy link
Member

Choose a reason for hiding this comment

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

+1 to json in a follow up

@aojea aojea mentioned this pull request May 18, 2021
@aojea
Copy link
Contributor

aojea commented May 18, 2021

@flobz your CLA is not signed or the commit doesn't have the right info, can you please check?

@k8s-ci-robot
Copy link
Contributor

@flobz: PR needs rebase.

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 needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 18, 2021
@aojea
Copy link
Contributor

aojea commented May 18, 2021

/close
@flobz I've added you as coauthor, I rushed it to get into the release
#2257
I didn't get your email so it doesn't reflect it correct in github, I assume is the same issue that your cla error

@k8s-ci-robot
Copy link
Contributor

@aojea: Closed this PR.

In response to this:

/close
@flobz I've added you as coauthor, I rushed it to get into the release
#2257
I didn't get your email so it doesn't reflect it correct in github, I assume is the same issue that your cla error

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
area/provider/podman Issues or PRs related to podman cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants