[chef] Re: RE: Re: How to generate random string at end of hostname?


Chronological Thread 
  • From: Tony Burns < >
  • To:
  • Subject: [chef] Re: RE: Re: How to generate random string at end of hostname?
  • Date: Mon, 21 Jul 2014 17:29:30 -0400

Justin,

If you have a Ruby script that’s setting the hostname for you before Chef 
runs, you could just interpolate what Seth said into your hostname like:

#!/opt/chef/embedded/bin/ruby
# set_hostname.rb

require ‘secure random’

hostname_template = ARGV[0]
hostname_id = SecureRandom.hex(3)
hostname = “#{hostname_template}-#{hostname_id}”

File.open(‘/etc/hosts’, ‘a’) do |file|
  file.write "127.0.0.1       localhost #{hostname}"
end

File.open(‘/etc/hostname’, ‘w’) do |file|
  file.write hostname
end

system(‘service hostname start’)

Cheers,

Tony

On Jul 21, 2014, at 5:17 PM, Justin Franks 
< >
 wrote:

> Seth, 
> Where does this Ruby go? Where do I "puts" it?
> 
> 
> 
> *************************
> Justin Franks
> Lead Operations Engineer
> SaaS, Cloud, Data Centers & Infrastructure
> Lithium Technologies, Inc
> 225 Bush St., 15th Floor
> San Francisco, CA 94104
> tel: +1 415 757 3100 x3219
> 
> ________________________________________
> From: Seth Vargo 
> < >
> Sent: Monday, July 21, 2014 1:35 PM
> To: 
> 
> Subject: [chef] Re: How to generate random string at end of hostname?
> 
> ruby -e "require 'securerandom'; puts SecureRandom.hex(3)"
> 
> Seth
>> On Jul 21, 2014, at 11:15 AM, Matt Ray 
>> < >
>>  wrote:
>
>> I'd agree with Noah, some platforms don't provide names though. Here's
>> the hacky generator used by knife-openstack and others through
>> knife-cloud:
>https://github.com/opscode/knife-cloud/blob/master/lib/chef/knife/cloud/server/create_command.rb#L126
>
>> Thanks,
>> Matt Ray
>> Director of Partner Integration :: Chef
>> 512.731.2218 :: 
>
>> mattray :: GitHub :: IRC :: Twitter
>
>
>> On Sat, Jul 19, 2014 at 1:29 PM, Noah Kantrowitz 
>> < >
>>  wrote:
>>> It is highly recommended you use the raw hostnames as generated by 
>>> EC2/Nova. Trying to change the hostname from Chef is tricky even at the 
>>> best of times. If you really do want to change it, I would recommend 
>>> doing it before Chef is bootstrapped in your own provisioning system 
>>> (cloud-init on EC2, for example).
>>> 
>>> --Noah
>>> 
>>> On Jul 19, 2014, at 11:17 AM, Justin Franks 
>>> < >
>>>  wrote:
>>> 
>>>> How to generate random string at end of hostname?
>>>> For every node we provision with knife ec2/openstack/etc... we want the 
>>>> hostnames to have a format of:
>>>> staticstring-staticstring-randomstring
>>>> Example: web-server-hk3dp99x
>>>> If the host reboots the name will not change.
>>>> For each newly provisioned node the random string will change.
>>>> Suggestions on the best approach?
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> *************************
>>>> Justin Franks
>>>> Lead Operations Engineer
>>>> SaaS, Cloud, Data Centers & Infrastructure
>>>> Lithium Technologies, Inc
>>>> 225 Bush St., 15th Floor
>>>> San Francisco, CA 94104
>>>> tel: +1 415 757 3100 x3219
>>> 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail




Archive powered by MHonArc 2.6.16.

§