Exemplo n.º 1
0
 def update(self, data):
     try:
         if self.should_fail:
             raise shade.OpenStackCloudException('This image has '
                                                 'SHOULD_FAIL set to True.')
     except AttributeError:
         pass
 def test_exceptions(self):
     log = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
     with testtools.ExpectedException(shade.OpenStackCloudException):
         with shade_inner_exceptions():
             try:
                 raise Exception("inner test")
             except:
                 raise shade.OpenStackCloudException("outer test")
     self.assertTrue('Exception("inner test")' in log.output)
Exemplo n.º 3
0
 def test_generate_keys2(self, *args):
     # pylint: disable=bad-continuation
     with mock.patch.object(
             self.testcase.cloud, "create_keypair",
             side_effect=shade.OpenStackCloudException(None)) as mock_obj, \
             self.assertRaises(shade.OpenStackCloudException):
         self.testcase.generate_keys()
     mock_obj.assert_called_once_with('vmtp_{}'.format(self.testcase.guid))
     args[0].assert_not_called()
Exemplo n.º 4
0
 def __init__(self, kind, **kw):
     self.__kind = kind
     self.__kw = kw
     for k, v in kw.items():
         setattr(self, k, v)
     try:
         if self.should_fail:
             raise shade.OpenStackCloudException('This image has '
                                                 'SHOULD_FAIL set to True.')
     except AttributeError:
         pass
Exemplo n.º 5
0
def _parse_driver_info(module):
    p = module.params['driver_info']
    info = p.get('power')
    if not info:
        raise shade.OpenStackCloudException("driver_info['power'] is required")
    if p.get('console'):
        info.update(p.get('console'))
    if p.get('management'):
        info.update(p.get('management'))
    if p.get('deploy'):
        info.update(p.get('deploy'))
    return info
Exemplo n.º 6
0
 def test_clean_exc2(self, *args):
     self.cinder.vm2 = munch.Munch(id='vm2')
     self.cinder.cloud.delete_server = mock.Mock(
         side_effect=shade.OpenStackCloudException("Foo"))
     with self.assertRaises(shade.OpenStackCloudException):
         self.cinder.clean()
     self.cinder.cloud.delete_server.assert_called_once_with(
         self.cinder.vm2, wait=True,
         timeout=getattr(config.CONF, 'vping_vm_delete_timeout'))
     self.cinder.cloud.delete_floating_ip.assert_not_called()
     self.cinder.cloud.delete_volume.assert_not_called()
     args[0].assert_not_called()
Exemplo n.º 7
0
 def __init__(self, kind, **kw):
     self.__kind = kind
     self.__kw = kw
     for k, v in kw.items():
         setattr(self, k, v)
     try:
         if self.should_fail:
             raise shade.OpenStackCloudException('This image has '
                                                 'SHOULD_FAIL set to True.')
         if self.over_quota:
             raise shade.exc.OpenStackCloudHTTPError(
                 'Quota exceeded for something', 403)
     except AttributeError:
         pass
Exemplo n.º 8
0
    def _cleanup_domains(self):
        exception_list = list()
        for domain in self.operator_cloud.list_domains():
            if domain['name'].startswith(self.domain_prefix):
                try:
                    self.operator_cloud.delete_domain(domain['id'])
                except Exception as e:
                    exception_list.append(str(e))
                    continue

        if exception_list:
            # Raise an error: we must make users aware that something went
            # wrong
            raise shade.OpenStackCloudException('\n'.join(exception_list))
Exemplo n.º 9
0
    def _cleanup_groups(self):
        exception_list = list()
        for group in self.cloud.list_groups():
            if group['name'].startswith(self.group_prefix):
                try:
                    self.cloud.delete_group(group['id'])
                except Exception as e:
                    exception_list.append(str(e))
                    continue

        if exception_list:
            # Raise an error: we must make users aware that something went
            # wrong
            raise shade.OpenStackCloudException('\n'.join(exception_list))
Exemplo n.º 10
0
    def __init__(self,
                 config_files=None,
                 refresh=False,
                 private=False,
                 config_key=None,
                 config_defaults=None,
                 cloud=None,
                 use_direct_get=False):
        if config_files is None:
            config_files = []
        config = os_client_config.config.OpenStackConfig(
            config_files=os_client_config.config.CONFIG_FILES + config_files)
        self.extra_config = config.get_extra_config(config_key,
                                                    config_defaults)

        if cloud is None:
            self.clouds = [
                shade.OpenStackCloud(cloud_config=cloud_config)
                for cloud_config in config.get_all_clouds()
            ]
        else:
            try:
                self.clouds = [
                    shade.OpenStackCloud(
                        cloud_config=config.get_one_cloud(cloud))
                ]
            except os_client_config.exceptions.OpenStackConfigException as e:
                raise shade.OpenStackCloudException(e)

        if private:
            for cloud in self.clouds:
                cloud.private = True

        # Handle manual invalidation of entire persistent cache
        if refresh:
            for cloud in self.clouds:
                cloud._cache.invalidate()
Exemplo n.º 11
0
 def test_clean_exc2(self):
     self.vping.vm2 = munch.Munch(id='vm2')
     mdelete_server = self.vping.cloud.delete_server
     mdelete_server.side_effect = shade.OpenStackCloudException(None)
     with self.assertRaises(shade.OpenStackCloudException):
         self.vping.clean()