)]}'
{
  "log": [
    {
      "commit": "ba42073761c276be31cee7f28dee5aa80516358b",
      "tree": "a4b7a272c8b61c5404c8c37c1560e1cd21b0f226",
      "parents": [
        "66d94b9ed7e100bd64bae336f529ea9c7ea0c13e"
      ],
      "author": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Fri Sep 07 10:19:32 2018 +0000"
      },
      "committer": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Mon Sep 10 11:12:59 2018 +0000"
      },
      "message": "Allow to move routers during upgrade\n\nThis patch adds functionality that allows to move legacy routers\nfrom one agent to another during upgrade.\nAlso it adds waiter to check for availability of agents.\n\nChange-Id: I6df53d99348a8a635f5712f5144be331d4188a4c\n"
    },
    {
      "commit": "5bfb8bc793da3a65aaad8de618f70fb75f53cfdf",
      "tree": "c8bc2b88aa17335db98ec24fc1c999d443bd70dd",
      "parents": [
        "32f76410bc718eeed332fa426b687722fbc6fca7"
      ],
      "author": {
        "name": "Oleksiy Petrenko",
        "email": "opetrenko@mirantis.com",
        "time": "Thu Aug 23 15:08:17 2018 +0300"
      },
      "committer": {
        "name": "Oleksiy Petrenko",
        "email": "opetrenko@mirantis.com",
        "time": "Wed Aug 29 17:23:57 2018 +0300"
      },
      "message": "Add agent modules and states\n\nAdd REST API wrapper for agents, l3_agents and dhcp_agents\n\nChange-Id: I63ce0a4224b7cd4d65ce80f1efd0c5cfb6f0617e\nCloses-Issue: PROD-22594\n"
    },
    {
      "commit": "caad203f11504136de1b26bd72334e53140b1c81",
      "tree": "43acb0f691d49c4f0c306d34eb40b5ed2eb76cbd",
      "parents": [
        "ddb9af12fd97a99382c097d5773eac4e40641769"
      ],
      "author": {
        "name": "Oleksiy Petrenko",
        "email": "opetrenko@mirantis.com",
        "time": "Fri Apr 20 14:42:46 2018 +0300"
      },
      "committer": {
        "name": "Oleg Bondarev",
        "email": "obondarev@mirantis.com",
        "time": "Mon Jul 09 13:30:39 2018 +0400"
      },
      "message": "Added neutronv2\n\nAdded _module and _state named neutronv2.\nV2 stands for using raw REST API requests rather than\nneutron python client which creates problems with not\nversioned salt formulas (see related PROD).\n\nAlso created executable modules needed and states\nto maintain networks, subnets, subnetpools\n\nChange-Id: I8014b76244259218bd502b9d6722ce728413d8af\nRelated-Prod: PROD-16226\nRelated-Prod: PROD-19522\n"
    },
    {
      "commit": "27d70bb07fd21683f0202355c5593ee81c5ebe64",
      "tree": "9b1edaa5a4a41a3a9bc507bb0dbd52143339c318",
      "parents": [
        "878ac4659b3ac4766df238e01904027261ae7516"
      ],
      "author": {
        "name": "Artem",
        "email": "aminasyan@mirantis.com",
        "time": "Mon May 14 10:37:18 2018 +0300"
      },
      "committer": {
        "name": "Artem Minasyan",
        "email": "aminasyan@mirantis.com",
        "time": "Mon May 14 08:21:36 2018 +0000"
      },
      "message": "Add list_extensions in neutron formula.\n\nWe need to add list_extensions in formula because of we use this function\nthat add all extensions in network-feature-enabled section of tempest.conf via runtest formula.\n\nChange-Id: If3b2fb40e97eb0601a1f5997ecd41c6bf8aceb71\nPROD: PROD-19440\n"
    },
    {
      "commit": "87f5632b106c99dc7e841a8cb4a336206ce5a63c",
      "tree": "e6b7aea57e3915e545a2d95912fac0cf936f0d44",
      "parents": [
        "9dde8e5039bc27ac7d13032bc7b644119f4fe9cf"
      ],
      "author": {
        "name": "Oleg Iurchenko",
        "email": "oiurchenko@mirantis.com",
        "time": "Fri Oct 20 00:40:50 2017 +0300"
      },
      "committer": {
        "name": "Oleg Iurchenko",
        "email": "oiurchenko@mirantis.com",
        "time": "Fri Feb 23 11:17:24 2018 +0200"
      },
      "message": "Switch to keystoneng\n\nThis patch switches auth method from keystone to keystoneng\n\nDepends-On: Id8af7bb9f970786fec9586c327da8f8e803bd829\nChange-Id: I37e2d731d094def8e222053a78042bee53075a24\nRelated-PROD: PROD-13895\n"
    },
    {
      "commit": "2045669bf99506cfaea84334bbe4b6c11429af81",
      "tree": "27d275b1c6c11ded6fd942a8ada2b5137bbf366f",
      "parents": [
        "46b02b0219df5650c5681ab48723ebc35286f221"
      ],
      "author": {
        "name": "Elena Ezhova",
        "email": "eezhova@mirantis.com",
        "time": "Mon Jul 10 14:30:27 2017 +0400"
      },
      "committer": {
        "name": "Elena Ezhova",
        "email": "eezhova@mirantis.com",
        "time": "Wed Jul 12 13:31:00 2017 +0400"
      },
      "message": "Add port_present client state\n\nThis state allows to create port with desired parameters in\na given network.\n\nRelated prod: PROD-11917\n\nChange-Id: Iff637a7085a9e83a906c68fb1e608645d1536b61\n"
    },
    {
      "commit": "96fdc0aef99857c7d402ce2a1943529429b1b33e",
      "tree": "ae1fb8e2a22f63016f4418b6865b2bfbd5262c2e",
      "parents": [
        "b4ca8adbfc1e2bee89d76e714a6289e03418ae05"
      ],
      "author": {
        "name": "Your Name",
        "email": "you@example.com",
        "time": "Fri May 05 12:56:28 2017 +0000"
      },
      "committer": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Wed May 10 10:46:00 2017 +0300"
      },
      "message": "Refactor neutrong state and module (part 1)\n\n_authenticate decorator automatically merges dictionaries in array if\nthey have \u0027name\u0027 or \u0027id\u0027 key [0]. This poses a problem since OpenStack\nresource names (networks/subnets/routers/instances etc)\nare generally not required to be unique.\nThus trying to get list of any resource from neutronng module will\nlead to merging of resources with the same name.\nFor example if tenant has two networks with the same name calling\n`salt \u0027*\u0027 neutronng.list_networks profile\u003dadmin` will show only one.\n\nThis patch updates the following functions in neutronng:\n\n  * list_subnets\n  * list_networks\n\nto return a dictionary as it is returned from Neutron API\nas it is done in the upstream salt network module [1].\n\nAlso fix passing profile with connection_args in _auth() method.\n\nTODO: refactor other functions.\n\n[0] https://github.com/salt-formulas/salt-formula-neutron/blob/master/_modules/neutronng.py#L60\n[1] https://github.com/saltstack/salt/blob/c3579e9284d76c79df42974a322954c208cc7cb1/salt/modules/neutron.py#L354\n\nChange-Id: If9f666ef397386746f3cce51f220c3d75d7fef72\n"
    },
    {
      "commit": "aac256a552aba777e7fbd492b8c466e5648dcbe1",
      "tree": "4b1f3e916e4831a37bac94411139651981649191",
      "parents": [
        "76c788410a9c205df50d652ced1248b2168bb561"
      ],
      "author": {
        "name": "Richard Felkl",
        "email": "rfelkl@mirantis.com",
        "time": "Thu Mar 23 15:43:49 2017 +0100"
      },
      "committer": {
        "name": "Richard Felkl",
        "email": "rfelkl@mirantis.com",
        "time": "Thu Mar 23 15:43:49 2017 +0100"
      },
      "message": "added support for custom endpoint type\n\nChange-Id: Ia79bcc5c1acd830c353550af1ec450bb182f63cc\n"
    },
    {
      "commit": "7e79147ecbf013c58a3a0af5eeacd587e9b038c7",
      "tree": "9c18c18c2a572df77500d46adcc8962048436be0",
      "parents": [
        "cdb593eba0f2269c83d964b84c65f0f37cd1e2a8"
      ],
      "author": {
        "name": "Jiri Broulik",
        "email": "jbroulik@mirantis.com",
        "time": "Tue Feb 28 11:12:11 2017 +0100"
      },
      "committer": {
        "name": "Jiri Broulik",
        "email": "jbroulik@mirantis.com",
        "time": "Tue Feb 28 11:12:11 2017 +0100"
      },
      "message": "location of custom modules and states changed\n\nChange-Id: Iee9a8f051ffa6fd8559b5bf1e506b160f4d3a2ab\n"
    }
  ]
}
