Setting Server Metadata Items Using Python

When you want to use Python to set server metadata items, you can 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 metadata
###

# HTTP connection #2

servID = 1      # server ID
metaKey = "owner"   # metadata key
url2 = apiurlt[1]
params2 = urllib.urlencode(json.dumps({"metadata":{metaKey:"joe"}}))
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/servers/%s/metadata/%s" % (apiurlt[2], servID, metaKey), params2, headers2)

# HTTP response #2

response2 = conn2.getresponse()
data2 = response2.read()
dd2 = json.loads(data2)

conn2.close()


loading table of contents...