Skip to content

Commit 40e5742

Browse files
authored
fix(instance): change scratch volume logic (#5276)
1 parent 5776e30 commit 40e5742

File tree

4 files changed

+976
-994
lines changed

4 files changed

+976
-994
lines changed

internal/namespaces/instance/v1/custom_server_create.go

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -369,28 +369,9 @@ func instanceServerCreateRun(ctx context.Context, argsI any) (i any, e error) {
369369
}
370370

371371
func addDefaultVolumes(
372-
serverType *instance.ServerType,
373372
volumes map[string]*instance.VolumeServerTemplate,
374373
) map[string]*instance.VolumeServerTemplate {
375-
needScratch := false
376-
hasScratch := false
377374
defaultVolumes := []*instance.VolumeServerTemplate(nil)
378-
if serverType.ScratchStorageMaxSize != nil && *serverType.ScratchStorageMaxSize > 0 {
379-
needScratch = true
380-
}
381-
for _, volume := range volumes {
382-
if volume.VolumeType == instance.VolumeVolumeTypeScratch {
383-
hasScratch = true
384-
}
385-
}
386-
387-
if needScratch && !hasScratch {
388-
defaultVolumes = append(defaultVolumes, &instance.VolumeServerTemplate{
389-
Name: scw.StringPtr("default-cli-scratch-volume"),
390-
Size: serverType.ScratchStorageMaxSize,
391-
VolumeType: instance.VolumeVolumeTypeScratch,
392-
})
393-
}
394375

395376
if defaultVolumes != nil {
396377
if volumes == nil {

internal/namespaces/instance/v1/custom_server_create_builder.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ func (sb *ServerBuilder) BuildVolumes() error {
357357
sb.createReq.Volumes = volumes
358358

359359
if sb.serverType != nil {
360-
sb.createReq.Volumes = addDefaultVolumes(sb.serverType, sb.createReq.Volumes)
360+
sb.createReq.Volumes = addDefaultVolumes(sb.createReq.Volumes)
361361
}
362362

363363
return nil

internal/namespaces/instance/v1/testdata/test-create-server-scratch-storage-default-scratch-storage.cassette.yaml

Lines changed: 933 additions & 933 deletions
Large diffs are not rendered by default.
Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲
22
🟩🟩🟩 STDOUT️ 🟩🟩🟩️
3-
ID 83d3a1fe-76a4-45bc-af33-95c060618547
4-
Name cli-srv-laughing-austin
5-
Organization fa1e3217-dc80-42ac-85c3-3f034b78b552
6-
Project fa1e3217-dc80-42ac-85c3-3f034b78b552
3+
ID 0fc093fd-4593-4c7f-b2f9-8f8e9cf1beeb
4+
Name cli-srv-flamboyant-mayer
5+
Organization 951df375-e094-4d26-97c1-ba548eeb9c42
6+
Project 951df375-e094-4d26-97c1-ba548eeb9c42
77
AllowedActions.0 poweron
88
AllowedActions.1 backup
99
CommercialType H100-1-80G
1010
CreationDate few seconds ago
1111
DynamicIPRequired true
1212
RoutedIPEnabled true
1313
EnableIPv6 false
14-
Hostname cli-srv-laughing-austin
14+
Hostname cli-srv-flamboyant-mayer
1515
Image.ID f3431c05-e917-4bf0-b9db-9d4c14716a5e
1616
Image.Name Ubuntu Jammy GPU OS 12 passthrough
1717
Image.Arch x86_64
@@ -26,58 +26,59 @@ Image.State available
2626
Image.Project 51b656e3-4865-41e8-adbc-0c45bdd780db
2727
Image.Zone fr-par-2
2828
Protected false
29-
PublicIP.ID ac88a6d3-3ad8-4c51-8b09-3036c12add9b
30-
PublicIP.Address 51.159.131.214
29+
PublicIP.ID 21feb3e0-211e-49af-b197-2740e9241662
30+
PublicIP.Address 51.159.166.9
3131
PublicIP.Gateway 62.210.0.1
3232
PublicIP.Netmask 32
3333
PublicIP.Family inet
3434
PublicIP.Dynamic false
3535
PublicIP.ProvisioningMode dhcp
36-
PublicIP.IpamID 60083e2c-9816-4a84-b14a-d346dd4d39ee
36+
PublicIP.IpamID 21feb3e0-211e-49af-b197-2740e9241662
3737
PublicIP.State attached
38-
PublicIPs.0.ID ac88a6d3-3ad8-4c51-8b09-3036c12add9b
39-
PublicIPs.0.Address 51.159.131.214
38+
PublicIPs.0.ID 21feb3e0-211e-49af-b197-2740e9241662
39+
PublicIPs.0.Address 51.159.166.9
4040
PublicIPs.0.Gateway 62.210.0.1
4141
PublicIPs.0.Netmask 32
4242
PublicIPs.0.Family inet
4343
PublicIPs.0.Dynamic false
4444
PublicIPs.0.ProvisioningMode dhcp
45-
PublicIPs.0.IpamID 60083e2c-9816-4a84-b14a-d346dd4d39ee
45+
PublicIPs.0.IpamID 21feb3e0-211e-49af-b197-2740e9241662
4646
PublicIPs.0.State attached
47-
MacAddress de:00:00:8f:cf:d9
47+
MacAddress de:00:00:9d:a3:a3
4848
ModificationDate few seconds ago
4949
State archived
5050
BootType local
51-
Volumes.0.ID 0ffc426a-21b8-4a9a-9100-a3d3f8478bf4
51+
Volumes.0.ID 4205ef3c-83ca-4664-90f1-f64ec2484852
5252
Volumes.0.VolumeType sbs_volume
5353
Volumes.0.State available
5454
Volumes.0.Boot false
5555
Volumes.0.Zone fr-par-2
56-
Volumes.1.ID 48ef0622-d26b-4a6e-87ce-21d5b33738f2
57-
Volumes.1.Name cli-srv-laughing-austin-1
58-
Volumes.1.Organization fa1e3217-dc80-42ac-85c3-3f034b78b552
59-
Volumes.1.Server.ID 83d3a1fe-76a4-45bc-af33-95c060618547
60-
Volumes.1.Server.Name cli-srv-laughing-austin
56+
Volumes.1.ID e0212979-0063-472e-b0ae-4d8416336324
57+
Volumes.1.Name autogenerated scratch volume
58+
Volumes.1.Organization 951df375-e094-4d26-97c1-ba548eeb9c42
59+
Volumes.1.Server.ID 0fc093fd-4593-4c7f-b2f9-8f8e9cf1beeb
60+
Volumes.1.Server.Name cli-srv-flamboyant-mayer
6161
Volumes.1.Size 3.0 TB
6262
Volumes.1.VolumeType scratch
6363
Volumes.1.CreationDate few seconds ago
6464
Volumes.1.ModificationDate few seconds ago
6565
Volumes.1.State available
66-
Volumes.1.Project fa1e3217-dc80-42ac-85c3-3f034b78b552
66+
Volumes.1.Project 951df375-e094-4d26-97c1-ba548eeb9c42
6767
Volumes.1.Boot false
6868
Volumes.1.Zone fr-par-2
69-
SecurityGroup.ID 22961510-2391-4fc7-83bd-d4c9d2d5c7fd
69+
SecurityGroup.ID afd48481-71bf-4cab-829e-db84b13c5951
7070
SecurityGroup.Name Default security group
7171
StateDetail -
7272
Arch x86_64
7373
Zone fr-par-2
7474
EndOfService false
75+
DNS 0fc093fd-4593-4c7f-b2f9-8f8e9cf1beeb.pub.instances.scw.cloud
7576
🟩🟩🟩 JSON STDOUT 🟩🟩🟩
7677
{
77-
"id": "83d3a1fe-76a4-45bc-af33-95c060618547",
78-
"name": "cli-srv-laughing-austin",
79-
"organization": "fa1e3217-dc80-42ac-85c3-3f034b78b552",
80-
"project": "fa1e3217-dc80-42ac-85c3-3f034b78b552",
78+
"id": "0fc093fd-4593-4c7f-b2f9-8f8e9cf1beeb",
79+
"name": "cli-srv-flamboyant-mayer",
80+
"organization": "951df375-e094-4d26-97c1-ba548eeb9c42",
81+
"project": "951df375-e094-4d26-97c1-ba548eeb9c42",
8182
"allowed_actions": [
8283
"poweron",
8384
"backup"
@@ -88,7 +89,7 @@ EndOfService false
8889
"dynamic_ip_required": true,
8990
"routed_ip_enabled": true,
9091
"enable_ipv6": false,
91-
"hostname": "cli-srv-laughing-austin",
92+
"hostname": "cli-srv-flamboyant-mayer",
9293
"image": {
9394
"id": "f3431c05-e917-4bf0-b9db-9d4c14716a5e",
9495
"name": "Ubuntu Jammy GPU OS 12 passthrough",
@@ -114,40 +115,40 @@ EndOfService false
114115
"protected": false,
115116
"private_ip": null,
116117
"public_ip": {
117-
"id": "ac88a6d3-3ad8-4c51-8b09-3036c12add9b",
118-
"address": "51.159.131.214",
118+
"id": "21feb3e0-211e-49af-b197-2740e9241662",
119+
"address": "51.159.166.9",
119120
"gateway": "62.210.0.1",
120121
"netmask": "32",
121122
"family": "inet",
122123
"dynamic": false,
123124
"provisioning_mode": "dhcp",
124125
"tags": [],
125-
"ipam_id": "60083e2c-9816-4a84-b14a-d346dd4d39ee",
126+
"ipam_id": "21feb3e0-211e-49af-b197-2740e9241662",
126127
"state": "attached"
127128
},
128129
"public_ips": [
129130
{
130-
"id": "ac88a6d3-3ad8-4c51-8b09-3036c12add9b",
131-
"address": "51.159.131.214",
131+
"id": "21feb3e0-211e-49af-b197-2740e9241662",
132+
"address": "51.159.166.9",
132133
"gateway": "62.210.0.1",
133134
"netmask": "32",
134135
"family": "inet",
135136
"dynamic": false,
136137
"provisioning_mode": "dhcp",
137138
"tags": [],
138-
"ipam_id": "60083e2c-9816-4a84-b14a-d346dd4d39ee",
139+
"ipam_id": "21feb3e0-211e-49af-b197-2740e9241662",
139140
"state": "attached"
140141
}
141142
],
142-
"mac_address": "de:00:00:8f:cf:d9",
143+
"mac_address": "de:00:00:9d:a3:a3",
143144
"modification_date": "1970-01-01T00:00:00.0Z",
144145
"state": "stopped",
145146
"location": null,
146147
"ipv6": null,
147148
"boot_type": "local",
148149
"volumes": {
149150
"0": {
150-
"id": "0ffc426a-21b8-4a9a-9100-a3d3f8478bf4",
151+
"id": "4205ef3c-83ca-4664-90f1-f64ec2484852",
151152
"name": null,
152153
"export_uri": null,
153154
"organization": null,
@@ -162,26 +163,26 @@ EndOfService false
162163
"zone": "fr-par-2"
163164
},
164165
"1": {
165-
"id": "48ef0622-d26b-4a6e-87ce-21d5b33738f2",
166-
"name": "cli-srv-laughing-austin-1",
166+
"id": "e0212979-0063-472e-b0ae-4d8416336324",
167+
"name": "autogenerated scratch volume",
167168
"export_uri": null,
168-
"organization": "fa1e3217-dc80-42ac-85c3-3f034b78b552",
169+
"organization": "951df375-e094-4d26-97c1-ba548eeb9c42",
169170
"server": {
170-
"id": "83d3a1fe-76a4-45bc-af33-95c060618547",
171-
"name": "cli-srv-laughing-austin"
171+
"id": "0fc093fd-4593-4c7f-b2f9-8f8e9cf1beeb",
172+
"name": "cli-srv-flamboyant-mayer"
172173
},
173174
"size": 3000000000000,
174175
"volume_type": "scratch",
175176
"creation_date": "1970-01-01T00:00:00.0Z",
176177
"modification_date": "1970-01-01T00:00:00.0Z",
177178
"state": "available",
178-
"project": "fa1e3217-dc80-42ac-85c3-3f034b78b552",
179+
"project": "951df375-e094-4d26-97c1-ba548eeb9c42",
179180
"boot": false,
180181
"zone": "fr-par-2"
181182
}
182183
},
183184
"security_group": {
184-
"id": "22961510-2391-4fc7-83bd-d4c9d2d5c7fd",
185+
"id": "afd48481-71bf-4cab-829e-db84b13c5951",
185186
"name": "Default security group"
186187
},
187188
"maintenances": [],
@@ -194,6 +195,6 @@ EndOfService false
194195
"admin_password_encrypted_value": null,
195196
"filesystems": [],
196197
"end_of_service": false,
197-
"dns": null,
198+
"dns": "0fc093fd-4593-4c7f-b2f9-8f8e9cf1beeb.pub.instances.scw.cloud",
198199
"Warnings": null
199200
}

0 commit comments

Comments
 (0)