~gundlach/nova/servers_api

« back to all changes in this revision

Viewing changes to nova/api/rackspace/servers.py

  • Committer: Cerberus
  • Date: 2010-09-29 17:58:40 UTC
  • Revision ID: matt.dietz@rackspace.com-20100929175840-1ecneof42414ev6u
Make update work correctly

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
flags.DEFINE_string('rs_network_manager', 'nova.network.manager.FlatManager',
35
35
    'Networking for rackspace')
36
36
 
37
 
def translator_instance():
 
37
def _instance_id_translator():
 
38
    """ Helper method for initializing an id translator for Rackspace instance
 
39
    ids """
 
40
    return _id_translator.RackspaceAPIIdTranslator( "instance", 'nova')
 
41
 
 
42
def _image_id_translator():
38
43
    """ Helper method for initializing the image id translator """
39
44
    service = nova.image.service.ImageService.load()
40
45
    return _id_translator.RackspaceAPIIdTranslator(
42
47
 
43
48
def _filter_params(inst_dict):
44
49
    """ Extracts all updatable parameters for a server update request """
45
 
    keys = ['name', 'adminPass']
 
50
    keys = dict(name='name', admin_pass='adminPass')
46
51
    new_attrs = {}
47
 
    for k in keys:
48
 
        if inst_dict.has_key(k):
49
 
            new_attrs[k] = inst_dict[k]
 
52
    for k, v in keys.items():
 
53
        if inst_dict.has_key(v):
 
54
            new_attrs[k] = inst_dict[v]
50
55
    return new_attrs
51
56
 
52
57
def _entity_list(entities):
174
179
        ltime = time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())
175
180
        inst = {}
176
181
 
 
182
        inst_id_trans = _instance_id_translator()
 
183
        image_id_trans = _image_id_translator()
 
184
 
177
185
        env = req.environ['inst_dict']
178
186
        user_id = req.environ['nova.context']['user']['id']
179
187
 
180
 
        inst['rs_id'] = _new_rs_id(user_id)
 
188
        inst['rs_id'] = inst_id_trans.to_rs_id()
181
189
        image_id = env['server']['imageId']
182
190
        
183
191
        opaque_id = translator_instance().from_rs_id(image_id)