Linux – puppet environment variable $PATH is not set

configuration-managementdebianlinuxpuppet

I'm trying to install a module with puppet 2.7 on Debian 6.0 and I keep getting this error:

returns: change from notrun to 0 failed: Could not find command 'tar'

this is the relevant code:

 file {"zookeeper-tarball":
    path => "${zookeeper_parent_dir}/${tarball}",
    source => "puppet:///modules/zookeeper/${tarball}",
    ensure => file,
  }

  exec { "zookeeper_untar":
    path => "${zookeeper_parent_dir}",
    command => "tar -xzf ${zookeeper_parent_dir}/${tarball}",
    cwd => "${zookeeper_parent_dir}",
    user => "$user",
    require =>  File["zookeeper-tarball"],
    creates => "${zookeeper_parent_dir}/zookeeper-${zookeeper_version}",
  }

in manifests/site.pp I have this:

Exec {
  path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
}

the user is root. Any idea what could be the problem? It seem like the $PATH is empty…

Best Answer

You set path in your zookeeper_untar exec to something bogus. Don't do that and it'll work again :)