@@ -15,32 +15,14 @@ import (
15
15
)
16
16
17
17
func init () {
18
- Register ("openSUSE " , & RegisteredProvisioner {
19
- New : NewOpenSUSEProvisioner ,
18
+ Register ("SUSE " , & RegisteredProvisioner {
19
+ New : NewSUSEProvisioner ,
20
20
})
21
- Register ("SUSE Linux Enterprise Desktop" , & RegisteredProvisioner {
22
- New : NewSLEDProvisioner ,
23
- })
24
- Register ("SUSE Linux Enterprise Server" , & RegisteredProvisioner {
25
- New : NewSLESProvisioner ,
26
- })
27
- }
28
-
29
- func NewSLEDProvisioner (d drivers.Driver ) Provisioner {
30
- return & SUSEProvisioner {
31
- NewSystemdProvisioner ("sled" , d ),
32
- }
33
21
}
34
22
35
- func NewSLESProvisioner (d drivers.Driver ) Provisioner {
23
+ func NewSUSEProvisioner (d drivers.Driver ) Provisioner {
36
24
return & SUSEProvisioner {
37
- NewSystemdProvisioner ("sles" , d ),
38
- }
39
- }
40
-
41
- func NewOpenSUSEProvisioner (d drivers.Driver ) Provisioner {
42
- return & SUSEProvisioner {
43
- NewSystemdProvisioner ("openSUSE" , d ),
25
+ NewSystemdProvisioner ("SUSE" , d ),
44
26
}
45
27
}
46
28
@@ -49,11 +31,17 @@ type SUSEProvisioner struct {
49
31
}
50
32
51
33
func (provisioner * SUSEProvisioner ) CompatibleWithHost () bool {
52
- return strings .ToLower (provisioner .OsReleaseInfo .ID ) == strings .ToLower (provisioner .OsReleaseID )
34
+ ids := strings .Split (provisioner .OsReleaseInfo .IDLike , " " )
35
+ for _ , id := range ids {
36
+ if id == "suse" {
37
+ return true
38
+ }
39
+ }
40
+ return false
53
41
}
54
42
55
43
func (provisioner * SUSEProvisioner ) String () string {
56
- return "openSUSE "
44
+ return "SUSE "
57
45
}
58
46
59
47
func (provisioner * SUSEProvisioner ) Package (name string , action pkgaction.PackageAction ) error {
@@ -135,7 +123,7 @@ func (provisioner *SUSEProvisioner) Provision(swarmOptions swarm.Options, authOp
135
123
return err
136
124
}
137
125
138
- if strings .ToLower (provisioner .OsReleaseInfo .ID ) != "opensuse" {
126
+ if ! strings .HasPrefix ( strings . ToLower (provisioner .OsReleaseInfo .ID ), "opensuse" ) {
139
127
// This is a SLE machine, enable the containers module to have access
140
128
// to the docker packages
141
129
if _ , err := provisioner .SSHCommand ("sudo -E SUSEConnect -p sle-module-containers/12/$(uname -m) -r ''" ); err != nil {
@@ -157,10 +145,10 @@ func (provisioner *SUSEProvisioner) Provision(swarmOptions swarm.Options, authOp
157
145
return err
158
146
}
159
147
160
- // create symlinks for containerd, containerd-shim and runc.
148
+ // create symlinks for containerd, containerd-shim and optional runc.
161
149
// We have to do that because machine overrides the openSUSE systemd
162
150
// unit of docker
163
- if _ , err := provisioner .SSHCommand ("sudo -E ln -sf /usr/sbin/runc /usr/sbin/docker-runc" ); err != nil {
151
+ if _ , err := provisioner .SSHCommand ("yes no | sudo -E ln -si /usr/sbin/runc /usr/sbin/docker-runc" ); err != nil {
164
152
return err
165
153
}
166
154
if _ , err := provisioner .SSHCommand ("sudo -E ln -sf /usr/sbin/containerd /usr/sbin/docker-containerd" ); err != nil {
0 commit comments