~ubuntu-branches/ubuntu/raring/nova/raring-proposed

« back to all changes in this revision

Viewing changes to nova/tests/test_powervm.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Adam Gandelman, Chuck Short
  • Date: 2012-11-23 09:04:58 UTC
  • mfrom: (1.1.66)
  • Revision ID: package-import@ubuntu.com-20121123090458-91565o7aev1i1h71
Tags: 2013.1~g1-0ubuntu1
[ Adam Gandelman ]
* debian/control: Ensure novaclient is upgraded with nova,
  require python-keystoneclient >= 1:2.9.0. (LP: #1073289)
* debian/patches/{ubuntu/*, rbd-security.patch}: Dropped, applied
  upstream.
* debian/control: Add python-testtools to Build-Depends.

[ Chuck Short ]
* New upstream version.
* Refreshed debian/patches/avoid_setuptools_git_dependency.patch.
* debian/rules: FTBFS if missing binaries.
* debian/nova-scheudler.install: Add missing rabbit-queues and
  nova-rpc-zmq-receiver.
* Remove nova-volume since it doesnt exist anymore, transition to cinder-*.
* debian/rules: install apport hook in the right place.
* debian/patches/ubuntu-show-tests.patch: Display test failures.
* debian/control: Add depends on genisoimage
* debian/control: Suggest guestmount.
* debian/control: Suggest websockify. (LP: #1076442)
* debian/nova.conf: Disable nova-volume service.
* debian/control: Depend on xen-system-* rather than the hypervisor.
* debian/control, debian/mans/nova-conductor.8, debian/nova-conductor.init,
  debian/nova-conductor.install, debian/nova-conductor.logrotate
  debian/nova-conductor.manpages, debian/nova-conductor.postrm
  debian/nova-conductor.upstart.in: Add nova-conductor service.
* debian/control: Add python-fixtures as a build deps.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
Test suite for PowerVMDriver.
19
19
"""
20
20
 
21
 
from nova.compute import power_state
22
21
from nova import context
23
22
from nova import db
24
 
from nova import flags
25
23
from nova import test
26
24
 
 
25
from nova.compute import power_state
27
26
from nova.openstack.common import log as logging
28
27
from nova.virt import images
 
28
 
29
29
from nova.virt.powervm import driver as powervm_driver
 
30
from nova.virt.powervm import exception
30
31
from nova.virt.powervm import lpar
31
32
from nova.virt.powervm import operator
32
33
 
33
 
 
34
 
FLAGS = flags.FLAGS
35
34
LOG = logging.getLogger(__name__)
36
35
 
37
36
 
105
104
                'disk_used': 0,
106
105
                'disk_avail': 10168}
107
106
 
 
107
    def get_hostname(self):
 
108
        return 'fake-powervm'
 
109
 
108
110
 
109
111
def fake_get_powervm_operator():
110
112
    return FakeIVMOperator()
117
119
        super(PowerVMDriverTestCase, self).setUp()
118
120
        self.stubs.Set(operator, 'get_powervm_operator',
119
121
                       fake_get_powervm_operator)
120
 
        self.powervm_connection = powervm_driver.PowerVMDriver()
 
122
        self.powervm_connection = powervm_driver.PowerVMDriver(None)
121
123
        self.instance = self._create_instance()
122
124
 
123
125
    def _create_instance(self):
150
152
        state = self.powervm_connection.get_info(self.instance)['state']
151
153
        self.assertEqual(state, power_state.RUNNING)
152
154
 
 
155
    def test_spawn_cleanup_on_fail(self):
 
156
        """Verify on a failed spawn, we get the original exception raised"""
 
157
        # helper function
 
158
        def raise_(ex):
 
159
            raise ex
 
160
 
 
161
        self.flags(powervm_img_local_path='/images/')
 
162
        self.stubs.Set(images, 'fetch_to_raw', lambda *x, **y: None)
 
163
        self.stubs.Set(
 
164
            self.powervm_connection._powervm._operator,
 
165
            'copy_image_file',
 
166
            lambda *x, **y: raise_(exception.PowerVMImageCreationFailed()))
 
167
        self.stubs.Set(
 
168
            self.powervm_connection._powervm, '_cleanup',
 
169
            lambda *x, **y: raise_(Exception('This should be logged.')))
 
170
 
 
171
        self.assertRaises(exception.PowerVMImageCreationFailed,
 
172
                          self.powervm_connection.spawn,
 
173
                          context.get_admin_context(),
 
174
                          self.instance,
 
175
                          {'id': 'ANY_ID'}, 's3cr3t', [])
 
176
 
153
177
    def test_destroy(self):
154
178
        self.powervm_connection.destroy(self.instance, None)
155
179
        self.stubs.Set(FakeIVMOperator, 'get_lpar', lambda x, y: None)