How to modify Cassandra cookbook configuration file using wrapped cookbook


We tried to modified cassandra.yaml config file using a simple wrapper cookbook based on your cassandra cookbook. However, the updated attributes that we set in attributes/default.rb does not have any impacts on cassandra.yaml config file value. For instance, we have set the following two attributes in our wrapper cookbook’s attributes/default.rb file:

default[‘cassandra’][‘config’][‘cluster_name’] = 'asg_dev cluster’
default[‘cassandra’][‘config’][‘listen_address’] = node[‘ipaddress’]

In recipe/default.rb, we have the followings:

include_recipe ‘cassandra-dse::tarball’

In metadata.rb, we have the followings:
depends ‘cassandra-dse’

After we add this wrapped cookbook to our node runlist on the chef server, everything is running okay.

See our runlist on chef server screenshot attached in the email attachment.

However, we found that these two attributes on the node really took on the new values as we defined the attributes/default.rb.

cluster_name: asg_dev cluster
auto_bootstrap: true


After the chef cook complete installation on the node, we found out the value of cluster name is still “Test Cluster” and listen_address is still “localhost”.

Question: How can we modify cassandra.yml config file?

Thanks a lot.