def test_total_usage_for_cpu_gpu_ram_is_aggregated(self):
        allocation1 = fixtures.SlurmFixture().allocation
        allocation1.cpu_usage = 100
        allocation1.gpu_usage = 200
        allocation1.ram_usage = 2000
        allocation1.save()

        allocation2 = fixtures.SlurmFixture().allocation
        allocation2.cpu_usage = 500
        allocation2.gpu_usage = 1000
        allocation2.ram_usage = 10000
        allocation2.save()

        expected_points = [
            {
                'measurement': 'slurm_ram_usage',
                'fields': {
                    'value': 12000,
                }
            },
            {
                'measurement': 'slurm_cpu_usage',
                'fields': {
                    'value': 600,
                }
            },
            {
                'measurement': 'slurm_gpu_usage',
                'fields': {
                    'value': 1200,
                }
            },
        ]
        self.assertItemsEqual(slurm.get_usage(), expected_points)
    def setUp(self):
        fixture = slurm_fixtures.SlurmFixture()
        service_settings = fixture.service.settings
        offering = marketplace_factories.OfferingFactory(
            type=PLUGIN_NAME, scope=service_settings)
        plan = marketplace_factories.PlanFactory(offering=offering)
        order = marketplace_factories.OrderFactory(
            project=fixture.project,
            state=marketplace_models.Order.States.EXECUTING)
        order_item = marketplace_factories.OrderItemFactory(
            order=order,
            offering=offering,
            limits={
                component.type: 10
                for component in manager.get_components(PLUGIN_NAME)
            })
        for component in manager.get_components(PLUGIN_NAME):
            component = marketplace_models.OfferingComponent.objects.create(
                offering=offering,
                type=component.type,
                name=component.name,
                measured_unit=component.measured_unit,
            )
            marketplace_models.PlanComponent.objects.create(
                plan=plan,
                component=component,
            )

        # Create SPL
        fixture.spl
        self.fixture = fixture
        self.order_item = order_item
        self.offering = offering
 def setUp(self):
     self.fixture = slurm_fixtures.SlurmFixture()
     self.package = slurm_factories.SlurmPackageFactory(
         service_settings=self.fixture.service.settings)
     self.invoice = factories.InvoiceFactory(customer=self.fixture.customer)
     self.scope = self.fixture.allocation
     self.item = models.GenericInvoiceItem.objects.filter(
         scope=self.scope).get()
Beispiel #4
0
    def get_report(self, raw):
        self.fixture = fixtures.SlurmFixture()

        self.subprocess_patcher = mock.patch('subprocess.check_output')
        self.subprocess_mock = self.subprocess_patcher.start()
        self.subprocess_mock.return_value = raw

        backend = self.fixture.settings.get_backend()
        return backend.get_usage_report(VALID_ALLOCATION)
 def setUp(self):
     self.fixture = slurm_fixtures.SlurmFixture()
     self.package = slurm_factories.SlurmPackageFactory(service_settings=self.fixture.service.settings)
     self.invoice = factories.InvoiceFactory(customer=self.fixture.customer)
     self.scope = self.fixture.allocation
     self.item = models.InvoiceItem.objects.filter(scope=self.scope).get()
     self.item.unit = models.InvoiceItem.Units.QUANTITY
     self.item.quantity = 10
     self.item.unit_price = 10
     self.item.save()
Beispiel #6
0
    def setUp(self):
        self.fixture = slurm_fixtures.SlurmFixture()
        self.allocation = self.fixture.allocation

        self.offering = marketplace_factories.OfferingFactory(type=PLUGIN_NAME)
        self.resource = marketplace_factories.ResourceFactory(scope=self.allocation, offering=self.offering)
        self.order = marketplace_factories.OrderFactory(
            project=self.fixture.project,
            state=marketplace_models.Order.States.EXECUTING,
        )
        self.order_item = marketplace_factories.OrderItemFactory(
            resource=self.resource,
            type=marketplace_models.RequestTypeMixin.Types.TERMINATE,
        )
Beispiel #7
0
 def setUp(self):
     self.fixture = slurm_fixtures.SlurmFixture()
     self.invoice = factories.InvoiceFactory(customer=self.fixture.customer)
     self.url = structure_factories.CustomerFactory.get_url(
         self.fixture.customer)
Beispiel #8
0
 def setUp(self):
     self.fixture = slurm_fixtures.SlurmFixture()