[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Pulp-list] changed Consumer.package_profile format



Before we had:

consumer: {
   "_id": "localhost10",
   "_ns": "consumers",
   "description": "localhost10",
   "id": "localhost10",
   "package_profile": {
     {
     "Canna-libs": [
      {
       "arch": "x86_64",
       "epoch": "",
       "name": "Canna-libs",
       "release": "27.fc11",
       "version": "3.7p3"
      }
     ],
     "ConsoleKit": [
      {
       "arch": "x86_64",
       "epoch": "",
       "name": "ConsoleKit",
       "release": "8.fc11",
       "version": "0.3.0"
      }
     ],
     "ConsoleKit-libs": [
      {
       "arch": "x86_64",
       "epoch": "",
       "name": "ConsoleKit-libs",
       "release": "8.fc11",
       "version": "0.3.0"
      }
     ],

Now we have:

consumer: {
 "_id": "localhost",
 "_ns": "consumers",
 "description": "localhost",
 "id": "localhost",
 "package_profile": [
  {
   "arch": "x86_64",
   "epoch": 0,
   "name": "php-common",
   "release": "1.fc11",
   "version": "5.2.13"
  },
  {
   "arch": "x86_64",
   "epoch": 0,
   "name": "plymouth-utils",
   "release": "0.2009.05.15.1.fc11",
   "version": "0.7.0"
  },
  {
   "arch": "x86_64",
   "epoch": 0,
   "name": "freetype",
   "release": "5.fc11",
   "version": "2.3.9"
  },
  {
   "arch": "i586",
   "epoch": 0,
   "name": "gdbm",
   "release": "31.fc11",
   "version": "1.8.0"
  },
...
  ]}

Note that it is simplified to just a flat list of dictionaries vs a dictionary keyed off name with a list of versions.

This was to facilitate indexing in mongo based on package_profile.name which improved query performance and as a side effect made the data-structure simpler.


--
Mike McCune
mmccune AT redhat.com
Red Hat Engineering       | Portland, OR
Systems Management        | 650.254.4248


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]