Skip to content
This repository was archived by the owner on Oct 11, 2023. It is now read-only.

Commit 67599f3

Browse files
etrexelniusmallnan
authored andcommitted
Added cloudinitsave case for proxmox
1 parent 8ad6b10 commit 67599f3

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

cmd/cloudinitsave/cloudinitsave.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import (
4040
"github.com/rancher/os/config/cloudinit/datasource/metadata/gce"
4141
"github.com/rancher/os/config/cloudinit/datasource/metadata/packet"
4242
"github.com/rancher/os/config/cloudinit/datasource/proccmdline"
43+
"github.com/rancher/os/config/cloudinit/datasource/proxmox"
4344
"github.com/rancher/os/config/cloudinit/datasource/tftp"
4445
"github.com/rancher/os/config/cloudinit/datasource/url"
4546
"github.com/rancher/os/config/cloudinit/datasource/vmware"
@@ -229,7 +230,12 @@ func getDatasources(datasources []string) []datasource.Datasource {
229230

230231
switch parts[0] {
231232
case "*":
232-
dss = append(dss, getDatasources([]string{"configdrive", "vmware", "ec2", "digitalocean", "packet", "gce", "cloudstack", "exoscale"})...)
233+
dss = append(dss, getDatasources([]string{"configdrive", "vmware", "ec2", "digitalocean", "packet", "gce", "cloudstack", "exoscale", "proxmox"})...)
234+
case "proxmox":
235+
if root == "" {
236+
root = "/media/pve-config"
237+
}
238+
dss = append(dss, proxmox.NewDataSource(root))
233239
case "exoscale":
234240
dss = append(dss, exoscale.NewDatasource(root))
235241
case "cloudstack":

config/cloudinit/datasource/proxmox/proxmox.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
)
1616

1717
const (
18-
configDev = "/dev/sr0"
18+
configDev = "/dev/sr0"
1919
configDevMountPoint = "/media/pve-config"
2020
)
2121

@@ -105,6 +105,7 @@ func MountConfigDrive() error {
105105
if err != nil {
106106
return err
107107
}
108+
108109
return mount.Mount(configDev, configDevMountPoint, fsType, "ro")
109110
}
110111

config/cloudinit/datasource/proxmox/proxmox_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package proxmox
22

3-
import "testing"
3+
import (
4+
"testing"
5+
6+
"github.com/rancher/os/config/cloudinit/datasource/test"
7+
)
48

59
func TestFetchUserdata(t *testing.T) {
610
for _, tt := range []struct {
@@ -14,15 +18,15 @@ func TestFetchUserdata(t *testing.T) {
1418
userdata: "",
1519
},
1620
{
17-
root: "/media/pve-config",
18-
files: test.NewMockFilesystem(test.File{Path: "/media/pve-config/user-data", Contents: "userdata"}),
21+
root: "/media/config",
22+
files: test.NewMockFilesystem(test.File{Path: "/media/config/user-data", Contents: "userdata"}),
1923
userdata: "userdata",
2024
},
2125
} {
2226
pve := Proxmox{tt.root, tt.files.ReadFile, nil, true}
2327
userdata, err := pve.FetchUserdata()
2428
if err != nil {
25-
t.Fatalf("bad error for %+v: want %v, get %q", tt, nil, err)
29+
t.Fatalf("bad error for %+v: want %v, got %q", tt, nil, err)
2630
}
2731
if string(userdata) != tt.userdata {
2832
t.Fatalf("bad userdata for %+v: want %q, got %q", tt, tt.userdata, userdata)

pkg/init/cloudinit/cloudinit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func CloudInit(cfg *config.CloudConfig) (*config.CloudConfig, error) {
4141
log.Error(err)
4242
}
4343
if proxmox {
44-
cfg.Rancher.CloudInit.Datasources = append([]string{"proxmox"}, cfg.Rancher.CloutInit.Datasources...)
44+
cfg.Rancher.CloudInit.Datasources = append([]string{"proxmox"}, cfg.Rancher.CloudInit.Datasources...)
4545
}
4646

4747
if len(cfg.Rancher.CloudInit.Datasources) == 0 {

0 commit comments

Comments
 (0)