Is there a way to “force” my cookbooks to rerun without bootstrapping my nodes?
Chris
Is there a way to “force” my cookbooks to rerun without bootstrapping my nodes?
Chris
On Oct 14, 2014, at 5:07 PM, Fouts, Chris Chris.Fouts@Sensus.com wrote:
Is there a way to “force” my cookbooks to rerun without bootstrapping my nodes?
I think you mean "without running knife bootstrap"? If so, then yes, just run sudo chef-client
. All knife bootstrap does is 1) install Chef 2) copy over some config files and 3) run chef-client.
--Noah
Assuming you’ve bootstrapped the node already and assigned it a role, you simply run chef client.
-----Original Message-----
From: Fouts, Chris [Chris.Fouts@Sensus.com]
Received: Tuesday, 14 Oct 2014, 5:08PM
To: chef@lists.opscode.com [chef@lists.opscode.com]
Subject: [chef] How to force convergence without bootstrapping?
Is there a way to “force” my cookbooks to rerun without bootstrapping my nodes?
Chris
Sorry, let me ask it differently.
I do the following
knife bootstrap a node
knife node run_list add <node> "run_list"
chef-client on node, which converges the cookbooks
Normally, re-running chef-client on the node again will not do anything since the cookbooks have already run the first time, meaning I’ll just get an “up-to-date” message
My question is, how can I re-run chef-client to make it “act” like I have not done step 3 above the first time?
Chris
From: Nguyen, Dang [mailto:Dang.Nguyen@disney.com]
Sent: Tuesday, October 14, 2014 8:12 PM
To: chef@lists.opscode.com
Subject: [chef] RE: How to force convergence without bootstrapping?
Assuming you’ve bootstrapped the node already and assigned it a role, you simply run chef client.
-----Original Message-----
From: Fouts, Chris [Chris.Fouts@Sensus.com]
Received: Tuesday, 14 Oct 2014, 5:08PM
To: chef@lists.opscode.commailto:chef@lists.opscode.com [chef@lists.opscode.com]
Subject: [chef] How to force convergence without bootstrapping?
Is there a way to “force” my cookbooks to rerun without bootstrapping my nodes?
Chris
I'm unsure to understand what you want.
The idea behind is that the cookbook is idempotent, doing things only if
they need to be done.
On each run each resource will ensure the resulting state is the desired
state in the cookbook.
There's no "Force" option, as it is the way it works, if a file managed
with a template do not match the rendered template it will be replaced.
So the only way would be undoing manually all the changes done in the
first run. (or writing a cookbook undoing what is done on the run list.
Re running the chef-client will redo what was done at first time if
needed (i.e. someone has changed by hand a configuration somewhere which
is managed by chef)
Hope it helps, but still unsure on what you want at all...
Regards
Le 2014-10-15 16:21, Fouts, Chris a écrit :
Sorry, let me ask it differently.
I do the following
knife bootstrap a node
knife node run_list add "run_list"
chef-client on node, which converges the cookbooks
Normally, re-running chef-client on the node again will not do anything since the cookbooks have already run the first time, meaning I'll just get an "up-to-date" message
My question is, how can I re-run chef-client to make it "act" like I have not done step 3 above the first time?
Chris
FROM: Nguyen, Dang [mailto:Dang.Nguyen@disney.com]
SENT: Tuesday, October 14, 2014 8:12 PM
TO: chef@lists.opscode.com
SUBJECT: [chef] RE: How to force convergence without bootstrapping?Assuming you've bootstrapped the node already and assigned it a role, you simply run chef client.
-----Original Message-----
FROM: Fouts, Chris [Chris.Fouts@Sensus.com]
RECEIVED: Tuesday, 14 Oct 2014, 5:08PM
TO: chef@lists.opscode.com [chef@lists.opscode.com]
SUBJECT: [chef] How to force convergence without bootstrapping?Is there a way to "force" my cookbooks to rerun without bootstrapping my nodes?
Chris
Fair enough, that’s all I wanted to know – that is – no there is NO way to do what I want.
Chris
From: Tensibai [mailto:tensibai@iabis.net]
Sent: Wednesday, October 15, 2014 10:45 AM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: RE: How to force convergence without bootstrapping?
I’m unsure to understand what you want.
The idea behind is that the cookbook is idempotent, doing things only if they need to be done.
On each run each resource will ensure the resulting state is the desired state in the cookbook.
There’s no “Force” option, as it is the way it works, if a file managed with a template do not match the rendered template it will be replaced.
So the only way would be undoing manually all the changes done in the first run. (or writing a cookbook undoing what is done on the run list.
Re running the chef-client will redo what was done at first time if needed (i.e. someone has changed by hand a configuration somewhere which is managed by chef)
Hope it helps, but still unsure on what you want at all…
Regards
Le 2014-10-15 16:21, Fouts, Chris a écrit :
Sorry, let me ask it differently.
I do the following
knife bootstrap a node
knife node run_list add <node> “run_list”
chef-client on node, which converges the cookbooks
Normally, re-running chef-client on the node again will not do anything since the cookbooks have already run the first time, meaning I’ll just get an “up-to-date” message
My question is, how can I re-run chef-client to make it “act” like I have not done step 3 above the first time?
Chris
From: Nguyen, Dang [mailto:Dang.Nguyen@disney.com]
Sent: Tuesday, October 14, 2014 8:12 PM
To: chef@lists.opscode.commailto:chef@lists.opscode.com
Subject: [chef] RE: How to force convergence without bootstrapping?
Assuming you’ve bootstrapped the node already and assigned it a role, you simply run chef client.
-----Original Message-----
From: Fouts, Chris [Chris.Fouts@Sensus.com]
Received: Tuesday, 14 Oct 2014, 5:08PM
To: chef@lists.opscode.commailto:chef@lists.opscode.com [chef@lists.opscode.com]
Subject: [chef] How to force convergence without bootstrapping?
Is there a way to “force” my cookbooks to rerun without bootstrapping my nodes?
Chris
It is more that what you are asking isn't a thing. It runs convergently so there is no need for a "force" option. If anything is out of line with the recipe code, Chef will fix it the second time, otherwise it leaves things as is. This is a property called idempotence.
--Noah
On Oct 15, 2014, at 8:09 AM, Fouts, Chris Chris.Fouts@Sensus.com wrote:
Fair enough, that’s all I wanted to know – that is – no there is NO way to do what I want.
Chris
From: Tensibai [mailto:tensibai@iabis.net]
Sent: Wednesday, October 15, 2014 10:45 AM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: RE: How to force convergence without bootstrapping?I'm unsure to understand what you want.
The idea behind is that the cookbook is idempotent, doing things only if they need to be done.
On each run each resource will ensure the resulting state is the desired state in the cookbook.
There's no "Force" option, as it is the way it works, if a file managed with a template do not match the rendered template it will be replaced.
So the only way would be undoing manually all the changes done in the first run. (or writing a cookbook undoing what is done on the run list.
Re running the chef-client will redo what was done at first time if needed (i.e. someone has changed by hand a configuration somewhere which is managed by chef)
Hope it helps, but still unsure on what you want at all...
Regards
Le 2014-10-15 16:21, Fouts, Chris a écrit :
Sorry, let me ask it differently.
I do the following
knife bootstrap a node
knife node run_list add <node> “run_list”
chef-client on node, which converges the cookbooks
Normally, re-running chef-client on the node again will not do anything since the cookbooks have already run the first time, meaning I’ll just get an “up-to-date” message
My question is, how can I re-run chef-client to make it “act” like I have not done step 3 above the first time?
Chris
From: Nguyen, Dang [mailto:Dang.Nguyen@disney.com]
Sent: Tuesday, October 14, 2014 8:12 PM
To: chef@lists.opscode.com
Subject: [chef] RE: How to force convergence without bootstrapping?Assuming you've bootstrapped the node already and assigned it a role, you simply run chef client.
-----Original Message-----
From: Fouts, Chris [Chris.Fouts@Sensus.com]
Received: Tuesday, 14 Oct 2014, 5:08PM
To: chef@lists.opscode.com [chef@lists.opscode.com]
Subject: [chef] How to force convergence without bootstrapping?Is there a way to “force” my cookbooks to rerun without bootstrapping my nodes?
Chris
It's not that there's no way to do what you want. It's that there's no
need to do what you want. A chef-client run will (or should, unless
you've got bad code that's not idempotent) result in the same state every
time absent any changes in chef. Nuke the node, re-bootstrap, it won't
matter; it will still compare the current state to the desired state and
enforce the desired state.
Essentially, what you're asking for is already done natively, it's just
smart enough to skip steps as needed when the current state already matches
the desired state.
--
~~ StormeRider ~~
"Every world needs its heroes [...] They inspire us to be better than we
are. And they protect from the darkness that's just around the corner."
(from Smallville Season 6x1: "Zod")
On why I hate the phrase "that's so lame"... http://bit.ly/Ps3uSS
On Wed, Oct 15, 2014 at 8:20 AM, Noah Kantrowitz noah@coderanger.net
wrote:
It is more that what you are asking isn't a thing. It runs convergently so
there is no need for a "force" option. If anything is out of line with the
recipe code, Chef will fix it the second time, otherwise it leaves things
as is. This is a property called idempotence.--Noah
On Oct 15, 2014, at 8:09 AM, Fouts, Chris Chris.Fouts@Sensus.com wrote:
Fair enough, that’s all I wanted to know – that is – no there is NO way
to do what I want.Chris
From: Tensibai [mailto:tensibai@iabis.net]
Sent: Wednesday, October 15, 2014 10:45 AM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: RE: How to force convergence without
bootstrapping?I'm unsure to understand what you want.
The idea behind is that the cookbook is idempotent, doing things only if
they need to be done.On each run each resource will ensure the resulting state is the desired
state in the cookbook.There's no "Force" option, as it is the way it works, if a file managed
with a template do not match the rendered template it will be replaced.So the only way would be undoing manually all the changes done in the
first run. (or writing a cookbook undoing what is done on the run list.Re running the chef-client will redo what was done at first time if
needed (i.e. someone has changed by hand a configuration somewhere which is
managed by chef)Hope it helps, but still unsure on what you want at all...
Regards
Le 2014-10-15 16:21, Fouts, Chris a écrit :
Sorry, let me ask it differently.
I do the following
knife bootstrap a node
knife node run_list add <node> “run_list”
chef-client on node, which converges the cookbooks
Normally, re-running chef-client on the node again will not do anything
since the cookbooks have already run the first time, meaning I’ll just get
an “up-to-date” messageMy question is, how can I re-run chef-client to make it “act” like I
have not done step 3 above the first time?Chris
From: Nguyen, Dang [mailto:Dang.Nguyen@disney.com]
Sent: Tuesday, October 14, 2014 8:12 PM
To: chef@lists.opscode.com
Subject: [chef] RE: How to force convergence without bootstrapping?Assuming you've bootstrapped the node already and assigned it a role,
you simply run chef client.-----Original Message-----
From: Fouts, Chris [Chris.Fouts@Sensus.com]
Received: Tuesday, 14 Oct 2014, 5:08PM
To: chef@lists.opscode.com [chef@lists.opscode.com]
Subject: [chef] How to force convergence without bootstrapping?Is there a way to “force” my cookbooks to rerun without bootstrapping my
nodes?Chris
Yes thank you.
-----Original Message-----
From: Noah Kantrowitz [mailto:noah@coderanger.net]
Sent: Wednesday, October 15, 2014 11:21 AM
To: chef@lists.opscode.com
Subject: [chef] Re: How to force convergence without bootstrapping?
It is more that what you are asking isn't a thing. It runs convergently so there is no need for a "force" option. If anything is out of line with the recipe code, Chef will fix it the second time, otherwise it leaves things as is. This is a property called idempotence.
--Noah
On Oct 15, 2014, at 8:09 AM, Fouts, Chris Chris.Fouts@Sensus.com wrote:
Fair enough, that's all I wanted to know - that is - no there is NO way to do what I want.
Chris
From: Tensibai [mailto:tensibai@iabis.net]
Sent: Wednesday, October 15, 2014 10:45 AM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: RE: How to force convergence without bootstrapping?I'm unsure to understand what you want.
The idea behind is that the cookbook is idempotent, doing things only if they need to be done.
On each run each resource will ensure the resulting state is the desired state in the cookbook.
There's no "Force" option, as it is the way it works, if a file managed with a template do not match the rendered template it will be replaced.
So the only way would be undoing manually all the changes done in the first run. (or writing a cookbook undoing what is done on the run list.
Re running the chef-client will redo what was done at first time if needed (i.e. someone has changed by hand a configuration somewhere which is managed by chef)
Hope it helps, but still unsure on what you want at all...
Regards
Le 2014-10-15 16:21, Fouts, Chris a écrit :
Sorry, let me ask it differently.
I do the following
knife bootstrap a node
knife node run_list add <node> "run_list"
chef-client on node, which converges the cookbooks
Normally, re-running chef-client on the node again will not do anything since the cookbooks have already run the first time, meaning I'll just get an "up-to-date" message
My question is, how can I re-run chef-client to make it "act" like I have not done step 3 above the first time?
Chris
From: Nguyen, Dang [mailto:Dang.Nguyen@disney.com]
Sent: Tuesday, October 14, 2014 8:12 PM
To: chef@lists.opscode.com
Subject: [chef] RE: How to force convergence without bootstrapping?Assuming you've bootstrapped the node already and assigned it a role, you simply run chef client.
-----Original Message-----
From: Fouts, Chris [Chris.Fouts@Sensus.com]
Received: Tuesday, 14 Oct 2014, 5:08PM
To: chef@lists.opscode.com [chef@lists.opscode.com]
Subject: [chef] How to force convergence without bootstrapping?Is there a way to "force" my cookbooks to rerun without bootstrapping my nodes?
Chris