Ho creato un libro di cucina con attributi. Poi ho provato a boostrap un codice per nodo e passare attributi aggiuntivi in addidition e/o sovrascrivere i valori predefiniti. È possibile stampare un albero di attributi per vedere quali attributi sono caricati, che sono sovrascritti?Come gli attributi print o debug chef?
risposta
È possibile utilizzare node.debug_value
per mostrare un singolo attributo. Questo stamperà il valore per quell'attributo ad ogni livello. Tuttavia, farlo a ogni livello per ogni attributo è più difficile (non sono sicuro di come farlo). Inoltre, a causa dell'enorme volume di attributi di ohai, non sono sicuro che vorresti farlo.
Se il tuo chef sta terminando correttamente, puoi fare un knife node show -l <nodename>
(che è un minuscolo L). Questo ti mostrerà il valore effettivo, ma fornisce un volume enorme di dati e non ti dice quali valori sono predefiniti, normali, sostituiti, ecc.
Per espandere la risposta @ Tejay con qualche esempio - Per 'nodo ['minecraft'] ['proprietà'] ' usa il nodo '.debug_value ('minecraft', 'properties') ' Vedi questo per maggiori dettagli - http://jtimberman.housepub.org/blog/2014/09/02/chef-node-dot-debug-value/ – keen
Per ottenere l'intero albero di attributi (all'interno di uno chef convergente , al contrario di via coltello dal server di chef - che è inutile, per esempio, un ambiente solo ...) in una forma utile:
Siete alla ricerca di node.to_hash
- vedi http://www.rubydoc.info/gems/chef/Chef%2FNode%3Ato_hash
poche altre opzioni anche lì - http://www.rubydoc.info/gems/chef/Chef/Node
per ottenere un bel registro stampato è possibile utilizzare lo jso dello chef n librerie abbastanza stampante:
output="#{Chef::JSONCompat.to_json_pretty(node.to_hash)}"
log output
o scrivere un file locale al cliente:
output="#{Chef::JSONCompat.to_json_pretty(node.to_hash)}"
file '/tmp/node.json' do
content output
end
notare che questo è il nodo convergente, in modo da non ottenere il default/sostituzione/etc livelli voi può ottenere con node.debug_value
- ma se non conosci effettivamente il nome/percorso dell'attributo, o se hai bisogno di ricorrere a un numero di attributi, questo potrebbe essere tuo amico.
Si otterrà un risultato enorme che assomiglia (altamente trimed!)
{
"chef_type": "node",
"name": "node.example.com",
"chef_environment": "_default",
"build-essential": {
"compile_time": false
},
"homebrew": {
"owner": null,
"auto-update": true,
...
},
"recipe": [
"example"
],
"run_list": [
"recipe[example]"
]
}
Grazie a this answer per il puntatore di stampa piuttosto
fork la risposta @keen, questo produce un più umano uscita leggibile in formato YAML.
output = node.to_yaml
file '/var/node.yaml' do
content output
end
- 1. chef include le ricette sovrascrive gli attributi
- 2. Chef: come sovrascrivere gli attributi predefiniti nei ruoli?
- 3. Attributi Chef file Vagrant
- 4. C Debug Print Macro
- 5. Attributi dello chef rispetto alle borse dati
- 6. Attributi del nodo Chef. Quali sono disponibili?
- 7. Come caricare gli attributi JSON passare tramite coltello attraverso le ricette dello chef?
- 8. Gli attributi XML vengono ordinati
- 9. Ottenere gli attributi in PyQuery?
- 10. chef 11: un modo per trasformare gli attributi in un hash rubino?
- 11. Come ottenere gli attributi valore
- 12. Shibboleth - Come leggere gli attributi?
- 13. consentono tutti gli attributi per gli attributi nidificati
- 14. Best Practice per l'impostazione unica Chef nodo Attributi
- 15. Come grep su gdb print
- 16. Comprendere gli attributi della classe Python
- 17. PHP SimpleXML, come impostare gli attributi?
- 18. jinja2 print to console o logging
- 19. Installazione Chef Architettura [Coltello, Chef client, Chef Server]
- 20. Visualizzare o ottenere gli attributi dell'intestazione HTTP in Rails 4
- 21. È possibile limitare gli attributi alla classe o alle proprietà?
- 22. Java che definisce o inizializza gli attributi di una classe
- 23. Imposta gli attributi dal dizionario in python
- 24. Come funziona l'ereditarietà per gli attributi?
- 25. Come creare gli attributi consentiti duplicati
- 26. Come funzionano gli attributi del metodo Perl?
- 27. Come vengono analizzati gli attributi in Boost.PropertyTree?
- 28. Come rimuovere gli attributi da NSAttributeString swift?
- 29. Come aggiornare gli attributi senza convalida
- 30. Come definire gli attributi su forms.ModelChoiceField?
La lettura dei documenti è troppo difficile? inizia [qui] (https://learn.chef.io/fundamentals-series/) e prova a cercare [qui] (http://docs.chef.io) prima di chiedere. Se desideri parlare, guarda il canale #Cheff IRC su irc.freenode.net. In breve, mostra di aver provato da solo prima di inviare spam a StasckOverflow – Tensibai
@Tensibai La domanda è corretta, Cherry sta tentando di risolvere un bootstrap da chef. I link che dai sono elementari troverei difficile trovare la risposta se fossi un principiante nello chef. Questo non è un nuovo utente di SO, quindi se non ti piace la domanda semplicemente downvotalo per favore. –
4 domande sullo stesso argomento è piuttosto spam IMO – Tensibai