Jump to: navigation, search

Difference between revisions of "Trove/minor-config-edits"

(Created page with "== Description == To improve the user experience for configuration edits, we want to add a '''created''' timestamp, '''updated''' timestamp, and '''number of instances''' ass...")
 
m (ReST API)
Line 19: Line 19:
  
 
=== ReST API ===
 
=== ReST API ===
 +
 +
(Lines in <span style="color:blue">blue</span> are new.)
  
 
The GET /configurations call will return something like this:
 
The GET /configurations call will return something like this:
Line 28: Line 30:
 
           "name": "Enhanced Performance Settings",
 
           "name": "Enhanced Performance Settings",
 
           "description": "Performance Enhancing Settings",
 
           "description": "Performance Enhancing Settings",
           "instance_count": "1",
+
           "datastore_version_id": "8d458990-db80-4569-936e-6b359d664449",
 +
          <span style="color:blue">"instance_count": "1",
 
           "created": "2014-05-25T21:53:10Z",
 
           "created": "2014-05-25T21:53:10Z",
           "updated": "2014-05-25T21:53:10Z"
+
           "updated": "2014-05-25T21:53:10Z"</span>
 
       },
 
       },
 
       {
 
       {
Line 36: Line 39:
 
           "name": "Another great configuration group",
 
           "name": "Another great configuration group",
 
           "description": "Super Speed MySQL",
 
           "description": "Super Speed MySQL",
           "instance_count": 0,
+
           "datastore_version_id": "8d458990-db80-4569-936e-6b359d664449",
 +
          <span style="color:blue">"instance_count": 0,
 
           "created": "2014-05-25T21:53:10Z",
 
           "created": "2014-05-25T21:53:10Z",
           "updated": "2014-05-25T21:53:10Z"
+
           "updated": "2014-05-25T21:53:10Z"</span>
 
       }
 
       }
 
   ]
 
   ]
Line 46: Line 50:
  
 
  {
 
  {
   "configurations": {
+
   "configuration": {
 
       "id": "12345678-1111-2222-3333-444444444444",
 
       "id": "12345678-1111-2222-3333-444444444444",
 
       "name": "Enhanced Performance Settings",
 
       "name": "Enhanced Performance Settings",
 
       "description": "Performance Enhancing Settings",
 
       "description": "Performance Enhancing Settings",
       "created": "2012-01-25T21:53:10Z",
+
       <span style="color:blue">"created": "2012-01-25T21:53:10Z",
       "updated": "2012-01-25T21:53:10Z",
+
       "updated": "2012-01-25T21:53:10Z",</span>
 
       "values": {
 
       "values": {
 
           "ft_min_word_len": "2",
 
           "ft_min_word_len": "2",
 
           "key_buffer_size": "300M"
 
           "key_buffer_size": "300M"
 
       },
 
       },
       "instance_count": "1",
+
       <span style="color:blue">"instance_count": "1"</span>
      "instances": [
 
          {
 
              "id": "dea5a2f7-3ec7-4496-adab-0abb5a42d635",
 
              "name": "json_rack_instance"
 
          }
 
      ]
 
 
   }
 
   }
 
  }
 
  }
  
 
== Comments/Questions From Community ==
 
== Comments/Questions From Community ==

Revision as of 20:55, 29 May 2014

Description

To improve the user experience for configuration edits, we want to add a created timestamp, updated timestamp, and number of instances associated with the configuration group on the list configurations call and list configurations details call.

Blueprint: TBD

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 effect.

Impacts

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 something like this:

{
  "configurations": [
      {
          "id": "12345678-1111-2222-3333-444444444444",
          "name": "Enhanced Performance Settings",
          "description": "Performance Enhancing Settings",
          "datastore_version_id": "8d458990-db80-4569-936e-6b359d664449",
          "instance_count": "1",
          "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",
          "instance_count": 0,
          "created": "2014-05-25T21:53:10Z",
          "updated": "2014-05-25T21:53:10Z"
      }
  ]
}

The GET /configurations/{id} call will return something like this:

{
  "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"
  }
}

Comments/Questions From Community