Label feeding as null #28311
Replies: 1 comment
-
|
Well the change to not use an image was intentional as it avoid extra overhead for the pause container. The change of labels is a indirect consequence, generally in go json, we could either skip the Labels field completely (i.e. mark it as omitempty), show it as null when there are no labels initialized, or well the empty map of {} which then requires and extra allocation of a map in the go code as it is not the default nil value. Practically speaking considering you reported this over 6 months after we released this it means no matter what we decide do now your tooling must be able to handle the null string in versions v5.6 -v5.8 at least. I don't think we have any strict rules API wise, there are plenty of values which could be either omitempty or null possibly if they are unset so it would be best if you json parser can handle that. i.e. just looking at |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Team,
We manage synthetics monitor in New Relic and recently our product synthetics job manager when running in a private location using Podman has started seeing a change when upgrading from Podman version 5.4.0 to 5.6.0. Containers label was initially coming with some value whereas after the upgradation the label is feeding as null. We tried inspecting the scenario using claude which suggested below:
Environment
Steps to Reproduce
podman pod create --name test-pod
podman ps -a --filter "name=infra"
podman inspect | grep -A 2 '"Labels"'
Expected Behavior (Podman 5.4.0)
API Response:
{
"IsInfra": true,
"Image": "localhost/podman-pause:5.4.0-1757462400",
"ImageID": "e0611c37b940f510d90cd3fb0de3a08d19a3cf53297ee3a5cf0b8fc6aacb2882",
"Labels": {
"io.buildah.version": "1.39.4"
}
}
The infra container used a pause image and inherited labels from it.
Actual Behavior (Podman 5.6.0)
API Response:
{
"IsInfra": true,
"Image": "",
"ImageID": "",
"Labels": null,
"Rootfs": "/run/user/1000/libpod/tmp/infra-container"
}
Key differences:
CLI Output:
$ podman inspect | grep -A 2 '"Labels"'
"Labels": null,
Evidence Collected
All other container types still have labels:
$ podman ps -a --format "{{.Names}} | {{.Labels}}"
5e189b1655fe-infra | map[]
practical_poitras | map[application:synthetics-job-manager ...]
PING | map[DEPLOYMENT_MODE:PERSISTENT SERVICE:RUNTIME ...]
browser-runtime | map[DEPLOYMENT_MODE:EPHEMERAL SERVICE:RUNTIME ...]
Only the infra container has empty/null labels.
Questions
We'd like to understand if this is the intended behaviour or a regression.
Additional Context
Request
Could you please clarify:
Thank you for your help!
Beta Was this translation helpful? Give feedback.
All reactions