)]}'
{
  "log": [
    {
      "commit": "4eda4f2705fb9843eaa38216e4e7ce7b779b49f2",
      "tree": "aaa45dbad5181dbe63467c817b14627981ece6c0",
      "parents": [
        "96d0fad98ab2094a351d314f3efc8657829f7974"
      ],
      "author": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Thu Apr 26 19:30:39 2018 +0300"
      },
      "committer": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Thu May 03 13:20:39 2018 +0000"
      },
      "message": "Introduce separate module,state to work with v3 only\n\nThis patch introduce new keystonev3 module and state that uses\nos_client_config library for authenticaion and raw client to send\nrequests directly to API.\n\nSince v3 resource structure/resource relation are completely different\nwe introduce new pillar keystone:client:resources:v3 which will contain\nall resources we manage via v3 client.\n\nThe module,state implements basic functionality to manage:\n  * users\n  * projects\n  * services\n  * endpoints\n  * roles\n\nOther resources will be added in separate patches when needed.\n\nBootstrap of keystone is done via bootstrap script in server.sls in\nQueens as admin token is removed.\n\nRelated-Prod: PROD-19148\n\nChange-Id: I10a7cf720955437e3757a1c9699e4a60e1327ba3\n"
    },
    {
      "commit": "5fe8041e1b29c067fb38d8b98f6f7f5ef0b239c8",
      "tree": "d4e2d86a350beecee76900b5d9c03c206590dd01",
      "parents": [
        "36b6d7007103fabaa0c3f3532effc3ec21124aee"
      ],
      "author": {
        "name": "Benjamin Drung",
        "email": "bdrung@debian.org",
        "time": "Wed Feb 14 23:55:54 2018 +0100"
      },
      "committer": {
        "name": "Benjamin Drung",
        "email": "bdrung@debian.org",
        "time": "Thu Feb 15 00:05:46 2018 +0100"
      },
      "message": "Support Python 3\n\njson.dumps() and yaml.safe_dump() return a str object on Python 2 and Python 3.\nTherefore the unicode conversion is only needed for Python 2.\n\nBug-Debian: https://bugs.debian.org/889929\n"
    },
    {
      "commit": "5b1e532571d50048e790dca0a3740ababbaa56ae",
      "tree": "6edc069dc5f827b2043f872866b5f1477daca11a",
      "parents": [
        "07e0643017075b6ef507d07057fe0a5333bde00f"
      ],
      "author": {
        "name": "Oleg Iurchenko",
        "email": "oiurchenko@mirantis.com",
        "time": "Fri Oct 20 00:29:20 2017 +0300"
      },
      "committer": {
        "name": "Oleg Iurchenko",
        "email": "oiurchenko@mirantis.com",
        "time": "Thu Feb 01 12:17:27 2018 +0200"
      },
      "message": "Add keystoneng module\n\nThis patch adds new keystoneng module\nCurrent Salt 2016 keystone module does not support keystone v3 api.\nSalt 2017 keystone module does not support version discovery for\nkeystone api.\nThe keystoneng module is based on upstream Salt 2017 keystone module and\nhas version discovery feature.\n\nThe same changes were merged to Salt upsream development branch.\nKeystoneng should be switched back to native keystone module when\nSalt will support version discovery for keystone API.\n\nPatch Set 25: keystoneng.py is original Salt keystone.py from\n              https://raw.githubusercontent.com/saltstack/salt/2017.7.3/salt/modules/keystone.py\nPatch Set 26: keystoneng.py with version discovery and other enhancements.\n\nChange-Id: Id8af7bb9f970786fec9586c327da8f8e803bd829\nRelated-PROD: PROD-15801\n"
    },
    {
      "commit": "073067aa235c19a7036f4dda945bfd493d9d366e",
      "tree": "c3fbb542e7893ea27f639fbfbfce1f0bb2715983",
      "parents": [
        "e124c3b316223fad6c0d54abf0a474f5337cfd2d"
      ],
      "author": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Fri Oct 27 15:37:46 2017 +0200"
      },
      "committer": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Fri Oct 27 16:05:49 2017 +0200"
      },
      "message": "Fix ordered yaml load\n\nChange-Id: I0db23722017f31839d5449af64185ec4b6a35c61\n"
    },
    {
      "commit": "e124c3b316223fad6c0d54abf0a474f5337cfd2d",
      "tree": "648f2f4d077a0bc2d5ea0f8f2896d7e416a026e6",
      "parents": [
        "ffb15612f7f8032f68fb3085e2375c67dfa98c44"
      ],
      "author": {
        "name": "Alexey Stupnikov",
        "email": "astupnikov@mirantis.com",
        "time": "Thu Oct 19 19:58:09 2017 +0300"
      },
      "committer": {
        "name": "Alexey Stupnikov",
        "email": "astupnikov@mirantis.com",
        "time": "Thu Oct 19 20:07:23 2017 +0300"
      },
      "message": "Use OrderedDict to process policy.json rules\n\nAll openstack projects are currently using keystone_policy module\nto add, update or delete rules from policy.json file. This module\nbasically gets existing rules from policy.json file and changes\nthem.\n\nkeystone_policy.rule_list currently imports rules as simple\ndictionary. Python dictionaries are unordered and order matters\nfor policy.json file. As a result, it is possible to break the\nservices with 100% legitimate operation.\n\nThis patch switches to ordered dictionaries and fixes the issue\nreported in PROD-13979.\n\nChange-Id: Icdf94e76eff394b72041aa24b1716ae5c9afd463\n"
    },
    {
      "commit": "4fe0d083b2bfd870833b51b001692f4075a07dab",
      "tree": "7c07fe59e509200c857e136a79ace24361b4040c",
      "parents": [
        "940e025c93c396c0ab0ad48895fe5075e87505af"
      ],
      "author": {
        "name": "Kirill Bespalov",
        "email": "kbespalov@mirantis.com",
        "time": "Thu Jun 29 19:02:13 2017 +0300"
      },
      "committer": {
        "name": "Marek Celoud",
        "email": "mceloud@mirantis.com",
        "time": "Tue Jul 18 11:09:17 2017 +0000"
      },
      "message": "[ keystone_policy.py ] Add yaml support\n\nWhat:\n\nAllow to read/write rules in json/yaml formats\n\nWhy:\n\n1) Since Newton release oslo.policy supports both of the formats:\nyaml and json.\n\n2) oslopolicy-policy-generator produces an output only in yaml format\nsince the release, so yaml format expected as default.\n\n3) Nova newton+ package has no any default policy.json file.\nIt has empty policy.yaml file, so we need to have ability to\nmanage the file from the module.\n\nChange-Id: I39239ba5eebee39483607785698806c040937b4b\n"
    },
    {
      "commit": "b1ebaca0af2b06ec81a4f84be2ec3765f9868f29",
      "tree": "b64d5d0cf5b93e3bbfae221928dfeed83b779a72",
      "parents": [
        "cf7a8c8842ac101983f36234d70865e7ed32e445"
      ],
      "author": {
        "name": "Adam Tengler",
        "email": "adam.tengler@tcpcloud.eu",
        "time": "Thu May 04 21:06:08 2017 +0000"
      },
      "committer": {
        "name": "Adam Tengler",
        "email": "adam.tengler@tcpcloud.eu",
        "time": "Tue May 09 12:19:10 2017 +0000"
      },
      "message": "Keystone policy module, states and grain\n"
    }
  ]
}
