chef vagrant chef-solo

Chef-solo ssl warning al aprovisionar



vagrant (3)

Esta advertencia fue introducida en Chef 11.12.0. Ver las notas de la versión para más detalles:

Cuando ssl_verify_mode se establece en :verify_none , Chef imprimirá una advertencia. Utilice la knife ssl check para probar la conectividad SSL y luego agregue ssl_verify_mode :verify_peer a su archivo de configuración para corregir la advertencia. Aunque :verify_none es actualmente el predeterminado, esto se modificará en una versión futura, por lo que se recomienda a los usuarios que sean proactivos al probar y actualizar su configuración de SSL.

Para corregir esta advertencia en Vagrant, debe modificar el archivo de configuración solo.rb que crea en la máquina virtual. Con Vagrant puedes usar la opción custom_config_path para eso.

Así puede enmendar su archivo Vagrant de esta manera:

Vagrant.configure("2") do |config| config.vm.provision "chef_solo" do |chef| # the next line is added chef.custom_config_path = "Vagrantfile.chef" end end

Esto hace que Vagrant incluya el contenido del archivo local Vagrantfile.chef en el solo.rb generado, por lo tanto, el archivo debe estar presente en su sistema host, no en la VM.

Luego, cree un nuevo archivo Vagrantfile.chef en el directorio donde también guarda su Vagrantfile con el siguiente contenido:

Chef::Config.ssl_verify_mode = :verify_peer

La siguiente ejecución de vagrant provision ya no debería imprimir la advertencia.

Cuando uso vagrant y chef como aprovisionador, tengo esta advertencia:

[web] Chef 11.12.2 Omnibus package is already installed. [web] Running provisioner: chef_solo... Generating chef JSON and uploading... Running chef-solo... stdin: is not a tty [2014-04-10T14:48:46+00:00] INFO: Forking chef instance to converge... [2014-04-10T14:48:46+00:00] WARN: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SSL validation of HTTPS requests is disabled. HTTPS connections are still encrypted, but chef is not able to detect forged replies or man in the middle attacks. To fix this issue add an entry like this to your configuration file: ``` # Verify all HTTPS connections (recommended) ssl_verify_mode :verify_peer # OR, Verify only connections to chef-server verify_api_cert true ``` To check your SSL configuration, or troubleshoot errors, you can use the `knife ssl check` command like so: ``` knife ssl check -c /tmp/vagrant-chef-1/solo.rb ``` * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Sería bueno saber qué tipo de configuraciones necesita el chef en Vagrantfile para solucionar este problema.


Sé que la pregunta original era sobre Vagrant, pero para las personas que usan la gema knife-solo y encuentran este error, solo agregue la siguiente línea a .chef/knife.rb :

ssl_verify_mode :verify_peer

La gema knife-solo tomará ese valor y lo pondrá en el archivo solo.rb que se carga en el servidor, que es el archivo de configuración principal pasado a chef-solo .


Tuve este problema cuando trabajaba con Test-Kitchen.

Si ese también es su caso, tenga en cuenta que este valor también se puede configurar directamente dentro de .kitchen.yml .

Si su bloque de aprovisionamiento estándar se ve así:

provisioner: name: chef_solo

solo puede agregar la clave solo_rb con la opción ssl_verify_mode :

provisioner: name: chef_solo solo_rb: ssl_verify_mode: verify_peer

y el solo.rb generado tendrá esta opción establecida.