Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/metal-stack/metal-api int…
Browse files Browse the repository at this point in the history
…o dualstack-support
  • Loading branch information
majst01 committed Jul 23, 2024
2 parents aae9274 + 89978cc commit 1b09d5d
Show file tree
Hide file tree
Showing 9 changed files with 109 additions and 114 deletions.
6 changes: 3 additions & 3 deletions cmd/metal-api/internal/datastore/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (

"github.com/Masterminds/semver/v3"
"github.com/metal-stack/metal-api/cmd/metal-api/internal/metal"
"github.com/metal-stack/metal-api/cmd/metal-api/internal/utils"
metalcommon "github.com/metal-stack/metal-lib/pkg/metal"
r "gopkg.in/rethinkdb/rethinkdb-go.v6"
)

Expand Down Expand Up @@ -201,7 +201,7 @@ func isOrphanImage(image metal.Image, machines metal.Machines) bool {
// then the most recent ubuntu image (ubuntu-19.10.20200407) is returned
// If patch is specified e.g. ubuntu-20.04.20200502 then this exact image is searched.
func (rs *RethinkStore) getMostRecentImageFor(id string, images metal.Images) (*metal.Image, error) {
os, sv, err := utils.GetOsAndSemverFromImage(id)
os, sv, err := metalcommon.GetOsAndSemverFromImage(id)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -248,7 +248,7 @@ func (rs *RethinkStore) getMostRecentImageFor(id string, images metal.Images) (*
// then all ubuntu images (ubuntu-19.10.*) are returned
// If patch is specified e.g. ubuntu-20.04.20200502 then this exact image is searched.
func getImagesFor(id string, images metal.Images) ([]metal.Image, error) {
os, sv, err := utils.GetOsAndSemverFromImage(id)
os, sv, err := metalcommon.GetOsAndSemverFromImage(id)
if err != nil {
return nil, err
}
Expand Down
4 changes: 2 additions & 2 deletions cmd/metal-api/internal/datastore/image_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/google/go-cmp/cmp"
"github.com/metal-stack/metal-api/cmd/metal-api/internal/metal"
"github.com/metal-stack/metal-api/cmd/metal-api/internal/testdata"
"github.com/metal-stack/metal-api/cmd/metal-api/internal/utils"
metalcommon "github.com/metal-stack/metal-lib/pkg/metal"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down Expand Up @@ -403,7 +403,7 @@ func TestGetOsAndSemver(t *testing.T) {
for i := range tests {
tt := tests[i]
t.Run(tt.name, func(t *testing.T) {
os, version, err := utils.GetOsAndSemverFromImage(tt.id)
os, version, err := metalcommon.GetOsAndSemverFromImage(tt.id)
if (err != nil) != tt.wantErr {
t.Errorf("GetOsAndSemver() error = %v, wantErr %v", err, tt.wantErr)
return
Expand Down
5 changes: 3 additions & 2 deletions cmd/metal-api/internal/metal/filesystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import (
"strings"

"github.com/Masterminds/semver/v3"
"github.com/metal-stack/metal-api/cmd/metal-api/internal/utils"

metalcommon "github.com/metal-stack/metal-lib/pkg/metal"
)

const (
Expand Down Expand Up @@ -470,7 +471,7 @@ func (c *FilesystemLayoutConstraints) matches(sizeID, imageID string) bool {
}
// Size matches
for os, versionconstraint := range c.Images {
imageos, version, err := utils.GetOsAndSemverFromImage(imageID)
imageos, version, err := metalcommon.GetOsAndSemverFromImage(imageID)
if err != nil {
return false
}
Expand Down
4 changes: 2 additions & 2 deletions cmd/metal-api/internal/service/image-service.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import (
"github.com/metal-stack/metal-api/cmd/metal-api/internal/datastore"
"github.com/metal-stack/metal-api/cmd/metal-api/internal/metal"
v1 "github.com/metal-stack/metal-api/cmd/metal-api/internal/service/v1"
"github.com/metal-stack/metal-api/cmd/metal-api/internal/utils"
"github.com/metal-stack/metal-lib/auditing"
metalcommon "github.com/metal-stack/metal-lib/pkg/metal"

restfulspec "github.com/emicklei/go-restful-openapi/v2"
restful "github.com/emicklei/go-restful/v3"
Expand Down Expand Up @@ -297,7 +297,7 @@ func (r *imageResource) createImage(request *restful.Request, response *restful.
features[ft] = true
}

os, v, err := utils.GetOsAndSemverFromImage(requestPayload.ID)
os, v, err := metalcommon.GetOsAndSemverFromImage(requestPayload.ID)
if err != nil {
r.sendError(request, response, httperrors.BadRequest(err))
return
Expand Down
23 changes: 16 additions & 7 deletions cmd/metal-api/internal/service/network-service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@ import (

func TestGetNetworks(t *testing.T) {
ds, mock := datastore.InitMockDB(t)
ipamer, err := testdata.InitMockIpamData(mock, false)
require.NoError(t, err)
testdata.InitMockDBData(mock)
log := slog.Default()

networkservice := NewNetwork(log, ds, ipam.InitTestIpam(t), nil)
networkservice := NewNetwork(log, ds, ipamer, nil)
container := restful.NewContainer().Add(networkservice)
req := httptest.NewRequest("GET", "/v1/network", nil)
container = injectViewer(log, container, req)
Expand All @@ -41,7 +43,7 @@ func TestGetNetworks(t *testing.T) {
defer resp.Body.Close()
require.Equal(t, http.StatusOK, resp.StatusCode, w.Body.String())
var result []v1.NetworkResponse
err := json.NewDecoder(resp.Body).Decode(&result)
err = json.NewDecoder(resp.Body).Decode(&result)

require.NoError(t, err)
require.Len(t, result, 4)
Expand All @@ -55,10 +57,13 @@ func TestGetNetworks(t *testing.T) {

func TestGetNetwork(t *testing.T) {
ds, mock := datastore.InitMockDB(t)
ipamer, err := testdata.InitMockIpamData(mock, false)
require.NoError(t, err)

testdata.InitMockDBData(mock)
log := slog.Default()

networkservice := NewNetwork(log, ds, ipam.InitTestIpam(t), nil)
networkservice := NewNetwork(log, ds, ipamer, nil)
container := restful.NewContainer().Add(networkservice)
req := httptest.NewRequest("GET", "/v1/network/1", nil)
container = injectViewer(log, container, req)
Expand All @@ -69,7 +74,7 @@ func TestGetNetwork(t *testing.T) {
defer resp.Body.Close()
require.Equal(t, http.StatusOK, resp.StatusCode, w.Body.String())
var result v1.NetworkResponse
err := json.NewDecoder(resp.Body).Decode(&result)
err = json.NewDecoder(resp.Body).Decode(&result)

require.NoError(t, err)
require.Equal(t, testdata.Nw1.ID, result.ID)
Expand Down Expand Up @@ -193,10 +198,12 @@ func TestCreateNetwork(t *testing.T) {

func TestUpdateNetwork(t *testing.T) {
ds, mock := datastore.InitMockDB(t)
ipamer, err := testdata.InitMockIpamData(mock, false)
require.NoError(t, err)
testdata.InitMockDBData(mock)
log := slog.Default()

networkservice := NewNetwork(log, ds, ipam.InitTestIpam(t), nil)
networkservice := NewNetwork(log, ds, ipamer, nil)
container := restful.NewContainer().Add(networkservice)

newName := "new"
Expand Down Expand Up @@ -228,11 +235,13 @@ func TestUpdateNetwork(t *testing.T) {

func TestSearchNetwork(t *testing.T) {
ds, mock := datastore.InitMockDB(t)
ipamer, err := testdata.InitMockIpamData(mock, false)
require.NoError(t, err)
mock.On(r.DB("mockdb").Table("network").Filter(r.MockAnything())).Return([]interface{}{testdata.Nw1}, nil)
testdata.InitMockDBData(mock)
log := slog.Default()

networkService := NewNetwork(log, ds, ipam.InitTestIpam(t), nil)
networkService := NewNetwork(log, ds, ipamer, nil)
container := restful.NewContainer().Add(networkService)
requestJSON := fmt.Sprintf("{%q:%q}", "partitionid", "1")
req := httptest.NewRequest("POST", "/v1/network/find", bytes.NewBufferString(requestJSON))
Expand All @@ -245,7 +254,7 @@ func TestSearchNetwork(t *testing.T) {
defer resp.Body.Close()
require.Equal(t, http.StatusOK, resp.StatusCode, w.Body.String())
var results []v1.NetworkResponse
err := json.NewDecoder(resp.Body).Decode(&results)
err = json.NewDecoder(resp.Body).Decode(&results)

require.NoError(t, err)
require.Len(t, results, 1)
Expand Down
29 changes: 0 additions & 29 deletions cmd/metal-api/internal/utils/utils.go

This file was deleted.

38 changes: 21 additions & 17 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ require (
github.com/juanfont/headscale v0.22.3
github.com/klauspost/connect-compress/v2 v2.0.0
github.com/looplab/fsm v1.0.2
github.com/metal-stack/go-ipam v1.14.1
github.com/metal-stack/go-ipam v1.14.3
github.com/metal-stack/masterdata-api v0.11.4
github.com/metal-stack/metal-lib v0.17.1
github.com/metal-stack/metal-lib v0.17.2
github.com/metal-stack/security v0.8.0
github.com/metal-stack/v v1.0.3
github.com/nsqio/go-nsq v1.1.0
Expand All @@ -31,13 +31,18 @@ require (
github.com/stretchr/testify v1.9.0
github.com/testcontainers/testcontainers-go v0.31.0
github.com/undefinedlabs/go-mpatch v1.0.7
golang.org/x/crypto v0.24.0
golang.org/x/crypto v0.25.0
golang.org/x/sync v0.7.0
google.golang.org/grpc v1.64.0
google.golang.org/grpc v1.65.0
google.golang.org/protobuf v1.34.2
gopkg.in/rethinkdb/rethinkdb-go.v6 v6.2.2
)

require (
github.com/containerd/platforms v0.2.1 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
)

replace (
// Newer versions do not export base entities which are used to composite other entities.
// This breaks metalctl and friends
Expand All @@ -63,8 +68,7 @@ require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/containerd/containerd v1.7.18 // indirect
github.com/containerd/errdefs v0.1.0 // indirect
github.com/containerd/containerd v1.7.19 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/coreos/go-oidc/v3 v3.10.0 // indirect
github.com/coreos/go-semver v0.3.1 // indirect
Expand Down Expand Up @@ -159,10 +163,10 @@ require (
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.54.0 // indirect
github.com/prometheus/common v0.55.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/puzpuzpuz/xsync/v2 v2.5.1 // indirect
github.com/redis/go-redis/v9 v9.5.3 // indirect
github.com/redis/go-redis/v9 v9.5.4 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rs/zerolog v1.33.0 // indirect
github.com/sagikazarmark/locafero v0.6.0 // indirect
Expand Down Expand Up @@ -191,24 +195,24 @@ require (
go.etcd.io/etcd/api/v3 v3.5.14 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.5.14 // indirect
go.etcd.io/etcd/client/v3 v3.5.14 // indirect
go.mongodb.org/mongo-driver v1.15.1 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 // indirect
go.opentelemetry.io/otel v1.27.0 // indirect
go.opentelemetry.io/otel/metric v1.27.0 // indirect
go.opentelemetry.io/otel/trace v1.27.0
go.mongodb.org/mongo-driver v1.16.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect
go.opentelemetry.io/otel v1.28.0 // indirect
go.opentelemetry.io/otel/metric v1.28.0 // indirect
go.opentelemetry.io/otel/trace v1.28.0
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
go4.org/mem v0.0.0-20240501181205-ae6ca9944745 // indirect
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8
golang.org/x/net v0.26.0 // indirect
golang.org/x/net v0.27.0 // indirect
golang.org/x/oauth2 v0.21.0 // indirect
golang.org/x/sys v0.21.0 // indirect
golang.org/x/sys v0.22.0 // indirect
golang.org/x/text v0.16.0 // indirect
golang.org/x/time v0.5.0 // indirect; indirecct
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240617180043-68d350f18fd4 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240617180043-68d350f18fd4 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240711142825-46eb208f015d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240711142825-46eb208f015d // indirect
gopkg.in/cenkalti/backoff.v2 v2.2.1 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
Expand Down
Loading

0 comments on commit 1b09d5d

Please sign in to comment.