)]}'
{
  "log": [
    {
      "commit": "5b088b9c36bd7b23f61d9d96285e0be15b95c874",
      "tree": "76227780b6dd12b3d491fd247eb2f86242d554bd",
      "parents": [
        "d230730b55a7d2cfd94edea316c740b37b8c3d66"
      ],
      "author": {
        "name": "Pavlo Shchelokovskyy",
        "email": "shchelokovskyy@gmail.com",
        "time": "Fri Sep 11 11:00:03 2020 +0300"
      },
      "committer": {
        "name": "Pavlo Shchelokovskyy",
        "email": "pshchelokovskyy@mirantis.com",
        "time": "Thu Oct 01 13:29:24 2020 +0000"
      },
      "message": "Remove salt aux kwargs in wait_for_api_ready\n\nwe do this in any other method in send decorator, but this function\nis not using that decorator\n\nCloses-Issue: PROD-35762\nChange-Id: I4555e12292166740be32f8032fa89ab977c4ce70\n"
    },
    {
      "commit": "3f529d418c3bfda761b5c9df883ec38f0fb66ecf",
      "tree": "2a5d7eecc9f90a84a8490f0e4ede10ae6a976cae",
      "parents": [
        "8c91f94de7f58ddca0266571b2625b65638ed029"
      ],
      "author": {
        "name": "Vyacheslav Struk",
        "email": "vstruk@mirantis.com",
        "time": "Thu Jun 13 13:37:25 2019 +0300"
      },
      "committer": {
        "name": "Vyacheslav Struk",
        "email": "vstruk@mirantis.com",
        "time": "Thu Jun 13 15:11:25 2019 +0000"
      },
      "message": "Network RBAC rule management implemented.\n\nChange-Id: Ia7f06b5e5c3fa7cef56173758d268c58e7f274f1\nRelated-Prod: SSMCP-149\n"
    },
    {
      "commit": "4d1b91d90730091f1031bb27596b87f3114ab642",
      "tree": "0fd2928c1d1a7822f8a05aabac358e874a943004",
      "parents": [
        "1c080aa55f4ece71bce585fa150f06a6718ec675"
      ],
      "author": {
        "name": "Pavlo Shchelokovskyy",
        "email": "shchelokovskyy@gmail.com",
        "time": "Fri Apr 19 15:19:13 2019 +0300"
      },
      "committer": {
        "name": "Pavlo Shchelokovskyy",
        "email": "shchelokovskyy@gmail.com",
        "time": "Fri Apr 19 15:22:30 2019 +0300"
      },
      "message": "Handle responses that lack expected resource\n\nin the list/get decorator, handle situation when the response\nis completely lacking the expected resource, and retry with the same\ntenacity as in the send decorator (30 retries with 1 sec delay).\n\nChange-Id: Id8dc6a82881dc387c934daf27a1c5b3419428214\nRelated-Issue: PROD-29647\n"
    },
    {
      "commit": "a08947183f5f5207ece370371063836a692174a8",
      "tree": "9606f01aaf89c0f5adfa3cd7e74d054958c3fb58",
      "parents": [
        "fbd4f193e18169755c72f54b8e140f1dbd6c0de0"
      ],
      "author": {
        "name": "Oleksiy Petrenko",
        "email": "opetrenko@mirantis.com",
        "time": "Wed Feb 06 13:10:24 2019 +0200"
      },
      "committer": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Wed Feb 20 06:30:42 2019 +0000"
      },
      "message": "Don\u0027t fall when just loading neutronv2 modules\n\nthis avoids loading warnings on salt-master that may not have\nos-client-config installed, as salt tries to load them irrespective of\n__virtual__() result.\n\nChange-Id: I6d1a15c1dbdf0d95efb57e5aa41bae3d4b0eb7bf\nRelated-Issue: https://mirantis.jira.com/browse/PROD-27276\n"
    },
    {
      "commit": "e0a224d46e0f349cb8b63fe1010f76116cded182",
      "tree": "ad8248261960ba7b303b0463ddfe75d8c6f08bef",
      "parents": [
        "55229a47c5669ee5b7f00aae5f6059a3eccac8cc",
        "42a930e54518ca6fe19742e55eafe7e7f613e9be"
      ],
      "author": {
        "name": "mcp-jenkins",
        "email": "mcp-jenkins@mirantis.com",
        "time": "Fri Dec 21 16:25:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "mail@domain.com",
        "time": "Fri Dec 21 16:25:40 2018 +0000"
      },
      "message": "Merge \"Fixing retry condition\""
    },
    {
      "commit": "42a930e54518ca6fe19742e55eafe7e7f613e9be",
      "tree": "3f24286deb944abe8889c013c4bc2be7a3d79375",
      "parents": [
        "e58671b2069e8ceae87d55052b770d35c688cdaf"
      ],
      "author": {
        "name": "Oleh Hryhorov",
        "email": "ohryhorov@mirantis.com",
        "time": "Fri Dec 21 14:37:20 2018 +0200"
      },
      "committer": {
        "name": "Oleh Hryhorov",
        "email": "ohryhorov@mirantis.com",
        "time": "Fri Dec 21 14:37:20 2018 +0200"
      },
      "message": "Fixing retry condition\n\nThe patch fixes condition in retry if neutron returns\nempty dict in case it doesn\u0027t bring up completely\nwhile request had been performed.\n\nChange-Id: Ifa336355318c2548e9a0194a8f1c1269c9550efd\nRelated-PROD: PROD-26073 (PROD:26073)\n"
    },
    {
      "commit": "8204f72b8b38558dbc765d6d692eb8a3558091f7",
      "tree": "1d49e21195d093c43a9e4e1d1809e1514bde1b1f",
      "parents": [
        "ca168e47313ae3c14a55993d9844e5135d338b43"
      ],
      "author": {
        "name": "Ann Taraday",
        "email": "akamyshnikova@mirantis.com",
        "time": "Wed Dec 12 16:38:57 2018 +0400"
      },
      "committer": {
        "name": "Ann Taraday",
        "email": "akamyshnikova@mirantis.com",
        "time": "Wed Dec 19 15:56:04 2018 +0400"
      },
      "message": "Create neutronv2 module for ports\n\nCo-Authored-By: Oleg Bondarev \u003cobondarev@mirantis.com\u003e\nChange-Id: I605a50e92331cc6e7bb18ffb3b7a79d0aeae0880\n"
    },
    {
      "commit": "4ce5d2c12ac694f8b4e9240a4540f000edc772a1",
      "tree": "bcf1c68f38a1174ccc931656e3a365a0e08f9556",
      "parents": [
        "a15f4834414b5b4254d4a9a3944542c50267aeb6"
      ],
      "author": {
        "name": "Oleh Hryhorov",
        "email": "ohryhorov@mirantis.com",
        "time": "Thu Nov 08 18:41:20 2018 +0200"
      },
      "committer": {
        "name": "Oleh Hryhorov",
        "email": "ohryhorov@mirantis.com",
        "time": "Thu Nov 15 15:28:20 2018 +0000"
      },
      "message": "Adding running checks for neutron.client\n\nThe patch adds waiter check for neutron.client in order\nto be sure that neutron services are up and running before\nexecute neutron.client state.\n\nChange-Id: I858c30b2dad81f6b5ee42bda9b3d3379d4265425\nRelated-PROD: PROD-24685\n"
    },
    {
      "commit": "65fb5d375139750d02b4e86bcf59a57aa3029153",
      "tree": "8145e3ba96a72709394a52fbf9783072f854d366",
      "parents": [
        "48b0c608e7834a5d07ed92b92cac8684f11ee025"
      ],
      "author": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Wed Oct 24 12:51:51 2018 +0000"
      },
      "committer": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Wed Oct 24 16:47:20 2018 +0000"
      },
      "message": "Increase retrying for neutronv2 module\n\nIncrease retrying for retryable exception in neutronv2 module to 30 attempts.\n\nChange-Id: I51dc237e451459cbd83c19f61297970b0d3f65cc\nRelated-Prod: PROD-24320\n"
    },
    {
      "commit": "cb788d40f3dd272ddb814f152bad34ca4a95e1a6",
      "tree": "24f07f7f5a44f0c16f5a7c399e3e82f2956afc94",
      "parents": [
        "f9db14690396857cd130084ab7356fcd476321e3"
      ],
      "author": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Wed Sep 26 10:34:50 2018 +0000"
      },
      "committer": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Wed Sep 26 12:57:24 2018 +0000"
      },
      "message": "Implement retries when possible in neutronv2 module call\n\nThis patch implements retries logic in neutronv2 module\nfunctions for failures that are legimate for retires.\n\nChange-Id: Iadf2738de4cae06cbada7cafe0cf7fac31012d0a\nRelated-Prod: PROD-23451\n"
    },
    {
      "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"
    }
  ]
}
