Skip to content

Commit 0612631

Browse files
authored
Merge branch 'master' into feat/edge-services
2 parents d4a01eb + 49c5d2b commit 0612631

File tree

9 files changed

+108
-8081
lines changed

9 files changed

+108
-8081
lines changed

.github/workflows/release.yml

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,36 @@ jobs:
1818
goreleaser:
1919
runs-on: ubuntu-latest
2020
steps:
21-
-
22-
name: Checkout
21+
- name: Checkout
2322
uses: actions/checkout@v4
24-
-
25-
name: Unshallow
23+
24+
- name: Unshallow
2625
run: git fetch --prune --unshallow
27-
-
28-
name: Set up Go
26+
27+
- name: Set up Go
2928
uses: actions/setup-go@v5
3029
with:
3130
go-version: 1.22
32-
-
33-
name: Import GPG key
31+
32+
- name: Import GPG key
3433
id: import_gpg
3534
uses: crazy-max/ghaction-import-gpg@v6
3635
with:
3736
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
3837
passphrase: ${{ secrets.GPG_PASSPHRASE }}
3938
fingerprint: ${{ secrets.GPG_FINGERPRINT }}
40-
-
41-
name: Run GoReleaser
39+
40+
- name: Check goreleaser
4241
uses: goreleaser/goreleaser-action@v5
4342
with:
4443
version: latest
45-
args: release --rm-dist
44+
args: check
45+
46+
- name: Run GoReleaser
47+
uses: goreleaser/goreleaser-action@v6
48+
with:
49+
version: latest
50+
args: release
4651
env:
4752
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
4853
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.goreleaser.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Visit https://goreleaser.com for documentation on how to customize this
22
# behavior.
3+
version: 2
34
before:
45
hooks:
56
- go mod tidy
@@ -50,4 +51,4 @@ release:
5051
# Manually examine the release before its live
5152
draft: true
5253
changelog:
53-
skip: false
54+
use: github

internal/services/instance/helpers_instance_block.go

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,42 @@ type UnknownVolume struct {
2929
ServerID *string
3030
Boot *bool
3131

32-
// IsBlockVolume is true if volume is managed by block API
33-
IsBlockVolume bool
34-
3532
InstanceVolumeType instance.VolumeVolumeType
3633
}
3734

3835
// VolumeTemplate returns a template to be used for servers requests.
3936
func (volume *UnknownVolume) VolumeTemplate() *instance.VolumeServerTemplate {
4037
template := &instance.VolumeServerTemplate{}
38+
4139
if volume.ID != "" {
4240
template.ID = &volume.ID
41+
if !volume.IsBlockVolume() {
42+
template.Name = &volume.Name
43+
}
4344
} else {
45+
template.VolumeType = volume.InstanceVolumeType
4446
template.Size = volume.Size
4547
}
4648

4749
if volume.Boot != nil {
4850
template.Boot = volume.Boot
4951
}
5052

51-
if volume.IsBlockVolume {
53+
if volume.IsBlockVolume() {
5254
template.VolumeType = volume.InstanceVolumeType
53-
} else {
54-
template.Name = &volume.Name
5555
}
5656

5757
return template
5858
}
5959

6060
// IsLocal returns true if the volume is a local volume
6161
func (volume *UnknownVolume) IsLocal() bool {
62-
return !volume.IsBlockVolume && volume.InstanceVolumeType == instance.VolumeVolumeTypeLSSD
62+
return !volume.IsBlockVolume() && volume.InstanceVolumeType == instance.VolumeVolumeTypeLSSD
63+
}
64+
65+
// IsBlockVolume is true if volume is managed by block API
66+
func (volume *UnknownVolume) IsBlockVolume() bool {
67+
return volume.InstanceVolumeType == instance.VolumeVolumeTypeSbsVolume
6368
}
6469

6570
// IsAttached returns true if the volume is attached to a server
@@ -83,7 +88,6 @@ func (api *BlockAndInstanceAPI) GetUnknownVolume(req *GetUnknownVolumeRequest, o
8388
ID: getVolumeResponse.Volume.ID,
8489
Name: getVolumeResponse.Volume.Name,
8590
Size: &getVolumeResponse.Volume.Size,
86-
IsBlockVolume: false,
8791
InstanceVolumeType: getVolumeResponse.Volume.VolumeType,
8892
}
8993
if getVolumeResponse.Volume.Server != nil {
@@ -106,7 +110,6 @@ func (api *BlockAndInstanceAPI) GetUnknownVolume(req *GetUnknownVolumeRequest, o
106110
ID: blockVolume.ID,
107111
Name: blockVolume.Name,
108112
Size: &blockVolume.Size,
109-
IsBlockVolume: true,
110113
InstanceVolumeType: instance.VolumeVolumeTypeSbsVolume,
111114
}
112115
for _, ref := range blockVolume.References {
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
package instance_test
2+
3+
import (
4+
"testing"
5+
6+
instanceSDK "github.com/scaleway/scaleway-sdk-go/api/instance/v1"
7+
"github.com/scaleway/scaleway-sdk-go/scw"
8+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/instance"
9+
"github.com/stretchr/testify/assert"
10+
)
11+
12+
func TestUnknownVolume_VolumeTemplate(t *testing.T) {
13+
type fields struct {
14+
Zone scw.Zone
15+
ID string
16+
Name string
17+
Size *scw.Size
18+
ServerID *string
19+
Boot *bool
20+
IsBlockVolume bool
21+
InstanceVolumeType instanceSDK.VolumeVolumeType
22+
}
23+
tests := []struct {
24+
name string
25+
volume *instance.UnknownVolume
26+
want *instanceSDK.VolumeServerTemplate
27+
}{
28+
{
29+
name: "Root Volume",
30+
volume: &instance.UnknownVolume{
31+
Name: "",
32+
ID: "",
33+
InstanceVolumeType: instanceSDK.VolumeVolumeTypeLSSD,
34+
Size: scw.SizePtr(20000000000),
35+
Boot: scw.BoolPtr(false),
36+
},
37+
want: &instanceSDK.VolumeServerTemplate{
38+
Boot: scw.BoolPtr(false),
39+
Size: scw.SizePtr(20000000000),
40+
VolumeType: instanceSDK.VolumeVolumeTypeLSSD,
41+
},
42+
},
43+
{
44+
name: "Root Volume from ID",
45+
volume: &instance.UnknownVolume{
46+
Name: "tf-vol-stoic-johnson",
47+
ID: "25152794-d15a-4dd5-abfc-b19ec276aa20",
48+
InstanceVolumeType: instanceSDK.VolumeVolumeTypeLSSD,
49+
Size: scw.SizePtr(20000000000),
50+
Boot: scw.BoolPtr(true),
51+
},
52+
want: &instanceSDK.VolumeServerTemplate{
53+
ID: scw.StringPtr("25152794-d15a-4dd5-abfc-b19ec276aa20"),
54+
Boot: scw.BoolPtr(true),
55+
Name: scw.StringPtr("tf-vol-stoic-johnson"),
56+
},
57+
},
58+
{
59+
name: "Additional Volume sbs",
60+
volume: &instance.UnknownVolume{
61+
Name: "tf-volume-elegant-minsky",
62+
ID: "cc380989-b71b-47f0-829f-062e329f4097",
63+
InstanceVolumeType: instanceSDK.VolumeVolumeTypeSbsVolume,
64+
Size: scw.SizePtr(10000000000),
65+
},
66+
want: &instanceSDK.VolumeServerTemplate{
67+
ID: scw.StringPtr("cc380989-b71b-47f0-829f-062e329f4097"),
68+
VolumeType: instanceSDK.VolumeVolumeTypeSbsVolume,
69+
},
70+
},
71+
}
72+
for _, tt := range tests {
73+
t.Run(tt.name, func(t *testing.T) {
74+
assert.Equal(t, tt.want, tt.volume.VolumeTemplate())
75+
})
76+
}
77+
}

internal/services/lb/helpers_lb.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
)
2424

2525
const (
26-
defaultLbLbTimeout = 10 * time.Minute
26+
defaultLbLbTimeout = 15 * time.Minute
2727
RetryLbIPInterval = 5 * time.Second
2828
)
2929

0 commit comments

Comments
 (0)