summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java3
3 files changed, 4 insertions, 3 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java
index 676c29cec5d..4aab4a47fc6 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java
@@ -7,7 +7,7 @@ import com.yahoo.vespa.hosted.controller.tenant.CloudTenant;
public interface BillingReporter {
BillingReference maintainTenant(CloudTenant tenant);
- InvoiceUpdate maintainInvoice(Bill bill);
+ InvoiceUpdate maintainInvoice(CloudTenant teannt, Bill bill);
/** Export a bill to a payment service. Returns the invoice ID in the external system. */
default String exportBill(Bill bill, String exportMethod, CloudTenant tenant) {
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java
index 04c618880e0..899b31da361 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java
@@ -29,7 +29,7 @@ public class BillingReporterMock implements BillingReporter {
}
@Override
- public InvoiceUpdate maintainInvoice(Bill bill) {
+ public InvoiceUpdate maintainInvoice(CloudTenant tenant, Bill bill) {
if (exportedBills.containsKey(bill.id())) {
dbClient.addLineItem(bill.tenant(), maintainedMarkerItem(), Optional.of(bill.id()));
return ModifiableInvoiceUpdate.of(bill.id(), 1, 0, 0);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java
index a755e2145b0..5c37e0e4d0b 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java
@@ -70,6 +70,7 @@ public class BillingReportMaintainer extends ControllerMaintainer {
List<InvoiceUpdate> maintainInvoices() {
var updates = new ArrayList<InvoiceUpdate>();
+ var tenants = cloudTenants();
var billsNeedingMaintenance = databaseClient.readBills().stream()
.filter(bill -> bill.getExportedId().isPresent())
.filter(exported -> exported.status() == BillStatus.OPEN)
@@ -77,7 +78,7 @@ public class BillingReportMaintainer extends ControllerMaintainer {
for (var bill : billsNeedingMaintenance) {
var exportedId = bill.getExportedId().orElseThrow();
- var update = reporter.maintainInvoice(bill);
+ var update = reporter.maintainInvoice(tenants.get(bill.tenant()), bill);
if (update instanceof ModifiableInvoiceUpdate modifiable && ! modifiable.isEmpty()) {
log.fine(invoiceMessage(bill.id(), exportedId) + " was updated with " + modifiable.itemsUpdate());
} else if (update instanceof FailedInvoiceUpdate failed && failed.reason == FailedInvoiceUpdate.Reason.REMOVED) {