2015-10-05 4 views
0

Я продолжаю получать сообщение об ошибке «Не удалось найти команду« C: \ puppetfolder \ unzip.exe »или« Не удалось найти команду »C: \ puppetfolder \ 7-Zip. exe ', какой бы я ни старался ... в основном я пытаюсь разархивировать zipped-файл (server.zip) в каталог C: \ puppetfolder. Puppet способен загружать файлы 7z1507.exe и unzip.exe в каталог C: \ puppetfolder \, так что исполнители - это их. Но должен ли я использовать распаковку, распаковать, распаковать или 7zip в атрибуте команды, чтобы этот файл server.zip распаковывался в тот же каталог? Или мой аргумент неверен для этого варианта использования?Puppet manifest для распаковки zip-файла на хосте Windows

-> файл { 'C: \ puppetfolder \ 7z1507.exe':

ensure => 'present', 
provider => 'windows', 
mode  => '0775', 
owner => 'Administrator', 
group => 'Administrator', 

}

-> файл { 'C: \ puppetfolder \ unzip.exe':

ensure => 'present', 
mode => '0775', 
owner => 'Administrator', 
group => 'Administrator', 

}

->

файл { 'C: \ puppetfolder \ server.zip':

ensure => 'file', 
source => 'puppet:///modules/downloadscript/server.zip', 
checksum => 'mtime', 
mode  => '0775', 
owner => 'Administrator', 
group => 'Administrator', 

}

-> Exec { 'unzip_c: \ puppetfolder \ server.zip':

path   => 'c:\\puppetfolder\\unzip.exe', 
command  => "C:\\puppetfolder\\unzip.exe /c C:\\puppetfolder\\server.zip C:\\puppetfolder -y", 
provider  => 'windows', 

}

-> Exec { 'install_c: \ puppetfolder \ downloadtest.ps1':

command  => 'C:\\puppetfolder\\downloadtest.bat', 
logoutput => 'true', 
provider => 'windows', 

}}

ответ

0

Существует модуль на горне reidmv-unzip, что обеспечит разархивировать типа.

puppet module install reidmv-unzip 

Затем вы можете определить источник и назначение содержимого zip. Источник должен быть локальным файлом в системе Windows.

С этого типа, ваш манифест будет переписать следующим образом:

file { 'C:/puppetfolder/server.zip': 
    ensure => 'file', 
    source => 'puppet:///modules/downloadscript/server.zip', 
    checksum => 'mtime', 
    mode  => '0775', 
    owner => 'Administrator', 
    group => 'Administrator', 
} 
-> 
unzip { 'server-file':        
    source => 'C:/puppetfolder/server.zip',    
    creates => 'C:/puppetfolder/downloadtest.bat',                    
} 
-> 
exec { 'install_c:/puppetfolder/downloadtest.ps1': 
    command  => 'C:/puppetfolder/downloadtest.bat', 
    logoutput => 'true', 
    provider => 'windows', 
}