Skip to content

Commit 5567477

Browse files
authored
Merge pull request #676 from stgraber/main
incus-osd/providers/operations_center: Fix self-register logic
2 parents 19c0b96 + 40a1604 commit 5567477

4 files changed

Lines changed: 19 additions & 9 deletions

File tree

incus-osd/internal/applications/app_common.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ func extractTarArchive(ctx context.Context, archiveRoot string, restartUnits []s
397397
return fmt.Errorf("cannot restore file outside of application root '%s' (bad file '%s')", archiveRoot, filename)
398398
}
399399

400-
mode := fs.FileMode(header.Mode)
400+
mode := fs.FileMode(header.Mode) //nolint:gosec
401401

402402
switch header.Typeflag {
403403
case tar.TypeDir:

incus-osd/internal/providers/provider_operations_center.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,17 @@ func (p *operationsCenter) Register(ctx context.Context, _ bool) error {
136136
}
137137

138138
// Register.
139-
resp, err := p.apiRequest(ctx, http.MethodPost, "/1.0/provisioning/servers?token="+p.state.System.Provider.Config.Config["server_token"], bytes.NewReader(data))
140-
if err != nil {
141-
return err
139+
var resp *api.Response
140+
if p.state.System.Provider.Config.Config["server_token"] != "" {
141+
resp, err = p.apiRequest(ctx, http.MethodPost, "/1.0/provisioning/servers?token="+p.state.System.Provider.Config.Config["server_token"], bytes.NewReader(data))
142+
if err != nil {
143+
return err
144+
}
145+
} else {
146+
resp, err = p.apiRequest(ctx, http.MethodPost, "/1.0/provisioning/servers/:self_register", bytes.NewReader(data))
147+
if err != nil {
148+
return err
149+
}
142150
}
143151

144152
// Parse the response.
@@ -156,9 +164,11 @@ func (p *operationsCenter) Register(ctx context.Context, _ bool) error {
156164
}
157165

158166
// Get the server certificate.
159-
err = app.AddTrustedCertificate(ctx, p.serverURL, registrationResp.Certificate)
160-
if err != nil {
161-
return err
167+
if registrationResp.Certificate != "" {
168+
err = app.AddTrustedCertificate(ctx, p.serverURL, registrationResp.Certificate)
169+
if err != nil {
170+
return err
171+
}
162172
}
163173

164174
return nil

incus-osd/internal/storage/storage.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ func GetFreeSpaceInGiB(path string) (float64, error) {
178178
return 0.0, err
179179
}
180180

181-
return float64(s.Bsize*int64(s.Bfree)) / 1024.0 / 1024.0 / 1024.0, nil
181+
return float64(s.Bsize*int64(s.Bfree)) / 1024.0 / 1024.0 / 1024.0, nil //nolint:gosec
182182
}
183183

184184
// DeviceToID takes a device path like /dev/sda and determines its "by-id" mapping, for example /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_incus_root.

incus-osd/internal/tui/tui.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ func getMachineInfo(r *api.Resources) string {
425425
numCores += len(socket.Cores)
426426
}
427427

428-
memory := int64(r.Memory.Total)
428+
memory := int64(r.Memory.Total) //nolint:gosec
429429

430430
// Return a string like "AMD EPYC 7763 64-Core Processor (numa=8, sockets=2, cores=128, threads=256) (x86_64) / 514GiB memory".
431431
return fmt.Sprintf("%s (numa=%d, sockets=%d, cores=%d, threads=%d) (%s) / %s memory", r.CPU.Sockets[0].Name, len(r.Memory.Nodes), len(r.CPU.Sockets), numCores, r.CPU.Total, r.CPU.Architecture, units.GetByteSizeStringIEC(memory, 0))

0 commit comments

Comments
 (0)