Confirming what actions are taken

I am wondering what I might parse out of the log of a Chef run to determine:


Chef Client finished, 5/50 resources updated in 75.762585124 seconds

which 5 out of 50 were updated

…does this require every action be checked for (up to date)?

Help an old perler come up with a good pattern to look for… :0)

All apologies if this is an repeated question…searching returned nothing specific…too gneric a quesiton, I am thinking…

I think you might be in search of a Report handler.

Here’s some references:

https://docs.chef.io/handlers.html
http://jtimberman.housepub.org/blog/2011/04/24/a-simple-report-handler/
http://www.miketheman.net/2011/11/28/ask-your-systems-whats-going-on/

Thank you for the time Mike.

Hello,

I am finding that I need to compare a warfiles version, embedded
in it’s name, with the version deployed in a tomcat container.

I can easily write code to parse the version from the filename
and compare it to what I am considering deploying…but I always
need to see if there is a less “cody” and more built-in way to do this.

How are others doing this?

This is another terrible question, but I figure it cannot hurt to try…

Thank you for the time in any case,

Christopher

Christopher,

Ideally you would already have access to that version number via the node
attributes. Then the value from the attribute can be used to compare
against the value from the exploded war, as you mentioned.

Something like this:

# attributes/default.rb

node['applicaiton_name']['version'] = '1.2.3'

If this is not the case, I would highly recommend changing things. When I
was deploying war/jar files, we used a similar technique to formulate the
download url for the application’s deployable artifact. It was usually
something like ${application_name}-${version_string}.tar.gz. This archive
file was expected to contain an artifact named
${application_name}-${version_string}.war. Setting this kind of
expectation allows you to know when something has changed on the system,
and a corrective action is required.