diff --git a/pkg/mcclient/modules/image/mod_images.go b/pkg/mcclient/modules/image/mod_images.go index 28cc3cfeae..fd45421ab9 100644 --- a/pkg/mcclient/modules/image/mod_images.go +++ b/pkg/mcclient/modules/image/mod_images.go @@ -43,7 +43,8 @@ const ( IMAGE_META = "X-Image-Meta-" IMAGE_META_PROPERTY = "X-Image-Meta-Property-" - IMAGE_METADATA = "X-Image-Meta-Metadata" + IMAGE_METADATA = "X-Image-Meta-Metadata" + IMAGE_PROJECT_METADATA = "X-Image-Meta-Project_metadata" IMAGE_META_COPY_FROM = "x-glance-api-copy-from" IMAGE_META_COMPRESS_FORMAT = "x-glance-compress-format" @@ -67,6 +68,11 @@ func FetchImageMeta(h http.Header) jsonutils.JSONObject { if metadata != nil { meta.Add(metadata, "metadata") } + } else if k == IMAGE_PROJECT_METADATA && len(v) == 1 { + metadata, _ := jsonutils.Parse([]byte(v[0])) + if metadata != nil { + meta.Add(metadata, "project_metadata") + } } else if strings.HasPrefix(k, IMAGE_META_PROPERTY) { k := strings.ToLower(k[len(IMAGE_META_PROPERTY):]) meta.Add(jsonutils.NewString(decodeMeta(v[0])), "properties", k)