)]}'
{"id":"openstack%2Frequirements~712315","triplet_id":"openstack%2Frequirements~master~Idba192945ee8980b6ee2d49ce9651dbedb479609","project":"openstack/requirements","branch":"master","hashtags":[],"change_id":"Idba192945ee8980b6ee2d49ce9651dbedb479609","subject":"Add pytest and it\u0027s plugins to global requirements","status":"MERGED","created":"2020-03-11 10:23:19.000000000","updated":"2020-03-12 17:19:01.000000000","submitted":"2020-03-12 17:16:35.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"712315-1584033395233-74ea99eb","meta_rev_id":"7897d181ad5e4ec46e9c9947e0691284c7796e04","_number":712315,"virtual_id_number":712315,"owner":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"date":"2020-03-11 17:51:24.000000000","_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},{"value":0,"date":"2020-03-11 21:25:00.000000000","_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":0,"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"value":0,"date":"2020-03-11 20:30:04.000000000","_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-03-12 17:16:34.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"all":[{"value":0,"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},{"value":2,"date":"2020-03-12 14:39:10.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":2,"date":"2020-03-12 15:37:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":1,"date":"2020-03-12 14:36:16.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"value":0,"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"all":[{"value":0,"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":1,"date":"2020-03-12 15:37:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":0,"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"value":0,"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-03-11 10:26:09.000000000","updated_by":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"reviewer":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"state":"REVIEWER"},{"updated":"2020-03-11 20:30:04.000000000","updated_by":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"reviewer":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"state":"REVIEWER"},{"updated":"2020-03-11 21:25:00.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2020-03-12 14:36:16.000000000","updated_by":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"reviewer":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"state":"REVIEWER"},{"updated":"2020-03-12 14:39:10.000000000","updated_by":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"reviewer":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"state":"REVIEWER"},{"updated":"2020-03-12 15:37:07.000000000","updated_by":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"reviewer":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"state":"REVIEWER"},{"updated":"2020-03-12 17:16:34.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":"9d0289170cea50bcf77e884a2bb0064ec62aa2cf","author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"date":"2020-03-11 10:23:19.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e40d4c4084a20e47bc6e44d027591fa9ff6c96c0","author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"date":"2020-03-11 11:00:49.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"b6a6eb1c6b26713f24b3996d0ad67baff6f30ad9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-11 12:57:08.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a75edc21319340ff8138b1cc0b849226 : SUCCESS in 4m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/04bf0fe3d28f46f8af3eee7c8b8006f4 : SUCCESS in 5m 16s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/46b572c2d82b4f3cb076e9730c70b7d6 : SUCCESS in 4m 07s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/2aa4a61357f247238fba6507cb945e42 : SUCCESS in 4m 34s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/6b19606d939747e0a3a6c1c6c0aec254 : SUCCESS in 4m 43s (non-voting)\n- openstack-tox-validate https://zuul.opendev.org/t/openstack/build/893ed56d414940b3ba62b7cdce06c208 : SUCCESS in 7m 31s\n- requirements-tox-babel https://zuul.opendev.org/t/openstack/build/cfff8b77ec2e4e2899bd9e45131e3724 : SUCCESS in 6m 02s\n- requirements-tox-py36-check-uc https://zuul.opendev.org/t/openstack/build/20dcdf3c718e4a9197a5a5f76842a3c6 : SUCCESS in 12m 14s\n- cross-cinder-py36 https://zuul.opendev.org/t/openstack/build/21dc32d7df6c431babdb8bbb14427144 : SUCCESS in 11m 32s\n- cross-glance-py36 https://zuul.opendev.org/t/openstack/build/853a8e53f94b445088f427d415fa1795 : SUCCESS in 5m 34s\n- cross-horizon-py36 https://zuul.opendev.org/t/openstack/build/b379d15d4f5d4ab9a0d1632626d14352 : SUCCESS in 9m 42s\n- cross-horizon-npm https://zuul.opendev.org/t/openstack/build/c0365a0244844ad986e503d880d76d77 : SUCCESS in 10m 21s\n- cross-keystone-py36 https://zuul.opendev.org/t/openstack/build/80beac229d184efa94c9e0723f1f9669 : SUCCESS in 26m 55s\n- cross-neutron-py36 https://zuul.opendev.org/t/openstack/build/f31f1af3010342a6b13e54eebaeea4d5 : SUCCESS in 27m 54s\n- cross-nova-py36 https://zuul.opendev.org/t/openstack/build/42beb93565ed40e3bbdae9d5f78abb5b : SUCCESS in 14m 31s\n- cross-nova-py37 https://zuul.opendev.org/t/openstack/build/6d92eff9243743cfb9d3908442f0ca56 : SUCCESS in 19m 59s\n- cross-nova-functional https://zuul.opendev.org/t/openstack/build/c29db12d832f4d03aab269ae2a40d4dc : SUCCESS in 18m 33s\n- cross-octavia-py36 https://zuul.opendev.org/t/openstack/build/449f07e1146d44b18add2615f82d2b8b : SUCCESS in 4m 49s\n- cross-octavia-py37 https://zuul.opendev.org/t/openstack/build/12d10c77023a43b7b8191743f25fed6f : SUCCESS in 10m 07s\n- cross-osc-tox-docs https://zuul.opendev.org/t/openstack/build/4c64881c7b594b4cb1e260dac00e243d : SUCCESS in 7m 04s\n- cross-swift-py27 https://zuul.opendev.org/t/openstack/build/eed93c733df14d00bf8d55e41880886b : SUCCESS in 9m 03s\n- cross-swift-py36 https://zuul.opendev.org/t/openstack/build/0e7aa820a9c7405aa49f3e3d7ae688f7 : SUCCESS in 12m 34s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/3232627747924e05aaa571b167275eeb : SUCCESS in 56m 41s\n- neutron-grenade-multinode https://zuul.opendev.org/t/openstack/build/0c7c4b579ace485e9d6377cac7eb0ff0 : SUCCESS in 1h 13m 51s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/c20f9f12c9ea409aa3cdc24a4e629a24 : SUCCESS in 1h 32m 03s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/f8856f784461493988235f6c311d553e : SUCCESS in 1h 00m 46s","accounts_in_message":[],"_revision_number":2},{"id":"50ce6b5424755f0cbab94c530b1d23f161ea1e66","author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"date":"2020-03-11 15:26:23.000000000","message":"Patch Set 2:\n\nPlease answer the questions from https://docs.openstack.org/project-team-guide/dependency-management.html#for-new-requirements for each new requirement.  I don\u0027t think pytest and it\u0027s plugins need to go into blacklist.txt because it\u0027s not a linter, but given it\u0027s usage openstack wide I\u0027d like to see something on the openstack-discuss list about this.","accounts_in_message":[],"_revision_number":2},{"id":"b4c69adbfcec8e9307672a8aa43ed2f5e386473f","author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"date":"2020-03-11 16:31:07.000000000","message":"Patch Set 2:\n\npytest:\n\n\nIs the library actively maintained?\nReferring to https://libraries.io/pypi/pytest, pytest is actively maintained and supported.\npytest is used by gunirocn, scipy, requests and many other big projects.\n\nIs the library good code?\npytest code has 96% coverage.\n\nLicense: MIT license.\n\nIs the library already packaged in the distros we target (Ubuntu latest / Fedora latest)?\nYes it is.\n\n\npytest-django:\n\nIs the library actively maintained?\nReferring to https://libraries.io/pypi/pytest-django, pytest-django is actively maintained and supported.\npytest-django is used by django-rest-framework and many other django libraries.\n\nIs the library good code?\npytest-django code has 98% coverage.\n\n\nIs the library python 3 compatible?\nYes it is.\n\nLicense: BSD License (BSD-3-Clause)\n\nIs the library already packaged in the distros we target (Ubuntu latest / Fedora latest)?\nYes it is.\n\n\npytest-html:\n\nIs the library actively maintained?\nReferring to https://libraries.io/pypi/pytest-html, pytest-html is actively maintained and supported.\npytest-html is used by Sentry .\n\nIs the library good code?\npytest-html code has 96% coverage.\n\nLicense: MPL 2.0\n\nIs the library already packaged in the distros we target (Ubuntu latest / Fedora latest)?\nNo\n\n\nFor all:\n\nIs the library python 3 compatible?\nYes they are.\n\nIs the function of this library already covered by other libraries in global-requirements.txt?\npytest analogue is unittest, but pytest has benefits like builtin xml exporter, pluguaility, fixtures etc. \n\nIs the library required for OpenStack project or related dev or infrastructure setup? (Answer to this should be Yes, of course) Which?\nThey’re required for horizon. https://review.opendev.org/#/c/711195/\n\nDo I need to update anything else?\nNo.\n\nAll licences are compatible with Apache 2.0","accounts_in_message":[],"_revision_number":2},{"id":"30d2acc2563d198446715b4c4e75b9aaae04cfa6","author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"date":"2020-03-11 17:00:04.000000000","message":"Patch Set 2:\n\nthat needs to be in the commit message :|","accounts_in_message":[],"_revision_number":2},{"id":"83067d0b94dea5105a0e8b94406fc127b6b11a06","author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"date":"2020-03-11 17:44:38.000000000","message":"Uploaded patch set 3: Commit message was updated.","accounts_in_message":[],"_revision_number":3},{"id":"73c91b504ca7a61417900200f86ddc6beb9bcf8f","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2020-03-11 17:49:13.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"f35f1dddd2c3cfacdf9de12535c3d221bc54f6b6","author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"date":"2020-03-11 17:50:08.000000000","message":"Patch Set 3: Code-Review+2\n\nthanks","accounts_in_message":[],"_revision_number":3},{"id":"4d8118883f26ecbbeb0c6919382df354f202af81","author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"date":"2020-03-11 17:50:33.000000000","message":"Patch Set 3: -Code-Review\n\nhmm, maybe, also haven\u0027t seen that email to -discuss","accounts_in_message":[],"_revision_number":3},{"id":"7876ab1d722455edd38fd93427d042a192079f90","author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"date":"2020-03-11 17:51:24.000000000","message":"Patch Set 3:\n\nstestr is simply test runner for unittest. pytest is testing framework, with (yes) it\u0027s own test runner included","accounts_in_message":[],"_revision_number":3},{"id":"e47afba037336c1faf3223548a699b1a0fad4210","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2020-03-11 20:08:11.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"a63e8eab29b9769b1e90a686228ca36a5a0ccb7c","author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"date":"2020-03-11 20:26:13.000000000","message":"Patch Set 3:\n\nWe\u0027ve had this discussion of why not pytest many times over the years and wrote down the reasoning in the project testing interface:\n\nhttps://governance.openstack.org/tc/reference/pti/python.html#python-test-running\n\n(although it specifically doesn\u0027t call out pytest by name, mostly because s/pytest/nose/g or s/pytest/nose2/g and it\u0027s still true)","accounts_in_message":[],"_revision_number":3},{"id":"d84c73ed20303e2146fb8d5d98cedfcd541c75d3","author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"date":"2020-03-11 20:30:04.000000000","message":"Patch Set 3:\n\nit\u0027s also worth noting that the subunit protocol that stestr emits is used for more than just generating the simple html view. It is necessary for both the stackviz view of a run in the hosted results (for example from this job: https://7dd927a4891851ac968e-517bfbb0b76f5445108257ba8a306671.ssl.cf5.rackcdn.com/712315/2/check/tempest-full-py3/c20f9f1/controller/logs/stackviz/index.html#/stdin/timeline ) and the aggregated view of all the tests in openstack-health: http://status.openstack.org/openstack-health/#/","accounts_in_message":[],"_revision_number":3},{"id":"589449895cfbc666af124e2f9a89a6fc4d648e18","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2020-03-11 21:25:00.000000000","message":"Patch Set 3:\n\nyes we have discussed pytest in the context of test runners in the past.\n\ncurrently horizon is using django test so i would guess its already not using subunit protocal to recored the results so swapping to pytest would not cnage that in horizons case.\n\nbut also they want to use the other part of pytest, the test framework to work around the non deterministic way the test are executed in so thttps://governance.openstack.org/tc/reference/pti/python.html#python-test-running is only related to part of this change it is not relvent for the test framework part.\n\nanyway i dont really mind too much one way or another im jsut trying to play devils advocate here but the way stestr uses the subunit protocol has been cause issue for nova for 2-3 release now when there is too much log output.\n\n\nanyway i don\u0027t think this is unreasonable to add even if we don\u0027t encourage other project to adopt it.\n\nim not sure if it still work by the way but \nhttps://pypi.org/project/pytest-subunit/\nwas ment to output the test result in subunit format although its not maintained anymore.","accounts_in_message":[],"_revision_number":3},{"id":"7bfa29884231a727dcd6128dfbc622fdfbf9caca","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-11 22:37:06.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c43db06785754912b98b29c9c87e29e1 : SUCCESS in 5m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b00a457fd5af44b580a9c7d153e14144 : SUCCESS in 4m 53s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/9c0093696cd64cfa813c29565fdbc1ec : SUCCESS in 4m 47s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/3e00f198fa77484a96baa53c4a875ab2 : SUCCESS in 5m 40s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/514c68ed9c3c42aa9c2dcf3aacc8f889 : SUCCESS in 5m 41s (non-voting)\n- openstack-tox-validate https://zuul.opendev.org/t/openstack/build/761b9d23f3714aee85aff98ccbae7a00 : SUCCESS in 3m 57s\n- requirements-tox-babel https://zuul.opendev.org/t/openstack/build/1cc4235f19d8471c88578c9e669ac70f : SUCCESS in 3m 26s\n- requirements-tox-py36-check-uc https://zuul.opendev.org/t/openstack/build/fdf5b3001eb84ca585b41a504b6e97cf : SUCCESS in 10m 57s\n- cross-cinder-py36 https://zuul.opendev.org/t/openstack/build/981385efaf9e4298b68fc1db2060bf20 : SUCCESS in 11m 39s\n- cross-glance-py36 https://zuul.opendev.org/t/openstack/build/903a2028f0cf4a93afd6bce81d9347ef : SUCCESS in 5m 58s\n- cross-horizon-py36 https://zuul.opendev.org/t/openstack/build/04b2b4729610482594d7d739bf23da69 : SUCCESS in 10m 56s\n- cross-horizon-npm https://zuul.opendev.org/t/openstack/build/a179fd572c1447359266ae84fb1a94b5 : SUCCESS in 8m 27s\n- cross-keystone-py36 https://zuul.opendev.org/t/openstack/build/3e72f6c664e84debab6496a75886ed93 : SUCCESS in 19m 59s\n- cross-neutron-py36 https://zuul.opendev.org/t/openstack/build/8e69fa078af646dc844eda9ff335d3b0 : SUCCESS in 28m 00s\n- cross-nova-py36 https://zuul.opendev.org/t/openstack/build/ccaaa787fc9a4d2bb3295f6c62b7cae5 : SUCCESS in 11m 46s\n- cross-nova-py37 https://zuul.opendev.org/t/openstack/build/77d772a2d83248fe82d55996a689a32a : SUCCESS in 15m 19s\n- cross-nova-functional https://zuul.opendev.org/t/openstack/build/0d27e158efe84153972a6d00ae996c02 : SUCCESS in 15m 01s\n- cross-octavia-py36 https://zuul.opendev.org/t/openstack/build/65872fd08cbe4948a582ebaad77e2dff : SUCCESS in 5m 21s\n- cross-octavia-py37 https://zuul.opendev.org/t/openstack/build/00bebdffd795447cb28400aafff51154 : SUCCESS in 7m 31s\n- cross-osc-tox-docs https://zuul.opendev.org/t/openstack/build/2cbccba6958f4484a1b192b70ada472d : SUCCESS in 8m 24s\n- cross-swift-py27 https://zuul.opendev.org/t/openstack/build/f4d45c13b05242bb8a01dd02ced3791b : SUCCESS in 10m 14s\n- cross-swift-py36 https://zuul.opendev.org/t/openstack/build/c95a34a156c24d658599c95aba512fa5 : SUCCESS in 12m 51s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/d0c2e1be97d04ef59b632a27b36f7fcb : SUCCESS in 58m 40s\n- neutron-grenade-multinode https://zuul.opendev.org/t/openstack/build/97ea2ba893b048a09140767b5dd30d75 : SUCCESS in 1h 03m 18s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f32eb66686c44c07b7fca0f3b518bb5a : SUCCESS in 1h 21m 32s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/db033b769a13441ebddc703a803b8ced : SUCCESS in 1h 13m 54s","accounts_in_message":[],"_revision_number":3},{"id":"e260c9b766f39227ade92be177c6cf89d122953f","author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"date":"2020-03-12 14:36:16.000000000","message":"Patch Set 3: Code-Review+1\n\nI\u0027m OK with this change because stestr doesn\u0027t work with django at the moment","accounts_in_message":[],"_revision_number":3},{"id":"509607a359c3aa11edec610e6941722e49f4c958","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2020-03-12 14:39:10.000000000","message":"Patch Set 3: Code-Review+2\n\nNot a fan, but there seems to be reason for it, so let\u0027s make sure it works.","accounts_in_message":[],"_revision_number":3},{"id":"7bf6475f76d2b0d24cdd4c2f9241c16a9a130702","author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"date":"2020-03-12 15:37:07.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\ngiven the NEED I think this is fine, even if not optimal","accounts_in_message":[],"_revision_number":3},{"id":"b6ee4f6e8293fb8e28b0ae8b4f4d1d7891f86e9e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-12 15:38:05.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"519b2558f7b1611a07206355d52d28d157b0b83d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-12 17:16:34.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a1e49052cf9a4382975fa7608c1e8a40 : SUCCESS in 5m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5e417e4133e64d5ba0818578f183bb70 : SUCCESS in 4m 24s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b0aadabed45a48efbc30bc043696226e : SUCCESS in 5m 07s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/e680844ac7964228b1f4ab3401549884 : SUCCESS in 6m 01s\n- openstack-tox-validate https://zuul.opendev.org/t/openstack/build/9fff84864a154b88a5ce9179d71f5592 : SUCCESS in 5m 12s\n- requirements-tox-babel https://zuul.opendev.org/t/openstack/build/65141a10f5e14d0195975d08000d8267 : SUCCESS in 4m 51s\n- requirements-tox-py36-check-uc https://zuul.opendev.org/t/openstack/build/b19bd1d360064591adc194ad43f40590 : SUCCESS in 10m 55s\n- cross-cinder-py36 https://zuul.opendev.org/t/openstack/build/2992d8e14257415e8f55ebd5df831f04 : SUCCESS in 10m 43s\n- cross-glance-py36 https://zuul.opendev.org/t/openstack/build/ad2e0dba6a1d49fe8bdf8fdc7bee0db6 : SUCCESS in 6m 27s\n- cross-horizon-py36 https://zuul.opendev.org/t/openstack/build/8b26fd657a714868bb3e9fdeab1c0b1c : SUCCESS in 11m 22s\n- cross-horizon-npm https://zuul.opendev.org/t/openstack/build/3a65de5b2e1644879a7d02109e622196 : SUCCESS in 7m 31s\n- cross-keystone-py36 https://zuul.opendev.org/t/openstack/build/3b4ab931870643c4a9bb49c7c271ca35 : SUCCESS in 16m 35s\n- cross-neutron-py36 https://zuul.opendev.org/t/openstack/build/64de8293baad45d8b73e3ed741910834 : SUCCESS in 27m 08s\n- cross-nova-py36 https://zuul.opendev.org/t/openstack/build/2b1dcc9c02d644b18ce960b7478342b2 : SUCCESS in 16m 09s\n- cross-nova-py37 https://zuul.opendev.org/t/openstack/build/99ae87557095434baf447f725343b038 : SUCCESS in 15m 23s\n- cross-nova-functional https://zuul.opendev.org/t/openstack/build/1b7f225a49c24d92a0f32d71d14f2a67 : SUCCESS in 17m 50s\n- cross-octavia-py36 https://zuul.opendev.org/t/openstack/build/4b2c6264a8f54f13ba51d22844d5803b : SUCCESS in 5m 33s\n- cross-octavia-py37 https://zuul.opendev.org/t/openstack/build/8ca3e4edecbb46a8a440cdf66399e9ce : SUCCESS in 8m 08s\n- cross-osc-tox-docs https://zuul.opendev.org/t/openstack/build/f86ebb28f767456186d4913301a7f5db : SUCCESS in 8m 24s\n- cross-swift-py27 https://zuul.opendev.org/t/openstack/build/f1486c8ec213491e85b02b62474517d4 : SUCCESS in 14m 10s\n- cross-swift-py36 https://zuul.opendev.org/t/openstack/build/d54b0437f7894391896f782004c0f34f : SUCCESS in 11m 17s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6a4729642326421c816278408ec92d9e : SUCCESS in 1h 01m 08s\n- neutron-grenade-multinode https://zuul.opendev.org/t/openstack/build/ec84edb1d22746fa9019501999dd0223 : SUCCESS in 1h 10m 23s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/dc353ee0a2884570b47e1fdf5dca4d06 : SUCCESS in 1h 29m 56s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/c75a17e1a7da44cab5690324c40ff2d3 : SUCCESS in 1h 03m 41s","accounts_in_message":[],"_revision_number":3},{"id":"e9b6e9686ae8c60b2097745966666d93dee3f89b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-12 17:16:35.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":3},{"id":"7897d181ad5e4ec46e9c9947e0691284c7796e04","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-12 17:19:01.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/928eab2c2a364f3ea4f8860d50bc48bd : SUCCESS in 1m 56s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"41bc11e2807275755018e8f2ead4047788b897c6","revisions":{"affd4bbc781f3d4dcfb895dcf4451612026dfd6a":{"kind":"REWORK","_number":1,"created":"2020-03-11 10:23:19.000000000","uploader":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"ref":"refs/changes/15/712315/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/requirements","ref":"refs/changes/15/712315/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/requirements refs/changes/15/712315/1"}}},"commit":{"parents":[{"commit":"3b9ce573c7802dc258de373ac655a7d3318c7b0f","subject":"Merge \"update constraint for openstacksdk to new release 0.43.0\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/3b9ce573c7802dc258de373ac655a7d3318c7b0f"}]}],"author":{"name":"Oleksii Petrenko","email":"opetrenko@mirantis.com","date":"2020-03-11 10:22:46.000000000","tz":120},"committer":{"name":"Oleksii Petrenko","email":"opetrenko@mirantis.com","date":"2020-03-11 10:22:46.000000000","tz":120},"subject":"Add pytest and it\u0027s plugins to global requirements","message":"Add pytest and it\u0027s plugins to global requirements\n\nAdds pytest, pytest-django and pytest-html to global openstack\nrequirements. This allows moving horizon from django tests to pytest\nwith additional benefits like exporting in xml and html formats.\n\nChange-Id: Idba192945ee8980b6ee2d49ce9651dbedb479609\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/affd4bbc781f3d4dcfb895dcf4451612026dfd6a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/affd4bbc781f3d4dcfb895dcf4451612026dfd6a"}]},"branch":"refs/heads/master"},"8bf3564a823555e46676000e023233da5ae9f7ff":{"kind":"REWORK","_number":2,"created":"2020-03-11 11:00:49.000000000","uploader":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"ref":"refs/changes/15/712315/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/requirements","ref":"refs/changes/15/712315/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/requirements refs/changes/15/712315/2"}}},"commit":{"parents":[{"commit":"3b9ce573c7802dc258de373ac655a7d3318c7b0f","subject":"Merge \"update constraint for openstacksdk to new release 0.43.0\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/3b9ce573c7802dc258de373ac655a7d3318c7b0f"}]}],"author":{"name":"Oleksii Petrenko","email":"opetrenko@mirantis.com","date":"2020-03-11 10:22:46.000000000","tz":120},"committer":{"name":"Oleksii Petrenko","email":"opetrenko@mirantis.com","date":"2020-03-11 11:00:37.000000000","tz":120},"subject":"Add pytest and it\u0027s plugins to global requirements","message":"Add pytest and it\u0027s plugins to global requirements\n\nAdds pytest, pytest-django and pytest-html to global openstack\nrequirements. This allows moving horizon from django tests to pytest\nwith additional benefits like exporting in xml and html formats.\n\nChange-Id: Idba192945ee8980b6ee2d49ce9651dbedb479609\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/8bf3564a823555e46676000e023233da5ae9f7ff"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/8bf3564a823555e46676000e023233da5ae9f7ff"}]},"branch":"refs/heads/master"},"41bc11e2807275755018e8f2ead4047788b897c6":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2020-03-11 17:44:38.000000000","uploader":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"ref":"refs/changes/15/712315/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/requirements","ref":"refs/changes/15/712315/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/requirements refs/changes/15/712315/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/requirements refs/changes/15/712315/3"}}},"commit":{"parents":[{"commit":"3b9ce573c7802dc258de373ac655a7d3318c7b0f","subject":"Merge \"update constraint for openstacksdk to new release 0.43.0\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/3b9ce573c7802dc258de373ac655a7d3318c7b0f"}]}],"author":{"name":"Oleksii Petrenko","email":"opetrenko@mirantis.com","date":"2020-03-11 10:22:46.000000000","tz":120},"committer":{"name":"Oleksii Petrenko","email":"opetrenko@mirantis.com","date":"2020-03-11 17:42:53.000000000","tz":120},"subject":"Add pytest and it\u0027s plugins to global requirements","message":"Add pytest and it\u0027s plugins to global requirements\n\nAdds pytest, pytest-django and pytest-html to global openstack\nrequirements. This allows moving horizon from django tests to pytest\nwith additional benefits like exporting in xml and html formats.\n\npytest:\n\nIs the library actively maintained?:\nReferring to https://libraries.io/pypi/pytest, pytest is actively\nmaintained and supported.\npytest is used by gunirocn, scipy, requests and many other big\nprojects.\n\nIs the library good code?: pytest code has 96% coverage.\n\nLicense: MIT license.\n\nIs the library already packaged in the distros we target\n(Ubuntu latest / Fedora latest)?: Yes it is.\n\npytest-django:\n\nIs the library actively maintained?:\nReferring to https://libraries.io/pypi/pytest-django, pytest-django\nis actively maintained and supported.\npytest-django is used by django-rest-framework and many other\ndjango libraries.\n\nIs the library good code?: pytest-django code has 98% coverage.\n\nIs the library python 3 compatible?: Yes it is.\n\nLicense: BSD License (BSD-3-Clause)\n\nIs the library already packaged in the distros we target\n(Ubuntu latest / Fedora latest)?: Yes it is.\n\npytest-html:\n\nIs the library actively maintained?:\nReferring to https://libraries.io/pypi/pytest-html, pytest-html\nis actively maintained and supported.\npytest-html is used by Sentry .\n\nIs the library good code?:\npytest-html code has 96% coverage.\n\nLicense: MPL 2.0\n\nIs the library already packaged in the distros we target\n(Ubuntu latest / Fedora latest)?: No\n\nFor all:\n\nIs the library python 3 compatible?: Yes they are.\n\nIs the function of this library already covered by other\nlibraries in global-requirements.txt?:\npytest analogue is unittest, but pytest has benefits like\nbuiltin xml exporter, pluguaility, fixtures etc.\n\nIs the library required for OpenStack project or related dev\nor infrastructure setup? (Answer to this should be Yes, of course)\nWhich?:\nThey’re required for horizon. https://review.opendev.org/#/c/711195/\n\nDo I need to update anything else?: No.\n\nAll licences are compatible with Apache 2.0\n\nChange-Id: Idba192945ee8980b6ee2d49ce9651dbedb479609\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/41bc11e2807275755018e8f2ead4047788b897c6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/41bc11e2807275755018e8f2ead4047788b897c6"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
