Ejemplo n.º 1
0
    def _user_create(self, stack_name, project_id, user_id,
                     resource_name='user', create_project=True,
                     password=None):
        t = template_format.parse(user_template)
        stack = utils.parse_stack(t, stack_name=stack_name)
        rsrc = stack[resource_name]

        self.m.StubOutWithMock(stack_user.StackUser, 'keystone')
        stack_user.StackUser.keystone().MultipleTimes().AndReturn(self.fc)

        if create_project:
            self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                                   'create_stack_domain_project')
            fakes.FakeKeystoneClient.create_stack_domain_project(
                stack.id).AndReturn(project_id)
        else:
            stack.set_stack_user_project_id(project_id)

        rsrc._store()
        self.m.StubOutWithMock(short_id, 'get_id')
        short_id.get_id(rsrc.id).AndReturn('aabbcc')

        self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                               'create_stack_domain_user')
        expected_username = '******' % (stack_name, resource_name, 'aabbcc')
        fakes.FakeKeystoneClient.create_stack_domain_user(
            username=expected_username, password=password,
            project_id=project_id).AndReturn(user_id)

        return rsrc
Ejemplo n.º 2
0
    def _user_create(self,
                     stack_name,
                     project_id,
                     user_id,
                     resource_name='user',
                     create_project=True):
        t = template_format.parse(user_template)
        stack = utils.parse_stack(t, stack_name=stack_name)
        rsrc = stack[resource_name]

        self.m.StubOutWithMock(stack_user.StackUser, 'keystone')
        stack_user.StackUser.keystone().MultipleTimes().AndReturn(self.fc)

        if create_project:
            self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                                   'create_stack_domain_project')
            fakes.FakeKeystoneClient.create_stack_domain_project(
                stack.id).AndReturn(project_id)
        else:
            stack.set_stack_user_project_id(project_id)

        rsrc._store()
        self.m.StubOutWithMock(short_id, 'get_id')
        short_id.get_id(rsrc.id).AndReturn('aabbcc')

        self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                               'create_stack_domain_user')
        expected_username = '******' % (stack_name, resource_name, 'aabbcc')
        fakes.FakeKeystoneClient.create_stack_domain_user(
            username=expected_username, password=None,
            project_id=project_id).AndReturn(user_id)

        return rsrc
Ejemplo n.º 3
0
    def create_user(self,
                    t,
                    stack,
                    resource_name,
                    project_id='stackproject',
                    user_id='dummy_user',
                    password=None):
        self.m.StubOutWithMock(user.User, 'keystone')
        user.User.keystone().MultipleTimes().AndReturn(self.fc)

        self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                               'create_stack_domain_project')
        fakes.FakeKeystoneClient.create_stack_domain_project(
            stack.id).AndReturn(project_id)

        rsrc = user.User(resource_name, t['Resources'][resource_name], stack)
        rsrc._store()

        self.m.StubOutWithMock(short_id, 'get_id')
        short_id.get_id(rsrc.id).MultipleTimes().AndReturn('aabbcc')

        self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                               'create_stack_domain_user')
        fakes.FakeKeystoneClient.create_stack_domain_user(
            username=self.username, password=password,
            project_id=project_id).AndReturn(user_id)
        self.m.ReplayAll()
        self.assertIsNone(rsrc.validate())
        scheduler.TaskRunner(rsrc.create)()
        self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
        return rsrc
Ejemplo n.º 4
0
    def create_user(self, t, stack, resource_name,
                    project_id='stackproject', user_id='dummy_user',
                    password=None):
        self.m.StubOutWithMock(user.User, 'keystone')
        user.User.keystone().MultipleTimes().AndReturn(self.fc)

        self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                               'create_stack_domain_project')
        fakes.FakeKeystoneClient.create_stack_domain_project(
            stack.id).AndReturn(project_id)

        resource_defns = stack.t.resource_definitions(stack)
        rsrc = user.User(resource_name,
                         resource_defns[resource_name],
                         stack)
        rsrc._store()

        self.m.StubOutWithMock(short_id, 'get_id')
        short_id.get_id(rsrc.uuid).MultipleTimes().AndReturn('aabbcc')

        self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                               'create_stack_domain_user')
        fakes.FakeKeystoneClient.create_stack_domain_user(
            username=self.username, password=password,
            project_id=project_id).AndReturn(user_id)
        self.m.ReplayAll()
        self.assertIsNone(rsrc.validate())
        scheduler.TaskRunner(rsrc.create)()
        self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
        return rsrc
Ejemplo n.º 5
0
    def physical_resource_name(self):
        if self.id is None:
            return None

        return '%s-%s-%s' % (self.stack.name,
                             self.name,
                             short_id.get_id(self.id))
Ejemplo n.º 6
0
    def physical_resource_name(self):
        if self.id is None:
            return None

        name = "%s-%s-%s" % (self.stack.name, self.name, short_id.get_id(self.id))

        if self.physical_resource_name_limit:
            name = self.reduce_physical_resource_name(name, self.physical_resource_name_limit)
        return name
Ejemplo n.º 7
0
    def test_instance_group_refid_rsrc_name(self):
        self.instance_group.id = '123'

        self.instance_group.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74'
        self.instance_group.action = 'CREATE'
        expected = '%s-%s-%s' % (self.instance_group.stack.name,
                                 self.instance_group.name,
                                 short_id.get_id(self.instance_group.uuid))
        self.assertEqual(expected, self.instance_group.FnGetRefId())
Ejemplo n.º 8
0
    def test_instance_group_refid_rsrc_name(self):
        self.instance_group.id = '123'

        self.instance_group.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74'
        self.instance_group.action = 'CREATE'
        expected = '%s-%s-%s' % (self.instance_group.stack.name,
                                 self.instance_group.name,
                                 short_id.get_id(self.instance_group.uuid))
        self.assertEqual(expected, self.instance_group.FnGetRefId())
Ejemplo n.º 9
0
 def test_eip_allocation_refid_resource_name(self):
     t = template_format.parse(eip_template_ipassoc)
     stack = utils.parse_stack(t)
     rsrc = stack['IPAssoc']
     rsrc.id = '123'
     rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74'
     rsrc.action = 'CREATE'
     expected = '%s-%s-%s' % (rsrc.stack.name, rsrc.name,
                              short_id.get_id(rsrc.uuid))
     self.assertEqual(expected, rsrc.FnGetRefId())
Ejemplo n.º 10
0
 def test_floating_ip_assoc_refid_rsrc_name(self):
     t = template_format.parse(floating_ip_template_with_assoc)
     stack = utils.parse_stack(t)
     rsrc = stack['MyFloatingIPAssociation']
     rsrc.id = '123'
     rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74'
     rsrc.action = 'CREATE'
     expected = '%s-%s-%s' % (rsrc.stack.name, rsrc.name,
                              short_id.get_id(rsrc.uuid))
     self.assertEqual(expected, rsrc.FnGetRefId())
Ejemplo n.º 11
0
    def test_instance_group_refid_rsrc_name(self):
        self.instance_group.id = "123"

        self.instance_group.uuid = "9bfb9456-3fe8-41f4-b318-9dba18eeef74"
        self.instance_group.action = "CREATE"
        expected = "%s-%s-%s" % (
            self.instance_group.stack.name,
            self.instance_group.name,
            short_id.get_id(self.instance_group.uuid),
        )
        self.assertEqual(expected, self.instance_group.FnGetRefId())
Ejemplo n.º 12
0
    def test_user_token(self):
        rsrc = self._user_create(stack_name='user_test123',
                                 project_id='aproject123',
                                 user_id='auser123',
                                 password='******')

        short_id.get_id(rsrc.id).AndReturn('aabbcc')
        self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                               'stack_domain_user_token')
        username = '******'
        fakes.FakeKeystoneClient.stack_domain_user_token(
            username=username, project_id='aproject123',
            password='******').AndReturn('atoken123')
        self.m.ReplayAll()

        rsrc.password = '******'
        scheduler.TaskRunner(rsrc.create)()
        self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
        self.assertEqual('atoken123', rsrc._user_token())
        self.m.VerifyAll()
Ejemplo n.º 13
0
    def test_user_token(self):
        rsrc = self._user_create(stack_name='user_test123',
                                 project_id='aproject123',
                                 user_id='auser123',
                                 password='******')

        short_id.get_id(rsrc.id).AndReturn('aabbcc')
        self.m.StubOutWithMock(fakes.FakeKeystoneClient,
                               'stack_domain_user_token')
        username = '******'
        fakes.FakeKeystoneClient.stack_domain_user_token(
            username=username, project_id='aproject123',
            password='******').AndReturn('atoken123')
        self.m.ReplayAll()

        rsrc.password = '******'
        scheduler.TaskRunner(rsrc.create)()
        self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
        self.assertEqual('atoken123', rsrc._user_token())
        self.m.VerifyAll()
Ejemplo n.º 14
0
    def physical_resource_name(self):
        if self.id is None:
            return None

        name = '%s-%s-%s' % (self.stack.name, self.name,
                             short_id.get_id(self.id))

        if self.physical_resource_name_limit:
            name = self.reduce_physical_resource_name(
                name, self.physical_resource_name_limit)
        return name
Ejemplo n.º 15
0
 def test_security_group_refid_rsrc_name(self, mock_using_neutron):
     mock_using_neutron.return_value = False
     t = template_format.parse(self.test_template_nova)
     stack = utils.parse_stack(t)
     rsrc = stack['the_sg']
     rsrc.id = '123'
     rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74'
     rsrc.action = 'CREATE'
     expected = '%s-%s-%s' % (rsrc.stack.name, rsrc.name,
                              short_id.get_id(rsrc.uuid))
     self.assertEqual(expected, rsrc.FnGetRefId())
Ejemplo n.º 16
0
 def test_eip_allocation_refid_resource_name(self):
     t = template_format.parse(eip_template_ipassoc)
     stack = utils.parse_stack(t)
     rsrc = stack['IPAssoc']
     rsrc.id = '123'
     rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74'
     rsrc.action = 'CREATE'
     expected = '%s-%s-%s' % (rsrc.stack.name,
                              rsrc.name,
                              short_id.get_id(rsrc.uuid))
     self.assertEqual(expected, rsrc.FnGetRefId())
Ejemplo n.º 17
0
 def test_floating_ip_assoc_refid_rsrc_name(self):
     t = template_format.parse(floating_ip_template_with_assoc)
     stack = utils.parse_stack(t)
     rsrc = stack['MyFloatingIPAssociation']
     rsrc.id = '123'
     rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74'
     rsrc.action = 'CREATE'
     expected = '%s-%s-%s' % (rsrc.stack.name,
                              rsrc.name,
                              short_id.get_id(rsrc.uuid))
     self.assertEqual(expected, rsrc.FnGetRefId())
 def test_security_group_refid_rsrc_name(self, mock_using_neutron):
     mock_using_neutron.return_value = False
     t = template_format.parse(self.test_template_nova)
     stack = utils.parse_stack(t)
     rsrc = stack['the_sg']
     rsrc.id = '123'
     rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74'
     rsrc.action = 'CREATE'
     expected = '%s-%s-%s' % (rsrc.stack.name,
                              rsrc.name,
                              short_id.get_id(rsrc.uuid))
     self.assertEqual(expected, rsrc.FnGetRefId())
Ejemplo n.º 19
0
    def physical_resource_name(self):
        if self.id is None or self.action == self.INIT:
            return None

        name = '%s-%s-%s' % (self.stack.name,
                             self.name,
                             short_id.get_id(self.uuid))

        if self.physical_resource_name_limit:
            name = self.reduce_physical_resource_name(
                name, self.physical_resource_name_limit)
        return name
Ejemplo n.º 20
0
    def test_launch_config_get_ref_by_id(self):
        t = template_format.parse(as_template)
        stack = utils.parse_stack(t, params=self.params)
        rsrc = stack['LaunchConfig']
        self.stub_ImageConstraint_validate()
        self.assertIsNone(rsrc.validate())
        scheduler.TaskRunner(rsrc.create)()
        self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)

        # use physical_resource_name when rsrc.id is not None
        self.assertIsNotNone(rsrc.id)
        expected = '%s-%s-%s' % (rsrc.stack.name, rsrc.name,
                                 short_id.get_id(rsrc.id))
        self.assertEqual(expected, rsrc.FnGetRefId())

        # otherwise use parent method
        rsrc.id = None
        self.assertIsNone(rsrc.resource_id)
        self.assertEqual('LaunchConfig', rsrc.FnGetRefId())
Ejemplo n.º 21
0
    def test_launch_config_get_ref_by_id(self):
        t = template_format.parse(as_template)
        stack = utils.parse_stack(t, params=self.params)
        rsrc = stack['LaunchConfig']
        self.stub_ImageConstraint_validate()
        self.assertIsNone(rsrc.validate())
        scheduler.TaskRunner(rsrc.create)()
        self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)

        # use physical_resource_name when rsrc.id is not None
        self.assertIsNotNone(rsrc.id)
        expected = '%s-%s-%s' % (rsrc.stack.name,
                                 rsrc.name,
                                 short_id.get_id(rsrc.id))
        self.assertEqual(expected, rsrc.FnGetRefId())

        # otherwise use parent method
        rsrc.id = None
        self.assertIsNone(rsrc.resource_id)
        self.assertEqual('LaunchConfig', rsrc.FnGetRefId())
Ejemplo n.º 22
0
 def test_get_id_uuid_endianness(self):
     source = uuid.UUID("ffffffff-00ff-4000-aaaa-aaaaaaaaaaaa")
     self.assertEqual("aaaa77777777", short_id.get_id(source))
Ejemplo n.º 23
0
 def test_get_id_uuid_endianness(self):
     source = uuid.UUID('ffffffff-00ff-4000-aaaa-aaaaaaaaaaaa')
     self.assertEqual(short_id.get_id(source), 'aaaa77777777')
Ejemplo n.º 24
0
 def test_get_id_uuid_0(self):
     source = uuid.UUID('00000000-0000-4000-bfff-ffffffffffff')
     self.assertEqual(short_id.get_id(source), 'aaaaaaaaaaaa')
Ejemplo n.º 25
0
 def test_get_id_uuid_f(self):
     source = uuid.UUID('ffffffff-ffff-4fff-8000-000000000000')
     self.assertEqual(short_id.get_id(source), '777777777777')
Ejemplo n.º 26
0
 def test_get_id_uuid_1(self):
     source = uuid.UUID('11111111-1111-4111-bfff-ffffffffffff')
     self.assertEqual(source.time, 0x111111111111111)
     self.assertEqual(short_id.get_id(source), 'ceirceirceir')
Ejemplo n.º 27
0
 def test_get_id_string(self):
     id = short_id.get_id('11111111-1111-4111-bfff-ffffffffffff')
     self.assertEqual(id, 'ceirceirceir')
Ejemplo n.º 28
0
 def test_get_id_uuid_f(self):
     source = uuid.UUID("ffffffff-ffff-4fff-8000-000000000000")
     self.assertEqual("777777777777", short_id.get_id(source))
Ejemplo n.º 29
0
 def test_get_id_uuid_f(self):
     source = uuid.UUID('ffffffff-ffff-4fff-8000-000000000000')
     self.assertEqual('777777777777', short_id.get_id(source))
Ejemplo n.º 30
0
 def test_get_id_string(self):
     id = short_id.get_id("11111111-1111-4111-bfff-ffffffffffff")
     self.assertEqual("ceirceirceir", id)
Ejemplo n.º 31
0
    def physical_resource_name(self):
        if self.id is None:
            return None

        return '%s-%s-%s' % (self.stack.name, self.name,
                             short_id.get_id(self.id))
Ejemplo n.º 32
0
 def test_get_id_uuid_0(self):
     source = uuid.UUID('00000000-0000-4000-bfff-ffffffffffff')
     self.assertEqual('aaaaaaaaaaaa', short_id.get_id(source))
Ejemplo n.º 33
0
 def test_get_id_string(self):
     id = short_id.get_id('11111111-1111-4111-bfff-ffffffffffff')
     self.assertEqual('ceirceirceir', id)
Ejemplo n.º 34
0
 def test_get_id_uuid_endianness(self):
     source = uuid.UUID('ffffffff-00ff-4000-aaaa-aaaaaaaaaaaa')
     self.assertEqual('aaaa77777777', short_id.get_id(source))
Ejemplo n.º 35
0
 def test_get_id_uuid_1(self):
     source = uuid.UUID("11111111-1111-4111-bfff-ffffffffffff")
     self.assertEqual(0x111111111111111, source.time)
     self.assertEqual("ceirceirceir", short_id.get_id(source))
Ejemplo n.º 36
0
 def test_get_id_uuid_0(self):
     source = uuid.UUID("00000000-0000-4000-bfff-ffffffffffff")
     self.assertEqual("aaaaaaaaaaaa", short_id.get_id(source))
Ejemplo n.º 37
0
    def physical_resource_name(self):
        assert self.id is not None

        return '%s-%s-%s' % (self.stack.name,
                             self.name,
                             short_id.get_id(self.id))
Ejemplo n.º 38
0
 def test_get_id_uuid_1(self):
     source = uuid.UUID('11111111-1111-4111-bfff-ffffffffffff')
     self.assertEqual(0x111111111111111, source.time)
     self.assertEqual('ceirceirceir', short_id.get_id(source))