-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Conversation
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.
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. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: flobz 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 |
Welcome @flobz! |
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 Once the patch is verified, the new status will be reflected by the 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. |
@@ -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"}}` |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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"
}
]
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 ^^^?
|
There was a problem hiding this 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}}` |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
@flobz your CLA is not signed or the commit doesn't have the right info, can you please check? |
@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. |
@aojea: Closed this PR. In response to this:
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. |
The command to getSubnets for podman isn't the same as the one for docker.