diff --git a/libmachine/provision/fedora.go b/libmachine/provision/fedora.go new file mode 100644 index 0000000000..915a39b84e --- /dev/null +++ b/libmachine/provision/fedora.go @@ -0,0 +1,42 @@ +package provision + +import ( + "github.com/docker/machine/drivers" +) + +const ( + // TODO: eventually the RPM install process will be integrated + // into the get.docker.com install script; for now + // we install via vendored RPMs + dockerFedoraRPMPath = "https://docker-mcn.s3.amazonaws.com/public/fedora/rpms/docker-engine-1.6.1-0.0.20150511.171646.git1b47f9f.fc21.x86_64.rpm" +) + +func init() { + Register("Fedora", &RegisteredProvisioner{ + New: NewFedoraProvisioner, + }) +} + +func NewFedoraProvisioner(d drivers.Driver) Provisioner { + g := GenericProvisioner{ + DockerOptionsDir: "/etc/docker", + DaemonOptionsFile: "/lib/systemd/system/docker.service", + OsReleaseId: "fedora", + Packages: []string{ + "curl", + "yum-utils", + }, + Driver: d, + } + p := &FedoraProvisioner{ + RedHatProvisioner{ + g, + dockerFedoraRPMPath, + }, + } + return p +} + +type FedoraProvisioner struct { + RedHatProvisioner +} diff --git a/libmachine/provision/redhat.go b/libmachine/provision/redhat.go index 23711336ec..0abaa28968 100644 --- a/libmachine/provision/redhat.go +++ b/libmachine/provision/redhat.go @@ -18,7 +18,7 @@ const ( // TODO: eventually the RPM install process will be integrated // into the get.docker.com install script; for now // we install via vendored RPMs - dockerRPMPath = "https://docker-mcn.s3.amazonaws.com/public/redhat/rpms/docker-engine-1.6.1-0.0.20150511.171646.git1b47f9f.el7.centos.x86_64.rpm" + dockerRHELRPMPath = "https://docker-mcn.s3.amazonaws.com/public/redhat/rpms/docker-engine-1.6.1-0.0.20150511.171646.git1b47f9f.el7.centos.x86_64.rpm" ) func init() { @@ -38,11 +38,13 @@ func NewRedHatProvisioner(d drivers.Driver) Provisioner { }, Driver: d, }, + dockerRHELRPMPath, } } type RedHatProvisioner struct { GenericProvisioner + DockerRPMPath string } func (provisioner *RedHatProvisioner) Service(name string, action pkgaction.ServiceAction) error { @@ -110,7 +112,7 @@ func installDocker(provisioner *RedHatProvisioner) error { func (provisioner *RedHatProvisioner) installOfficialDocker() error { log.Debug("installing docker") - if _, err := provisioner.SSHCommand(fmt.Sprintf("sudo yum install -y --nogpgcheck %s", dockerRPMPath)); err != nil { + if _, err := provisioner.SSHCommand(fmt.Sprintf("sudo yum install -y --nogpgcheck %s", provisioner.DockerRPMPath)); err != nil { return err } @@ -142,6 +144,7 @@ func (provisioner *RedHatProvisioner) Provision(swarmOptions swarm.SwarmOptions, } for _, pkg := range provisioner.Packages { + log.Debugf("installing base package: name=%s", pkg) if err := provisioner.Package(pkg, pkgaction.Install); err != nil { return err }