I am quite new to Chef and was exploring various features (ofcourse on a test
install which did following the helpful install guides).
Reporting end state of Nodes - Is there a way i can get the end state of
Nodes with respect to the run-list which has been applied to the Nodes ?
Basically looking for Audit/compliance kind of capability.
With respect to cookbooks, is there a way i can copy a file from the chef
server repository to the nodes as a part of run-list (for .e.g install xyz.msi
on node x will require the xyz.msi to be first copied on to the Node and then
installed.
Can i group the nodes by customer ? I understand that we can create roles
for grouping nodes with similar services. But in case for a customer solution
(presuming these nodes are running a customer specific app etc.) i would like
to patch only these nodes, is it possible ?
Traditionally in Windows, most packages require multiple reboots. So for
e.g. in my run-list, i have a cookbook A which requires 2 reboots to complete
an install and a second cookbook B which has a dependency on cookbook A to be
processed. So, does chef agent has the capability to detect the point till
where the run-list was executed and then process the remaining run-list after
the reboots ?
Any native uninstall capabilities for packages deployed using Chef ? So can
i uninstall a package (which has earlier been deployed using Chef) using a
standard method or does it require a separate cookbook which has uninstall
receipes ?
Another audit point is that can i see a complete history of changes which
has been done to the system using Chef (for e.g. all the run-lists which have
been applied till date with date/time wise details)
Can Chef report run-list failures (per cookbook per Node) ?
Can i perform a flexible scheduling of packages ? So within a run-list, i
want x number of packages to be deployed at time A and the remaining y to be
deployed during time B ?
Apologies for the long list but these are my initial queries after playing
around with Chef for a while.
I am quite new to Chef and was exploring various features (ofcourse on a
test
install which did following the helpful install guides).
Reporting end state of Nodes - Is there a way i can get the end state of
Nodes with respect to the run-list which has been applied to the Nodes ?
Basically looking for Audit/compliance kind of capability.
yeah, chef report and exception handler are pretty neat. There are already
nagios, email report handlers available, you can try out them.
With respect to cookbooks, is there a way i can copy a file from the
chef
server repository to the nodes as a part of run-list (for .e.g install
xyz.msi
on node x will require the xyz.msi to be first copied on to the Node and
then
installed.
although its not a file server , you can serve file from chef server using
the cookbook_file resource type, you may consider pushing larger files to
some ftp/http server and fetch them via http request resource.
Can i group the nodes by customer ? I understand that we can create
roles
for grouping nodes with similar services. But in case for a customer
solution
(presuming these nodes are running a customer specific app etc.) i would
like
to patch only these nodes, is it possible ?
you can use tags to do this. and filter nodes based on tags
Traditionally in Windows, most packages require multiple reboots. So for
e.g. in my run-list, i have a cookbook A which requires 2 reboots to
complete
an install and a second cookbook B which has a dependency on cookbook A to
be
processed. So, does chef agent has the capability to detect the point till
where the run-list was executed and then process the remaining run-list
after
the reboots ?
Any native uninstall capabilities for packages deployed using Chef ? So
can
i uninstall a package (which has earlier been deployed using Chef) using a
standard method or does it require a separate cookbook which has uninstall
receipes ?
standard package resource can accept action :remove , which will un
install the package
Another audit point is that can i see a complete history of changes
which
has been done to the system using Chef (for e.g. all the run-lists which
have
been applied till date with date/time wise details)
use report handler to achieve this.
Can Chef report run-list failures (per cookbook per Node) ?
yes via exception handler, also optionally you can continue the chef run
even if certain resources failed to converge,
Can i perform a flexible scheduling of packages ? So within a run-list,
i
want x number of packages to be deployed at time A and the remaining y to
be
deployed during time B ?
one of chef's core principle is be reasonable and chef try not to act too
smart. Hence complex decision makings are explicitly modelled. chef being
pure ruby makes it fairly straight forward .
Apologies for the long list but these are my initial queries after playing
around with Chef for a while.