Hello All,
I am writing a wrapper cookbook for the community
postgresql cookbook. Essentially, what I'm trying to do is override the following attributes:
default['postgresql']['enable_pgdg_apt'] = false
default['postgresql']['version'] = "9.1"
However, many of the attributes within the community postgresql cookbook use string interpolation for the version. Example:
default['postgresql']['server']['packages'] = ["postgresql-#{node['postgresql']['version']}"]
When setting an override attribute in my wrapper cookbook to set the version of PostgreSQL to "9.3" - the attributes within the PostgreSQL cookbook that interpolate the version attribute do not receive the attribute override.
Two notes:
- I am able to set the postgresql version attribute to the desired "9.3" in my .kitchen.yml file and the override works as you would expect/hope it would. Meaning, all string interpolated attributes in the postgresql cookbook receive "9.3" as its version.
- After going through and overriding all attributes within the PostgreSQL cookbook that use string interpolation, I ran into one last snag that has stopped me from completing the cookbook. There are two attributes within the PostgreSQL cookbook that set the "unix_socket_directory[-ies]" attribute based on the PostgreSQL version. However, since the logic is broken up into two separate lines, and the string interpolation doesn't pick up the correct version, it will actually add both attributes to the postgresql.conf template - breaking the service.
Lines 166-167
I appreciate any input, thanks!
Bill Young