fixes upgrade for debian/ubuntu for new package name
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
This commit is contained in:
@@ -70,7 +70,7 @@ func (provisioner *DebianProvisioner) Package(name string, action pkgaction.Pack
|
||||
|
||||
switch name {
|
||||
case "docker":
|
||||
name = "lxc-docker"
|
||||
name = "docker-engine"
|
||||
}
|
||||
|
||||
if updateMetadata {
|
||||
@@ -79,6 +79,28 @@ func (provisioner *DebianProvisioner) Package(name string, action pkgaction.Pack
|
||||
}
|
||||
}
|
||||
|
||||
// handle the new docker-engine package; we can probably remove this
|
||||
// after we have a few versions
|
||||
if action == pkgaction.Upgrade && name == "docker-engine" {
|
||||
// run the force remove on the existing lxc-docker package
|
||||
// and remove the existing apt source list
|
||||
// also re-run the get.docker.com script to properly setup
|
||||
// the system again
|
||||
|
||||
commands := []string{
|
||||
"rm /etc/apt/sources.list.d/docker.list || true",
|
||||
"apt-get remove -y lxc-docker || true",
|
||||
"curl -sSL https://get.docker.com | sh",
|
||||
}
|
||||
|
||||
for _, cmd := range commands {
|
||||
command := fmt.Sprintf("DEBIAN_FRONTEND=noninteractive sudo -E %s", cmd)
|
||||
if _, err := provisioner.SSHCommand(command); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
command := fmt.Sprintf("DEBIAN_FRONTEND=noninteractive sudo -E apt-get %s -y %s", packageAction, name)
|
||||
|
||||
log.Debugf("package: action=%s name=%s", action.String(), name)
|
||||
|
||||
@@ -47,10 +47,9 @@ func (provisioner *UbuntuProvisioner) Service(name string, action pkgaction.Serv
|
||||
}
|
||||
|
||||
func (provisioner *UbuntuProvisioner) Package(name string, action pkgaction.PackageAction) error {
|
||||
var (
|
||||
packageAction string
|
||||
updateMetadata = true
|
||||
)
|
||||
var packageAction string
|
||||
|
||||
updateMetadata := true
|
||||
|
||||
switch action {
|
||||
case pkgaction.Install:
|
||||
@@ -62,21 +61,43 @@ func (provisioner *UbuntuProvisioner) Package(name string, action pkgaction.Pack
|
||||
packageAction = "upgrade"
|
||||
}
|
||||
|
||||
// TODO: This should probably have a const
|
||||
switch name {
|
||||
case "docker":
|
||||
name = "lxc-docker"
|
||||
name = "docker-engine"
|
||||
}
|
||||
|
||||
if updateMetadata {
|
||||
// issue apt-get update for metadata
|
||||
if _, err := provisioner.SSHCommand("sudo -E apt-get update"); err != nil {
|
||||
if _, err := provisioner.SSHCommand("sudo apt-get update"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// handle the new docker-engine package; we can probably remove this
|
||||
// after we have a few versions
|
||||
if action == pkgaction.Upgrade && name == "docker-engine" {
|
||||
// run the force remove on the existing lxc-docker package
|
||||
// and remove the existing apt source list
|
||||
// also re-run the get.docker.com script to properly setup
|
||||
// the system again
|
||||
|
||||
commands := []string{
|
||||
"rm /etc/apt/sources.list.d/docker.list || true",
|
||||
"apt-get remove -y lxc-docker || true",
|
||||
"curl -sSL https://get.docker.com | sh",
|
||||
}
|
||||
|
||||
for _, cmd := range commands {
|
||||
command := fmt.Sprintf("DEBIAN_FRONTEND=noninteractive sudo -E %s", cmd)
|
||||
if _, err := provisioner.SSHCommand(command); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
command := fmt.Sprintf("DEBIAN_FRONTEND=noninteractive sudo -E apt-get %s -y %s", packageAction, name)
|
||||
|
||||
log.Debugf("package: action=%s name=%s", action.String(), name)
|
||||
|
||||
if _, err := provisioner.SSHCommand(command); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user