Example #1
0
    def setUp(self):
        super(ServerGroupTestBase, self).setUp()
        self.flags(scheduler_default_filters=self._scheduler_default_filters)
        self.flags(scheduler_weight_classes=self._get_weight_classes())
        self.flags(service_down_time=self._service_down_time)
        self.flags(report_interval=self._report_interval)

        self.useFixture(policy_fixture.RealPolicyFixture())

        if self.api_major_version == 'v2.1':
            api_fixture = self.useFixture(
                nova_fixtures.OSAPIFixture(api_version='v2.1'))
        else:
            self.useFixture(api_paste_fixture.ApiPasteLegacyV2Fixture())
            api_fixture = self.useFixture(
                nova_fixtures.OSAPIFixture(api_version='v2'))

        self.api = api_fixture.api
        self.api.microversion = self.microversion
        self.admin_api = api_fixture.admin_api
        self.admin_api.microversion = self.microversion

        # the image fake backend needed for image discovery
        jacket.tests.compute.unit.image.fake.stub_out_image_service(self)

        self.start_service('conductor', manager=CONF.conductor.manager)
        self.start_service('scheduler')

        self.addCleanup(
            jacket.tests.compute.unit.image.fake.FakeImageService_reset)
Example #2
0
    def setUp(self):
        super(TestAggregateCreation, self).setUp()
        self.useFixture(policy_fixture.RealPolicyFixture())
        api_fixture = self.useFixture(
            nova_fixtures.OSAPIFixture(api_version='v2.1'))

        self.admin_api = api_fixture.admin_api
Example #3
0
    def setUp(self):
        super(TestServerGet, self).setUp()
        self.useFixture(policy_fixture.RealPolicyFixture())
        api_fixture = self.useFixture(
            nova_fixtures.OSAPIFixture(api_version='v2.1'))

        # The non-admin API client is fine to stay at 2.1 since it just creates
        # and deletes the server.
        self.api = api_fixture.api
        self.admin_api = api_fixture.admin_api
        # The admin API client needs to be at microversion 2.16 to exhibit the
        # regression.
        self.admin_api.microversion = '2.16'

        # the image fake backend needed for image discovery
        jacket.tests.compute.unit.image.fake.stub_out_image_service(self)

        self.start_service('conductor', manager=CONF.conductor.manager)
        self.flags(scheduler_driver='chance_scheduler')
        self.start_service('scheduler')
        self.network = self.start_service('network')
        self.compute = self.start_service('compute')
        self.consoleauth = self.start_service('consoleauth')

        self.useFixture(cast_as_call.CastAsCall(self.stubs))
        self.addCleanup(
            jacket.tests.compute.unit.image.fake.FakeImageService_reset)

        self.image_id = self.api.get_images()[0]['id']
        self.flavor_id = self.api.get_flavors()[0]['id']
Example #4
0
    def setUp(self):
        super(TestServerGet, self).setUp()
        self.useFixture(policy_fixture.RealPolicyFixture())
        api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
            api_version='v2.1'))

        self.api = api_fixture.api

        # the image fake backend needed for image discovery
        image_service = fake_image.stub_out_image_service(self)
        self.addCleanup(fake_image.FakeImageService_reset)

        # NOTE(mriedem): This image has an invalid architecture metadata value
        # and is used for negative testing in the functional stack.
        timestamp = datetime.datetime(2011, 1, 1, 1, 2, 3)
        image = {'id': 'c456eb30-91d7-4f43-8f46-2efd9eccd744',
                 'name': 'fake-image-invalid-arch',
                 'created_at': timestamp,
                 'updated_at': timestamp,
                 'deleted_at': None,
                 'deleted': False,
                 'status': 'active',
                 'is_public': False,
                 'container_format': 'raw',
                 'disk_format': 'raw',
                 'size': '25165824',
                 'properties': {'kernel_id': CONF.null_kernel,
                                'ramdisk_id': CONF.null_kernel,
                                'architecture': 'x64'}}
        self.image_id = image_service.create(None, image)['id']
        self.flavor_id = self.api.get_flavors()[0]['id']
Example #5
0
    def setUp(self):
        super(SecgroupsFullstack, self).setUp()
        self.useFixture(policy_fixture.RealPolicyFixture())
        api_fixture = self.useFixture(nova_fixtures.OSAPIFixture())

        self.api = api_fixture.api

        # the image fake backend needed for image discovery
        jacket.tests.compute.unit.image.fake.stub_out_image_service(self)
Example #6
0
    def setUp(self):
        super(FlavorManageFullstack, self).setUp()
        self.useFixture(policy_fixture.RealPolicyFixture())
        api_fixture = self.useFixture(nova_fixtures.OSAPIFixture())

        # NOTE(sdague): because this test is primarily an admin API
        # test default self.api to the admin api.
        self.api = api_fixture.admin_api
        self.user_api = api_fixture.api
Example #7
0
    def setUp(self):
        super(NotificationSampleTestBase, self).setUp()

        api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
                api_version='v2.1'))

        self.api = api_fixture.api
        self.admin_api = api_fixture.admin_api

        fake_notifier.stub_notifier(self.stubs)
        self.addCleanup(fake_notifier.reset)
Example #8
0
    def setUp(self):
        super(TestServerValidation, self).setUp()
        self.useFixture(policy_fixture.RealPolicyFixture())
        api_fixture = self.useFixture(
            nova_fixtures.OSAPIFixture(api_version='v2.1'))

        # the image fake backend needed for image discovery
        jacket.tests.compute.unit.image.fake.stub_out_image_service(self)
        self.addCleanup(
            jacket.tests.compute.unit.image.fake.FakeImageService_reset)

        self.api = api_fixture.api
        self.image_id = self.api.get_images()[0]['id']
        self.flavor_id = self.api.get_flavors()[0]['id']
Example #9
0
    def setUp(self):
        super(_IntegratedTestBase, self).setUp()

        f = self._get_flags()
        self.flags(**f)
        self.flags(verbose=True)

        jacket.tests.compute.unit.image.fake.stub_out_image_service(self)
        self._setup_services()

        self.api_fixture = self.useFixture(
            nova_fixtures.OSAPIFixture(self.api_major_version))

        # if the class needs to run as admin, make the api endpoint
        # the admin, otherwise it's safer to run as non admin user.
        if self.ADMIN_API:
            self.api = self.api_fixture.admin_api
        else:
            self.api = self.api_fixture.api

        self.useFixture(cast_as_call.CastAsCall(self.stubs))

        self.addCleanup(jacket.tests.compute.unit.image.fake.FakeImageService_reset)
Example #10
0
    def test_get_groups_all_projects(self):
        # This test requires APIs using two projects.

        # Create an API using project 'openstack1'.
        # This is a non-admin API.
        #
        # NOTE(sdague): this is actually very much *not* how this
        # fixture should be used. This actually spawns a whole
        # additional API server. Should be addressed in the future.
        api_openstack1 = self.useFixture(
            nova_fixtures.OSAPIFixture(api_version=self.api_major_version,
                                       project_id=PROJECT_ID_ALT)).api
        api_openstack1.microversion = self.microversion

        # Create a server group in project 'openstack'
        # Project 'openstack' is used by self.api
        group1 = self.anti_affinity
        openstack_group = self.api.post_server_groups(group1)

        # Create a server group in project 'openstack1'
        group2 = self.affinity
        openstack1_group = api_openstack1.post_server_groups(group2)

        # The admin should be able to get server groups in all projects.
        all_projects_admin = self.admin_api.get_server_groups(
            all_projects=True)
        self.assertIn(openstack_group, all_projects_admin)
        self.assertIn(openstack1_group, all_projects_admin)

        # The non-admin should only be able to get server groups
        # in his project.
        # The all_projects parameter is ignored for non-admin clients.
        all_projects_non_admin = api_openstack1.get_server_groups(
            all_projects=True)
        self.assertNotIn(openstack_group, all_projects_non_admin)
        self.assertIn(openstack1_group, all_projects_non_admin)