)]}'
{
  "log": [
    {
      "commit": "427c74c3f97f4577e944a89d82045ba63e5e8d4b",
      "tree": "f9f21be17b8833f5b50c0067cf47f8b1ed45a5c7",
      "parents": [
        "cd2c5fdbb9c4565b9e0ca30009e567e013587048"
      ],
      "author": {
        "name": "lijunjie",
        "email": "lijunjie@cloudin.cn",
        "time": "Tue Jan 22 13:42:19 2019 +0800"
      },
      "committer": {
        "name": "lijunjie",
        "email": "lijunjie@cloudin.cn",
        "time": "Tue Jan 22 13:42:19 2019 +0800"
      },
      "message": "Fix the misspelling of \"available\"\n\nChange-Id: I28cae6422c0d4b63b386dd7454202eeada2bb7c3\n"
    },
    {
      "commit": "cd2c5fdbb9c4565b9e0ca30009e567e013587048",
      "tree": "9607195195676fbf75617e9ee44f6904535994f2",
      "parents": [
        "89d5d18234c4b6a7fa4c0ab9fe2d46351350cf7a"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Tue Jan 15 13:48:15 2019 -0600"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Tue Jan 15 13:48:15 2019 -0600"
      },
      "message": "Requirements yaml expected service names to be lowercase\n\nFix comments\n\nChange-Id: I2d96c7a210e73326ed5e56c46db3be2cb53cf61d\n"
    },
    {
      "commit": "89d5d18234c4b6a7fa4c0ab9fe2d46351350cf7a",
      "tree": "0b4282cac85f0ad286f21d21ebbbf642b704bd30",
      "parents": [
        "0a824743b58aab277e7a457841a37998a176b844"
      ],
      "author": {
        "name": "Manik Bindlish",
        "email": "manikbindlish19@gmail.com",
        "time": "Tue Dec 04 04:32:42 2018 +0000"
      },
      "committer": {
        "name": "Manik Bindlish",
        "email": "manikbindlish19@gmail.com",
        "time": "Tue Dec 04 04:35:09 2018 +0000"
      },
      "message": "Change openstack-dev to openstack-discuss\n\nMailinglists have been updated.\nSo, replacing openstack-dev with openstack-discuss.\n\nChange-Id: I33171cb1ee466532823980f31e69393dc6484bd5\n"
    },
    {
      "commit": "0a824743b58aab277e7a457841a37998a176b844",
      "tree": "10f71dc095dce1702f9c1de1b5703084f0ecf26e",
      "parents": [
        "fe6ad6b44c032e98e9d6c9d3aebe3c608285e634"
      ],
      "author": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Thu Oct 11 14:38:16 2018 -0500"
      },
      "committer": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Fri Nov 30 07:18:39 2018 -0600"
      },
      "message": "Rbac tests for Neutron list actions\n\nAdd RBAC tests for\n    * list_routers [0]\n    * list_subnetpools [1]\n    * list_networks [2]\n    * list_ports [3]\n    * list_trunks [4]\n    * list_address_scopes [5]\n    * list_floatingips [6]\n    * list_rbac_policies [8]\n    * list_metering_labels [10]\n    * list_metering_label_rules [11]\n    * list_qos_policies [12]\n    * list_dscp_marking_rules [13]\n    * list_agents [14]\n    * list_segments [15]\n\nUpdate RBAC tests to use validate_list function for:\n    * list_subnets [7]\n    * list_security_groups [9]\n\n[0] https://developer.openstack.org/api-ref/network/v2/index.html#list-routers\n[1] https://developer.openstack.org/api-ref/network/v2/index.html#list-subnet-pools\n[2] https://developer.openstack.org/api-ref/network/v2/index.html#list-networks\n[3] https://developer.openstack.org/api-ref/network/v2/index.html#list-ports\n[4] https://developer.openstack.org/api-ref/network/v2/index.html#list-trunks\n[5] https://developer.openstack.org/api-ref/network/v2/index.html#list-address-scopes\n[6] https://developer.openstack.org/api-ref/network/v2/index.html#list-floating-ips\n[7] https://developer.openstack.org/api-ref/network/v2/index.html#list-subnets\n[8] https://developer.openstack.org/api-ref/network/v2/index.html#list-rbac-policies\n[9] https://developer.openstack.org/api-ref/network/v2/index.html#list-security-groups\n[10] https://developer.openstack.org/api-ref/network/v2/index.html#list-metering-labels\n[11] https://developer.openstack.org/api-ref/network/v2/index.html#list-metering-label-rules\n[12] https://developer.openstack.org/api-ref/network/v2/index.html#list-qos-policies\n[13] https://developer.openstack.org/api-ref/network/v2/index.html#list-dscp-marking-rules-for-qos-policy\n[14] https://developer.openstack.org/api-ref/network/v2/index.html#list-all-agents\n[15] https://developer.openstack.org/api-ref/network/v2/index.html#list-segments\n\nChange-Id: I0dae01a3271efe6d3469718976c471416279e337\n"
    },
    {
      "commit": "fe6ad6b44c032e98e9d6c9d3aebe3c608285e634",
      "tree": "7607e6d46028c250b2e104da401abff7fa80af6c",
      "parents": [
        "22e29716a11800ed84fe9958254caebae0f7031a",
        "a261a2f446c5dea91466a866796f39234ad206a0"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Nov 30 05:40:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 30 05:40:11 2018 +0000"
      },
      "message": "Merge \"Add tests to cover network ip availability API\""
    },
    {
      "commit": "22e29716a11800ed84fe9958254caebae0f7031a",
      "tree": "1af7534908e9ffdae130d5a7db923cbde5190560",
      "parents": [
        "3d6fd8ec33b020dd808dce2301812884dc610586"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Fri Jul 27 22:53:56 2018 -0500"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "myakovliev@mirantis.com",
        "time": "Wed Nov 28 20:09:31 2018 +0000"
      },
      "message": "Add tests to cover trunks subports\n\nThis patch set adds tests to cover the neutron subports API [0].\nTest adds, gets, removes trunks subports.\nPart of \"Increase Neutron RBAC Coverage\" initiative [1]\n\n[0] https://developer.openstack.org/api-ref/network/v2/index.html#add-subports-to-trunk\n[1] https://storyboard.openstack.org/#!/story/2002641\n\nChange-Id: I5ddefe2df23b4888ce6706a27784c461f9af1614\nStory: 2002641\nTask: 22328\n"
    },
    {
      "commit": "3d6fd8ec33b020dd808dce2301812884dc610586",
      "tree": "be2627fd20544fc50bd35f14e61edcc384f47630",
      "parents": [
        "1d91ee101031602e618d464b14cdf4146ab8bc7e",
        "02f6606b42888b0fe56a98dc028e3507264f4221"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 28 17:11:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 28 17:11:38 2018 +0000"
      },
      "message": "Merge \"Add List Available Zones test cases for RBAC.\""
    },
    {
      "commit": "1d91ee101031602e618d464b14cdf4146ab8bc7e",
      "tree": "6359d0eb3ab13fe36975f25c8afbaf48a75bee47",
      "parents": [
        "cb4c749be7676eb0bfa6062c70898ab5d79c9319",
        "bab9e9467ce8bba3ce001414221e72cae8267d9d"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 28 17:11:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 28 17:11:37 2018 +0000"
      },
      "message": "Merge \"Helper for validating RBAC list actions\""
    },
    {
      "commit": "cb4c749be7676eb0bfa6062c70898ab5d79c9319",
      "tree": "abe93aadb31e3688f9a20277ae3631536eb971f0",
      "parents": [
        "a78dcae503a4d529f9cdafc0f071f0211b8d062d",
        "e36a973f6533279feacfb037e403ea1546753693"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Nov 27 20:09:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 27 20:09:01 2018 +0000"
      },
      "message": "Merge \"docs: Include information about the list of supported projects\""
    },
    {
      "commit": "02f6606b42888b0fe56a98dc028e3507264f4221",
      "tree": "1bb2dc164a1b37b33efb3f14acab11a23e5f7505",
      "parents": [
        "bab9e9467ce8bba3ce001414221e72cae8267d9d"
      ],
      "author": {
        "name": "Goutham Pratapa",
        "email": "lakshmi.pratapa@imaginea.com",
        "time": "Fri Sep 28 20:16:57 2018 +0530"
      },
      "committer": {
        "name": "Goutham Pratapa",
        "email": "lakshmi.pratapa@imaginea.com",
        "time": "Tue Nov 27 15:01:50 2018 +0530"
      },
      "message": "Add List Available Zones test cases for RBAC.\n\nThis commit includes list available zones tests for RBAC\nThe operation is only\n- List available zones\n\nDepends-On: I7e5e706c44136e0b565f3ee18e15f1166d82040d\n\nChange-Id: I39b10e06d9bcbf6fa939ee4603e830bb935e716b\n"
    },
    {
      "commit": "a78dcae503a4d529f9cdafc0f071f0211b8d062d",
      "tree": "11d6c6c55f2ed3b060bb7595fd9025d4c2f1e544",
      "parents": [
        "7293f0ee81da16c9a950c53a927eddd585fac71a"
      ],
      "author": {
        "name": "ghanshyam",
        "email": "gmann@ghanshyammann.com",
        "time": "Thu Nov 22 08:50:47 2018 +0000"
      },
      "committer": {
        "name": "ghanshyam",
        "email": "gmann@ghanshyammann.com",
        "time": "Thu Nov 22 08:50:47 2018 +0000"
      },
      "message": "Fix the branches variant for stable branch job\n\nKeeping explicit mention of stable/pike onwards branches with\nall current stable + master end up keep updating that in every cycle.\nFor example stable/rocky is missed for those job.\n\nThis commit use explicit exclusion logic for branches so that we do not\nneed to update that in every cycle.\n\nChange-Id: I8ff9b5f0648d5f4a145e846315807c730bd20f4b\n"
    },
    {
      "commit": "7293f0ee81da16c9a950c53a927eddd585fac71a",
      "tree": "62c798e6c126e39bff9950042940041a06816afc",
      "parents": [
        "0e4fc01c2fa42e66af6547e6bd396c754e6d3b48",
        "47c43cb6ca9d675ceec958a878dd38218efc17aa"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Thu Nov 22 02:21:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 22 02:21:47 2018 +0000"
      },
      "message": "Merge \"docs: Use sphinx-apidoc library for autodoc generation\""
    },
    {
      "commit": "0e4fc01c2fa42e66af6547e6bd396c754e6d3b48",
      "tree": "fd3935c27b0eab7144906e2e41a960032722d349",
      "parents": [
        "a6dbdd59b011419392bcbeac16c8a2d67de52c9f",
        "0710e5d6c85a89c1490993609a3ae7bfa34e4181"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 21 22:54:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 21 22:54:17 2018 +0000"
      },
      "message": "Merge \"Validate omission of expected_error_codes defaults to 403\""
    },
    {
      "commit": "a6dbdd59b011419392bcbeac16c8a2d67de52c9f",
      "tree": "101db62b86b09276b79f1a01911f1311de834071",
      "parents": [
        "b5d01cc3b563ba2d37de3e7df19bb18e3986d301",
        "825d79452c5b6da8cd68e897d83a280561dcbb90"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 21 22:54:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 21 22:54:16 2018 +0000"
      },
      "message": "Merge \"trivial: Fix irrelevant-files regexes for unit tests\""
    },
    {
      "commit": "e36a973f6533279feacfb037e403ea1546753693",
      "tree": "a7242ddba0b3530592348b4d39de169219c1c147",
      "parents": [
        "11ad0b06311d28fc0144ab159a03458db2f79d7a"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Nov 16 17:28:52 2018 +0000"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Tue Nov 20 08:17:46 2018 -0600"
      },
      "message": "docs: Include information about the list of supported projects\n\nThis documentation is included in HACKING at the top to let\nnewcomers know that Patrole\u0027s testing scope is confined to the\nfollowing projects:\n\n* Cinder\n* Glance\n* Keystone\n* Neutron\n* Nova\n\nDepends-On: https://review.openstack.org/#/c/615394\nChange-Id: I6f70a6169592fec41de67ecfed6e5ca5b9af0deb\n"
    },
    {
      "commit": "b5d01cc3b563ba2d37de3e7df19bb18e3986d301",
      "tree": "339d6866d692a85c93de85a4780bed4ec7486439",
      "parents": [
        "8f0f407c336d13d904bfb4708c0dac2cd4615000"
      ],
      "author": {
        "name": "zhufl",
        "email": "zhu.fanglei@zte.com.cn",
        "time": "Mon Nov 19 14:35:27 2018 +0800"
      },
      "committer": {
        "name": "zhufl",
        "email": "zhu.fanglei@zte.com.cn",
        "time": "Mon Nov 19 14:38:28 2018 +0800"
      },
      "message": "Add missing ws seperator between words\n\nThis is to add missing ws seperator between words.\n\nChange-Id: I686ac43070c783de7e7c7704351558d471531f1a\n"
    },
    {
      "commit": "8f0f407c336d13d904bfb4708c0dac2cd4615000",
      "tree": "4cc216b9aeb822da5c38ff0a659fb4e1fdd82508",
      "parents": [
        "11ad0b06311d28fc0144ab159a03458db2f79d7a",
        "b68763ccd773f429b98ba055ad7a9d5b1f797dc2"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Nov 16 23:50:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 16 23:50:10 2018 +0000"
      },
      "message": "Merge \"Add tests to cover service_profile\""
    },
    {
      "commit": "a261a2f446c5dea91466a866796f39234ad206a0",
      "tree": "b011447bc714b3dce23dd9c60ff140e8532f306e",
      "parents": [
        "bab9e9467ce8bba3ce001414221e72cae8267d9d"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Wed Sep 05 14:27:22 2018 -0500"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "myakovliev@mirantis.com",
        "time": "Thu Nov 15 21:38:58 2018 +0000"
      },
      "message": "Add tests to cover network ip availability API\n\nThis patch set adds tests to cover the neutron network_ip_availability API [0].\nPart of \"Increase Neutron RBAC Coverage\" initiative [1]\n\n[0] https://developer.openstack.org/api-ref/network/v2/index.html#network-ip-availability-and-usage-stats\n[1] https://storyboard.openstack.org/#!/story/2002641\n\nChange-Id: Idddf5a8bf5214b1fbc079fcf2f5b1a4c2a889a57\nStory: 2002641\nTask: 22304\n"
    },
    {
      "commit": "b68763ccd773f429b98ba055ad7a9d5b1f797dc2",
      "tree": "43866ffd9961c9bae8667c5855e9953d53af945d",
      "parents": [
        "0464e81c98b1d71d0bd42ce520013cd0ac1c8bac"
      ],
      "author": {
        "name": "jessegler",
        "email": "jess.egler@gmail.com",
        "time": "Tue Aug 28 14:17:15 2018 -0500"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 14 23:23:07 2018 +0000"
      },
      "message": "Add tests to cover service_profile\n\nThis patch set adds test to cover the service_profile API [0].\nTests create_service_profile, get_service_profile,\nupdate_service_profile, delete_service_profile.\nPart of \"Increase Neutron RBAC Coverage\" initiative [1]\n\n[0] https://developer.openstack.org/api-ref/network/v2/#networking-flavors-framework-v2-0-current-flavor-service-profile\n[1] https://storyboard.openstack.org/#!/story/2002641\n\nCo-Authored-By: Mykola Yakovliev \u003cvegasq@gmail.com\u003e\nChange-Id: I57c6d44eaa891e83931924f0d802ccd79a79439b\nStory: 2002641\nTask: 22317\n"
    },
    {
      "commit": "11ad0b06311d28fc0144ab159a03458db2f79d7a",
      "tree": "e1de282553d0b2d7d1e8932df0b58d2a79ba6f84",
      "parents": [
        "0464e81c98b1d71d0bd42ce520013cd0ac1c8bac",
        "4d4cb1e7d39fef5ce0d2489a830864a2ac829df0"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 14 22:20:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 14 22:20:13 2018 +0000"
      },
      "message": "Merge \"Add documentation about white box/black box testing to HACKING\""
    },
    {
      "commit": "bab9e9467ce8bba3ce001414221e72cae8267d9d",
      "tree": "87eb21da37b3e9ac14b382bc1de4d6175d2416cf",
      "parents": [
        "0464e81c98b1d71d0bd42ce520013cd0ac1c8bac"
      ],
      "author": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Thu Oct 11 14:04:48 2018 -0500"
      },
      "committer": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Wed Nov 14 12:58:52 2018 -0600"
      },
      "message": "Helper for validating RBAC list actions\n\nList RBAC actions typically perform soft authorization checks meaning\nthat the response bodies omit resources that the user isn\u0027t authorized\nto see.\nFor example, if an admin user creates a user, member role might not be\nable to see that user when listing all the users in a tenant,\ndepending on the RBAC rule.\nThis patch set adds override_role_and_validate_list function to\nRbacUtils to validate RBAC flows for API list actions.\n\nChange-Id: I5f39efc8aa0004d4ad435cbd6b8fb037c33832d6\n"
    },
    {
      "commit": "47c43cb6ca9d675ceec958a878dd38218efc17aa",
      "tree": "4d81b48e2ff00f850ad724f2e50b79b9e3bf4912",
      "parents": [
        "d771e34d2432b914827bbf51340ec9b756b5d82b"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Mon Nov 05 17:15:30 2018 +0000"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 14 09:02:11 2018 -0600"
      },
      "message": "docs: Use sphinx-apidoc library for autodoc generation\n\nThis package is used for automatic generation of autodoc\ndocumentation which offers the following advantages:\n\n* the Patrole framework for all modules is always built\n  and kept up to date\n* it is isolated in its own page layout\n* it can still be linked to by other documentation pages\n  easily\n\nChange-Id: I101557efe47293f88ee65b99275fdc8424c02e35\n"
    },
    {
      "commit": "0710e5d6c85a89c1490993609a3ae7bfa34e4181",
      "tree": "e139303103999725e8b98182a58331ba624afd20",
      "parents": [
        "825d79452c5b6da8cd68e897d83a280561dcbb90"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Aug 17 10:29:45 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 14 05:42:46 2018 +0000"
      },
      "message": "Validate omission of expected_error_codes defaults to 403\n\nAdd a test that checks that the omission of expected_error_codes\ndefaults to [403] * len(rules). This helps to validate the recent\nchange: https://review.openstack.org/#/c/592935/\n\nChange-Id: I0faa89ab22ab6f811c3d927f76cfb20c2d63012a\n"
    },
    {
      "commit": "825d79452c5b6da8cd68e897d83a280561dcbb90",
      "tree": "ff700ea5d478748855024b0e34b84ee287c6a056",
      "parents": [
        "c81c1fb18977a93c5e1213182350fa780839b2aa"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Tue Nov 13 23:40:45 2018 -0600"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Tue Nov 13 23:40:45 2018 -0600"
      },
      "message": "trivial: Fix irrelevant-files regexes for unit tests\n\nThis is to fix the regexes for unit tests in irrelevant-files\nin .zuul.yaml to avoid unnecessarily running unit tests. Currently\nthe regex includes \"patrole/\" which is incorrect as the \"root\"\nshould be the topmost patrole package in the project\u0027s repo\nwhich is \"patrole_tempest_plugin\".\n\n.. https://github.com/openstack/patrole\n\nChange-Id: I16c91b378d23e0c917f2cf5975f9c0f8fa33c620\n"
    },
    {
      "commit": "0464e81c98b1d71d0bd42ce520013cd0ac1c8bac",
      "tree": "3e15ed5b9a572016927f8cec567b1fbba1f8fe18",
      "parents": [
        "c81c1fb18977a93c5e1213182350fa780839b2aa"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Thu Nov 08 01:08:07 2018 -0500"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 14 01:16:00 2018 +0000"
      },
      "message": "requirements authority: Use better exception/return code\n\nThis patch set makes some minor modifications to the requirements\nauthority module:\n\n* return {} instead of None in RequirementsParser.parse since\n  its return type is dict\n* raise RbacParsingException if an invalid rule is passed to\n  RequirementsAuthority.allowed since KeyError is a builtin type\n  and is not specific enough\n* change the exception message raise for the above case -- \"API\"\n  is not the right word; the word should be \"rule name\" as that\n  is what is being keyed into the roles_dict\n\nChange-Id: Ia4408c0745d2b5ddb1c73c1eb9a6316ae0c1f646\n"
    },
    {
      "commit": "4d4cb1e7d39fef5ce0d2489a830864a2ac829df0",
      "tree": "9cff1c71c728585c59c73d4a7338c762de3a68ae",
      "parents": [
        "05a73499ce2eabb1f68013304d23ae09e38ba29c"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Jul 29 13:44:10 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 14 00:06:28 2018 +0000"
      },
      "message": "Add documentation about white box/black box testing to HACKING\n\nThis patch set adds documentation about white box vs block box\ntesting and their relationship in Patrole. This is so that\ndevs/test writers understand that Patrole is a bit different than\nTempest and requires digging a bit deeper in the internals of\nthe API implementation in order to properly test RBAC.\n\nAlso removes a misleading link in the README.rst section. The\ndiscussion on member vs. _member_ role is very outdated and\nso a link is provided to the RBAC overview section instead which\nis concerned with documenting such information.\n\nChange-Id: I0a014c2e917caeb058dd5b5294dd0af2e5e49132\n"
    },
    {
      "commit": "c81c1fb18977a93c5e1213182350fa780839b2aa",
      "tree": "abb48b15e9ce5f4f387091f43968a003d6e0c1ae",
      "parents": [
        "ba9829d5478305b3319cb713d8a28c1893c120cc",
        "2a5f41e83f258e2d679d5c7312e7527466cdccec"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Nov 13 23:23:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 13 23:23:07 2018 +0000"
      },
      "message": "Merge \"Fix error codes for test_delete_flavor_service_profile\""
    },
    {
      "commit": "ba9829d5478305b3319cb713d8a28c1893c120cc",
      "tree": "3e6038b5ac749de8aa64e8c030096f059436dcdd",
      "parents": [
        "f7c54efb7f0ebc8044140d2876ad5ccebd52e669",
        "d02a8d836c560a3571b0a2f17f102e25bc7c5301"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Nov 13 22:26:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 13 22:26:26 2018 +0000"
      },
      "message": "Merge \"RequirementsAuthority multi role support enhancement\""
    },
    {
      "commit": "f7c54efb7f0ebc8044140d2876ad5ccebd52e669",
      "tree": "1998c76b7fdb8fea93d412f28e8aca6b1f975831",
      "parents": [
        "3230e20d4c999a97cb30b696ef93170b6be59c84",
        "bbbdd9391d3f4fce0277ae24393d6e1ee183430f"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Nov 13 21:47:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 13 21:47:04 2018 +0000"
      },
      "message": "Merge \"refactor: Rename PluginRbacTest \u003d\u003e ExtRbacTest\""
    },
    {
      "commit": "3230e20d4c999a97cb30b696ef93170b6be59c84",
      "tree": "6da7c6a3306a76b937b2187c97d4e7bc8cdb052c",
      "parents": [
        "5d59810ae813e5ce0f4008c416f3f779cb49e7fd",
        "42f7e1c488edafbf664a69971b65ce973bb979ab"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Nov 09 19:31:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 09 19:31:14 2018 +0000"
      },
      "message": "Merge \"docs: Add multi-policy validation documentation\""
    },
    {
      "commit": "5d59810ae813e5ce0f4008c416f3f779cb49e7fd",
      "tree": "066279783fb469e1bfc0e14849404c20828a81d2",
      "parents": [
        "a5f5590e2997fb2fbbb135cd2c38a9ef5bd4a5d2",
        "74f8e7d97fffd6909ead4f362b7f956e64fb2768"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Nov 09 18:33:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 09 18:33:23 2018 +0000"
      },
      "message": "Merge \"refactor: Break up RbacMalformedException into discrete exceptions\""
    },
    {
      "commit": "d02a8d836c560a3571b0a2f17f102e25bc7c5301",
      "tree": "ea06f52eac491355b12bd1890020259f249b242b",
      "parents": [
        "a5f5590e2997fb2fbbb135cd2c38a9ef5bd4a5d2"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Tue Oct 30 21:35:20 2018 -0500"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Thu Nov 08 14:44:09 2018 +0000"
      },
      "message": "RequirementsAuthority multi role support enhancement\n\nThis patchset eliminates different behaviour between\npolicy_authority and requirements_authority.\n\nProblem description:\n\n`rbac_test_roles \u003d [member,]`\n\nPolicy authority:\n\n`update_port: role:member and role:viewer`\n\nResults in 403/False (we are member but not viewer).\n\nRequirements authority:\n\n```\nreq_auth:\n    update_port:\n        - member\n        - viewer\n```\n\nResults in 200/True (member in update_port list).\n\nProposed solution:\n\nChange requirements_authority file sytax to support\ncomma separated roles to be considered as logical and.\n\nDepends-On: https://review.openstack.org/#/c/606110/\nChange-Id: I2e2a4a2020f5e85af15f1836d69386bc91a2d2ec\nCo-Authored-By: Felipe Monteiro \u003cfelipe.monteiro@att.com\u003e\n"
    },
    {
      "commit": "2a5f41e83f258e2d679d5c7312e7527466cdccec",
      "tree": "5ce6f293bd2b4714671d1db8f2f48705a41d44dc",
      "parents": [
        "a5f5590e2997fb2fbbb135cd2c38a9ef5bd4a5d2"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 07 19:35:40 2018 -0500"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 07 19:35:40 2018 -0500"
      },
      "message": "Fix error codes for test_delete_flavor_service_profile\n\nThis patch set fixes the expected error codes for test\n`test_delete_flavor_service_profile`. Like other delete\ntests for Neutron it enforces delete_* and get_* policy.\n\nChange-Id: I4e67e0cd3190794741ea84131de3cbab6c28eb4f\n"
    },
    {
      "commit": "a5f5590e2997fb2fbbb135cd2c38a9ef5bd4a5d2",
      "tree": "c65ea0608a73db4fcd657c3d21fb0d2273bc9c95",
      "parents": [
        "596bebd246d96cdab20b131413084e5a6eead946",
        "0d3c743c11e5231e0f5f56a654f9d593803ff06d"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 07 22:35:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 07 22:35:13 2018 +0000"
      },
      "message": "Merge \"zuul: Use all rather than all-plugin for tox_envlist\""
    },
    {
      "commit": "74f8e7d97fffd6909ead4f362b7f956e64fb2768",
      "tree": "b4610969494bdffa72729533ea229db3fc5b0d17",
      "parents": [
        "742b73767ba6eb14fd60a5aeebe52bae9cf0c58c"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Sep 30 12:33:49 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 07 16:23:51 2018 -0500"
      },
      "message": "refactor: Break up RbacMalformedException into discrete exceptions\n\nThis patch set breaks up RbacMalformedException into the following\ndiscrete exceptions:\n\n* RbacMissingAttributeResponseBody\n* RbacPartialResponseBody\n* RbacEmptyResponseBody\n\nEach of the exception classes deals with a different type of\nfailure related to a soft authorization failure [0] which\nmeans that a failure occurred server side related to RBAC\nauthorization, but the result of which an incomplete, partial\nor empty response body (with a 2xx status code).\n\n* incomplete means that the response body (for show or list)\n  is missing certain attributes\n* partial means that a list response only returned a subset of\n  the possible results available.\n* empty means that the show or list response body is entirely\n  empty\n\nBecause RbacMalformedException is not part of a stable library\nit is removed altogether; we do not need to deprecate it.\n\n[0] http://git.openstack.org/cgit/openstack/patrole/tree/doc/source/rbac-overview.rst#n232\n\nStory: 2003843\nTask: 26633\nChange-Id: I2c76c3c4d226e4877fc9d1e93707edfc230a1be4\n"
    },
    {
      "commit": "596bebd246d96cdab20b131413084e5a6eead946",
      "tree": "08745eaf2d09e7244aab467489735489a1896e07",
      "parents": [
        "742b73767ba6eb14fd60a5aeebe52bae9cf0c58c"
      ],
      "author": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Wed Nov 07 10:46:16 2018 -0600"
      },
      "committer": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Wed Nov 07 10:46:16 2018 -0600"
      },
      "message": "Replace all volume client aliases with _latest suffix\n\nUse aliases with _latest suffix instead of v2 or v3 for clients.\n\nChange-Id: Ie17b9abca60d943bce0b62997b1f58a56963314d\nStory: 2003377\nTask: 24452\n"
    },
    {
      "commit": "0d3c743c11e5231e0f5f56a654f9d593803ff06d",
      "tree": "7e4f8f1d81dccd119d5b4936c26eeba6d0fbc8ce",
      "parents": [
        "742b73767ba6eb14fd60a5aeebe52bae9cf0c58c"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Oct 28 02:14:22 2018 +0000"
      },
      "committer": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Wed Nov 07 08:01:49 2018 -0600"
      },
      "message": "zuul: Use all rather than all-plugin for tox_envlist\n\nSince \u0027all-plugin\u0027 is deprecated in Tempest, this is to\nswitch to \u0027all\u0027 instead in .zuul.yaml; for more info,\nsee: https://github.com/openstack/tempest/blob/9b4c50cf634cbea6e6a7353fff14c2f0a7ab1aa2/tox.ini#L64\n\nDepends-On: Ib3264f54075216471720483c8dd816887c1f413c\nChange-Id: I440b6cff2b5378e18304017589e3e7cf4748c28c\n"
    },
    {
      "commit": "bbbdd9391d3f4fce0277ae24393d6e1ee183430f",
      "tree": "bfa55a76c9407046990b978278a9421a15e227eb",
      "parents": [
        "742b73767ba6eb14fd60a5aeebe52bae9cf0c58c"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Oct 31 23:28:39 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Nov 07 04:13:25 2018 +0000"
      },
      "message": "refactor: Rename PluginRbacTest \u003d\u003e ExtRbacTest\n\nThis patch set is a follow up on discussion in [0] which\nconcluded that Patrole should not test Neutron plugins.\n\nThe pertinent discussion from [0] is:\n\nPatrole can test Neutron extensions but not plugins in tree\nand that requires renaming the classes\n(.*PluginRbacTest \u003d\u003e .*ExtRbacTest) to make it clearer.\n\nHaving to support all the Neutron plugins in tree is out of scope\nfor Patrole. Clarifying documentation (which will be done in follow\nup) can be added to Patrole documentation to make it clear that\nit will only test \"main\" OpenStack projects, like Tempest.\n\n[0] https://review.openstack.org/#/c/599869/\n\nChange-Id: Iab029f2f875ce2268de12cc2a40e30f2f1a913fe\n"
    },
    {
      "commit": "742b73767ba6eb14fd60a5aeebe52bae9cf0c58c",
      "tree": "518382f06eedc7c339ede53e38b3b760a3f6b59c",
      "parents": [
        "415261e3d529b0095f9e15297487cae498a607b2",
        "b688823056e0f551d98acc8b77db4366e27dffd7"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 07 01:35:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 07 01:35:29 2018 +0000"
      },
      "message": "Merge \"Define common irrelevant-files\""
    },
    {
      "commit": "415261e3d529b0095f9e15297487cae498a607b2",
      "tree": "0906491ddc20a4cf411b537eb675b8e0eef7b782",
      "parents": [
        "2c9d9fc243d87045639a073870e980e1e404249c",
        "e0f35503c90bee01666ee252689738c7c2042ce8"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 07 00:33:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 07 00:33:28 2018 +0000"
      },
      "message": "Merge \"Multi role RBAC validation\""
    },
    {
      "commit": "2c9d9fc243d87045639a073870e980e1e404249c",
      "tree": "6f61837002bba4284826f26ff3c001d53f0ac972",
      "parents": [
        "3f9401ed50c37f6d9bc56cfb583c71097849c276",
        "d1a87c598d646ff57e8d966bee37e47684b56178"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 07 00:17:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 07 00:17:29 2018 +0000"
      },
      "message": "Merge \"trivial: Add hacking checks to irrelevant-files in .zuul.yaml\""
    },
    {
      "commit": "3f9401ed50c37f6d9bc56cfb583c71097849c276",
      "tree": "3ca70e86c5041dcce4d0605e499c637947c1f163",
      "parents": [
        "da3c54b152d1dfe84884e738c5e30fba68cb8148",
        "2a6d32969fa1f0f09dc2c3b372e318d34cb1c103"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Nov 06 18:06:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 06 18:06:18 2018 +0000"
      },
      "message": "Merge \"Add tests to cover auto_allocated_topology\""
    },
    {
      "commit": "da3c54b152d1dfe84884e738c5e30fba68cb8148",
      "tree": "f0bbd821b9333cb779a6bd62ffc670f797c2e8b6",
      "parents": [
        "3932f03700ab5e33b78cc03ecdfaa5ef97a1fc65",
        "ecfbb572c9b302ab98df20ed1d14ad7744e531ee"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Mon Nov 05 21:25:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 05 21:25:57 2018 +0000"
      },
      "message": "Merge \"pbr: Remove unused translation sections from setup.cfg\""
    },
    {
      "commit": "3932f03700ab5e33b78cc03ecdfaa5ef97a1fc65",
      "tree": "3d1992d1d093be81f5f940ba6fc4066068abd88b",
      "parents": [
        "5addd6979616ffb95a8e225b1f118ac503091369",
        "fcd6fcf33c3f62840312dc9b7af8a75263b69dcb"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Mon Nov 05 21:25:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 05 21:25:56 2018 +0000"
      },
      "message": "Merge \"Add waiters after creating volume transfer for related tests\""
    },
    {
      "commit": "5addd6979616ffb95a8e225b1f118ac503091369",
      "tree": "674329c325c41838da2e24eb531637bd336c8dd7",
      "parents": [
        "d771e34d2432b914827bbf51340ec9b756b5d82b",
        "1b49965a9b31fada55a7a93af2881e8a1909f010"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Mon Nov 05 21:02:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 05 21:02:08 2018 +0000"
      },
      "message": "Merge \"trivial: Correct base class name in hacking check\""
    },
    {
      "commit": "b688823056e0f551d98acc8b77db4366e27dffd7",
      "tree": "80f74b979abad27e65987193339887496df96eda",
      "parents": [
        "d1a87c598d646ff57e8d966bee37e47684b56178"
      ],
      "author": {
        "name": "ghanshyam",
        "email": "gmann@ghanshyammann.com",
        "time": "Sun Nov 04 12:54:58 2018 +0000"
      },
      "committer": {
        "name": "ghanshyam",
        "email": "gmann@ghanshyammann.com",
        "time": "Sun Nov 04 12:54:58 2018 +0000"
      },
      "message": "Define common irrelevant-files\n\nThis commit define the irrelevant-files in common\nplace to use it in all jobs.\n\nChange-Id: I0de220ff9bd067a2d23a9cb4280341b2e09bf84b\n"
    },
    {
      "commit": "d771e34d2432b914827bbf51340ec9b756b5d82b",
      "tree": "bc440feafe71dc9df03c5ff45b5bc657c47c0225",
      "parents": [
        "4877f1d43259de39e9029aea90046351a0c3fb35"
      ],
      "author": {
        "name": "Manik Bindlish",
        "email": "manikbindlish19@gmail.com",
        "time": "Fri Nov 02 05:02:36 2018 +0000"
      },
      "committer": {
        "name": "Manik Bindlish",
        "email": "manikbindlish19@gmail.com",
        "time": "Fri Nov 02 05:04:09 2018 +0000"
      },
      "message": "Update min tox version to 2.0\n\nThe commands used by constraints need at least tox 2.0.\nUpdate to reflect reality, which should help with local running of\nconstraints targets.\n\nChange-Id: I343da220ef68a56448042046bf644b964ef71f62\n"
    },
    {
      "commit": "d1a87c598d646ff57e8d966bee37e47684b56178",
      "tree": "20ec5c3f180abaef0a0bf04ef3143d002925981d",
      "parents": [
        "4877f1d43259de39e9029aea90046351a0c3fb35"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Thu Nov 01 11:34:29 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Thu Nov 01 11:37:15 2018 -0400"
      },
      "message": "trivial: Add hacking checks to irrelevant-files in .zuul.yaml\n\nThis is to skip over hacking modifications triggering all Patrole\nZuul jobs as in [0]. Besides, Tempest also skips hacking in its\nirrelevant-files [1]. Also do this for etc/.\n\n[0] https://review.openstack.org/#/c/614655/3\n[1] https://github.com/openstack/tempest/blob/da8aec9aedcac940ba1dbc3beee50f05f13af3f1/.zuul.yaml#L326\n\nChange-Id: Iee5b634e77c2faaa36d3d19a3b56b1fec685aa7e\n"
    },
    {
      "commit": "1b49965a9b31fada55a7a93af2881e8a1909f010",
      "tree": "f08dc3b8a1e06aa0881fd9e7e24d6f15c388fd87",
      "parents": [
        "904a02bef8af64c2a6fb1e0aca67ea9db3f9883f"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Oct 31 20:44:50 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Thu Nov 01 10:34:36 2018 -0400"
      },
      "message": "trivial: Correct base class name in hacking check\n\nThis patch set fixes the base class name in a hacking check\nunit test for PluginRbacTest Suffix (P104).\n\nThe passing case should be:\n\n  class FakePluginRbacTest(base.BaseFakePluginRbacTest)\n\nNot:\n\n  class FakePluginRbacTest(base.BaseFakeRbacTest)\n\nBecause the point is to check that all subclasses that inherit\nfrom class .+PluginRbacTest also end in that suffix.\n\nChange-Id: Ic6306b97bb68c42f51e796d876893f9ac91c67a4\n"
    },
    {
      "commit": "4877f1d43259de39e9029aea90046351a0c3fb35",
      "tree": "6cbc84c1769545c4e0384bef0025b90f68ba8f9e",
      "parents": [
        "7267fa45d904170d934ff3245fd5ff5d1a30bd80",
        "904a02bef8af64c2a6fb1e0aca67ea9db3f9883f"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Thu Nov 01 01:26:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 01 01:26:55 2018 +0000"
      },
      "message": "Merge \"hacking: Add hacking rule for plugin rbac test class names\""
    },
    {
      "commit": "7267fa45d904170d934ff3245fd5ff5d1a30bd80",
      "tree": "58aa75981bba46c2e17c9152c4877f55c6232cb9",
      "parents": [
        "c38aca7587f526dbea4b3337b0a4822ae837d4ea",
        "cacbd211250d355bcbb2bbf049cfb4bd8c94ee04"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Oct 31 23:38:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 31 23:38:09 2018 +0000"
      },
      "message": "Merge \"fix: Rename test classes causing accidental skip\""
    },
    {
      "commit": "e0f35503c90bee01666ee252689738c7c2042ce8",
      "tree": "fc80d222332c6925886acec96e4192d30636569d",
      "parents": [
        "c38aca7587f526dbea4b3337b0a4822ae837d4ea"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Wed Sep 26 18:26:57 2018 -0500"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "myakovliev@mirantis.com",
        "time": "Wed Oct 31 20:45:13 2018 +0000"
      },
      "message": "Multi role RBAC validation\n\nThis patchset replaces ``CONF.patrole.rbac_test_role`` with\n``CONF.patrole.rbac_test_roles``, where instead of single role\nwe can specify list of roles to be assigned to test user.\n\nChange-Id: Ia68bcbdbb523dfe7c4abd6107fb4c426a566ae9d\n"
    },
    {
      "commit": "c38aca7587f526dbea4b3337b0a4822ae837d4ea",
      "tree": "92f3b63fa25c57b238cc7d99f1da30f208f5eb9b",
      "parents": [
        "f63a8345312c17d04218fe40f9abca9d99774741"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Oct 31 01:21:48 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Oct 31 01:24:24 2018 -0400"
      },
      "message": "Add feature flag for Keystone policies removed in Stein\n\nThis patch set adds a new feature flag called\n``removed_keystone_policies_stein`` under the configuration\ngroup ``[policy-feature-enabled]`` for skipping Keystone\ntests whose policies were removed in Stein. This feature flag\nis currently applied to credentials-related policies, e.g.:\nidentity:[create|update|get|delete]_credential\n\nMore info on removed Keystone policies:\n\nhttps://review.openstack.org/#/c/597187/16\n\nChange-Id: Ibd16e658d0e1367b46a2d6730f2b6970a95ae221\n"
    },
    {
      "commit": "ecfbb572c9b302ab98df20ed1d14ad7744e531ee",
      "tree": "9bc4adc3d776ca523dd6718b6f21c1e246c53b53",
      "parents": [
        "f63a8345312c17d04218fe40f9abca9d99774741"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sat Oct 27 16:31:22 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sat Oct 27 16:31:22 2018 -0400"
      },
      "message": "pbr: Remove unused translation sections from setup.cfg\n\nPatrole doesn\u0027t have a translation infrastructure, so this is\nto remove translation sections from the setup.cfg; these\nsections are the same as those documented under:\n\nhttps://docs.openstack.org/infra/manual/creators.html#python-projects\n\nChange-Id: If2efd6e462933d0d192e331d12f0798ddf12ce46\n"
    },
    {
      "commit": "f63a8345312c17d04218fe40f9abca9d99774741",
      "tree": "632975c33b08b89b3c0b47451bc383731435150b",
      "parents": [
        "2238c69f46defb4a2328a0e5c3a4d5a3c23fea36",
        "bf524fbcf5295d521a1200db23d687a4976e9163"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Sat Oct 27 01:57:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Oct 27 01:57:38 2018 +0000"
      },
      "message": "Merge \"Deprecate use of v2 roles client in rbac_utils.py\""
    },
    {
      "commit": "904a02bef8af64c2a6fb1e0aca67ea9db3f9883f",
      "tree": "d352613a998a07b2709894ea79eadacc28698117",
      "parents": [
        "cacbd211250d355bcbb2bbf049cfb4bd8c94ee04"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Oct 21 12:54:46 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Oct 21 19:58:48 2018 +0000"
      },
      "message": "hacking: Add hacking rule for plugin rbac test class names\n\nThis patch set introduces a new hacking check called\n`no_plugin_rbac_test_suffix_in_plugin_test_class_name` which\nis responsible for enforcing that all plugin rbac test classes\nend in the correct suffix in order to avoid issues like [0].\n\nBasically, some network plugin rbac tests were skipping because\nthe regex in .zuul.yaml was not selecting them because the\nclasses were improperly named. This is to avoid that regression.\n\nUpdates documentation with P104 - alias for this new hacking\nrule - and adds unit tests to validate its logic.\n\n[0] https://review.openstack.org/#/c/612197/\n\nChange-Id: Ia50edbe5aeb25e57756e9579da8270396bba718c\n"
    },
    {
      "commit": "cacbd211250d355bcbb2bbf049cfb4bd8c94ee04",
      "tree": "d335d4ed400263a517a5ba15af058544d96e2755",
      "parents": [
        "2238c69f46defb4a2328a0e5c3a4d5a3c23fea36"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Oct 21 12:30:17 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Oct 21 17:51:18 2018 +0000"
      },
      "message": "fix: Rename test classes causing accidental skip\n\nThis patch set renames two classes that are neutron plugin\nrbac tests but don\u0027t end in the appropriate suffix of\n\"PluginRbacTest\" which is used by .zuul.yaml to correctly execute\nthe tests [0].\n\nThis means that, in effect, these tests aren\u0027t being run in any\njobs. This patch set resolves the issue.\n\nIn a follow up patch set a hacking rule will be added to enforce\ncorrect naming for plugin rbac tests.\n\n[0] https://github.com/openstack/patrole/blob/0c7f83ea1716462737a40cc32f27b95abf4557af/.zuul.yaml#L168\n\nChange-Id: Ieac5ebf70eefcebf1aebc26da95d58fcd68a202e\n"
    },
    {
      "commit": "2238c69f46defb4a2328a0e5c3a4d5a3c23fea36",
      "tree": "cf00dca107b6b58a397938cc0f750d261d09c11a",
      "parents": [
        "0c7f83ea1716462737a40cc32f27b95abf4557af"
      ],
      "author": {
        "name": "Cédric Ollivier",
        "email": "ollivier.cedric@gmail.com",
        "time": "Sun Oct 21 15:22:38 2018 +0200"
      },
      "committer": {
        "name": "Cédric Ollivier",
        "email": "ollivier.cedric@gmail.com",
        "time": "Sun Oct 21 15:22:38 2018 +0200"
      },
      "message": "Fix test_update_address_scope_shared\n\ntest_update_address_scope_shared currently fails as shared address\nscope can\u0027t be unshared [1].\n\nIt would have detected in gates if neutron-tempest-plugin was\ninstalled [2] (as it\u0027s in opnfv/functest-smoke:latest).\n\n[1] https://github.com/openstack/neutron/blob/master/neutron/db/address_scope_db.py#L87\n[2] http://logs.openstack.org/47/599047/3/check/patrole-admin/11872d4/job-output.txt.gz\n\nChange-Id: I72f0cde1dab2d0a1949b55490375e8441394353d\nSigned-off-by: Cédric Ollivier \u003collivier.cedric@gmail.com\u003e\n"
    },
    {
      "commit": "0c7f83ea1716462737a40cc32f27b95abf4557af",
      "tree": "b65bb1bde2ce84da6865da30163a6cac7d828db3",
      "parents": [
        "28c9c3a2c7c3d07b7f12d6c8e4ad33853e27be3f",
        "1daa06a5b84e5fe34bac7309a729731c946604c1"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Oct 19 20:41:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Oct 19 20:41:24 2018 +0000"
      },
      "message": "Merge \"Use tempest.common.identity.identity_utils for project management\""
    },
    {
      "commit": "42f7e1c488edafbf664a69971b65ce973bb979ab",
      "tree": "3dc00fa1b3fbb2fb97dbf587d09d654677ce7091",
      "parents": [
        "28c9c3a2c7c3d07b7f12d6c8e4ad33853e27be3f"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Jun 10 20:09:26 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Oct 19 02:21:04 2018 +0000"
      },
      "message": "docs: Add multi-policy validation documentation\n\nThis patchset adds multi-policy validation documentation to the\ndeveloper\u0027s documentation section. Also adds REVIEWING guidelines\nto help developers/reviewers understand guidelines/best practices\nfor writing such tests.\n\nChange-Id: Ieb462e3b176a5dba40146ddd422e62e5715dc034\n"
    },
    {
      "commit": "bf524fbcf5295d521a1200db23d687a4976e9163",
      "tree": "8bc24696978687781978a55d1aa3bc94d4eeaebe",
      "parents": [
        "28c9c3a2c7c3d07b7f12d6c8e4ad33853e27be3f"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Oct 03 09:03:35 2018 -0500"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Oct 19 00:27:41 2018 +0000"
      },
      "message": "Deprecate use of v2 roles client in rbac_utils.py\n\nThis patch set deprecates use of the v2 roles client for\nrole overriding operations. This is because the Keystone v2 API\nis deprecated and slated for removal, so Patrole\u0027s use of the\nv2 Tempest roles client is also deprecated and will be\nremoved in a future release. Patrole will only support the v3 Tempest\nroles client for role overriding operations in the future.\n\nChange-Id: I9b201677cf8244b25f3cc8ea3b48a95b2b83b95e\n"
    },
    {
      "commit": "28c9c3a2c7c3d07b7f12d6c8e4ad33853e27be3f",
      "tree": "513dd53564ee0e8b2ccb15f3f05adde4f3b4e5e9",
      "parents": [
        "69250959929142c8da9bd2f9aaea47dbe66115fe"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Wed Oct 17 11:38:34 2018 -0500"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Wed Oct 17 11:38:34 2018 -0500"
      },
      "message": "Fix create_rbac_policy tenant_id and network_id usage\n\nThis patchset fixes mistake where we pass params, but use their origin.\n\nChange-Id: I4c73aaeba1907987306b210d2afef5b6a395e68b\n"
    },
    {
      "commit": "1daa06a5b84e5fe34bac7309a729731c946604c1",
      "tree": "ff2b7aae1cd850df58358c0d06178e30e23232cb",
      "parents": [
        "842845eaef1de6595e96ad253d0666555ce083f1"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Aug 31 13:56:08 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sat Oct 13 22:36:02 2018 +0000"
      },
      "message": "Use tempest.common.identity.identity_utils for project management\n\nThis uses identity_utils from tempest.common.identity for\nproject creation/deletion in non-identity tests:\n\n    A client that abstracts v2 and v3 identity operations.\n\n    This can be used for creating and tearing down projects in tests.\n    It should not be used for testing identity features.\n\nThis is a common pattern in Tempest and should be used in Patrole, too.\n\nChange-Id: Id87294bd19c7abd92d202b5ba6b49e4aac6c7e42\n"
    },
    {
      "commit": "69250959929142c8da9bd2f9aaea47dbe66115fe",
      "tree": "575becbf652a0da1c144a353257ca2b62ec335cf",
      "parents": [
        "7fa1f735fa66ae49589950201755c1fa5db3ae6d"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Jul 29 13:08:54 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Oct 12 14:26:05 2018 +0000"
      },
      "message": "Add volume create from image test\n\nThis patch set adds tests for the following policy:\n\n\"volume:create_from_image\" [0]\n\nNote that this is mutually exclusive with \"volume:create\" [1]\nso multi-policy is not needed for the new test:\ntest_create_volume_from_image\n\n[0] https://github.com/openstack/cinder/blob/fe69f679369057a7c381178f770bf68d0bc1cee0/cinder/policies/volumes.py#L52\n[1] https://github.com/openstack/cinder/blob/4bb00dbcf6af2f140694eb535696f0f6fe3ae80e/cinder/volume/api.py#L210\n\nChange-Id: I27bdefa57ed60e9fb1764a65afec117e86e71cee\n"
    },
    {
      "commit": "7fa1f735fa66ae49589950201755c1fa5db3ae6d",
      "tree": "4b787f0ce23edd7d249caf122de61ba9aa03080e",
      "parents": [
        "517183edd3e4032f396c653bc67d2a092c438da0",
        "8dd5f1990183b7bb9ca44e98c2e9e6e6b1bd82af"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Oct 12 12:22:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Oct 12 12:22:12 2018 +0000"
      },
      "message": "Merge \"Remove invalid exception RbacConflictingPolicies\""
    },
    {
      "commit": "517183edd3e4032f396c653bc67d2a092c438da0",
      "tree": "a4041c81426edeff70852aa5e8ebf679f835e6c4",
      "parents": [
        "722455f9fe489511459c57d1331b4eaafb6baf19",
        "0170c998278da82d02ee7b8b1be05326f40e5025"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Oct 12 10:56:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Oct 12 10:56:14 2018 +0000"
      },
      "message": "Merge \"docs: Add sections about context_is_admin/custom policy checks\""
    },
    {
      "commit": "722455f9fe489511459c57d1331b4eaafb6baf19",
      "tree": "8ea22fdf2d18acfd3ea2ef8b3672eea5b8a48b43",
      "parents": [
        "59f538fdbdf650154779028747285a5e35fa2d17",
        "dcd153a2a0db5c91468d106deb25c692779db770"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Oct 09 11:09:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 09 11:09:40 2018 +0000"
      },
      "message": "Merge \"Remove extra_attr kwarg from RbacMalformedResponse\""
    },
    {
      "commit": "8dd5f1990183b7bb9ca44e98c2e9e6e6b1bd82af",
      "tree": "7ea181dcf368a8ac378d902a1b7c5a6531543a91",
      "parents": [
        "91e33c6ef17af701ed230802da6eee256bcc4884"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Oct 05 21:29:25 2018 +0100"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sat Oct 06 01:22:00 2018 +0000"
      },
      "message": "Remove invalid exception RbacConflictingPolicies\n\nThis patch set drops RbacConflictingPolicies from Patrole because\nits intention is 1) flawed and 2) the way it is being used is\ninvalid.\n\nFirst, there is no documented case where conflicting policies\nexists in OpenStack, so the intention behind the exception class\nis flawed.\n\nSecond, the exception is only used in one test in\ntest_server_rbac. It catches a ServerFault (500) and re-raises\nthe exception is a pseudo-Forbidden exception. This is very bad\nbecause if Nova raises a 500 on a policy exception then this is\na Nova bug. There is no valid use case where a ServerFault from\nNova should ever be treated as a successful test scenario.\n\nChange-Id: I495b10ccf7b0df523b2551c49ea4db07e5bcaf79\n"
    },
    {
      "commit": "0170c998278da82d02ee7b8b1be05326f40e5025",
      "tree": "92d5b095620b429c9c0819cc9949170b5b5efc24",
      "parents": [
        "91e33c6ef17af701ed230802da6eee256bcc4884"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Tue Jul 31 20:10:05 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Thu Oct 04 20:57:49 2018 +0100"
      },
      "message": "docs: Add sections about context_is_admin/custom policy checks\n\nThis documentation adds oslo.policy/policy related information\nto Patrole RBAC documentation so users understand some limitations\nrelated to current implementation of oslo.policy in OpenStack\nand some limitations around edge case policy testing w.r.t custom\noslo.policy rulechecks.\n\n* Currently admin context policy rule is used to skip over oslo.policy\n  authorization checks in many services -- this is important to note\n  as this means Patrole can\u0027t properly validate admin against\n  oslo.policy [0].\n* Currently it is not possible to test policy rules that rely on\n  generic checks/oslo.policy checks defined in services themselves\n  like Neutron\u0027s FieldCheck [1] as Patrole has no way of importing such\n  code in order to get these checks registered.\n\n[0] https://github.com/openstack/neutron/blob/b4b725ade9e11aff80c6193cb4acd49f2aba012d/neutron/policy.py#L374\n[1] https://docs.openstack.org/neutron/pike/contributor/internals/policy.html#fieldcheck-verify-resource-attributes\n\nChange-Id: I0e375a11eb323d83b1ece1537dbd008633126eb3\n"
    },
    {
      "commit": "59f538fdbdf650154779028747285a5e35fa2d17",
      "tree": "9bb4e0d069ab1eb382b4fdb06eed6c2dbf55671b",
      "parents": [
        "91e33c6ef17af701ed230802da6eee256bcc4884"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Aug 22 23:34:40 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Thu Oct 04 17:23:16 2018 +0100"
      },
      "message": "Replace rule/expected_error_code with non-deprecated versions\n\nThis patch set replaces deprecated occurrences of rule with\nrules and expected_error_code with expected_error_codes in\nrbac_rule_validation.action decorator.\n\nAlong with removing the parameters from the decorator, all the\nAPI tests have been changed to use the non-deprecated parameters\ninstead. Unit tests have also been updated.\n\nChange-Id: I6485b6c57795b5fe75e2b339d5c9720da30be564\n"
    },
    {
      "commit": "2a6d32969fa1f0f09dc2c3b372e318d34cb1c103",
      "tree": "f46faa1fdefe42aeaf56a838d45ab775bf069531",
      "parents": [
        "40c450d0882ab55cd667bb24e6751898b5ab2aab"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Mon Aug 13 15:37:53 2018 -0500"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "myakovliev@mirantis.com",
        "time": "Thu Oct 04 14:38:09 2018 +0000"
      },
      "message": "Add tests to cover auto_allocated_topology\n\nThis patch set adds tests to cover the neutron auto allocated topology API [0].\nPart of \"Increase Neutron RBAC Coverage\" initiative [1]\n\n[0] https://developer.openstack.org/api-ref/network/v2/index.html#id877\n[1] https://storyboard.openstack.org/#!/story/2002641\n\nChange-Id: I012d7c5b3c6ef1ef5735a1c60e2975094b083fec\nStory: 2002641\n"
    },
    {
      "commit": "91e33c6ef17af701ed230802da6eee256bcc4884",
      "tree": "bc4d4a816381dd44ee20d6b93c27046672276d8b",
      "parents": [
        "a90168ec8715f1dbcf17c99277f62777595ba721",
        "5f25db5cad23ba8fb1acee49942cd75527841663"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Oct 03 19:16:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 03 19:16:04 2018 +0000"
      },
      "message": "Merge \"Add tests to cover neutron-agents\""
    },
    {
      "commit": "a90168ec8715f1dbcf17c99277f62777595ba721",
      "tree": "29208f588519db36ac446ddae7062727d8215116",
      "parents": [
        "40c450d0882ab55cd667bb24e6751898b5ab2aab",
        "d646a4cfa5b019c4e127c8264305ea80bf5e06a7"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Oct 02 23:01:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 02 23:01:31 2018 +0000"
      },
      "message": "Merge \"Add tests to cover policy_bandwidth_limit_rule\""
    },
    {
      "commit": "5f25db5cad23ba8fb1acee49942cd75527841663",
      "tree": "e74c9d1a7d3db70e5308e676c33cee7ec3a9346c",
      "parents": [
        "a3c15da1cd0d74d17727056dd72103fc915ab86d"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Mon Sep 10 14:40:22 2018 -0500"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Sun Sep 30 14:50:37 2018 -0500"
      },
      "message": "Add tests to cover neutron-agents\n\nThis patch adds tests to cover next policies:\n\n\u0027get_l3-agents\u0027 [0]\n\nPart of \"Increase Neutron RBAC Coverage\" initiative [1]\n\n[0] https://developer.openstack.org/api-ref/network/v2/index.html#list-l3-agents-hosting-a-router\n[1] https://storyboard.openstack.org/#!/story/2002641\n\nChange-Id: I79310ce3b072976cff46335e233c219625c5b686\nStory: 2002641\nTask: 22312\n"
    },
    {
      "commit": "40c450d0882ab55cd667bb24e6751898b5ab2aab",
      "tree": "33b75965854b1fe2e80e944f1945ea29e6cb5057",
      "parents": [
        "f014bf134b78d84bee6c361b7390c95d9489440d",
        "b485953e54581e9b73a86efd28a7d295f3b12db0"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Sep 28 21:59:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Sep 28 21:59:21 2018 +0000"
      },
      "message": "Merge \"Include README for neutron + plugin tests\""
    },
    {
      "commit": "f014bf134b78d84bee6c361b7390c95d9489440d",
      "tree": "220243e576f6c6b887123c9cd4889f206998f437",
      "parents": [
        "0fe2e39140ff038ce66f43a478fc792e8a271fe2",
        "26b7e09fd856d3ac921f110a0996267943a1a640"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Sep 28 21:56:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Sep 28 21:56:05 2018 +0000"
      },
      "message": "Merge \"Add developer test writing guide for Patrole tests\""
    },
    {
      "commit": "0fe2e39140ff038ce66f43a478fc792e8a271fe2",
      "tree": "2853dfe171c292b4699626503d0ab4f1e1d83ddb",
      "parents": [
        "404199107e1cf7443b8eb6667c5d177fe549a135",
        "433bf50679fdf6606a7af53380491287b69e4203"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Thu Sep 27 22:30:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 27 22:30:39 2018 +0000"
      },
      "message": "Merge \"Add tests to cover policy_minimum_bandwidth_rule\""
    },
    {
      "commit": "404199107e1cf7443b8eb6667c5d177fe549a135",
      "tree": "363a5bb2cf18d09ca2b11888395c639fbdaaa166",
      "parents": [
        "8c04bd87800ff8c428b58f0d8b990689916eff9e",
        "ef7047df40b674c72635b9dac9d7e6e1f22e9a86"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Thu Sep 27 22:23:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 27 22:23:32 2018 +0000"
      },
      "message": "Merge \"Use oslo_policy.policy.Rules.load to load rules\""
    },
    {
      "commit": "dcd153a2a0db5c91468d106deb25c692779db770",
      "tree": "4278ccfcd544d04b74ae0d5ad14133813e7cb26a",
      "parents": [
        "787fbd72542c233a66309c1700fad9645d01a394"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Sep 23 21:15:54 2018 -0400"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Sep 23 21:15:54 2018 -0400"
      },
      "message": "Remove extra_attr kwarg from RbacMalformedResponse\n\nThis patch set removes extra_attr kwarg from RbacMalformedResponse\nexception because it is unclear how unauthorized policy enforcement\ncould result in an extra attribute being injected into a response\nbody. For such an edge case to even be allowed, there would have\nto be a documented example of this. Besides, no test case even\nmakes use of it, meaning that it is not something we should\neven support.\n\nChange-Id: I8f63720fe02d63360a7e40c836d55b56eb657156\nStory: 2003843\nTask: 26634\n"
    },
    {
      "commit": "26b7e09fd856d3ac921f110a0996267943a1a640",
      "tree": "cfb769d4ed72d321ed658a3f5c5d50d1b49e2aab",
      "parents": [
        "787fbd72542c233a66309c1700fad9645d01a394"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Jul 27 22:15:27 2018 +0100"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Sun Sep 23 15:24:35 2018 -0400"
      },
      "message": "Add developer test writing guide for Patrole tests\n\nThis patch set doesn\u0027t really add new documentation but instead\nmoves documentation regarding RBAC testing guidelines and\nexamples out of framework/rbac_utils.rst and moves it into a\nseparate test_writing_guide.rst file located in the\n\"Developers\u0027 Guide\" section.\n\nThis is because this information is directly relevant to developers\nand should be included somewhere obvious where they can find it.\nIncluding important testing examples and guidelines in the framework\ndocumentation isn\u0027t too helpful.\n\nChange-Id: I6e975cbf1b86d356e9f5d623f81fbf293efcc42c\n"
    },
    {
      "commit": "b485953e54581e9b73a86efd28a7d295f3b12db0",
      "tree": "097c6713f33781c620b50bc86770bbfe97c73034",
      "parents": [
        "337a574ad88b9158a77d18548b6fe809e4c8f353"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Sep 12 10:11:45 2018 -0600"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Fri Sep 21 13:47:39 2018 +0000"
      },
      "message": "Include README for neutron + plugin tests\n\nThis patch set adds a README under\npatrole_tempest_plugin/tests/api/network to explain that\nPatrole supports testing RBAC policies for Neutron as well as\n(some) associated extensions and plugins.\n\nChange-Id: I80e5fd027becbb9c21212fbfe2b59b9708a51bb2\n"
    },
    {
      "commit": "787fbd72542c233a66309c1700fad9645d01a394",
      "tree": "66b6c11f41ed360d83a64412e79b6d3085aa3ea2",
      "parents": [
        "abd981d56d1a73ee781297353984bb1ff6c2abed",
        "849acef2b2d1251aeb02f9300c9e1b10cdb842e0"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Thu Sep 20 00:19:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 20 00:19:40 2018 +0000"
      },
      "message": "Merge \"Adds tests to cover address scopes\""
    },
    {
      "commit": "abd981d56d1a73ee781297353984bb1ff6c2abed",
      "tree": "fc4052522b455d3fa873a8d68d23b06f20a492ce",
      "parents": [
        "96cb119fe968eafe77e52e6f4b1cc0740c31f5e4",
        "56bb7312713634ad7d99090b167b56c6d84b0852"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Sep 19 22:16:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 19 22:16:54 2018 +0000"
      },
      "message": "Merge \"Add tests to cover policy_dscp_marking_rule\""
    },
    {
      "commit": "433bf50679fdf6606a7af53380491287b69e4203",
      "tree": "2755a41981070e18d541119c1710364442391a6e",
      "parents": [
        "56bb7312713634ad7d99090b167b56c6d84b0852"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Mon Aug 20 13:42:20 2018 -0500"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Wed Sep 19 11:24:03 2018 -0500"
      },
      "message": "Add tests to cover policy_minimum_bandwidth_rule\n\nThis patch set adds tests to cover the policy_minimum_bandwidth_rule API [0].\nTest creates, showes, updates and deletes policy_minimum_bandwidth_rule.\nPart of \"Increase Neutron RBAC Coverage\" initiative [1]\n\n[0] https://developer.openstack.org/api-ref/network/v2/index.html#qos-minimum-bandwidth-rules\n[1] https://storyboard.openstack.org/#!/story/2002641\n\nChange-Id: Ice4d20d20320f70ea0a8332bb53f1ebcde2c7a84\nDepends-On: https://review.openstack.org/#/c/592762/\nStory: 2002641\nTask: 22321\n"
    },
    {
      "commit": "96cb119fe968eafe77e52e6f4b1cc0740c31f5e4",
      "tree": "74a56e62e3ea6b6871ff06099c7b211f3962de7c",
      "parents": [
        "f2bbb107f24ff7d9d9117ac6c30c7d28aed25791",
        "062fb157b80c037940fc4b227d78c258c3593f45"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Sep 19 14:58:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 19 14:58:12 2018 +0000"
      },
      "message": "Merge \"Add support for multiple policy files\""
    },
    {
      "commit": "f2bbb107f24ff7d9d9117ac6c30c7d28aed25791",
      "tree": "b12a7dbfee1c7b3849093fcf5a5228520b73ea7a",
      "parents": [
        "e9a135573735928c56c19acc92acb2923dec7686",
        "9358f74d8c958a1ce672a13f7ecc0eaf6032e448"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Sep 18 15:18:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 18 15:18:27 2018 +0000"
      },
      "message": "Merge \"Add :special-members: directive to automodule in docs\""
    },
    {
      "commit": "d646a4cfa5b019c4e127c8264305ea80bf5e06a7",
      "tree": "e9d152d4a3335c80a72b324de488a33512b6ba04",
      "parents": [
        "56bb7312713634ad7d99090b167b56c6d84b0852"
      ],
      "author": {
        "name": "Mykola Yakovliev",
        "email": "VegasQ@gmail.com",
        "time": "Mon Aug 20 14:34:55 2018 -0500"
      },
      "committer": {
        "name": "Mykola Yakovliev",
        "email": "myakovliev@mirantis.com",
        "time": "Mon Sep 17 20:46:07 2018 +0000"
      },
      "message": "Add tests to cover policy_bandwidth_limit_rule\n\nThis patch set adds tests to cover the policy_bandwidth_limit_rule API [0].\nTest creates, showes, updates and deletes policy_bandwidth_limit_rule.\nPart of \"Increase Neutron RBAC Coverage\" initiative [1]\n\n[0] https://developer.openstack.org/api-ref/network/v2/index.html#qos-minimum-bandwidth-rules\n[1] https://storyboard.openstack.org/#!/story/2002641\n\nChange-Id: I0f4b61c9f906fe61537144ef0274c19895e7134e\nDepends-On: https://review.openstack.org/#/c/592762/\nStory: 2002641\nTask: 22319\n"
    },
    {
      "commit": "8c04bd87800ff8c428b58f0d8b990689916eff9e",
      "tree": "3eee77c1e29d35190b8229976864915ba874a523",
      "parents": [
        "787fbd72542c233a66309c1700fad9645d01a394"
      ],
      "author": {
        "name": "Chi Lo",
        "email": "cl566n@att.com",
        "time": "Fri Jun 01 16:21:50 2018 -0500"
      },
      "committer": {
        "name": "Chi Lo",
        "email": "cl566n@att.com",
        "time": "Sun Sep 16 06:31:39 2018 -0500"
      },
      "message": "Add granularity for volume_extension:volume_type_encryption\n\nUse granular rules:\nvolume_extension:volume_type_encryption:create\nvolume_extension:volume_type_encryption:delete\nvolume_extension:volume_type_encryption:update\nvolume_extension:volume_type_encryption:get\n\nfor the corresponding create, delete, update, and\nget volume_type_encryption test cases.\n\nDepends-On: Iba58e785df934d1c4175c0877d266193ac0167b7\n\nChange-Id: Ie5159166505d9bee3e99ca0d51949f6391c569b9\n"
    },
    {
      "commit": "ef7047df40b674c72635b9dac9d7e6e1f22e9a86",
      "tree": "0453f41821f0e6260c5b767c964a1950cf829fe5",
      "parents": [
        "062fb157b80c037940fc4b227d78c258c3593f45"
      ],
      "author": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Tue Sep 11 14:48:55 2018 -0500"
      },
      "committer": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Wed Sep 12 18:26:21 2018 -0500"
      },
      "message": "Use oslo_policy.policy.Rules.load to load rules\n\nRe-using Rules.load function makes it possible to support parsing\ncustom YAML policy files, the new policy file extension since Ocata.\n\nChange-Id: I9c7645a0f9b04609921a5ea607b203e8215fc32b\n"
    },
    {
      "commit": "9358f74d8c958a1ce672a13f7ecc0eaf6032e448",
      "tree": "f18a3617a87a17d3d55d2446d4817b5007630f06",
      "parents": [
        "337a574ad88b9158a77d18548b6fe809e4c8f353"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Sep 12 14:49:43 2018 -0600"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Sep 12 14:49:43 2018 -0600"
      },
      "message": "Add :special-members: directive to automodule in docs\n\nThis patch set adds :special-members: [0] directive to automodule\ncommand in Patrole docs, in order to correctly render documentation\nlike [1] which is quite important. It won\u0027t show up without\nthis directive [2].\n\n[0] http://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#directives\n[1] https://github.com/openstack/patrole/blob/337a574ad88b9158a77d18548b6fe809e4c8f353/patrole_tempest_plugin/policy_authority.py#L37\n[2] https://docs.openstack.org/patrole/latest/framework/policy_authority.html#module-patrole_tempest_plugin.policy_authority\n\nChange-Id: I2a69f52e903f57cced3f5ace3ec6aab3620a4e63\n"
    },
    {
      "commit": "e9a135573735928c56c19acc92acb2923dec7686",
      "tree": "0c8a811b9e5328f54b9489420509bf88b44939a9",
      "parents": [
        "337a574ad88b9158a77d18548b6fe809e4c8f353"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Sep 12 10:16:38 2018 -0600"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Wed Sep 12 10:20:48 2018 -0600"
      },
      "message": "Include README in patrole_tempest_plugin/tests/api via symlink\n\nThis patch set adds a symlink from patrole_tempest_plugin/tests/api/\nREADME.rst to the RBAC field guide under the docs/ folder. This is\nthe same thing Tempest does with its README file under its tempest/api\npath: [0]\n\n[0] https://github.com/openstack/tempest/tree/master/tempest/api\n\nChange-Id: I0fb776b52828ceaa834885a8d097eb53efce0ba0\n"
    },
    {
      "commit": "337a574ad88b9158a77d18548b6fe809e4c8f353",
      "tree": "7637619706ec753d1a5241f00815385626a3815d",
      "parents": [
        "219f6d2b1edd24d9d577c21b6610ea295c2e09da",
        "24961a80e58fae2a4352254140015ff76dabe8fb"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Sep 11 22:47:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 11 22:47:13 2018 +0000"
      },
      "message": "Merge \"Add test for create_subnetpool:is_default\""
    },
    {
      "commit": "219f6d2b1edd24d9d577c21b6610ea295c2e09da",
      "tree": "1385277011e96e724307c2a6e3e8f9f20bad942e",
      "parents": [
        "f82dee3e42f17bc167cb26d75ce97fb6048d9978",
        "e3b252740221d075bc9fdc514eaa3d89f4400551"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Sep 11 22:14:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 11 22:14:05 2018 +0000"
      },
      "message": "Merge \"Adds tests to cover QOS policy\""
    },
    {
      "commit": "f82dee3e42f17bc167cb26d75ce97fb6048d9978",
      "tree": "b130fad5e08cd208e8c83012c3dda1acd7df8f3f",
      "parents": [
        "45fdb0ea25936a51511112a46c379242bab46e3c",
        "194752f1b5304e90e0e2911324f93cbe0169a1f3"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Sep 11 22:14:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 11 22:14:04 2018 +0000"
      },
      "message": "Merge \"Remove deprecated patrole.enable_rbac configuration option\""
    },
    {
      "commit": "45fdb0ea25936a51511112a46c379242bab46e3c",
      "tree": "dcc0f5e6abc02d4310b15aa8bd5612add3c1ee07",
      "parents": [
        "fbdd39ffdbbba92b1aeb4df4112fb7253bbb8f49",
        "1bee142cf504e12f0ee8ffd2a28b61f0018144bf"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Sep 11 22:01:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 11 22:01:59 2018 +0000"
      },
      "message": "Merge \"Add periodic-stable entry to .zuul.yaml\""
    },
    {
      "commit": "fbdd39ffdbbba92b1aeb4df4112fb7253bbb8f49",
      "tree": "1328dfc66da9ff9f8c5ce49f68407ddfaf778a05",
      "parents": [
        "a3c15da1cd0d74d17727056dd72103fc915ab86d",
        "22bb9b3279b2a4dc7757b938a5599822e50e069d"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Sep 11 21:59:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 11 21:59:39 2018 +0000"
      },
      "message": "Merge \"Add Patrole gate job for stable/rocky\""
    },
    {
      "commit": "062fb157b80c037940fc4b227d78c258c3593f45",
      "tree": "77799307a5654192911b2b47fd2379bf313963d1",
      "parents": [
        "a3c15da1cd0d74d17727056dd72103fc915ab86d"
      ],
      "author": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Thu Sep 06 20:51:57 2018 -0500"
      },
      "committer": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Tue Sep 11 12:22:55 2018 -0500"
      },
      "message": "Add support for multiple policy files\n\nMost of the neutron plugins provide an updated version of policy.json\nfile with full list of rules, but at the same time there are a lot of\nother plugins which provide their own policy files and store them in\nthe policy.d/ folder: neutron-fwaas, networking-bgpvpn, vmware-nsx,\nect...\nTo implement the tests for such plugins the Patrole should be able to\nload and merge multiple policy files for any of the services.\n\nModify the discover_policy_files function to discover all policy files\nfor each of the services. Using glob.glob() function makes it possible\nto use patterns like \u0027*.json\u0027 to discover the policy files.\nModify the _get_policy_data function to load a data from all discovered\npolicy files for a service.\n\nUpdate the unit test according to the changes.\n\nChange-Id: Ib24f3d6d7a5ffdeaecce579af9795fd897dce872\n"
    },
    {
      "commit": "194752f1b5304e90e0e2911324f93cbe0169a1f3",
      "tree": "93799978b43a147d6919661d9ff22716b1af4426",
      "parents": [
        "a3c15da1cd0d74d17727056dd72103fc915ab86d"
      ],
      "author": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Mon Sep 10 11:43:38 2018 -0600"
      },
      "committer": {
        "name": "Felipe Monteiro",
        "email": "felipe.monteiro@att.com",
        "time": "Mon Sep 10 13:47:30 2018 -0600"
      },
      "message": "Remove deprecated patrole.enable_rbac configuration option\n\nThis patch set removes deprecated [patrole].enable_rbac\nconfiguration option. It is better to use an appropriate\ntest regex to skip Patrole tests.\n\nChange-Id: I639f3215f7aff8a85bc97dc55c1d97be3123e003\n"
    },
    {
      "commit": "a3c15da1cd0d74d17727056dd72103fc915ab86d",
      "tree": "6d1205590b80363443cf92e18605ec7ba9e1975f",
      "parents": [
        "d720baddfeeb269457c5528b7cd23ef78bde95f6"
      ],
      "author": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Sun Sep 09 06:39:31 2018 +0200"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Sun Sep 09 06:42:19 2018 +0200"
      },
      "message": "Use templates for cover and lower-constraints\n\nUse openstack-tox-cover template, this runs the cover job\nin the check queue only.\n\nUse openstack-lower-constraints-jobs template.\n\nRemove jobs that are part of the templates.\n\nChange-Id: I8d8b49d6256c7f7adb05d4c3c9f5b2aae3af6105\n"
    },
    {
      "commit": "d720baddfeeb269457c5528b7cd23ef78bde95f6",
      "tree": "603c996445a52cbbe41852881b3e8aa0b9979fcf",
      "parents": [
        "4635c6adf55ccacc6487a5ad208b895c899d94b6"
      ],
      "author": {
        "name": "Doug Hellmann",
        "email": "doug@doughellmann.com",
        "time": "Sat Sep 08 22:54:03 2018 -0400"
      },
      "committer": {
        "name": "Doug Hellmann",
        "email": "doug@doughellmann.com",
        "time": "Sat Sep 08 22:54:03 2018 -0400"
      },
      "message": "switch documentation job to new PTI\n\nThis is a mechanically generated patch to switch the documentation\njobs to use the new PTI versions of the jobs as part of the\npython3-first goal.\n\nSee the python3-first goal document for details:\nhttps://governance.openstack.org/tc/goals/stein/python3-first.html\n\nChange-Id: Ief323de5c09fcff7d3b51421faa6b10dddd69a54\nStory: #2002586\nTask: #24327\n"
    }
  ],
  "next": "4635c6adf55ccacc6487a5ad208b895c899d94b6"
}
