diff --git a/pkg/api/handlers/compat/containers.go b/pkg/api/handlers/compat/containers.go index 8568a93e57..78249974d8 100644 --- a/pkg/api/handlers/compat/containers.go +++ b/pkg/api/handlers/compat/containers.go @@ -212,6 +212,12 @@ func GetContainer(w http.ResponseWriter, r *http.Request) { utils.InternalServerError(w, err) return } + if _, err := utils.SupportedVersion(r, ">=1.52.0"); err == nil || errors.Is(err, apiutil.ErrVersionNotGiven) { + if api.NetworkSettings != nil { + api.NetworkSettings.SecondaryIPAddresses = nil + api.NetworkSettings.SecondaryIPv6Addresses = nil + } + } utils.WriteResponse(w, http.StatusOK, api) } diff --git a/test/apiv2/python/rest_api/test_v2_0_0_container.py b/test/apiv2/python/rest_api/test_v2_0_0_container.py index 3c24298f4c..868fd264a3 100644 --- a/test/apiv2/python/rest_api/test_v2_0_0_container.py +++ b/test/apiv2/python/rest_api/test_v2_0_0_container.py @@ -535,13 +535,22 @@ class ContainerCompatibleAPITestCase(APITestCase): r = requests.post(self.uri(self.resolve_container("/containers/{}/start"))) self.assertIn(r.status_code, (204, 304), r.text) - r = requests.get(self.compat_uri(self.resolve_container("/containers/{}/json"))) + container_uri = self.resolve_container("/containers/{}/json") + + # SecondaryIPAddresses present for API < v1.52 + r = requests.get(self.podman_url + "/v1.44/" + container_uri) self.assertEqual(r.status_code, 200, r.text) self.assertId(r.content) out = r.json() - self.assertEqual("10.0.2.0", out["NetworkSettings"]["SecondaryIPAddresses"][0]["Addr"]) self.assertEqual(24, out["NetworkSettings"]["SecondaryIPAddresses"][0]["PrefixLen"]) + + # SecondaryIPAddresses removed for API >= v1.52 + r = requests.get(self.podman_url + "/v1.52/" + container_uri) + self.assertEqual(r.status_code, 200, r.text) + self.assertId(r.content) + out = r.json() + self.assertIsNone(out["NetworkSettings"].get("SecondaryIPAddresses")) finally: delete_named_network_ns(network_ns_name)