[chef] Re: Re: Re: Re: Re: using env attr to override a default


Chronological Thread 
  • From: Matt Ray < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Re: using env attr to override a default
  • Date: Tue, 27 Sep 2011 17:27:16 -0500

Could you show the output of
knife node show yourmail-server
knife node show yourmail-server -a postfix
knife environment show dev
knife environment show prod

Are any of the roles setting the attributes? Here are the precedence
rules for reference:
http://wiki.opscode.com/display/chef/Attributes#Attributes-Precedence

Thanks,
Matt Ray
Senior Technical Evangelist | Opscode Inc.

 | (512) 731-2218
Twitter, IRC, GitHub: mattray



On Tue, Sep 27, 2011 at 5:04 PM,  
< >
 wrote:
> On Tue, 27 Sep 2011, andi abes wrote:
>
>> silly question - are your nodes actually assigned to the different
>> environments?
>
> not silly, cuz i do silly things sometimes. but i think my env is set
> correctly:
>
> test node which i desire to be a mail-client:
> [sous-chef1-dev ~]# grep environment /etc/chef/client.rb
> environment "dev"
>
> again, mail-client should pick up the env override for relayhost
> as "mungbeans.dev.dorqtown.com" instead of the default value from
> the recipe attributes. but it's not.
>
> test node which i desire to be a mail-server:
> [sous-chef2-dev ~]# grep environment /etc/chef/client.rb
> environment "dev"
>
>
> in debug output, i do see it seeking out env info.
> [Tue, 27 Sep 2011 18:15:50 +0000] DEBUG: Sending HTTP Request via POST to 
> 10.2.7.238:4000/environments/dev/cookbook_versions
> [Tue, 27 Sep 2011 18:15:51 +0000] DEBUG: Sending HTTP Request via GET to 
> 10.2.7.238:4000/environments/dev
>
> and fwiw, the chef clients are CentOS 5.6, running 0.10.4, RPMs
> from RBEL (e.g. rubygem-chef-0.10.4-1.el5).
>
> i'm running my own chef server, Ubuntu 11.04, 0.10.4-1.
>
>
>> You've shown that you've created the environments, and the nodes' run 
>> lists,
>> but not the nodes' environments.
>> see for manipulating node's env:
>http://wiki.opscode.com/display/chef/Environments#Environments-SettingaNode%27sEnvironment
>
>
>> On Tue, Sep 27, 2011 at 2:32 PM, 
>> < >
>>  wrote:
>>
>> > On Tue, 27 Sep 2011, AJ Christensen wrote:
>> >
>> > > Yo,
>> > >
>> > > Your environments attributes are wrong:
>> > >
>> > > On 27 September 2011 17:49,  
>> > > < >
>> > >  wrote:
>> > > >
>> > > > first, the prod and dev environments:
>> > > >
>> > > >    [chef-repo]$ knife environment show dev
>> > > >    chef_type:            environment
>> > > >    cookbook_versions:
>> > > >    default_attributes:
>> > > >      mail-client:
>> > > >        relayhost:  mungbeans.dev.dorqtown.com
>> > > >      mail-server:
>> > > >        relayhost:  [smtp.gmail.com]:587
>> > > >    description:          Development environment (dev)
>> > > >    json_class:           Chef::Environment
>> > > >    name:                 dev
>> > > >    override_attributes:
>> > >
>> > > this should be:
>> > > default_attributes "postfix" => { "relayhost" => "whatever" }
>> > >
>> > > The attributes are deep merged together onto the node and thus the
>> > > atribute structure must remain the same. Does this make sense?
>> > >
>> > > If you can post the on-disk, ruby version of the environment files I
>> > > can point out the problem, otherwise good luck!
>> >
>> > i can show you the json version of the env files. i was trying to
>> > cobble together the ruby, but not getting it quickly. for the sake of
>> > speed i'll show the json. i see what you're saying about attribute
>> > structure, so i corrected it, i believe. but the client's relayhost
>> > in main.cf is still picking up the setting from the postfix cookbook
>> > attr setting rather than the dev env setting.
>> >
>> > [chef-repo]$ cat environments/dev.json
>> > {
>> >  "name": "dev",
>> >  "default_attributes": {
>> >    "postfix": {
>> >      "mail-server": {
>> >        "relayhost": "[outbound.mailhop.org],[smtp.gmail.com]:587"
>> >       },
>> >      "mail-client": {
>> >        "relayhost": "mungbeans.dev.dorqtown.com"
>> >      }
>> >    }
>> >   },
>> >  "json_class": "Chef::Environment",
>> >  "description": "Development environment (dev)",
>> >  "chef_type": "environment"
>> > }
>> >
>> > [chef-repo]$ knife node show sous-chef1.dev.dorqtown.com -r
>> > run_list:  role[mail-client]
>> >
>> > [sous-chef1-dev ~]# grep relayhost /etc/postfix/main.cf
>> > relayhost = mailrelay.dev.dorqtown.com
>> >
>> >
>> > where to look?
>> >
>> >
>



Archive powered by MHonArc 2.6.16.

§