Skip to content

Commit 12745f6

Browse files
authored
Add masterdata-api version (#617) (#618)
1 parent 0514b43 commit 12745f6

File tree

12 files changed

+64
-23
lines changed

12 files changed

+64
-23
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package masterdata
2+
3+
import (
4+
"context"
5+
"fmt"
6+
7+
v1 "github.com/metal-stack/masterdata-api/api/v1"
8+
mdm "github.com/metal-stack/masterdata-api/pkg/client"
9+
"github.com/metal-stack/metal-lib/pkg/healthstatus"
10+
)
11+
12+
type MasterdataHealthClient struct {
13+
mdc mdm.Client
14+
}
15+
16+
func NewMasterdataHealthClient(mdc mdm.Client) *MasterdataHealthClient {
17+
return &MasterdataHealthClient{mdc: mdc}
18+
}
19+
20+
func (mhc *MasterdataHealthClient) ServiceName() string {
21+
return "masterdata-api"
22+
}
23+
24+
func (mhc *MasterdataHealthClient) Check(ctx context.Context) (healthstatus.HealthResult, error) {
25+
version, err := mhc.mdc.Version().Get(ctx, &v1.GetVersionRequest{})
26+
27+
if err != nil {
28+
return healthstatus.HealthResult{
29+
Status: healthstatus.HealthStatusUnhealthy,
30+
}, err
31+
}
32+
33+
return healthstatus.HealthResult{
34+
Status: healthstatus.HealthStatusHealthy,
35+
Message: fmt.Sprintf("connected to masterdata-api service version: %s rev: %s", version.Version, version.Revision),
36+
}, nil
37+
}

cmd/metal-api/internal/service/integration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func createTestEnvironment(t *testing.T, log *slog.Logger, ds *datastore.Rethink
7070
psc.On("Find", testifymock.Anything, &mdmv1.ProjectFindRequest{}).Return(&mdmv1.ProjectListResponse{Projects: []*mdmv1.Project{
7171
{Meta: &mdmv1.Meta{Id: "test-project-1"}},
7272
}}, nil)
73-
mdc := mdm.NewMock(psc, nil, nil, nil)
73+
mdc := mdm.NewMock(psc, nil, nil, nil, nil)
7474

7575
listener, err := net.Listen("tcp", "127.0.0.1:0")
7676
require.NoError(t, err)

cmd/metal-api/internal/service/ip-service_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ func TestAllocateIP(t *testing.T) {
209209
)
210210
tsc := mdmock.TenantServiceClient{}
211211

212-
mdc := mdm.NewMock(&psc, &tsc, nil, nil)
212+
mdc := mdm.NewMock(&psc, &tsc, nil, nil, nil)
213213

214214
ipservice, err := NewIP(logger, ds, bus.DirectEndpoints(), ipamer, mdc)
215215
require.NoError(t, err)

cmd/metal-api/internal/service/machine-service_allocation_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ func setupTestEnvironment(machineCount int, t *testing.T, ds *datastore.RethinkS
312312

313313
psc := &mdmv1mock.ProjectServiceClient{}
314314
psc.On("Get", testifymock.Anything, &mdmv1.ProjectGetRequest{Id: "pr1"}).Return(&mdmv1.ProjectResponse{Project: &mdmv1.Project{}}, nil)
315-
mdc := mdm.NewMock(psc, nil, nil, nil)
315+
mdc := mdm.NewMock(psc, nil, nil, nil, nil)
316316

317317
_, pg, err := test.StartPostgres()
318318
require.NoError(t, err)

cmd/metal-api/internal/service/network-service_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ func Test_networkResource_allocateNetwork(t *testing.T) {
519519
)
520520
tsc := mdmv1mock.TenantServiceClient{}
521521

522-
mdc := mdm.NewMock(&psc, &tsc, nil, nil)
522+
mdc := mdm.NewMock(&psc, &tsc, nil, nil, nil)
523523

524524
networkservice := NewNetwork(log, ds, ipamer, mdc)
525525
container := restful.NewContainer().Add(networkservice)

cmd/metal-api/internal/service/project-service_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func NewMockedProjectService(t *testing.T, projectServiceMock func(mock *mdmv1mo
4545
if projectServiceMock != nil {
4646
projectServiceMock(psc)
4747
}
48-
mdc := mdm.NewMock(psc, &mdmv1mock.TenantServiceClient{}, nil, nil)
48+
mdc := mdm.NewMock(psc, &mdmv1mock.TenantServiceClient{}, nil, nil, nil)
4949
ds, mock := datastore.InitMockDB(t)
5050
if dsmock != nil {
5151
dsmock(mock)

cmd/metal-api/internal/service/size-service_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ func TestCreateSize(t *testing.T) {
226226
psc.On("Find", testifymock.Anything, &mdmv1.ProjectFindRequest{}).Return(&mdmv1.ProjectListResponse{Projects: []*mdmv1.Project{
227227
{Meta: &mdmv1.Meta{Id: "a"}},
228228
}}, nil)
229-
mdc := mdm.NewMock(psc, &mdmv1mock.TenantServiceClient{}, nil, nil)
229+
mdc := mdm.NewMock(psc, &mdmv1mock.TenantServiceClient{}, nil, nil, nil)
230230

231231
sizeservice := NewSize(log, ds, mdc)
232232
container := restful.NewContainer().Add(sizeservice)
@@ -284,7 +284,7 @@ func TestUpdateSize(t *testing.T) {
284284
psc.On("Find", testifymock.Anything, &mdmv1.ProjectFindRequest{}).Return(&mdmv1.ProjectListResponse{Projects: []*mdmv1.Project{
285285
{Meta: &mdmv1.Meta{Id: "p1"}},
286286
}}, nil)
287-
mdc := mdm.NewMock(psc, &mdmv1mock.TenantServiceClient{}, nil, nil)
287+
mdc := mdm.NewMock(psc, &mdmv1mock.TenantServiceClient{}, nil, nil, nil)
288288

289289
sizeservice := NewSize(log, ds, mdc)
290290
container := restful.NewContainer().Add(sizeservice)
@@ -398,7 +398,7 @@ func Test_ListSizeReservationsUsage(t *testing.T) {
398398
t.Run(tt.name, func(t *testing.T) {
399399
var (
400400
projectMock = mdmv1mock.NewProjectServiceClient(t)
401-
m = mdm.NewMock(projectMock, nil, nil, nil)
401+
m = mdm.NewMock(projectMock, nil, nil, nil, nil)
402402
ds, dbMock = datastore.InitMockDB(t)
403403
ws = NewSize(slog.Default(), ds, m)
404404
)
@@ -460,7 +460,7 @@ func Test_ListSizeReservations(t *testing.T) {
460460
t.Run(tt.name, func(t *testing.T) {
461461
var (
462462
projectMock = mdmv1mock.NewProjectServiceClient(t)
463-
m = mdm.NewMock(projectMock, nil, nil, nil)
463+
m = mdm.NewMock(projectMock, nil, nil, nil, nil)
464464
ds, dbMock = datastore.InitMockDB(t)
465465
ws = NewSize(slog.Default(), ds, m)
466466
)
@@ -533,7 +533,7 @@ func Test_FindSizeReservationsUsage(t *testing.T) {
533533
t.Run(tt.name, func(t *testing.T) {
534534
var (
535535
projectMock = mdmv1mock.NewProjectServiceClient(t)
536-
m = mdm.NewMock(projectMock, nil, nil, nil)
536+
m = mdm.NewMock(projectMock, nil, nil, nil, nil)
537537
ds, dbMock = datastore.InitMockDB(t)
538538
ws = NewSize(slog.Default(), ds, m)
539539
)
@@ -598,7 +598,7 @@ func Test_GetSizeReservationsUsage(t *testing.T) {
598598
t.Run(tt.name, func(t *testing.T) {
599599
var (
600600
projectMock = mdmv1mock.NewProjectServiceClient(t)
601-
m = mdm.NewMock(projectMock, nil, nil, nil)
601+
m = mdm.NewMock(projectMock, nil, nil, nil, nil)
602602
ds, dbMock = datastore.InitMockDB(t)
603603
ws = NewSize(slog.Default(), ds, m)
604604
)
@@ -665,7 +665,7 @@ func Test_DeleteSizeReservationsUsage(t *testing.T) {
665665
t.Run(tt.name, func(t *testing.T) {
666666
var (
667667
projectMock = mdmv1mock.NewProjectServiceClient(t)
668-
m = mdm.NewMock(projectMock, nil, nil, nil)
668+
m = mdm.NewMock(projectMock, nil, nil, nil, nil)
669669
ds, dbMock = datastore.InitMockDB(t)
670670
ws = NewSize(slog.Default(), ds, m)
671671
)
@@ -746,7 +746,7 @@ func Test_CreateSizeReservationsUsage(t *testing.T) {
746746
t.Run(tt.name, func(t *testing.T) {
747747
var (
748748
projectMock = mdmv1mock.NewProjectServiceClient(t)
749-
m = mdm.NewMock(projectMock, nil, nil, nil)
749+
m = mdm.NewMock(projectMock, nil, nil, nil, nil)
750750
ds, dbMock = datastore.InitMockDB(t)
751751
ws = NewSize(slog.Default(), ds, m)
752752
)
@@ -820,7 +820,7 @@ func Test_UpdateSizeReservationsUsage(t *testing.T) {
820820
t.Run(tt.name, func(t *testing.T) {
821821
var (
822822
projectMock = mdmv1mock.NewProjectServiceClient(t)
823-
m = mdm.NewMock(projectMock, nil, nil, nil)
823+
m = mdm.NewMock(projectMock, nil, nil, nil, nil)
824824
ds, dbMock = datastore.InitMockDB(t)
825825
ws = NewSize(slog.Default(), ds, m)
826826
)

cmd/metal-api/internal/service/switch-service_integration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ func createTestService(t *testing.T) testService {
469469
psc.On("Find", testifymock.Anything, &mdmv1.ProjectFindRequest{}).Return(&mdmv1.ProjectListResponse{Projects: []*mdmv1.Project{
470470
{Meta: &mdmv1.Meta{Id: "test-project-1"}},
471471
}}, nil)
472-
mdc := mdm.NewMock(psc, nil, nil, nil)
472+
mdc := mdm.NewMock(psc, nil, nil, nil, nil)
473473

474474
hma := security.NewHMACAuth(testUserDirectory.admin.Name, []byte{1, 2, 3}, security.WithUser(testUserDirectory.admin))
475475
usergetter := security.NewCreds(security.WithHMAC(hma))

cmd/metal-api/internal/service/tenant-service_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func NewMockedTenantService(t *testing.T, tenantServiceMock func(mock *mdmv1mock
2626
if tenantServiceMock != nil {
2727
tenantServiceMock(tsc)
2828
}
29-
mdc := mdm.NewMock(&mdmv1mock.ProjectServiceClient{}, tsc, nil, nil)
29+
mdc := mdm.NewMock(&mdmv1mock.ProjectServiceClient{}, tsc, nil, nil, nil)
3030
ws := NewTenant(slog.Default(), mdc)
3131
return &MockedTenantService{
3232
t: t,

cmd/metal-api/main.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"github.com/Masterminds/semver/v3"
2222
"github.com/avast/retry-go/v4"
2323
v1 "github.com/metal-stack/masterdata-api/api/v1"
24+
"github.com/metal-stack/metal-api/cmd/metal-api/internal/masterdata"
2425
"github.com/metal-stack/metal-api/cmd/metal-api/internal/service/s3client"
2526

2627
"github.com/prometheus/client_golang/prometheus/promhttp"
@@ -747,7 +748,8 @@ func initRestServices(searchAuditBackend auditing.Auditing, allAuditBackends []a
747748
log.Fatal(err)
748749
}
749750

750-
healthService, err := rest.NewHealth(logger, service.BasePath, ds, ipamer)
751+
mdhc := masterdata.NewMasterdataHealthClient(mdc)
752+
healthService, err := rest.NewHealth(logger, service.BasePath, ds, ipamer, mdhc)
751753
if err != nil {
752754
log.Fatal(err)
753755
}

0 commit comments

Comments
 (0)