- From: AJ Christensen <
>
- To:
- Subject: [chef] Re: Re: Re: Re: Re: Re: Re: Re: Re: Templates sends notification even when nothing changes
- Date: Thu, 23 Feb 2012 12:16:11 +1300
- Authentication-results: mr.google.com; spf=pass (google.com: domain of
designates 10.50.154.132 as permitted sender)
; dkim=pass
I believe not_if takes a hash parameter which can contain a :user
setting to run the not_if as, check the Meta resources doc:
http://wiki.opscode.com/display/chef/Resources#Resources-ConditionalExecution
--AJ
On 23 February 2012 12:14, Arthur Kalmenson
<
>
wrote:
>
I've figured it out! Turns out, my not_if in the bash block didn't do
>
exactly what I thought it did. When you don't execute it as the "hubot"
>
user, it throws a bunch of errors. Updated it to execute the version command
>
as the hubot user, worked:
>
>
bash "install hubot" do
>
user hubot_user
>
group hubot_group
>
environment ({'HOME' => "#{install_dir}" })
>
cwd install_dir_parent
>
code <<-EOH
>
tar xzf /tmp/hubot-#{version}.tar.gz && \
>
cd hubot && \
>
npm install
>
EOH
>
not_if "su - hubot -c \"#{install_dir}/bin/hubot -v 2>&1 | grep
>
'#{version}'\""
>
end
>
>
Thanks again everyone for your help!
>
>
All the best,
>
--
>
Arthur Kalmenson
>
>
>
On Wed, Feb 22, 2012 at 1:55 PM, Arthur Kalmenson
>
<
>
>
wrote:
>
>
>
> You and I were thinking the same thing Jesse ;)
>
>
>
> --
>
> Arthur Kalmenson
>
>
>
>
>
>
>
> On Wed, Feb 22, 2012 at 1:52 PM, Jesse Campbell
>
> <
>
>
> wrote:
>
>>
>
>> It should be saving a few copies of the replaced file, can you diff
>
>> between a few of them?
>
>>
>
>> From your log:
>
>> [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> template[/usr/local/hubot/package.json] backed up to
>
>> /var/lib/chef/backup/usr/local/hubot/package.json.chef-20120221130628
>
>>
>
>> On Wed, Feb 22, 2012 at 13:13, Arthur Kalmenson
>
>> <
>
>
>> wrote:
>
>> > Hi Adam,
>
>> >
>
>> > I was thinking that too, but the template doesn't give any indication
>
>> > that
>
>> > it should render different: https://gist.github.com/1886413
>
>> >
>
>> > The only pieces that are replaced is the versions, and those are
>
>> > attributes
>
>> > that don't change.
>
>> >
>
>> > --
>
>> > Arthur Kalmenson
>
>> >
>
>> >
>
>> >
>
>> > On Wed, Feb 22, 2012 at 12:10 PM, Adam Jacob
>
>> > <
>
>
>> > wrote:
>
>> >>
>
>> >> Well, the debug output is also indicating that you have changed the
>
>> >> contents of the file. Are you rendering the JSON in a way that is
>
>> >> consistently formatted, or does it differ slightly every time? (for
>
>> >> example, hash ordering may not be unique).
>
>> >>
>
>> >> Adam
>
>> >>
>
>> >> On Wed, Feb 22, 2012 at 8:55 AM, Arthur Kalmenson
>
>> >> <
>
>
>> >> wrote:
>
>> >> > Hi Jesse,
>
>> >> >
>
>> >> > I don't think the application (hubot) is changing the permission and
>
>> >> > ownership of the package.json file. It seems to stay stable at 0644
>
>> >> > and
>
>> >> > the
>
>> >> > user and group is always hubot.
>
>> >> >
>
>> >> > --
>
>> >> > Arthur Kalmenson
>
>> >> >
>
>> >> >
>
>> >> >
>
>> >> > On Tue, Feb 21, 2012 at 4:49 PM, Jesse Campbell
>
>> >> > <
>
>
>> >> > wrote:
>
>> >> >>
>
>> >> >> One option would be to figure out what owner/group/mode is set by
>
>> >> >> the
>
>> >> >> external application, then have those be what chef defines.
>
>> >> >> I've had lots of success doing that with the puppet manifests that
>
>> >> >> I
>
>> >> >> haven't yet converted, I imagine the same will work for chef.
>
>> >> >>
>
>> >> >> -Jesse
>
>> >> >>
>
>> >> >> On Tue, Feb 21, 2012 at 13:10, Arthur Kalmenson
>
>> >> >> <
>
>
>> >> >> wrote:
>
>> >> >> > Jesse,
>
>> >> >> >
>
>> >> >> > $ chef-client -v
>
>> >> >> > Chef: 0.10.8
>
>> >> >> >
>
>> >> >> > Daniel,
>
>> >> >> >
>
>> >> >> > It looks like you're right. Sorry, the full logs are below. What
>
>> >> >> > do I
>
>> >> >> > do
>
>> >> >> > about those chmod and chown changes? Those files are there and
>
>> >> >> > there's
>
>> >> >> > no
>
>> >> >> > reason to continue changing the ownership, no?
>
>> >> >> >
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing group[hubot]
>
>> >> >> > action
>
>> >> >> > create (hubot::default line 20)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing user[hubot]
>
>> >> >> > action
>
>> >> >> > create
>
>> >> >> > (hubot::default line 23)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > directory[/usr/local/hubot] action create (hubot::default line
>
>> >> >> > 30)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > package[libexpat1]
>
>> >> >> > action
>
>> >> >> > install (hubot::default line 39)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > package[libexpat1-dev]
>
>> >> >> > action install (hubot::default line 39)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > remote_file[/tmp/hubot-2.1.3.tar.gz] action create_if_missing
>
>> >> >> > (hubot::default line 45)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing bash[install
>
>> >> >> > hubot]
>
>> >> >> > action run (hubot::default line 52)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: bash[install hubot]
>
>> >> >> > sh("bash"
>
>> >> >> > "/tmp/chef-script20120221-11973-mu2hna-0")
>
>> >> >> >
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: bash[install hubot] ran
>
>> >> >> > successfully
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > template[/usr/local/hubot/package.json] action create
>
>> >> >> > (hubot::default
>
>> >> >> > line
>
>> >> >> > 66)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/package.json] backed up to
>
>> >> >> >
>
>> >> >> > /var/lib/chef/backup/usr/local/hubot/package.json.chef-20120221130628
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/package.json] removed backup at
>
>> >> >> >
>
>> >> >> >
>
>> >> >> > /var/lib/chef/backup/./usr/local/hubot/package.json.chef-20120221103932
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/package.json] owner changed to 1001
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/package.json] group changed to 1001
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/package.json] mode changed to 644
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/package.json] updated content
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > template[/usr/local/hubot/hubot-scripts.json] action create
>
>> >> >> > (hubot::default
>
>> >> >> > line 74)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/hubot-scripts.json] backed up to
>
>> >> >> >
>
>> >> >> >
>
>> >> >> >
>
>> >> >> > /var/lib/chef/backup/usr/local/hubot/hubot-scripts.json.chef-20120221130628
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/hubot-scripts.json] removed backup at
>
>> >> >> >
>
>> >> >> >
>
>> >> >> >
>
>> >> >> > /var/lib/chef/backup/./usr/local/hubot/hubot-scripts.json.chef-20120221103932
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/hubot-scripts.json] owner changed to
>
>> >> >> > 1001
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/hubot-scripts.json] group changed to
>
>> >> >> > 1001
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/hubot-scripts.json] mode changed to 644
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/hubot-scripts.json] updated content
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/hubot-scripts.json] not queuing delayed
>
>> >> >> > action
>
>> >> >> > restart on service[hubot] (delayed), as it's already been queued
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > template[/usr/local/hubot/bin/hubot-wrapper] action create
>
>> >> >> > (hubot::default
>
>> >> >> > line 82)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > template[/etc/init.d/hubot] action create (hubot::default line
>
>> >> >> > 93)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing service[hubot]
>
>> >> >> > action
>
>> >> >> > enable (hubot::default line 100)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing service[hubot]
>
>> >> >> > action
>
>> >> >> > start (hubot::default line 100)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > package[redis-server]
>
>> >> >> > action install (redis::package line 21)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing service[redis]
>
>> >> >> > action
>
>> >> >> > start (redis::package line 23)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing
>
>> >> >> > template[/etc/redis/redis.conf] action create (redis::package
>
>> >> >> > line
>
>> >> >> > 30)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO:
>
>> >> >> > template[/usr/local/hubot/package.json] sending restart action to
>
>> >> >> > service[hubot] (delayed)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Processing service[hubot]
>
>> >> >> > action
>
>> >> >> > restart (hubot::default line 100)
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: service[hubot] restarted
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Chef Run complete in
>
>> >> >> > 1.55091
>
>> >> >> > seconds
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Running report handlers
>
>> >> >> > [Tue, 21 Feb 2012 13:06:28 -0500] INFO: Report handlers complete
>
>> >> >> >
>
>> >> >> >
>
>> >> >> >
>
>> >> >> >
>
>> >> >> > --
>
>> >> >> > Arthur Kalmenson
>
>> >> >> >
>
>> >> >> >
>
>> >> >> >
>
>> >> >> > On Tue, Feb 21, 2012 at 11:46 AM, Daniel DeLeo
>
>> >> >> > <
>
>
>> >> >> > wrote:
>
>> >> >> >>
>
>> >> >> >>
>
>> >> >> >>
>
>> >> >> >> On Tuesday, February 21, 2012 at 7:33 AM, Arthur Kalmenson
>
>> >> >> >> wrote:
>
>> >> >> >>
>
>> >> >> >> > Hello everyone,
>
>> >> >> >> >
>
>> >> >> >> > I have a template resource that notifies the service to
>
>> >> >> >> > restart.
>
>> >> >> >> > It
>
>> >> >> >> > looks as follows:
>
>> >> >> >> >
>
>> >> >> >> > # apply configurations
>
>> >> >> >> > template "#{install_dir}/package.json" do
>
>> >> >> >> > source "package.json.erb"
>
>> >> >> >> > owner hubot_user
>
>> >> >> >> > group hubot_group
>
>> >> >> >> > mode "0644"
>
>> >> >> >> > notifies :restart, "service[hubot]"
>
>> >> >> >> > end
>
>> >> >> >> >
>
>> >> >> >> > template "#{install_dir}/hubot-scripts.json" do
>
>> >> >> >> > source "hubot-scripts.json.erb"
>
>> >> >> >> > owner hubot_user
>
>> >> >> >> > group hubot_group
>
>> >> >> >> > mode "0644"
>
>> >> >> >> > notifies :restart, "service[hubot]"
>
>> >> >> >> > end
>
>> >> >> >> >
>
>> >> >> >> > It's my understanding that the notification will only get
>
>> >> >> >> > called
>
>> >> >> >> > when
>
>> >> >> >> > the template renders differently. However, even when nothing
>
>> >> >> >> > has
>
>> >> >> >> > changed,
>
>> >> >> >> > every time chef-client runs, the restart happens.
>
>> >> >> >> >
>
>> >> >> >> > ...
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Processing
>
>> >> >> >> > template[/etc/init.d/hubot] action create (hubot::default line
>
>> >> >> >> > 93)
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Processing
>
>> >> >> >> > service[hubot]
>
>> >> >> >> > action
>
>> >> >> >> > enable (hubot::default line 100)
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Processing
>
>> >> >> >> > service[hubot]
>
>> >> >> >> > action
>
>> >> >> >> > start (hubot::default line 100)
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Processing
>
>> >> >> >> > package[redis-server]
>
>> >> >> >> > action install (redis::package line 21)
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Processing
>
>> >> >> >> > service[redis]
>
>> >> >> >> > action
>
>> >> >> >> > start (redis::package line 23)
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Processing
>
>> >> >> >> > template[/etc/redis/redis.conf] action create (redis::package
>
>> >> >> >> > line
>
>> >> >> >> > 30)
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO:
>
>> >> >> >> > template[/usr/local/hubot/package.json] sending restart action
>
>> >> >> >> > to
>
>> >> >> >> > service[hubot] (delayed)
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Processing
>
>> >> >> >> > service[hubot]
>
>> >> >> >> > action
>
>> >> >> >> > restart (hubot::default line 100)
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: service[hubot]
>
>> >> >> >> > restarted
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Chef Run complete in
>
>> >> >> >> > 2.929228
>
>> >> >> >> > seconds
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Running report
>
>> >> >> >> > handlers
>
>> >> >> >> > [Tue, 21 Feb 2012 10:25:53 -0500] INFO: Report handlers
>
>> >> >> >> > complete
>
>> >> >> >> >
>
>> >> >> >> > Does anyone know why this is happening? Thank you in advance.
>
>> >> >> >> The log message indicates that
>
>> >> >> >> `template[/usr/local/hubot/package.json]`
>
>> >> >> >> is triggering the restart, but you've elided the log messages
>
>> >> >> >> from
>
>> >> >> >> that
>
>> >> >> >> one
>
>> >> >> >> so we can't see what's going on.
>
>> >> >> >>
>
>> >> >> >> Someone had a similar issue which was caused by a separate
>
>> >> >> >> process
>
>> >> >> >> chmod-ing the file.
>
>> >> >> >>
>
>> >> >> >> >
>
>> >> >> >> > All the best,
>
>> >> >> >> > --
>
>> >> >> >> > Arthur Kalmenson
>
>> >> >> >>
>
>> >> >> >>
>
>> >> >> >>
>
>> >> >> >> --
>
>> >> >> >> Dan DeLeo
>
>> >> >> >>
>
>> >> >> >>
>
>> >> >> >>
>
>> >> >> >
>
>> >> >
>
>> >> >
>
>> >>
>
>> >>
>
>> >>
>
>> >> --
>
>> >> Opscode, Inc.
>
>> >> Adam Jacob, Chief Customer Officer
>
>> >> T: (206) 619-7151 E:
>
>> >>
>
>> >
>
>> >
>
>
>
>
>
- [chef] Re: Templates sends notification even when nothing changes, (continued)
Archive powered by MHonArc 2.6.16.