2016-06-21 3 views
0

Ich baue ein Kochbuch mit Anforderungen an Knotenattribute. Wenn die Knotenattribute nicht vorhanden sind, möchte ich den Clientlauf beenden und einen entsprechenden Fehler zurückgeben. Ich versuche zu beenden, wenn das Top-Level-Attribut nicht existiert, d.h .:Oberste und unterste Ebene des Chefclients Attribute

# Check for valid keepalived configuration on node 
if node.default['keepalived'] = "" 
    Chef::Application.fatal!("No keepalived configuration was set on the node. Please add some.") 
end 

Wenn der Knoten [ ‚keepalived‘] ist ein Array (wie es sein soll) dies nicht gelingt. Wenn es leer ist (nicht existiert), dann vergeht dies.

Welche Anweisung sollte ich verwenden, um zu beenden, wenn Knoten ['keepalived'] nicht festgelegt wurde, aber weiter, wenn Unterwerte vorhanden sind?

Antwort

2

Zwei Ausgaben, eine, die Sie flubbed = vs ==. Zweitens ist die Sache, die Sie überprüfen möchten, ist:

if !node['keepalived'] || node['keepalived'].empty? 
+0

Verdammt thes = Flubs :) – user3063045

Verwandte Themen