Trove/minor-config-edits

Description
To improve the user experience for configuration edits, we'd like to add created and updated timestamps associated with configuration groups on the list configurations call and list configuration details call. We'd also like to add an instance count to the configuration details call, to reflect the number of instances with the configuration group applied.

Blueprint: https://blueprints.launchpad.net/trove/+spec/minor-config-edits

Justification/Benefits
The updated timestamp is a good secondary success indicator for making config edits, as well as serving as a potential time marker for correlating when detrimental config changes were made. It would also help to see how many instances use a particular config and users will be able to see up front how many instances the config changes will affect.

Configuration
None

Database
This involves database migration to add created and updated columns of type datetime to the trove/configurations db.

ReST API
(Lines in blue are new.)

The GET /configurations call will return:

{  "configurations": [ {          "id": "12345678-1111-2222-3333-444444444444", "name": "Enhanced Performance Settings", "description": "Performance Enhancing Settings", "datastore_version_id": "8d458990-db80-4569-936e-6b359d664449", "created": "2014-05-25T21:53:10Z", "updated": "2014-05-25T21:53:10Z" },      {           "id": "11111111-2222-3333-4444-444444444444", "name": "Another great configuration group", "description": "Super Speed MySQL", "datastore_version_id": "8d458990-db80-4569-936e-6b359d664449", "created": "2014-05-25T21:53:10Z", "updated": "2014-05-25T21:53:10Z" }  ] }

The GET /configurations/{id} call will return:

{  "configuration": { "id": "12345678-1111-2222-3333-444444444444", "name": "Enhanced Performance Settings", "description": "Performance Enhancing Settings", "created": "2012-01-25T21:53:10Z", "updated": "2012-01-25T21:53:10Z", "values": { "ft_min_word_len": "2", "key_buffer_size": "300M" },      "instance_count": 1 } }