Installing Chef-client on existing servers


#1

Hi there,

I’m starting to evaluate how we’d go about rolling out chef-client to all of our existing servers with the minimum amount of hassle…

I started with ‘knife bootstrap x.x.co.uk -d chef-full’, however instantly failed with:
x.x.co.uk --15:09:28-- http://opscode.com/chef/install.sh
x.x.co.uk Resolving opscode.com
x.x.co.uk failed: Temporary failure in name resolution.

My understanding of the process soo far is that the bootstrap process is attempting to download the install.sh script from opscode.com… However the majority of servers don’t have open internet access or DNS setup…
So looks like I’ve hit an instant brick wall… :frowning:

From my understanding of the process, the above install script computes a rpm filename (chef-full-{version}.{machine}.rpm) and URL (http://s3.amazonaws.com/opscode-full-stack/$platform-$platform_version-$machine/$filename) then downloads the file and rpm installs it…
Could I simply create a local yum repo with this RPM file present, and then create a custom bootstrap script which ssh’s into the relevant server, adds a host file entry for the yum repo server, creates the required yum repos.d file, and then installs the above rpm using yum?
Is that possible using bootstrap?
Any big gotcha’s with doing it that way? Other than having to maintain the versions in our local yum repo?

Thank-you in advance for any responses.

Regards
Gavin


#2

On Mon, Aug 20, 2012 at 9:17 PM, Gavin Williams <gavin.williams@weareact.com

wrote:

Hi there, ****

I’m starting to evaluate how we’d go about rolling out chef-client to all
of our existing servers with the minimum amount of hassle… ****


I started with ‘knife bootstrap x.x.co.uk -d chef-full’, however
instantly failed with:****

x.x.co.uk --15:09:28-- http://opscode.com/chef/install.sh

x.x.co.uk Resolving opscode.com

x.x.co.uk failed: Temporary failure in name resolution.****


My understanding of the process soo far is that the bootstrap process is
attempting to download the install.sh script from opscode.com… However
the majority of servers don’t have open internet access or DNS setup… ****

So looks like I’ve hit an instant brick wall… L ****


From my understanding of the process, the above install script computes a
rpm filename (chef-full-{version}.{machine}.rpm)* and URL (
http://s3.amazonaws.com/opscode-full-stack/$platform-$platform_version-$machine/$filename
*) then downloads the file and rpm installs it… ****

Could I simply create a local yum repo with this RPM file present, and
then create a custom bootstrap script which ssh’s into the relevant server,
adds a host file entry for the yum repo server, creates the required yum
repos.d file, and then installs the above rpm using yum? ****

Is that possible using bootstrap? ****

Any big gotcha’s with doing it that way? Other than having to maintain the
versions in our local yum repo? ****


Thank-you in advance for any responses. ****


Regards****

Gavin ****



#3

sorry for the blank mail.

Yes you can grab the omnibus installer corresponding to your platform and
use it locally. since omnibus bundle all its dependencies (above glibc) ,
you can directly curl/wget it from a local http server also , instead of a
full blown rpm/dpkg repo.

On Mon, Aug 20, 2012 at 9:50 PM, Ranjib Dey ranjibd@thoughtworks.comwrote:

On Mon, Aug 20, 2012 at 9:17 PM, Gavin Williams <
gavin.williams@weareact.com> wrote:

Hi there, ****

I’m starting to evaluate how we’d go about rolling out chef-client to all
of our existing servers with the minimum amount of hassle… ****


I started with ‘knife bootstrap x.x.co.uk -d chef-full’, however
instantly failed with:****

x.x.co.uk --15:09:28-- http://opscode.com/chef/install.sh

x.x.co.uk Resolving opscode.com

x.x.co.uk failed: Temporary failure in name resolution.****


My understanding of the process soo far is that the bootstrap process is
attempting to download the install.sh script from opscode.com… However
the majority of servers don’t have open internet access or DNS setup… ***
*

So looks like I’ve hit an instant brick wall… L ****


From my understanding of the process, the above install script computes a
rpm filename (chef-full-{version}.{machine}.rpm)* and URL (
http://s3.amazonaws.com/opscode-full-stack/$platform-$platform_version-$machine/$filename
*) then downloads the file and rpm installs it… ****

Could I simply create a local yum repo with this RPM file present, and
then create a custom bootstrap script which ssh’s into the relevant server,
adds a host file entry for the yum repo server, creates the required yum
repos.d file, and then installs the above rpm using yum? ****

Is that possible using bootstrap? ****

Any big gotcha’s with doing it that way? Other than having to maintain
the versions in our local yum repo? ****


Thank-you in advance for any responses. ****


Regards****

Gavin ****



#4

Ranjib

Cheers for confirming… Sounds like that might be the way for me to go then…

Cheers
Gav

From: Ranjib Dey [mailto:ranjibd@thoughtworks.com]
Sent: 20 August 2012 17:22
To: chef@lists.opscode.com
Subject: [chef] Re: Installing Chef-client on existing servers…

sorry for the blank mail.

Yes you can grab the omnibus installer corresponding to your platform and use it locally. since omnibus bundle all its dependencies (above glibc) , you can directly curl/wget it from a local http server also , instead of a full blown rpm/dpkg repo.

On Mon, Aug 20, 2012 at 9:50 PM, Ranjib Dey <ranjibd@thoughtworks.commailto:ranjibd@thoughtworks.com> wrote:

On Mon, Aug 20, 2012 at 9:17 PM, Gavin Williams <gavin.williams@weareact.commailto:gavin.williams@weareact.com> wrote:
Hi there,

I’m starting to evaluate how we’d go about rolling out chef-client to all of our existing servers with the minimum amount of hassle…

I started with ‘knife bootstrap x.x.co.ukhttp://x.x.co.uk -d chef-full’, however instantly failed with:
x.x.co.ukhttp://x.x.co.uk --15:09:28-- http://opscode.com/chef/install.sh
x.x.co.ukhttp://x.x.co.uk Resolving opscode.com
x.x.co.ukhttp://x.x.co.uk failed: Temporary failure in name resolution.

My understanding of the process soo far is that the bootstrap process is attempting to download the install.sh script from opscode.comhttp://opscode.com… However the majority of servers don’t have open internet access or DNS setup…
So looks like I’ve hit an instant brick wall… :frowning:

From my understanding of the process, the above install script computes a rpm filename (chef-full-{version}.{machine}.rpm) and URL (http://s3.amazonaws.com/opscode-full-stack/$platform-$platform_version-$machine/$filename) then downloads the file and rpm installs it…
Could I simply create a local yum repo with this RPM file present, and then create a custom bootstrap script which ssh’s into the relevant server, adds a host file entry for the yum repo server, creates the required yum repos.d file, and then installs the above rpm using yum?
Is that possible using bootstrap?
Any big gotcha’s with doing it that way? Other than having to maintain the versions in our local yum repo?

Thank-you in advance for any responses.

Regards
Gavin


This e-mail has been scanned for all viruses.



#5

On 20 August 2012 17:26, Gavin Williams gavin.williams@weareact.com wrote:

Ranjib****


Cheers for confirming… Sounds like that might be the way for me to go
then… ****


Cheers****

Gav

if you allow access to a proxied access to the internet rather than direct,
the bootstrap can support that with the --bootstrap-proxy option



From: Ranjib Dey [mailto:ranjibd@thoughtworks.com]
Sent: 20 August 2012 17:22
To: chef@lists.opscode.com
Subject: [chef] Re: Installing Chef-client on existing servers…****


sorry for the blank mail.****


Yes you can grab the omnibus installer corresponding to your platform and
use it locally. since omnibus bundle all its dependencies (above glibc) ,
you can directly curl/wget it from a local http server also , instead of a
full blown rpm/dpkg repo.****



On Mon, Aug 20, 2012 at 9:50 PM, Ranjib Dey ranjibd@thoughtworks.com
wrote:****


On Mon, Aug 20, 2012 at 9:17 PM, Gavin Williams <
gavin.williams@weareact.com> wrote:****

Hi there, ****

I’m starting to evaluate how we’d go about rolling out chef-client to all
of our existing servers with the minimum amount of hassle… ****


I started with ‘knife bootstrap x.x.co.uk -d chef-full’, however
instantly failed with:****

x.x.co.uk --15:09:28-- http://opscode.com/chef/install.sh****

x.x.co.uk Resolving opscode.com****

x.x.co.uk failed: Temporary failure in name resolution.****


My understanding of the process soo far is that the bootstrap process is
attempting to download the install.sh script from opscode.com… However
the majority of servers don’t have open internet access or DNS setup… ****

So looks like I’ve hit an instant brick wall… L ****


From my understanding of the process, the above install script computes a
rpm filename (chef-full-{version}.{machine}.rpm)* and URL (
http://s3.amazonaws.com/opscode-full-stack/$platform-$platform_version-$machine/$filename
*) then downloads the file and rpm installs it… ****

Could I simply create a local yum repo with this RPM file present, and
then create a custom bootstrap script which ssh’s into the relevant server,
adds a host file entry for the yum repo server, creates the required yum
repos.d file, and then installs the above rpm using yum? ****

Is that possible using bootstrap? ****

Any big gotcha’s with doing it that way? Other than having to maintain the
versions in our local yum repo? ****


Thank-you in advance for any responses. ****


Regards****

Gavin ****





This e-mail has been scanned for all viruses.
________________________________________________________________________**
**


#6

May be another option to consider…

However I think a custom Yum repo may make more sense for us, as we’ve got a few hand-rolled RPM’s etc which we use on a lot of our VM’s…

Keep em coming though :slight_smile:

Cheers
Gavin

From: Mat Davies [mailto:ashmere@gmail.com]
Sent: 20 August 2012 17:45
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: Installing Chef-client on existing servers…

On 20 August 2012 17:26, Gavin Williams <gavin.williams@weareact.commailto:gavin.williams@weareact.com> wrote:
Ranjib

Cheers for confirming… Sounds like that might be the way for me to go then…

Cheers
Gav

if you allow access to a proxied access to the internet rather than direct, the bootstrap can support that with the --bootstrap-proxy option

From: Ranjib Dey [mailto:ranjibd@thoughtworks.commailto:ranjibd@thoughtworks.com]
Sent: 20 August 2012 17:22
To: chef@lists.opscode.commailto:chef@lists.opscode.com
Subject: [chef] Re: Installing Chef-client on existing servers…

sorry for the blank mail.

Yes you can grab the omnibus installer corresponding to your platform and use it locally. since omnibus bundle all its dependencies (above glibc) , you can directly curl/wget it from a local http server also , instead of a full blown rpm/dpkg repo.

On Mon, Aug 20, 2012 at 9:50 PM, Ranjib Dey <ranjibd@thoughtworks.commailto:ranjibd@thoughtworks.com> wrote:

On Mon, Aug 20, 2012 at 9:17 PM, Gavin Williams <gavin.williams@weareact.commailto:gavin.williams@weareact.com> wrote:
Hi there,

I’m starting to evaluate how we’d go about rolling out chef-client to all of our existing servers with the minimum amount of hassle…

I started with ‘knife bootstrap x.x.co.ukhttp://x.x.co.uk -d chef-full’, however instantly failed with:
x.x.co.ukhttp://x.x.co.uk --15:09:28-- http://opscode.com/chef/install.sh
x.x.co.ukhttp://x.x.co.uk Resolving opscode.com
x.x.co.ukhttp://x.x.co.uk failed: Temporary failure in name resolution.

My understanding of the process soo far is that the bootstrap process is attempting to download the install.sh script from opscode.comhttp://opscode.com… However the majority of servers don’t have open internet access or DNS setup…
So looks like I’ve hit an instant brick wall… :frowning:

From my understanding of the process, the above install script computes a rpm filename (chef-full-{version}.{machine}.rpm) and URL (http://s3.amazonaws.com/opscode-full-stack/$platform-$platform_version-$machine/$filename) then downloads the file and rpm installs it…
Could I simply create a local yum repo with this RPM file present, and then create a custom bootstrap script which ssh’s into the relevant server, adds a host file entry for the yum repo server, creates the required yum repos.d file, and then installs the above rpm using yum?
Is that possible using bootstrap?
Any big gotcha’s with doing it that way? Other than having to maintain the versions in our local yum repo?

Thank-you in advance for any responses.

Regards
Gavin


This e-mail has been scanned for all viruses.



This e-mail has been scanned for all viruses.



#7

On Mon, Aug 20, 2012 at 10:22 AM, Gavin Williams
gavin.williams@weareact.com wrote:

Could I simply create a local yum repo with this RPM file present, and then
create a custom bootstrap script which ssh’s into the relevant server, adds
a host file entry for the yum repo server, creates the required yum repos.d
file, and then installs the above rpm using yum?

Should be a 1 line change to the chef-full bootstrap template to put
in your custom location but shouldn’t there be a clean option to just
pass in an override location? People serving the packages from an
internal repo for nodes with no internet access has to be a pretty
common use case (for non-cloud types anyway)?

KC


#8

On Mon, Aug 20, 2012 at 1:50 PM, KC Braunschweig
kcbraunschweig@gmail.com wrote:

Should be a 1 line change to the chef-full bootstrap template to put
in your custom location but shouldn’t there be a clean option to just
pass in an override location? People serving the packages from an
internal repo for nodes with no internet access has to be a pretty
common use case (for non-cloud types anyway)?

Adding signing keys will also be important, so it’ll end up being more
than a one line change. The trick will be doing so such that it works
for both yum and apt repos.

Bryan