Revision 0b179c69

b/kamaki/clients/compute/__init__.py
70 70
            limit=limit,
71 71
            status=status,
72 72
            host=host)
73
        response_headers['previous'] = r.headers.get('previous', None)
74
        response_headers['next'] = r.headers.get('next', None)
73
        for k, v in response_headers.items():
74
            response_headers[k] = r.headers.get(k, v)
75 75
        return r.json['servers']
76 76

  
77 77
    def get_server_details(
......
103 103
            status=status,
104 104
            host=host,
105 105
            **kwargs)
106
        response_headers['previous'] = r.headers.get('previous', None)
107
        response_headers['next'] = r.headers.get('next', None)
106
        for k, v in response_headers.items():
107
            response_headers[k] = r.headers.get(k, v)
108 108
        return r.json['server']
109 109

  
110 110
    def create_server(
......
147 147
            security_group=security_group,
148 148
            user_data=user_data,
149 149
            availability_zone=availability_zone)
150
        response_headers['location'] = r.headers.get('location', None)
150
        for k, v in response_headers.items():
151
            response_headers[k] = r.headers.get(k, v)
151 152
        return r.json['server']
152 153

  
153 154
    def update_server_name(self, server_id, new_name):
......
197 198
        r = self.servers_post(server_id, 'action', json_data=req)
198 199
        return r.headers
199 200

  
200
    def get_server_metadata(self, server_id, key=''):
201
    def get_server_metadata(self, server_id, key='', response_headers=dict(
202
            previous=None, next=None)):
201 203
        """
202 204
        :param server_id: integer (str or int)
203 205

  
......
205 207

  
206 208
        :returns: a key:val dict of requests metadata
207 209
        """
208
        command = path4url('metadata', key)
209
        r = self.servers_get(server_id, command)
210
        r = self.servers_metadata_get(server_id, key)
211
        for k, v in response_headers.items():
212
            response_headers[k] = r.headers.get(k, v)
210 213
        return r.json['meta' if key else 'metadata']
211 214

  
212 215
    def create_server_metadata(self, server_id, key, val):
......
220 223
        :returns: dict of updated key:val metadata
221 224
        """
222 225
        req = {'meta': {key: val}}
223
        r = self.servers_put(
224
            server_id, 'metadata/' + key, json_data=req, success=201)
226
        r = self.servers_put(server_id, key, json_data=req, success=201)
225 227
        return r.json['meta']
226 228

  
227
    def update_server_metadata(self, server_id, **metadata):
229
    def update_server_metadata(
230
            self, server_id,
231
            response_headers=dict(previous=None, next=None), **metadata):
228 232
        """
229 233
        :param server_id: integer (str or int)
230 234

  
......
233 237
        :returns: dict of updated key:val metadata
234 238
        """
235 239
        req = {'metadata': metadata}
236
        r = self.servers_post(
237
            server_id, 'metadata', json_data=req, success=201)
240
        r = self.servers_post(server_id, json_data=req, success=201)
241
        for k, v in response_headers.items():
242
            response_headers[k] = r.headers.get(k, v)
238 243
        return r.json['metadata']
239 244

  
240 245
    def delete_server_metadata(self, server_id, key):
......
245 250

  
246 251
        :returns: (dict) response headers
247 252
        """
248
        r = self.servers_delete(server_id, 'metadata/' + key)
253
        r = self.servers_delete(server_id, key)
249 254
        return r.headers
250 255

  
251 256
    def list_flavors(self, detail=False):

Also available in: Unified diff