[chef] Re: Re: Re: Hosted chef not honoring passed environment?


Chronological Thread 
  • From: Darron Froese < >
  • To: chef < >
  • Subject: [chef] Re: Re: Re: Hosted chef not honoring passed environment?
  • Date: Mon, 14 Jan 2013 11:19:34 -0700

OK - I think I've found a few more clues now - seems that
config_content isn't putting everything it should into the
/etc/chef/client.rb.

This is the command:

bundle exec knife ec2 server create -V -V -E lucid -r "recipe[sudo]"
-I ami-ab36fbc2 -f m1.small -S dfroese -G varnish -x ubuntu --region
us-east-1 -Z us-east-1a --node-name aws2019 --distro
ubuntu10.04-ruby187

The bootstrap has this in it:

(
cat <<'EOP'
<%= config_content %>
EOP
) > /etc/chef/client.rb

and this is the /etc/chef/client.rb:

log_level        :info
log_location     STDOUT
chef_server_url  "https://api.opscode.com/organizations/nonfiction";
validation_client_name "nonfiction-validator"
node_name "aws2019"

If I manually create the /etc/chef/client.rb in my bootstrap recipe
then it works as I would expect:

(
cat <<'EOP'
log_level        :info
log_location     STDOUT
chef_server_url  "<%= Chef::Config[:chef_server_url] %>"
validation_client_name "<%= Chef::Config[:validation_client_name] %>"
<% if @config[:chef_node_name] == nil %>
# Using default node name"
<% else %>
node_name "<%= @config[:chef_node_name] %>"
<% end %>
environment "<%= Chef::Config[:environment] %>"
EOP
) > /etc/chef/client.rb

Will just adjust my bootstraps for the time being - not sure where
else to look now for the actual cause.

Thanks for the tip.

On Mon, Jan 14, 2013 at 12:20 AM, AJ Christensen 
< >
 wrote:
> Hey Darron,
>
> It definitely looks like the ec2 server create should be passing through the
> environment as you've specified it. [0]
>
> Can you gist the contents of the client.rb as rendered post-bootstrap, when
> you notice the machine assigned to the wrong environment, and the full debug
> logs, if you haven't already posted those?
>
> Cheers,
>
> AJ
>
> [0]
> https://github.com/opscode/knife-ec2/blob/master/lib/chef/knife/ec2_server_create.rb#L343
>
>
> On 14 January 2013 19:33, Darron Froese 
> < >
>  wrote:
>>
>> Tried again a few different times this weekend - same failures -
>> downloading the wrong version of the sudo cookbook and being assigned
>> to the wrong environment:
>>
>> bundle exec knife rackspace server create -E lucid -S sudo2013 -f 2 -N
>> sudo2013 --image 112 -r 'recipe[sudo]' --distro ubuntu10.04-ruby187
>>
>https://gist.github.com/4527988
>http://d.pr/i/rjBp
>>
>> bundle exec knife bootstrap -E lucid -r "recipe[sudo]" 184.106.71.194
>> -x root -P not-so-fast --node-name bootstrap2013 --distro
>> ubuntu10.04-ruby187
>>
>https://gist.github.com/4528030
>http://d.pr/i/DBDx
>>
>> I also tried AWS:
>>
>> bundle exec knife ec2 server create -E lucid -r "recipe[sudo]" -I
>> ami-ab36fbc2 -f m1.small -S dfroese -G varnish -x ubuntu --region
>> us-east-1 -Z us-east-1a --node-name aws2013 --distro
>> ubuntu10.04-ruby187
>>
>https://gist.github.com/4528155
>http://d.pr/i/n6Pg
>>
>> I expect to be able to create new servers and assign them to a
>> particular environment - is this correct?
>>
>> Am I misunderstanding something or is something odd going on?
>>
>> On Thu, Jan 10, 2013 at 2:25 PM, Darron Froese 
>> < >
>>  wrote:
>> > Using chef 10.16.4.
>> >
>> > I have an environment called 'lucid' for my current infrastructure:
>> >
>> > [master] 
>> >  /Dropbox/src/chef-repo:
>> >  knife environment list
>> >   _default
>> >   lucid
>> >
>> > We're using hosted Chef and this next bit shows all of my cookbook
>> > versions for that environment:
>> >
>> > https://gist.github.com/4505868
>> >
>> > I'm adding a new server using that environment - tried passing
>> > environment along 2 different ways:
>> >
>> > bundle exec knife rackspace server create -E lucid -S server2013 -f 4
>> > -N server2013 --image 112 -r
>> > 'role[setup],role[mysql_server],role[web_server],recipe[backup]'
>> > --distro ubuntu10.04-ruby193
>> >
>> > OR
>> >
>> > bundle exec knife rackspace server create -S server2013 -f 4 -N
>> > server2013 --image 112 -r
>> > 'role[setup],role[mysql_server],role[web_server],recipe[backup]'
>> > --distro ubuntu10.04-ruby193 --environment lucid
>> >
>> > Neither seems to work as I expect.
>> >
>> > The server gets created, but at the end of the run, it says:
>> >
>> > Name: server2013
>> > Flavor: 2GB server
>> > Image: Ubuntu 10.04 LTS
>> > Metadata: {}
>> > Environment: lucid
>> > Run List: role[setup], role[mysql_server], role[web_server],
>> > recipe[backup]
>> >
>> > But:
>> >
>> > 1. It uses the 2.0.4 sudo cookbook that I uploaded yesterday - which
>> > is not part of the lucid environment.
>> >
>> > 2. In the Opscode management interface it shows up as _default:
>> > http://d.pr/i/UoZz
>> >
>> > Any ideas what I'm missing?
>
>



Archive powered by MHonArc 2.6.16.

§