)]}'
{"id":"openstack%2Fopenstacksdk~757664","triplet_id":"openstack%2Fopenstacksdk~master~I6c165f5600ba281ba41df78de8414404c411d44f","project":"openstack/openstacksdk","branch":"master","hashtags":[],"change_id":"I6c165f5600ba281ba41df78de8414404c411d44f","subject":"Replace assertItemsEqual with assertCountEqual","status":"MERGED","created":"2020-10-13 01:40:18.000000000","updated":"2020-10-14 20:37:33.000000000","submitted":"2020-10-14 20:35:48.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"757664-1602707748308-b16e9fe7","meta_rev_id":"d0dfdd203d3dd5677ee8058c49d359cfdb14a48d","_number":757664,"virtual_id_number":757664,"owner":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"date":"2020-10-14 09:43:09.000000000","_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-10-14 20:35:48.000000000","post_submit":true,"permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":2,"date":"2020-10-13 09:10:52.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2020-10-13 07:58:42.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"all":[{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2020-10-13 07:58:42.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Allow-Post-Review":{"all":[{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{" 0":"Abstain","+1":"Approved for Zuul Post Review Pipeline"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-10-13 07:58:42.000000000","updated_by":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"reviewer":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"state":"REVIEWER"},{"updated":"2020-10-13 09:10:52.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2020-10-14 20:35:48.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"4bfcd5efbf151133cc09897f97830ed193c7bd2d","author":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"date":"2020-10-13 01:40:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f48bef319ee49071eeffa93d5320bc3ff42472e3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-13 05:42:16.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ba8063004f9b464fb0aa379558865f10 : SUCCESS in 4m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7c4600486a7d4e8080b34f90dcbacf1f : SUCCESS in 4m 07s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/656185e28a6c4e05bf47001b5c91b534 : SUCCESS in 4m 39s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/ce944f2b8b304bf793a7a29aa272a56b : SUCCESS in 6m 28s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/1af39859e29348d88f5e15aba6a4cd8a : SUCCESS in 4m 33s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/6a0d3d33e0f64f4cacc6c089b2c64090 : SUCCESS in 56m 01s\n- openstacksdk-tox-py38-tips https://zuul.opendev.org/t/openstack/build/524922dc584947828079a858b505a448 : SUCCESS in 4m 25s\n- os-client-config-tox-py37-tips https://zuul.opendev.org/t/openstack/build/62ce9af1e35f49e69c69188c58bb5fbe : SUCCESS in 4m 18s\n- osc-tox-py36-tips https://zuul.opendev.org/t/openstack/build/c4fe99ee43084d84aa154b9698a5b4b4 : SUCCESS in 4m 16s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3dc37a30f7294a84bded74388240b34c : SUCCESS in 7m 51s\n- opendev-buildset-registry https://zuul.opendev.org/t/openstack/build/64cb4c12ba134735947e4e0ec3338852 : SUCCESS in 1h 05m 39s\n- nodepool-build-image-siblings https://zuul.opendev.org/t/openstack/build/baff2dbb7cbb4bb49bc213e9af227aac : SUCCESS in 20m 32s\n- nodepool-functional-container-openstack-siblings https://zuul.opendev.org/t/openstack/build/8131fe9d5dd84d0fb0131e5cbb2057b4 : SUCCESS in 33m 56s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a09ba433c0a24276bf8d2406ba0fd662 : SUCCESS in 56m 28s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/51ce0cabc68c46e6b8d8892c1d2043e9 : SUCCESS in 1h 19m 07s\n- openstacksdk-functional-devstack-senlin https://zuul.opendev.org/t/openstack/build/57fb9617dda74c0ebde39eac01fadf5d : SUCCESS in 48m 46s\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/90f05644dcbd4cceb586fe0209ba6e1f : POST_FAILURE in 35m 02s (non-voting)\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/0d22b6d6f5b944d5bcde48379adb1885 : FAILURE in 53m 54s (non-voting)\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/c4eb6071a80942de9e23d98d5869a1bf : POST_FAILURE in 27m 32s (non-voting)\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/9161cc9721ea451188a1cd2233b1835c : SUCCESS in 58m 44s (non-voting)\n- ironic-inspector-tempest-openstacksdk-src https://zuul.opendev.org/t/openstack/build/00e036e88dec412981e55e3cf1e2dc36 : SUCCESS in 55m 51s (non-voting)\n- bifrost-integration-tinyipa-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/7ad43542199243ccb3d09095c248bc5b : SUCCESS in 25m 17s (non-voting)\n- metalsmith-integration-openstacksdk-src https://zuul.opendev.org/t/openstack/build/2b69917125804a0a97ec83cea4a8b5b0 : SUCCESS in 1h 15m 24s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/c61b1abe05924e3fb2c1b97fc7c5a4da : SUCCESS in 49m 52s (non-voting)\n- openstacksdk-ansible-stable-2.8-functional-devstack https://zuul.opendev.org/t/openstack/build/7ae742997bd84264a3d365cc2390f865 : FAILURE in 42m 12s (non-voting)\n- openstacksdk-ansible-stable-2.9-functional-devstack https://zuul.opendev.org/t/openstack/build/2ed19c954f8c4911adc55feca53181c5 : FAILURE in 47m 37s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"9846ac737a5ac30fc1e25be9aab1fe1a97d7cafb","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2020-10-13 07:58:42.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"e4c4b6bb42321933244c6addfdadc746d934cc05","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2020-10-13 09:10:52.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"af6e95604f5ed34477fb69bad663efdaf69a7978","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-13 09:11:15.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"535a3bbdfb7c3140ccabd50041feda26271d1d64","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-13 10:44:58.000000000","message":"Patch Set 1: Verified-2\n\nThis change depends on a change that failed to merge.","accounts_in_message":[],"_revision_number":1},{"id":"82dcf0a21f308230f4a10365740f8f4e2b2a629b","author":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"date":"2020-10-14 09:43:09.000000000","message":"Patch Set 1:\n\nrecheck","accounts_in_message":[],"_revision_number":1},{"id":"d3baf93a250005a0bef89be28096477bf81ee165","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-14 16:20:56.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0e761d77c5b340d88ec072dbc74df21c : SUCCESS in 4m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/57d47cffccb7489c9ff6fd41290fe92b : SUCCESS in 3m 49s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/876757fa8d2b454ab135a314003720b9 : SUCCESS in 4m 26s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/78561538251148a180c3202f52f205e6 : SUCCESS in 5m 08s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/fa642b5ddef9448c93e009193ef5830d : SUCCESS in 4m 09s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/999bf304338f4b8d8d52117e6ee6a3d7 : SUCCESS in 57m 23s\n- openstacksdk-tox-py38-tips https://zuul.opendev.org/t/openstack/build/f24e2fe779b6400c815b3b03343bf078 : SUCCESS in 4m 58s\n- os-client-config-tox-py37-tips https://zuul.opendev.org/t/openstack/build/d7345c743ea54c04aaa10d24c0a69088 : SUCCESS in 5m 43s\n- osc-tox-py36-tips https://zuul.opendev.org/t/openstack/build/8a6dd8746ca241708caa23323fdc9b6d : SUCCESS in 6m 04s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7dc8081169d24f6c96af2e7836574b84 : SUCCESS in 7m 19s\n- opendev-buildset-registry https://zuul.opendev.org/t/openstack/build/0f3c1ef1f9c84b568ee3627d9d65d7a7 : SUCCESS in 1h 20m 59s\n- nodepool-build-image-siblings https://zuul.opendev.org/t/openstack/build/5d27b3f594234cdd8e12a9ed8c122e83 : SUCCESS in 18m 06s\n- nodepool-functional-container-openstack-siblings https://zuul.opendev.org/t/openstack/build/cb63e18ee17a451eb469f7c84e14fe87 : SUCCESS in 38m 39s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e9220b654ed544ecb87e7c56861f6027 : SUCCESS in 59m 31s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/7b1286313b704cdd80450d9fa06e4062 : SUCCESS in 1h 19m 29s\n- openstacksdk-functional-devstack-senlin https://zuul.opendev.org/t/openstack/build/1275cf7544bb4db9bb1502b423ae683b : SUCCESS in 53m 17s\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/405e6a7ae097431cb305b18551d9a0af : POST_FAILURE in 35m 53s (non-voting)\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/ef7d1c1e8adb4931a1a6d5f183f44891 : SUCCESS in 37m 07s (non-voting)\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/2e9fcba19bbb460ea05e4058f736ee96 : FAILURE in 40m 42s (non-voting)\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/2c004d4fe45d48c5b2e45ce3e6589b20 : SUCCESS in 56m 03s (non-voting)\n- ironic-inspector-tempest-openstacksdk-src https://zuul.opendev.org/t/openstack/build/e8cbc843f4e84e0b99da25d4b5820d28 : SUCCESS in 1h 04m 36s (non-voting)\n- bifrost-integration-tinyipa-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/8828adf64e92473caef1fbe0c10c15c8 : SUCCESS in 22m 46s (non-voting)\n- metalsmith-integration-openstacksdk-src https://zuul.opendev.org/t/openstack/build/f06a1d8fe79943b0b8a5ddd288e2b8c9 : SUCCESS in 56m 12s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/89370f88018d4adfa9d620675b2e0b52 : SUCCESS in 52m 49s (non-voting)\n- openstacksdk-ansible-stable-2.8-functional-devstack https://zuul.opendev.org/t/openstack/build/0d3a0f9df86740d690abe103b5cc54ed : FAILURE in 41m 48s (non-voting)\n- openstacksdk-ansible-stable-2.9-functional-devstack https://zuul.opendev.org/t/openstack/build/a6a353f2f8614587b57468480ef49ba8 : FAILURE in 37m 10s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"db7d2695fb40eb762675e7bd5d04db5117aca341","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-14 16:21:31.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"c3e6b414a839633a91269f9f0d8b1c8edae9c460","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-14 20:35:48.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"b0914a7ef3fb566bd156cb3767bac18433c663cc","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-14 20:35:48.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9fa5b174940445c69a9bc2c275a93941 : SUCCESS in 6m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c88746759ec74a2ca9e52ca62f97e7e3 : SUCCESS in 5m 53s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/6b989acfb3e742028c3a6454b2c38011 : SUCCESS in 5m 23s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/bde7e61229aa432180966ad060852302 : SUCCESS in 5m 21s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/1fea5649cf774634969280f5fa965ce7 : SUCCESS in 1h 00m 49s\n- openstacksdk-tox-py38-tips https://zuul.opendev.org/t/openstack/build/7c1fde74137c4bbfa0bf97d6f67a145c : SUCCESS in 5m 54s\n- os-client-config-tox-py37-tips https://zuul.opendev.org/t/openstack/build/7b536cc314d74f6f9ffefb9183705df5 : SUCCESS in 5m 05s\n- osc-tox-py36-tips https://zuul.opendev.org/t/openstack/build/132b9d461cc441518500523ae124c579 : SUCCESS in 6m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2bbacc376b0e4cf89956a7f6480b6e94 : SUCCESS in 9m 20s\n- opendev-buildset-registry https://zuul.opendev.org/t/openstack/build/73efc078825a4ee6a40fef7d26531391 : SUCCESS in 1h 14m 08s\n- nodepool-build-image-siblings https://zuul.opendev.org/t/openstack/build/bf20644f70c0463f9cc0f3c69bc47ac2 : SUCCESS in 20m 09s\n- nodepool-functional-container-openstack-siblings https://zuul.opendev.org/t/openstack/build/fe874a008b39459695dcae3ce7fe42e4 : SUCCESS in 34m 09s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b8db391fadd048f18eea311bca292ed9 : SUCCESS in 59m 52s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/9ac4d75261eb45ddae10bf8dfe767781 : SUCCESS in 1h 25m 59s\n- openstacksdk-functional-devstack-senlin https://zuul.opendev.org/t/openstack/build/d4a8f1bd93f74bb7947a3549bba58fbd : SUCCESS in 1h 05m 08s","accounts_in_message":[],"_revision_number":1},{"id":"d0dfdd203d3dd5677ee8058c49d359cfdb14a48d","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-14 20:37:33.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a25a97ab47ed43a6836e51360f2dffd6 : SUCCESS in 1m 22s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"5c31eab09c49cfe7df5b3b397dbaf1447a602ace","revisions":{"5c31eab09c49cfe7df5b3b397dbaf1447a602ace":{"kind":"REWORK","_number":1,"created":"2020-10-13 01:40:18.000000000","uploader":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"ref":"refs/changes/64/757664/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/64/757664/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/64/757664/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/64/757664/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/64/757664/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/64/757664/1"}}},"commit":{"parents":[{"commit":"767660b0a0bc87c21d1a66deb0c1b32923e759cd","subject":"Fix hacking min version to 3.0.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/767660b0a0bc87c21d1a66deb0c1b32923e759cd"}]}],"author":{"name":"wu.shiming","email":"wushiming@yovole.com","date":"2020-10-13 01:38:56.000000000","tz":480},"committer":{"name":"wu.shiming","email":"wushiming@yovole.com","date":"2020-10-13 01:38:56.000000000","tz":480},"subject":"Replace assertItemsEqual with assertCountEqual","message":"Replace assertItemsEqual with assertCountEqual\n\nassertItemsEqual was removed from Python\u0027s unittest.TestCase in\nPython 3.3 [1][2]. We have been able to use them since then, because\ntesttools required unittest2, which still included it. With testtools\nremoving Python 2.7 support [3][4], we will lose support for\nassertItemsEqual, so we should switch to use assertCountEqual.\n\n[1] - https://bugs.python.org/issue17866\n[2] - https://hg.python.org/cpython/rev/d9921cb6e3cd\n[3] - testing-cabal/testtools#286\n[4] - testing-cabal/testtools#277\n\nChange-Id: I6c165f5600ba281ba41df78de8414404c411d44f\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/5c31eab09c49cfe7df5b3b397dbaf1447a602ace"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/5c31eab09c49cfe7df5b3b397dbaf1447a602ace"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
