2017-11-13 3 views
0

Ich versuche, meine Standardattribute, die in der Attributsdatei in meinem Kochbuch festgelegt sind, mit den Einstellungen in den Umgebungen meines Chefservers zu überschreiben.Attribute können nicht während eines Chef-Client-Laufs ersetzt werden

Dies ist meine Attribute Datei:

default['app']     = 'tomcat_app' 
default['environment']   = 'env' 
default['instance']    = 'tier' 
default['application_name']  = "#{default['environment']}/#{default['app']}" 
default['environment_instance'] = "#{default['environment']}/#{default['app']}/#{default['instance']}" 
default['app_owner']   = 'app_user' 
default['app_owner_group']  = 'app_group' 

Meine Umgebung es ist wie folgt konfiguriert:

{ 
    "app": { 
     "tomcat_app": "NGS" 
    }, 
    "environment": { 
     "env": "/Test/Apps" 
    }, 
    "instance": { 
     "tier": "tst" 
    }, 
    "app_owner": { 
     "app_user": "ngsint" 
    }, 
    "app_owner_group": { 
     "app_group": "batchdev" 
    }, 
    "override_attributes": {} 
} 

jedoch während Koch-Client ausgeführt werden diese Werte werden nicht ersetzt. Ich habe dies in den Standardattributen der Umgebungen festgelegt.

Antwort

1

Attribute in default_attributes Hash/Objekt sein sollte, es sollte wie folgt aussehen:

"default_attributes": { 
    "app": { 
     "tomcat_app": "NGS" 
    }, 
    "environment": { 
     "env": "/Test/Apps" 
    }, 
    "instance": { 
     "tier": "tst" 
    }, 
    "app_owner": { 
     "app_user": "ngsint" 
    }, 
    "app_owner_group": { 
     "app_group": "batchdev" 
    } 
    } 

As explained in the documentation.

+0

ich getan habe, und sie sind noch nicht ersetzt, mache ich etwas falsch? Ich bin noch neu im Koch. – Napster

+0

Verwenden Sie eine Rolle mit Standardattributen? [Es hat Vorrang vor der Umgebung] (https://docs.chef.io/attributes.html#attribute-precedence). Als letzten Ausweg können Sie versuchen, 'override_attributes' in Ihrer Umgebung zu verwenden. –

Verwandte Themen