provisioner: update metadata before install or upgrade

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
This commit is contained in:
Evan Hazlett 2015-05-06 13:18:46 -07:00
parent ce0e365e10
commit 5adfb8b3f0
No known key found for this signature in database
GPG Key ID: A519480096146526
1 changed files with 10 additions and 0 deletions

View File

@ -49,11 +49,14 @@ func (provisioner *UbuntuProvisioner) Service(name string, action pkgaction.Serv
func (provisioner *UbuntuProvisioner) Package(name string, action pkgaction.PackageAction) error {
var packageAction string
updateMetadata := true
switch action {
case pkgaction.Install:
packageAction = "install"
case pkgaction.Remove:
packageAction = "remove"
updateMetadata = false
case pkgaction.Upgrade:
packageAction = "upgrade"
}
@ -64,6 +67,13 @@ func (provisioner *UbuntuProvisioner) Package(name string, action pkgaction.Pack
name = "lxc-docker"
}
if updateMetadata {
// issue apt-get update for metadata
if _, err := provisioner.SSHCommand("sudo -E apt-get update"); err != nil {
return err
}
}
command := fmt.Sprintf("DEBIAN_FRONTEND=noninteractive sudo -E apt-get %s -y %s", packageAction, name)
if _, err := provisioner.SSHCommand(command); err != nil {