diff --git a/.gitignore b/.gitignore index 04c5fe47af..dd625076a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ docker-machine* *.log +*.iml +.idea/ diff --git a/libmachine/host.go b/libmachine/host.go index 35641a49a5..455d9edb20 100644 --- a/libmachine/host.go +++ b/libmachine/host.go @@ -15,6 +15,7 @@ import ( "github.com/docker/machine/libmachine/engine" "github.com/docker/machine/libmachine/provision" "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/libmachine/swarm" "github.com/docker/machine/log" "github.com/docker/machine/ssh" @@ -244,7 +245,7 @@ func (h *Host) Upgrade() error { return err } - if err := provisioner.Service("docker", pkgaction.Restart); err != nil { + if err := provisioner.Service("docker", serviceaction.Restart); err != nil { return err } return nil diff --git a/libmachine/provision/boot2docker.go b/libmachine/provision/boot2docker.go index 485cfb852e..8aa707728c 100644 --- a/libmachine/provision/boot2docker.go +++ b/libmachine/provision/boot2docker.go @@ -10,6 +10,7 @@ import ( "github.com/docker/machine/libmachine/auth" "github.com/docker/machine/libmachine/engine" "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/libmachine/swarm" "github.com/docker/machine/log" "github.com/docker/machine/state" @@ -36,7 +37,7 @@ type Boot2DockerProvisioner struct { SwarmOptions swarm.SwarmOptions } -func (provisioner *Boot2DockerProvisioner) Service(name string, action pkgaction.ServiceAction) error { +func (provisioner *Boot2DockerProvisioner) Service(name string, action serviceaction.ServiceAction) error { var ( err error ) diff --git a/libmachine/provision/coreos.go b/libmachine/provision/coreos.go index 203ec53cad..5bb5185927 100644 --- a/libmachine/provision/coreos.go +++ b/libmachine/provision/coreos.go @@ -9,6 +9,7 @@ import ( "github.com/docker/machine/libmachine/auth" "github.com/docker/machine/libmachine/engine" "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/libmachine/swarm" "github.com/docker/machine/log" "github.com/docker/machine/utils" @@ -44,7 +45,7 @@ type CoreOSProvisioner struct { GenericProvisioner } -func (provisioner *CoreOSProvisioner) Service(name string, action pkgaction.ServiceAction) error { +func (provisioner *CoreOSProvisioner) Service(name string, action serviceaction.ServiceAction) error { // daemon-reload to catch config updates; systemd -- ugh if _, err := provisioner.SSHCommand("sudo systemctl daemon-reload"); err != nil { return err diff --git a/libmachine/provision/debian.go b/libmachine/provision/debian.go index 57ed095eb5..061cd6830f 100644 --- a/libmachine/provision/debian.go +++ b/libmachine/provision/debian.go @@ -9,6 +9,7 @@ import ( "github.com/docker/machine/libmachine/auth" "github.com/docker/machine/libmachine/engine" "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/libmachine/swarm" "github.com/docker/machine/log" "github.com/docker/machine/utils" @@ -38,7 +39,7 @@ type DebianProvisioner struct { GenericProvisioner } -func (provisioner *DebianProvisioner) Service(name string, action pkgaction.ServiceAction) error { +func (provisioner *DebianProvisioner) Service(name string, action serviceaction.ServiceAction) error { // daemon-reload to catch config updates; systemd -- ugh if _, err := provisioner.SSHCommand("sudo systemctl daemon-reload"); err != nil { return err @@ -171,7 +172,7 @@ func (provisioner *DebianProvisioner) Provision(swarmOptions swarm.SwarmOptions, // enable in systemd log.Debug("enabling docker in systemd") - if err := provisioner.Service("docker", pkgaction.Enable); err != nil { + if err := provisioner.Service("docker", serviceaction.Enable); err != nil { return err } diff --git a/libmachine/provision/pkgaction/pkg_action.go b/libmachine/provision/pkgaction/pkg_action.go new file mode 100644 index 0000000000..643a933261 --- /dev/null +++ b/libmachine/provision/pkgaction/pkg_action.go @@ -0,0 +1,23 @@ +package pkgaction + +type PackageAction int + +const ( + Install PackageAction = iota + Remove + Upgrade +) + +var packageActions = []string{ + "install", + "remove", + "upgrade", +} + +func (s PackageAction) String() string { + if int(s) >= 0 && int(s) < len(packageActions) { + return packageActions[s] + } + + return "" +} diff --git a/libmachine/provision/pkgaction/action_test.go b/libmachine/provision/pkgaction/pkg_action_test.go similarity index 100% rename from libmachine/provision/pkgaction/action_test.go rename to libmachine/provision/pkgaction/pkg_action_test.go diff --git a/libmachine/provision/provisioner.go b/libmachine/provision/provisioner.go index 3d0184432a..c2316e5423 100644 --- a/libmachine/provision/provisioner.go +++ b/libmachine/provision/provisioner.go @@ -7,6 +7,7 @@ import ( "github.com/docker/machine/libmachine/auth" "github.com/docker/machine/libmachine/engine" "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/libmachine/swarm" "github.com/docker/machine/log" ) @@ -45,7 +46,7 @@ type Provisioner interface { Provision(swarmOptions swarm.SwarmOptions, authOptions auth.AuthOptions, engineOptions engine.EngineOptions) error // Perform action on a named service e.g. stop - Service(name string, action pkgaction.ServiceAction) error + Service(name string, action serviceaction.ServiceAction) error // Get the driver which is contained in the provisioner. GetDriver() drivers.Driver diff --git a/libmachine/provision/rancheros.go b/libmachine/provision/rancheros.go index c71a2adebe..1ab8b52e4b 100644 --- a/libmachine/provision/rancheros.go +++ b/libmachine/provision/rancheros.go @@ -10,6 +10,7 @@ import ( "github.com/docker/machine/libmachine/auth" "github.com/docker/machine/libmachine/engine" "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/libmachine/swarm" "github.com/docker/machine/log" "github.com/docker/machine/state" @@ -49,7 +50,7 @@ type RancherProvisioner struct { GenericProvisioner } -func (provisioner *RancherProvisioner) Service(name string, action pkgaction.ServiceAction) error { +func (provisioner *RancherProvisioner) Service(name string, action serviceaction.ServiceAction) error { command := fmt.Sprintf("sudo system-docker %s %s", action.String(), name) if _, err := provisioner.SSHCommand(command); err != nil { diff --git a/libmachine/provision/redhat.go b/libmachine/provision/redhat.go index ec199da6fb..6ca52ac93e 100644 --- a/libmachine/provision/redhat.go +++ b/libmachine/provision/redhat.go @@ -10,6 +10,7 @@ import ( "github.com/docker/machine/libmachine/auth" "github.com/docker/machine/libmachine/engine" "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/libmachine/swarm" "github.com/docker/machine/log" "github.com/docker/machine/ssh" @@ -107,10 +108,10 @@ func (provisioner *RedHatProvisioner) SetHostname(hostname string) error { return nil } -func (provisioner *RedHatProvisioner) Service(name string, action pkgaction.ServiceAction) error { +func (provisioner *RedHatProvisioner) Service(name string, action serviceaction.ServiceAction) error { reloadDaemon := false switch action { - case pkgaction.Start, pkgaction.Restart: + case serviceaction.Start, serviceaction.Restart: reloadDaemon = true } @@ -158,11 +159,11 @@ func installDocker(provisioner *RedHatProvisioner) error { return err } - if err := provisioner.Service("docker", pkgaction.Restart); err != nil { + if err := provisioner.Service("docker", serviceaction.Restart); err != nil { return err } - if err := provisioner.Service("docker", pkgaction.Enable); err != nil { + if err := provisioner.Service("docker", serviceaction.Enable); err != nil { return err } diff --git a/libmachine/provision/pkgaction/action.go b/libmachine/provision/serviceaction/service_action.go similarity index 53% rename from libmachine/provision/pkgaction/action.go rename to libmachine/provision/serviceaction/service_action.go index 6f6d38ccbe..b2e22e5936 100644 --- a/libmachine/provision/pkgaction/action.go +++ b/libmachine/provision/serviceaction/service_action.go @@ -1,4 +1,4 @@ -package pkgaction +package serviceaction type ServiceAction int @@ -27,25 +27,3 @@ func (s ServiceAction) String() string { return "" } - -type PackageAction int - -const ( - Install PackageAction = iota - Remove - Upgrade -) - -var packageActions = []string{ - "install", - "remove", - "upgrade", -} - -func (s PackageAction) String() string { - if int(s) >= 0 && int(s) < len(packageActions) { - return packageActions[s] - } - - return "" -} diff --git a/libmachine/provision/serviceaction/service_action_test.go b/libmachine/provision/serviceaction/service_action_test.go new file mode 100644 index 0000000000..85cbdf1b29 --- /dev/null +++ b/libmachine/provision/serviceaction/service_action_test.go @@ -0,0 +1,9 @@ +package serviceaction + +import "testing" + +func TestActionValue(t *testing.T) { + if Restart.String() != "restart" { + t.Fatal("Expected %q but got %q", "install", Restart.String()) + } +} diff --git a/libmachine/provision/ubuntu.go b/libmachine/provision/ubuntu.go index 6e5d313eb8..77a0024cf1 100644 --- a/libmachine/provision/ubuntu.go +++ b/libmachine/provision/ubuntu.go @@ -7,6 +7,7 @@ import ( "github.com/docker/machine/libmachine/auth" "github.com/docker/machine/libmachine/engine" "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/libmachine/swarm" "github.com/docker/machine/log" "github.com/docker/machine/utils" @@ -36,7 +37,7 @@ type UbuntuProvisioner struct { GenericProvisioner } -func (provisioner *UbuntuProvisioner) Service(name string, action pkgaction.ServiceAction) error { +func (provisioner *UbuntuProvisioner) Service(name string, action serviceaction.ServiceAction) error { command := fmt.Sprintf("sudo service %s %s", name, action.String()) if _, err := provisioner.SSHCommand(command); err != nil { diff --git a/libmachine/provision/utils.go b/libmachine/provision/utils.go index 1a51d665b6..aa523e5e93 100644 --- a/libmachine/provision/utils.go +++ b/libmachine/provision/utils.go @@ -10,7 +10,7 @@ import ( "strings" "github.com/docker/machine/libmachine/auth" - "github.com/docker/machine/libmachine/provision/pkgaction" + "github.com/docker/machine/libmachine/provision/serviceaction" "github.com/docker/machine/log" "github.com/docker/machine/utils" ) @@ -105,7 +105,7 @@ func ConfigureAuth(p Provisioner) error { return fmt.Errorf("error generating server cert: %s", err) } - if err := p.Service("docker", pkgaction.Stop); err != nil { + if err := p.Service("docker", serviceaction.Stop); err != nil { return err } @@ -168,7 +168,7 @@ func ConfigureAuth(p Provisioner) error { return err } - if err := p.Service("docker", pkgaction.Start); err != nil { + if err := p.Service("docker", serviceaction.Start); err != nil { return err }