When you want to use Python to set server image metadata, you could do it in the following way:
#!/usr/bin/python
import base64
import urllib
import httplib
import json
import os
from urlparse import urlparse
### --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
###
### insert the 'Get OpenStack Credentials' snippet here
###
### --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
###
### Set server image metadata
###
# HTTP connection #2
imgID = 1 # server image ID
url2 = apiurlt[1]
params2 = urllib.urlencode(json.dumps({"metadata":{"owner":"joe","group":"www"}}))
headers2 = { "X-Auth-Token":apitoken, "Accept":"application/json", "Content-type":"application/json" }
if (usehttps == True):
conn2 = httplib.HTTPSConnection(url2, key_file='../cert/priv.pem', cert_file='../cert/srv_test.crt')
else:
conn2 = httplib.HTTPConnection(url2)
conn2.request("PUT", "%s/images/%s/metadata" % (apiurlt[2], imgID), params2, headers2)
# HTTP response #2
response2 = conn2.getresponse()
data2 = response2.read()
dd2 = json.loads(data2)
conn2.close()
