コード例 #1
0
    def test_process_usage_for_new_launch_rescue_start_when_launched_at_in_db(
            self):
        notification = self._create_mock_notification()
        raw = self.mox.CreateMockAnything()
        raw.event = 'compute.instance.rescue.start'

        orig_launched_at = utils.decimal_utc(DUMMY_TIME -
                                             datetime.timedelta(days=1))
        usage = self.mox.CreateMockAnything()
        usage.launched_at = orig_launched_at
        views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1,
                                                   request_id=REQUEST_ID_1) \
            .AndReturn((usage, True))
        views.STACKDB.save(usage)
        self.mox.ReplayAll()

        views._process_usage_for_new_launch(raw, notification)

        self.assertEqual(usage.launched_at, orig_launched_at)
        self.assertEqual(usage.tenant, TENANT_ID_1)
        self.assertEquals(usage.os_architecture, OS_ARCH_1)
        self.assertEquals(usage.os_version, OS_VERSION_1)
        self.assertEquals(usage.os_distro, OS_DISTRO_1)
        self.assertEquals(usage.rax_options, RAX_OPTIONS_1)

        self.mox.VerifyAll()
コード例 #2
0
ファイル: test_stacktach.py プロジェクト: DragonDM/stacktach
    def test_process_usage_for_new_launch_resize_prep_start_when_no_launched_at_in_db(self):
        notification = self._create_mock_notification()
        raw = self.mox.CreateMockAnything()
        raw.event = 'compute.instance.resize.prep.start'

        usage = self.mox.CreateMockAnything()
        usage.launched_at = None
        views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1,
                                                   request_id=REQUEST_ID_1) \
            .AndReturn((usage, True))
        views.STACKDB.save(usage)
        self.mox.ReplayAll()

        usage.launched_at = None

        views._process_usage_for_new_launch(raw, notification)

        self.assertEqual(usage.launched_at, utils.decimal_utc(DUMMY_TIME))
        self.assertEquals(usage.tenant, TENANT_ID_1)
        self.assertEquals(usage.os_architecture, OS_ARCH_1)
        self.assertEquals(usage.os_version, OS_VERSION_1)
        self.assertEquals(usage.os_distro, OS_DISTRO_1)
        self.assertEquals(usage.rax_options, RAX_OPTIONS_1)

        self.mox.VerifyAll()
コード例 #3
0
    def test_process_usage_for_new_launch_create_start(self):
        notification = self._create_mock_notification()
        notification.instance_flavor_id = INSTANCE_FLAVOR_ID_1

        raw = self.mox.CreateMockAnything()
        raw.event = 'compute.instance.create.start'

        usage = self.mox.CreateMockAnything()
        views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1,
                                                   request_id=REQUEST_ID_1) \
            .AndReturn((usage, True))
        views.STACKDB.save(usage)
        self.mox.ReplayAll()

        views._process_usage_for_new_launch(raw, notification)

        self.assertEquals(usage.instance_type_id, INSTANCE_TYPE_ID_1)
        self.assertEquals(usage.tenant, TENANT_ID_1)
        self.assertEquals(usage.os_architecture, OS_ARCH_1)
        self.assertEquals(usage.os_version, OS_VERSION_1)
        self.assertEquals(usage.os_distro, OS_DISTRO_1)
        self.assertEquals(usage.rax_options, RAX_OPTIONS_1)
        self.assertEquals(usage.instance_flavor_id, INSTANCE_FLAVOR_ID_1)

        self.mox.VerifyAll()
コード例 #4
0
ファイル: test_stacktach.py プロジェクト: anujm/stacktach
    def test_process_usage_for_new_launch_rescue_start_when_launched_at_in_db(self):
        notification = self.mox.CreateMockAnything()
        notification.launched_at = str(DUMMY_TIME)
        notification.tenant = TENANT_ID_1
        notification.rax_options = RAX_OPTIONS_1
        notification.os_architecture = OS_ARCH_1
        notification.os_version = OS_VERSION_1
        notification.os_distro = OS_DISTRO_1
        notification.instance = INSTANCE_ID_1
        notification.request_id = REQUEST_ID_1
        notification.instance_type_id = INSTANCE_TYPE_ID_1

        raw = self.mox.CreateMockAnything()
        raw.event = 'compute.instance.rescue.start'

        orig_launched_at = utils.decimal_utc(DUMMY_TIME - datetime.timedelta(days=1))
        usage = self.mox.CreateMockAnything()
        usage.launched_at = orig_launched_at
        views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1,
                                                   request_id=REQUEST_ID_1) \
            .AndReturn((usage, True))
        views.STACKDB.save(usage)
        self.mox.ReplayAll()

        views._process_usage_for_new_launch(raw, notification)

        self.assertEqual(usage.launched_at, orig_launched_at)
        self.assertEqual(usage.tenant, TENANT_ID_1)
        self.assertEquals(usage.os_architecture, OS_ARCH_1)
        self.assertEquals(usage.os_version, OS_VERSION_1)
        self.assertEquals(usage.os_distro, OS_DISTRO_1)
        self.assertEquals(usage.rax_options, RAX_OPTIONS_1)

        self.mox.VerifyAll()
コード例 #5
0
ファイル: test_stacktach.py プロジェクト: DragonDM/stacktach
    def test_process_usage_for_new_launch_create_start(self):
        notification = self._create_mock_notification()
        notification.instance_flavor_id = INSTANCE_FLAVOR_ID_1

        raw = self.mox.CreateMockAnything()
        raw.event = 'compute.instance.create.start'

        usage = self.mox.CreateMockAnything()
        views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1,
                                                   request_id=REQUEST_ID_1) \
            .AndReturn((usage, True))
        views.STACKDB.save(usage)
        self.mox.ReplayAll()

        views._process_usage_for_new_launch(raw, notification)

        self.assertEquals(usage.instance_type_id, INSTANCE_TYPE_ID_1)
        self.assertEquals(usage.tenant, TENANT_ID_1)
        self.assertEquals(usage.os_architecture, OS_ARCH_1)
        self.assertEquals(usage.os_version, OS_VERSION_1)
        self.assertEquals(usage.os_distro, OS_DISTRO_1)
        self.assertEquals(usage.rax_options, RAX_OPTIONS_1)
        self.assertEquals(usage.instance_flavor_id, INSTANCE_FLAVOR_ID_1)

        self.mox.VerifyAll()
コード例 #6
0
    def test_process_usage_for_new_launch_rebuild_start(self):
        kwargs = {'launched': str(DUMMY_TIME), 'tenant_id': TENANT_ID_1}
        notification = utils.create_nova_notif(request_id=REQUEST_ID_1, **kwargs)
        event = 'compute.instance.rebuild.start'
        raw, usage = self._setup_process_usage_mocks(event, notification)

        views._process_usage_for_new_launch(raw, notification[1])

        self.assertEquals(usage.instance_type_id, '1')
        self.assertEquals(usage.tenant, TENANT_ID_1)

        self.mox.VerifyAll()
コード例 #7
0
    def test_process_usage_for_new_launch_resize_revert_start_when_no_launched_at_in_db(self):
        kwargs = {'launched': str(DUMMY_TIME), 'tenant_id': TENANT_ID_1}
        notification = utils.create_nova_notif(request_id=REQUEST_ID_1, **kwargs)
        event = 'compute.instance.resize.revert.start'
        raw, usage = self._setup_process_usage_mocks(event, notification)
        usage.launched_at = None

        views._process_usage_for_new_launch(raw, notification[1])

        self.assertEquals(usage.tenant, TENANT_ID_1)
        self.assertEqual(usage.launched_at, utils.decimal_utc(DUMMY_TIME))

        self.mox.VerifyAll()
コード例 #8
0
 def test_process_usage_for_new_launch(self):
     when = utils.decimal_utc()
     notif = utils.create_nova_notif(request_id=REQUEST_ID_1)
     json_str = json.dumps(notif)
     event = 'compute.instance.create.start'
     raw = utils.create_raw(self.mox, when, event=event, json_str=json_str)
     usage = self.mox.CreateMockAnything()
     views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1,
                                                request_id=REQUEST_ID_1)\
                  .AndReturn((usage, True))
     views.STACKDB.save(usage)
     self.mox.ReplayAll()
     views._process_usage_for_new_launch(raw, notif[1])
     self.assertEquals(usage.instance_type_id, '1')
     self.mox.VerifyAll()
コード例 #9
0
    def test_process_usage_for_new_launch_rebuild_start(self):
        kwargs = {'launched': str(DUMMY_TIME), 'tenant_id': TENANT_ID_1, 'rax_options': RAX_OPTIONS_1,
                  'os_architecture': OS_ARCH_1, 'os_version': OS_VERSION_1, 'os_distro': OS_DISTRO_1 }
        notification = utils.create_nova_notif(request_id=REQUEST_ID_1, **kwargs)
        event = 'compute.instance.rebuild.start'
        raw, usage = self._setup_process_usage_mocks(event, notification)

        views._process_usage_for_new_launch(raw, notification[1])

        self.assertEquals(usage.instance_type_id, '1')
        self.assertEquals(usage.tenant, TENANT_ID_1)
        self.assertEquals(usage.os_architecture, OS_ARCH_1)
        self.assertEquals(usage.os_version, OS_VERSION_1)
        self.assertEquals(usage.os_distro, OS_DISTRO_1)
        self.assertEquals(usage.rax_options, RAX_OPTIONS_1)
        self.mox.VerifyAll()
コード例 #10
0
ファイル: test_stacktach.py プロジェクト: mendeni/stacktach
 def test_process_usage_for_new_launch_resize_no_launched_at_in_db(self):
     now = datetime.datetime.utcnow()
     when = utils.decimal_utc(now)
     notif = utils.create_nova_notif(request_id=REQUEST_ID_1,
                                     launched=str(now))
     json_str = json.dumps(notif)
     event = 'compute.instance.resize.prep.start'
     raw = utils.create_raw(self.mox, when, event=event, json_str=json_str)
     usage = self.mox.CreateMockAnything()
     usage.launched_at = None
     views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1,
                                                request_id=REQUEST_ID_1) \
          .AndReturn((usage, True))
     views.STACKDB.save(usage)
     self.mox.ReplayAll()
     views._process_usage_for_new_launch(raw, notif[1])
     self.assertEqual(usage.launched_at, when)
     self.mox.VerifyAll()
コード例 #11
0
    def test_process_usage_for_new_launch_resize_prep_start_when_no_launched_at_in_db(self):
        kwargs = {'launched': str(DUMMY_TIME), 'tenant_id': TENANT_ID_1, 'rax_options': RAX_OPTIONS_1,
                  'os_architecture': OS_ARCH_1, 'os_version': OS_VERSION_1, 'os_distro': OS_DISTRO_1 }
        notification = utils.create_nova_notif(request_id=REQUEST_ID_1, **kwargs)
        event = 'compute.instance.resize.prep.start'
        raw, usage = self._setup_process_usage_mocks(event, notification)
        usage.launched_at = None

        views._process_usage_for_new_launch(raw, notification[1])

        self.assertEqual(usage.launched_at, utils.decimal_utc(DUMMY_TIME))
        self.assertEquals(usage.tenant, TENANT_ID_1)
        self.assertEquals(usage.os_architecture, OS_ARCH_1)
        self.assertEquals(usage.os_version, OS_VERSION_1)
        self.assertEquals(usage.os_distro, OS_DISTRO_1)
        self.assertEquals(usage.rax_options, RAX_OPTIONS_1)

        self.mox.VerifyAll()