Beispiel #1
0
 def test_get_images_list(self):
     images_list = [mock.Mock(**x) for x in IMAGES_FIXTURE_ALL]
     with \
             mock.patch('flask.current_app') as current_app,\
             mock.patch('flask.g') as g,\
             mock.patch('focus.clients.user_clients')\
             as user_clients,\
             mock.patch('focus.clients.admin_clients') as clients:
         current_app.config = {
             'KEYSTONE_CONF': {
                 'admin_tenant_id': '1',
             }}
         g.tenant_id = None
         clients().glance.images.list.return_value = images_list
         result = images.get_images_list()
         self.assertEqual(len(result), 3)
         g.tenant_id = '6'
         user_clients.return_value.glance.images.list.return_value = \
             images_list
         result = images.get_images_list()
         self.assertEqual(len(result), 33)
         global_images = filter(
             lambda x: x.owner == '1',
             result)
         self.assertEqual(len(global_images), 3)
         g.tenant_id = '13'
         user_clients.return_value.glance.images.list.return_value = \
             images_list
         result = images.get_images_list()
         self.assertEqual(len(result), 15)
Beispiel #2
0
 def test_get_images_list(self):
     images_list = [mock.Mock(**x) for x in IMAGES_FIXTURE_ALL]
     with \
             mock.patch('flask.current_app') as current_app,\
             mock.patch('flask.g') as g,\
             mock.patch('focus.clients.user_clients')\
             as user_clients,\
             mock.patch('focus.clients.admin_clients') as clients:
         current_app.config = {
             'KEYSTONE_CONF': {
                 'admin_tenant_id': '1',
             }
         }
         g.tenant_id = None
         clients().glance.images.list.return_value = images_list
         result = images.get_images_list()
         self.assertEqual(len(result), 3)
         g.tenant_id = '6'
         user_clients.return_value.glance.images.list.return_value = \
             images_list
         result = images.get_images_list()
         self.assertEqual(len(result), 33)
         global_images = filter(lambda x: x.owner == '1', result)
         self.assertEqual(len(global_images), 3)
         g.tenant_id = '13'
         user_clients.return_value.glance.images.list.return_value = \
             images_list
         result = images.get_images_list()
         self.assertEqual(len(result), 15)
Beispiel #3
0
def spawn_vm():
    '''
    Spawn VM in the tenant.

    '''
    c = clients.user_clients(flask.g.tenant_id)
    images_list = images.get_images_list()
    flavors = c.compute.flavors.list()
    security_groups = c.compute.security_groups.list()
    key_pairs = c.compute.keypairs.list()

    form = forms.get_spawn_form(images_list, flavors, security_groups,
                                key_pairs)()

    if form.validate_on_submit():
        kw = dict(security_groups=form.security_groups.data)
        if form.keypair.data:
            kw['key_name'] = form.keypair.data
        if form.password.data:
            kw['admin_pass'] = form.password.data
        c.nova.servers.create(form.name.data, form.image.data,
                              form.flavor.data, **kw)
        flask.flash('Virtual machine spawned.', 'success')
        return flask.redirect(
            flask.url_for('.show_tenant', tenant_id=flask.g.tenant_id))
    return {
        'form': form,
        'tenant': flask.g.tenant,
        'images': json.dumps([x._info for x in images_list]),
        'flavors': json.dumps([x._info for x in flavors]),
        'title': 'Virtual Machines',
        'subtitle': 'Spawn new virtual machine'
    }
Beispiel #4
0
def spawn_vm():
    '''
    Spawn VM in the tenant.

    '''
    c = clients.user_clients(flask.g.tenant_id)
    images_list = images.get_images_list()
    flavors = c.compute.flavors.list()
    security_groups = c.compute.security_groups.list()
    key_pairs = c.compute.keypairs.list()

    form = forms.get_spawn_form(images_list,
                                flavors,
                                security_groups,
                                key_pairs)()

    if form.validate_on_submit():
        kw = dict(security_groups=form.security_groups.data)
        if form.keypair.data:
            kw['key_name'] = form.keypair.data
        if form.password.data:
            kw['admin_pass'] = form.password.data
        c.nova.servers.create(form.name.data,
                              form.image.data,
                              form.flavor.data,
                              **kw)
        flask.flash('Virtual machine spawned.', 'success')
        return flask.redirect(flask.url_for(
            '.show_tenant', tenant_id=flask.g.tenant_id))
    return {
        'form': form,
        'tenant': flask.g.tenant,
        'images': json.dumps([x._info for x in images_list]),
        'flavors': json.dumps([x._info for x in flavors]),
        'title': 'Virtual Machines',
        'subtitle': 'Spawn new virtual machine'
    }