2014-12-08 4 views
7

ottengo il seguente errore durante l'esecuzione vagrant up --provision per impostare il mio ambiente di sviluppo con vagabondo ...Chef :: Eccezioni :: ChecksumMismatch durante l'installazione nginx-1.7.8 dai sorgenti

==> default: [2014-12-08T20:33:51+00:00] ERROR: remote_file[http://nginx.org/download/nginx-1.7.8.tar.gz] (nginx::source line 58) had an error: Chef::Exceptions::ChecksumMismatch: Checksum on resource (0510af) does not match checksum on content (12f75e) 

mio chef JSON ha il segue per nginx:

"nginx": { 
"version": "1.7.8", 
"user": "deploy", 
"init_style": "init", 
"modules": [ 
    "http_stub_status_module", 
    "http_ssl_module", 
    "http_gzip_static_module" 
], 
"passenger": { 
    "version": "4.0.53", 
    "gem_binary": "/home/vagrant/.rbenv/shims/gem" 
}, 
"configure_flags": [ 
    "--add-module=/home/vagrant/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/passenger-3.0.18/ext/nginx" 
], 
"gzip_types": [ 
    "text/plain", 
    "text/html", 
    "text/css", 
    "text/xml", 
    "text/javascript", 
    "application/json", 
    "application/x-javascript", 
    "application/xml", 
    "application/xml+rss" 
]} 

e Cheffile ha il seguente libro di cucina:

cookbook 'nginx' 

Come si risolve la mancata corrispondenza del checksum?

risposta

13

Il nginx cookbook richiede di modificare l'attributo checksum quando si utilizza un'altra versione di nginx. La risorsa remote_file che si sta causando un errore è:

remote_file nginx_url do 
    source nginx_url 
    checksum node['nginx']['source']['checksum'] 
    path  src_filepath 
    backup false 
end 

È necessario aggiornare il valore di checksum. Specificamente node['nginx']['source']['checksum'].

Quindi nel tuo JSON, si dovrebbe aggiungere questa riga:

"source": {"checksum": "insert checksum here" } 

Edit: Come sottolineato nei commenti, il checksum è SHA256. È possibile generare il checksum del file in questo modo:

shasum -a 256 nginx-1.7.8.tar.gz 
+0

Perfetto, questo è esattamente quello che stavo cercando. – whargrove

+0

Ho provato questo 'openssl md4 nginx-1.6.2.tar.gz' per generare il checksum ma continuo a ricevere lo stesso errore. Qualche idea su come otterresti il ​​checksum? – Biwek

+0

Il tuo file JSON dice che stai cercando di usare 'nginx-1.7.8.tar.gz'. Stai generando il checksum sul file sbagliato. – AlexMeng

Problemi correlati