)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"993f5746b479497ec70c967ae29bebaab7e99f8a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Skip tempest tests if ironic isn\u0027t available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit makes ironic tempest tests being skipped if ironic is"},{"line_number":10,"context_line":"disabled within tempest.conf."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I1ffcfa71fbc401d9eed03f53e6ad3792177e9ca8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5a74a57a_1ac32658","line":10,"updated":"2016-11-28 23:53:04.000000000","message":"Can an example be given of when this would occur? Since this is an Ironic tempest plugin. When are they bringing the plugin but not using Ironic.","commit_id":"5bc6165b1aa57fec790c22c32065874c90b222df"},{"author":{"_account_id":14885,"name":"Daniel Mellado","email":"dmellado@redhat.com","username":"daniel-mellado"},"change_message_id":"ab644b4e9ba9ccf9ad0d2b274e380f80ea7b71c1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Skip tempest tests if ironic isn\u0027t available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit makes ironic tempest tests being skipped if ironic is"},{"line_number":10,"context_line":"disabled within tempest.conf."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I1ffcfa71fbc401d9eed03f53e6ad3792177e9ca8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5a74a57a_a5667cb8","line":10,"in_reply_to":"5a74a57a_1ac32658","updated":"2016-11-29 11:54:48.000000000","message":"Hi @John, let me get you some examples. Even outside the gate you might end up wanting to run tempest on an environment where you\u0027ve ironic installed alongside several more in-tree projects. All the tempest plugins would show up but you might want to disable just a few.\n\nAnother example would be RDO, which installs rpm\u0027s. In that case tempest is installed from rpm, which wouldn\u0027t allow venvs and all the plug-ins entry points would be exposed.","commit_id":"5bc6165b1aa57fec790c22c32065874c90b222df"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a8018c313bcd88b4c2f5279934ae395e2d00711f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Skip tempest tests if ironic isn\u0027t available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit makes ironic tempest tests being skipped if ironic is"},{"line_number":10,"context_line":"disabled within tempest.conf."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I1ffcfa71fbc401d9eed03f53e6ad3792177e9ca8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5a74a57a_e894c937","line":10,"in_reply_to":"5a74a57a_a5667cb8","updated":"2016-11-29 12:18:13.000000000","message":"Please put something like that in the commit message.\n\nThanks.","commit_id":"5bc6165b1aa57fec790c22c32065874c90b222df"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"3b577c9b92e6a08bc7776acf9d4a948f45c18ced","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Skip tempest tests if ironic isn\u0027t available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit makes ironic tempest tests being skipped if ironic is"},{"line_number":10,"context_line":"disabled within tempest.conf."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This would allow to disable *only* the ironic tempest tests in an"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5a74a57a_c1d088cc","line":9,"updated":"2016-11-30 14:57:51.000000000","message":"s/being/be","commit_id":"5081ad350ac942aaf382c7df8f023b204db151d5"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"3b577c9b92e6a08bc7776acf9d4a948f45c18ced","unresolved":false,"context_lines":[{"line_number":10,"context_line":"disabled within tempest.conf."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This would allow to disable *only* the ironic tempest tests in an"},{"line_number":13,"context_line":"environment where multiple projects containing in-tree projects are"},{"line_number":14,"context_line":"installed. As the tempest in-tree plugins are discovered using their"},{"line_number":15,"context_line":"project\u0027s setup.cfg entry points, an user wanting to run tempest and not"},{"line_number":16,"context_line":"using virtualenvironments would be able to disable the execution. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5a74a57a_61e254a1","line":13,"updated":"2016-11-30 14:57:51.000000000","message":"s/in-tree projects/in-tree plugins/, maybe?","commit_id":"5081ad350ac942aaf382c7df8f023b204db151d5"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"3b577c9b92e6a08bc7776acf9d4a948f45c18ced","unresolved":false,"context_lines":[{"line_number":12,"context_line":"This would allow to disable *only* the ironic tempest tests in an"},{"line_number":13,"context_line":"environment where multiple projects containing in-tree projects are"},{"line_number":14,"context_line":"installed. As the tempest in-tree plugins are discovered using their"},{"line_number":15,"context_line":"project\u0027s setup.cfg entry points, an user wanting to run tempest and not"},{"line_number":16,"context_line":"using virtualenvironments would be able to disable the execution. This"},{"line_number":17,"context_line":"covers as well the packaged tempest usecase which can be found in"},{"line_number":18,"context_line":"distributions such as RDO."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5a74a57a_a1f2ac6d","line":15,"updated":"2016-11-30 14:57:51.000000000","message":"s/an user/a user","commit_id":"5081ad350ac942aaf382c7df8f023b204db151d5"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"3b577c9b92e6a08bc7776acf9d4a948f45c18ced","unresolved":false,"context_lines":[{"line_number":13,"context_line":"environment where multiple projects containing in-tree projects are"},{"line_number":14,"context_line":"installed. As the tempest in-tree plugins are discovered using their"},{"line_number":15,"context_line":"project\u0027s setup.cfg entry points, an user wanting to run tempest and not"},{"line_number":16,"context_line":"using virtualenvironments would be able to disable the execution. This"},{"line_number":17,"context_line":"covers as well the packaged tempest usecase which can be found in"},{"line_number":18,"context_line":"distributions such as RDO."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5a74a57a_21ff7c35","line":16,"updated":"2016-11-30 14:57:51.000000000","message":"I think \"virtualenvs\" is better - it\u0027s jargon, yes, but it\u0027s also standard and precise.","commit_id":"5081ad350ac942aaf382c7df8f023b204db151d5"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"3b577c9b92e6a08bc7776acf9d4a948f45c18ced","unresolved":false,"context_lines":[{"line_number":14,"context_line":"installed. As the tempest in-tree plugins are discovered using their"},{"line_number":15,"context_line":"project\u0027s setup.cfg entry points, an user wanting to run tempest and not"},{"line_number":16,"context_line":"using virtualenvironments would be able to disable the execution. This"},{"line_number":17,"context_line":"covers as well the packaged tempest usecase which can be found in"},{"line_number":18,"context_line":"distributions such as RDO."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I1ffcfa71fbc401d9eed03f53e6ad3792177e9ca8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5a74a57a_21869cb9","line":17,"updated":"2016-11-30 14:57:51.000000000","message":"\"the usecase where tempest is installed from an OS package\" would be a bit clearer, IMHO.","commit_id":"5081ad350ac942aaf382c7df8f023b204db151d5"}],"devstack/lib/ironic":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bf714a5d6cbea7c21dbd7f08002fe4c13ec5d393","unresolved":false,"context_lines":[{"line_number":1600,"context_line":"    iniset $TEMPEST_CONFIG auth create_isolated_networks False"},{"line_number":1601,"context_line":"    iniset $TEMPEST_CONFIG network-feature-enabled port_admin_state_change False"},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"    iniset $TEMPEST_CONFIG baremetal enabled_drivers $IRONIC_ENABLED_DRIVERS"},{"line_number":1604,"context_line":"}"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"function get_ironic_node_prefix {"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"5a74a57a_399b4bcb","line":1603,"updated":"2016-11-23 13:55:41.000000000","message":"this code is fine, but it won\u0027t run in grenade new phase (or rather, it will run incorrectly), so this variable will never be set in grenade new. this will break ironic-inspector grenade, I think","commit_id":"bfd6a3abbfaf8ddf8bfe0e04ea91849a8f817415"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"e9766c5f2e2ac434b9208b84b6038472f8d896e3","unresolved":false,"context_lines":[{"line_number":1600,"context_line":"    iniset $TEMPEST_CONFIG auth create_isolated_networks False"},{"line_number":1601,"context_line":"    iniset $TEMPEST_CONFIG network-feature-enabled port_admin_state_change False"},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"    iniset $TEMPEST_CONFIG baremetal enabled_drivers $IRONIC_ENABLED_DRIVERS"},{"line_number":1604,"context_line":"}"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"function get_ironic_node_prefix {"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"5a74a57a_1974cf33","line":1603,"in_reply_to":"5a74a57a_399b4bcb","updated":"2016-11-23 14:03:10.000000000","message":"+1 on that. It will make Inspector smoke tests skipped all the time :-/","commit_id":"bfd6a3abbfaf8ddf8bfe0e04ea91849a8f817415"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"57af9520702a6165a7c7424281237e6e26277317","unresolved":false,"context_lines":[{"line_number":1600,"context_line":"    iniset $TEMPEST_CONFIG auth create_isolated_networks False"},{"line_number":1601,"context_line":"    iniset $TEMPEST_CONFIG network-feature-enabled port_admin_state_change False"},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"    iniset $TEMPEST_CONFIG baremetal enabled_drivers $IRONIC_ENABLED_DRIVERS"},{"line_number":1604,"context_line":"}"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"function get_ironic_node_prefix {"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"5a74a57a_b97cbb21","line":1603,"in_reply_to":"5a74a57a_399b4bcb","updated":"2016-11-23 14:02:30.000000000","message":"+1, yeah with this change ironic-inspector smoke test will be skipped","commit_id":"bfd6a3abbfaf8ddf8bfe0e04ea91849a8f817415"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1625a89054621f511765b4b093ab37434e3ef8b6","unresolved":false,"context_lines":[{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    iniset $TEMPEST_CONFIG auth create_isolated_networks False"},{"line_number":1601,"context_line":"    iniset $TEMPEST_CONFIG network-feature-enabled port_admin_state_change False"},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"    iniset $TEMPEST_CONFIG baremetal enabled_drivers $IRONIC_ENABLED_DRIVERS"},{"line_number":1604,"context_line":"}"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"function get_ironic_node_prefix {"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"5a74a57a_61b6aa3e","line":1603,"range":{"start_line":1602,"start_character":0,"end_line":1603,"end_character":76},"updated":"2016-11-24 16:32:10.000000000","message":"please make sure your patch works without this line (see previous comment on why)","commit_id":"d28375cf13f0649cde762890ec1349b954938922"}],"ironic_tempest_plugin/config.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"745f7336c8443464ae0e7aeb351cc1314298d346","unresolved":false,"context_lines":[{"line_number":57,"context_line":"               help\u003d\"Timeout for Ironic node to reach the \""},{"line_number":58,"context_line":"                    \"wait-callback state after powering on.\"),"},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027enabled_drivers\u0027,"},{"line_number":60,"context_line":"               help\u003d\u0027Ironic enabled drivers\u0027)"},{"line_number":61,"context_line":"    # cfg.IntOpt(\u0027active_timeout\u0027,"},{"line_number":62,"context_line":"    #            default\u003d300,"},{"line_number":63,"context_line":"    #            help\u003d\"Timeout for Ironic node to completely provision\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a98d1f4_6e14fb43","line":60,"updated":"2016-09-29 13:12:30.000000000","message":"missing \",\"","commit_id":"3ad5cc459e2b7879cc5ba6276a39c417795b6715"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d673706403d2f291cdbafb11ad9f15dca022b2c9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest import config  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"service_option \u003d cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":22,"context_line":"                             default\u003dTrue,"},{"line_number":23,"context_line":"                             help\u003d\"Wether or not Ironic is expected to be \""},{"line_number":24,"context_line":"                                  \"available\")"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"baremetal_group \u003d cfg.OptGroup(name\u003d\u0027baremetal\u0027,"},{"line_number":27,"context_line":"                               title\u003d\u0027Baremetal provisioning service options\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a95cdbc_97033373","line":24,"range":{"start_line":21,"start_character":0,"end_line":24,"end_character":46},"updated":"2016-10-05 10:56:08.000000000","message":"Right now it does not do anything. Can we do the same as with BaremetalGroup? Add a service_available_group here, and add this option there, but commented out until it is removed from tempest. Or maybe remove it completely for now.","commit_id":"79ddd2d277c6b6fc207b7b5c9211812f4447c634"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ec977b6dbf9af0e7df6db421cccb3c0d8a1eb3ba","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest import config  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"service_option \u003d cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":22,"context_line":"                             default\u003dTrue,"},{"line_number":23,"context_line":"                             help\u003d\"Wether or not Ironic is expected to be \""},{"line_number":24,"context_line":"                                  \"available\")"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"baremetal_group \u003d cfg.OptGroup(name\u003d\u0027baremetal\u0027,"},{"line_number":27,"context_line":"                               title\u003d\u0027Baremetal provisioning service options\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a95cdbc_0d91d4f0","line":24,"range":{"start_line":21,"start_character":0,"end_line":24,"end_character":46},"in_reply_to":"1a95cdbc_0def14e9","updated":"2016-10-05 11:41:22.000000000","message":"When I say it is unused, this actual variable is not referenced anywhere, the config options is used, but it does not come from here, it does from tempest.\n\nWhat I was meaning is adding the following here:\n\n ServiceAvailableGroup \u003d [\n #    cfg.BoolOpt(\u0027ironic\u0027,\n #                default\u003dTrue,\n #                help\u003d\"Whether or not Ironic is expected to be available\"),\n ]\n\nAnd in the ironic_tempest_plugin/plugin.py, in the register_opts method, adding:\n\n config.register_opt_group(conf, config.service_available_group,\n                           project_config.ServiceAvailableGroup)\n\nAs the option is commented out, it won\u0027t throw an exception. When it is removed from tempest, we can just uncomment it.","commit_id":"79ddd2d277c6b6fc207b7b5c9211812f4447c634"},{"author":{"_account_id":14885,"name":"Daniel Mellado","email":"dmellado@redhat.com","username":"daniel-mellado"},"change_message_id":"f99551e4e621101470e181903cc62b9eb9322461","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest import config  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"service_option \u003d cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":22,"context_line":"                             default\u003dTrue,"},{"line_number":23,"context_line":"                             help\u003d\"Wether or not Ironic is expected to be \""},{"line_number":24,"context_line":"                                  \"available\")"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"baremetal_group \u003d cfg.OptGroup(name\u003d\u0027baremetal\u0027,"},{"line_number":27,"context_line":"                               title\u003d\u0027Baremetal provisioning service options\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a95cdbc_0def14e9","line":24,"range":{"start_line":21,"start_character":0,"end_line":24,"end_character":46},"in_reply_to":"1a95cdbc_97033373","updated":"2016-10-05 11:22:58.000000000","message":"Hey Vladyslav, adding a serive_available_group with this will make tempest throw duplicated errors, as there will always be such option in tempest, so not any point in trying to creating the group. Besides that, if you check the patch, it\u0027s now used within it.\n\nThanks!","commit_id":"79ddd2d277c6b6fc207b7b5c9211812f4447c634"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"0d31baa78f120fecec6f1690fcdc8327827fefae","unresolved":false,"context_lines":[{"line_number":57,"context_line":"               default\u003d15,"},{"line_number":58,"context_line":"               help\u003d\"Timeout for Ironic node to reach the \""},{"line_number":59,"context_line":"                    \"wait-callback state after powering on.\"),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027enabled_drivers\u0027,"},{"line_number":61,"context_line":"               help\u003d\u0027Ironic enabled drivers\u0027),"},{"line_number":62,"context_line":"    # cfg.IntOpt(\u0027active_timeout\u0027,"},{"line_number":63,"context_line":"    #            default\u003d300,"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6895a0_d19bd1c7","line":60,"updated":"2016-10-24 21:31:25.000000000","message":"Should that handle multiple values as one string?","commit_id":"fd0d0fd820c2447b55846ba1b29c40dcdd04a21b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bf714a5d6cbea7c21dbd7f08002fe4c13ec5d393","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                                    \u0027shelve, snapshot, and suspend\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"ServiceAvailableGroup \u003d ["},{"line_number":32,"context_line":"    # cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":33,"context_line":"    #             default\u003dTrue,"},{"line_number":34,"context_line":"    #             help\u003d\"Whether or not Ironic is expected to be available\")"},{"line_number":35,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a74a57a_19604fce","line":32,"updated":"2016-11-23 13:55:41.000000000","message":"+1 to the question","commit_id":"bfd6a3abbfaf8ddf8bfe0e04ea91849a8f817415"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"d33961a674a97ac7f7a64d9d14571fb45d0228d6","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                                    \u0027shelve, snapshot, and suspend\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"ServiceAvailableGroup \u003d ["},{"line_number":32,"context_line":"    # cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":33,"context_line":"    #             default\u003dTrue,"},{"line_number":34,"context_line":"    #             help\u003d\"Whether or not Ironic is expected to be available\")"},{"line_number":35,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a74a57a_1da5a503","line":32,"updated":"2016-11-23 10:45:47.000000000","message":"Is this meant to be commented out?","commit_id":"bfd6a3abbfaf8ddf8bfe0e04ea91849a8f817415"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"44d4d52f71e33d7ac5b25c92e1c7c7d920c3b669","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                                    \u0027shelve, snapshot, and suspend\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"ServiceAvailableGroup \u003d ["},{"line_number":32,"context_line":"    # cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":33,"context_line":"    #             default\u003dTrue,"},{"line_number":34,"context_line":"    #             help\u003d\"Whether or not Ironic is expected to be available\")"},{"line_number":35,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a74a57a_c53ee1b7","line":32,"in_reply_to":"5a74a57a_19604fce","updated":"2016-11-23 16:38:05.000000000","message":"Yup, see PS5, this option will be moved to ironic eventually, if i get things correctly.","commit_id":"bfd6a3abbfaf8ddf8bfe0e04ea91849a8f817415"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"3b577c9b92e6a08bc7776acf9d4a948f45c18ced","unresolved":false,"context_lines":[{"line_number":28,"context_line":"                                    \u0027live_migration, pause, rescue, resize, \u0027"},{"line_number":29,"context_line":"                                    \u0027shelve, snapshot, and suspend\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"ServiceAvailableGroup \u003d ["},{"line_number":32,"context_line":"    # cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":33,"context_line":"    #             default\u003dTrue,"},{"line_number":34,"context_line":"    #             help\u003d\"Whether or not Ironic is expected to be available\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a74a57a_7c259bac","line":31,"updated":"2016-11-30 14:57:51.000000000","message":"Please add \"# FIXME(dmellado) uncomment this code when the corresponding option is removed from tempest\", or something along those lines.","commit_id":"5081ad350ac942aaf382c7df8f023b204db151d5"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"aaca8f949ad6fd476e86171d6e944cbaee376e7b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                                    \u0027shelve, snapshot, and suspend\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"ServiceAvailableGroup \u003d ["},{"line_number":32,"context_line":"    # TODO(dmellado) uncomment this code when the corresponding option is"},{"line_number":33,"context_line":"    # removed from tempest"},{"line_number":34,"context_line":"    # cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":35,"context_line":"    #             default\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a71b18c_4e79372f","line":32,"updated":"2016-12-01 09:38:52.000000000","message":"maybe you already discussed it, but you can make the code more troublesome (i.e. no need to fix it when the option is removed from tempest) with a conditional registration (inside try...except), as it happens for example in sahara-tests:\nhttp://git.openstack.org/cgit/openstack/sahara-tests/tree/sahara_tempest_plugin/plugin.py#n37","commit_id":"7b3c50946438eefd210565e3cd3fc9cd3734d0a2"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"77bf879545d6316b2b88e9f446449faea9f12190","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    # cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":41,"context_line":"    #             default\u003dTrue,"},{"line_number":42,"context_line":"    #             help\u003d\"Whether or not Ironic is expected to be available\")"},{"line_number":43,"context_line":"]"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"BaremetalGroup \u003d ["},{"line_number":46,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_36034d0f","line":43,"updated":"2016-12-19 14:44:00.000000000","message":"We actually register this option in tempest\u0027s service_available group already, so I don\u0027t believe we\u0027ll ever need this. \n\nhttps://github.com/openstack/ironic/blob/master/ironic_tempest_plugin/config.py#L21\nhttps://github.com/openstack/ironic/blob/master/ironic_tempest_plugin/plugin.py#L34","commit_id":"eb2a17bc58a8401309bbc2b7ff8dc7a54f556811"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"77bf879545d6316b2b88e9f446449faea9f12190","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    \"Takes longer since Kilo as Ironic performs an extra \""},{"line_number":76,"context_line":"                    \"step in Node cleaning.\"),"},{"line_number":77,"context_line":"    cfg.StrOpt(\u0027enabled_drivers\u0027,"},{"line_number":78,"context_line":"               help\u003d\u0027Ironic enabled drivers\u0027),"},{"line_number":79,"context_line":"    cfg.StrOpt(\u0027min_microversion\u0027,"},{"line_number":80,"context_line":"               help\u003d\"Lower version of the test target microversion range. \""},{"line_number":81,"context_line":"                    \"The format is \u0027X.Y\u0027, where \u0027X\u0027 and \u0027Y\u0027 are int values. \""}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_83486589","line":78,"updated":"2016-12-19 14:44:00.000000000","message":"Why do we need this new option? I don\u0027t see what additional things it gives us, and no mention in the commit message.","commit_id":"eb2a17bc58a8401309bbc2b7ff8dc7a54f556811"}],"ironic_tempest_plugin/tests/api/admin/base.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"d7066171cf68770619e50c0cce768d0150498515","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def skip_checks(cls):"},{"line_number":63,"context_line":"        super(BaseBaremetalTest, cls).skip_checks()"},{"line_number":64,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":65,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":66,"context_line":"        if CONF.baremetal.driver not in SUPPORTED_DRIVERS:"},{"line_number":67,"context_line":"            skip_msg \u003d (\u0027%s skipped as Ironic driver %s is not supported for \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_86822051","line":64,"updated":"2016-09-29 08:11:47.000000000","message":"I think L66-70 do the same thing and should be removed.","commit_id":"dd8510b66e32affeb39d4d9bb585ee54c5042c9e"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f3f68900cca963c1587213975f612fdf12b3bb79","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def skip_checks(cls):"},{"line_number":63,"context_line":"        super(BaseBaremetalTest, cls).skip_checks()"},{"line_number":64,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":65,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":66,"context_line":"        if CONF.baremetal.driver not in SUPPORTED_DRIVERS:"},{"line_number":67,"context_line":"            skip_msg \u003d (\u0027%s skipped as Ironic driver %s is not supported for \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_4c911999","line":64,"in_reply_to":"3a98d1f4_46f2d8d3","updated":"2016-09-29 08:52:36.000000000","message":"Please have look at job artifacts, we do not set tempest baremetal.driver option at all, the default value which is fake is used here. This tests wasn\u0027t skipped because fake driver always present in ironic conf enabled_drivers. I would suggest to create new tempest conf variable: baremetal.enabled_drivers that corresponds to ironic enabled_drivers and check if at least one SUPPORTED_DRIVERS is enabled in current setup.","commit_id":"dd8510b66e32affeb39d4d9bb585ee54c5042c9e"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"d0ebf6d02dca03bb9227755b7b829c2f39a71f2d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def skip_checks(cls):"},{"line_number":63,"context_line":"        super(BaseBaremetalTest, cls).skip_checks()"},{"line_number":64,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":65,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":66,"context_line":"        if CONF.baremetal.driver not in SUPPORTED_DRIVERS:"},{"line_number":67,"context_line":"            skip_msg \u003d (\u0027%s skipped as Ironic driver %s is not supported for \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_adb61488","line":64,"in_reply_to":"3a98d1f4_4c911999","updated":"2016-09-29 10:45:45.000000000","message":"I\u0027d say the main point here is to reply on question which driver is supported by tempest here","commit_id":"dd8510b66e32affeb39d4d9bb585ee54c5042c9e"},{"author":{"_account_id":14885,"name":"Daniel Mellado","email":"dmellado@redhat.com","username":"daniel-mellado"},"change_message_id":"1d13406285323f7247bea0181f76f07919cfe391","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def skip_checks(cls):"},{"line_number":63,"context_line":"        super(BaseBaremetalTest, cls).skip_checks()"},{"line_number":64,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":65,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":66,"context_line":"        if CONF.baremetal.driver not in SUPPORTED_DRIVERS:"},{"line_number":67,"context_line":"            skip_msg \u003d (\u0027%s skipped as Ironic driver %s is not supported for \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_46f2d8d3","line":64,"in_reply_to":"3a98d1f4_86822051","updated":"2016-09-29 08:17:09.000000000","message":"Hi Vasyl, from what I did understand it\u0027s a slightly different case. L66-70 would check if the baremetal driver si the proper one (i.e. https://github.com/openstack/ironic/blob/master/ironic_tempest_plugin/tests/api/admin/base.py#L32) and this would just check if the service is available or not. Am I missing something?","commit_id":"dd8510b66e32affeb39d4d9bb585ee54c5042c9e"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"0d31baa78f120fecec6f1690fcdc8327827fefae","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        super(BaseBaremetalTest, cls).skip_checks()"},{"line_number":64,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":65,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":66,"context_line":"        if CONF.baremetal.enabled_drivers not in SUPPORTED_DRIVERS:"},{"line_number":67,"context_line":"            skip_msg \u003d (\u0027%s skipped as Ironic driver %s is not supported for \u0027"},{"line_number":68,"context_line":"                        \u0027testing.\u0027 %"},{"line_number":69,"context_line":"                        (cls.__name__, CONF.baremetal.driver))"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6895a0_713da5ba","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":8},"updated":"2016-10-24 21:31:25.000000000","message":"I think that if CONF.baremetal.enabled_drivers is a list, then this if will be always entered.\n(\u003clist_subset\u003e in \u003clist\u003e will return False, negation will be True)\n\nIf it\u0027s not a list, variable name in plural is misleading","commit_id":"fd0d0fd820c2447b55846ba1b29c40dcdd04a21b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"86058c95158d0bd70efdc6450ef22c1c107d727a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        super(BaseBaremetalTest, cls).skip_checks()"},{"line_number":64,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":65,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":66,"context_line":"        if CONF.baremetal.enabled_drivers not in SUPPORTED_DRIVERS:"},{"line_number":67,"context_line":"            skip_msg \u003d (\u0027%s skipped as Ironic driver %s is not supported for \u0027"},{"line_number":68,"context_line":"                        \u0027testing.\u0027 %"},{"line_number":69,"context_line":"                        (cls.__name__, CONF.baremetal.driver))"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_8aa44408","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":8},"in_reply_to":"9a629dbe_aa7028a5","updated":"2016-11-11 10:06:23.000000000","message":"s/at least on/at least one/","commit_id":"fd0d0fd820c2447b55846ba1b29c40dcdd04a21b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"98716cbf68029ea336fc81600d5fb5a0dd4659e6","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        super(BaseBaremetalTest, cls).skip_checks()"},{"line_number":64,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":65,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":66,"context_line":"        if CONF.baremetal.enabled_drivers not in SUPPORTED_DRIVERS:"},{"line_number":67,"context_line":"            skip_msg \u003d (\u0027%s skipped as Ironic driver %s is not supported for \u0027"},{"line_number":68,"context_line":"                        \u0027testing.\u0027 %"},{"line_number":69,"context_line":"                        (cls.__name__, CONF.baremetal.driver))"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_aa7028a5","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":8},"in_reply_to":"da6895a0_713da5ba","updated":"2016-11-11 10:05:47.000000000","message":"The API tests can be launched if at least on of SUPPORTED_DRIVERS is in enabled_drivers list, \n\n if not set(SUPPORTED_DRIVERS).intersection(CONF.baremetal.enabled_drivers):\n    raise clss skip...","commit_id":"fd0d0fd820c2447b55846ba1b29c40dcdd04a21b"}],"ironic_tempest_plugin/tests/scenario/baremetal_manager.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"d7066171cf68770619e50c0cce768d0150498515","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    def skip_checks(cls):"},{"line_number":60,"context_line":"        super(BaremetalScenarioTest, cls).skip_checks()"},{"line_number":61,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":62,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":63,"context_line":"        if not CONF.baremetal.driver_enabled:"},{"line_number":64,"context_line":"            msg \u003d \u0027Ironic not available or Ironic compute driver not enabled\u0027"},{"line_number":65,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_e681244c","line":62,"updated":"2016-09-29 08:11:47.000000000","message":"ditto L63-65 should be removed.","commit_id":"dd8510b66e32affeb39d4d9bb585ee54c5042c9e"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"d0ebf6d02dca03bb9227755b7b829c2f39a71f2d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    def skip_checks(cls):"},{"line_number":60,"context_line":"        super(BaremetalScenarioTest, cls).skip_checks()"},{"line_number":61,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":62,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":63,"context_line":"        if not CONF.baremetal.driver_enabled:"},{"line_number":64,"context_line":"            msg \u003d \u0027Ironic not available or Ironic compute driver not enabled\u0027"},{"line_number":65,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_cdaa80d4","line":62,"in_reply_to":"3a98d1f4_a1c1c6e6","updated":"2016-09-29 10:45:45.000000000","message":"+1, agree with Vasyl here, it doesn\u0027t make sense to have a few options to indicate whether the Ironic is enabled","commit_id":"dd8510b66e32affeb39d4d9bb585ee54c5042c9e"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f3f68900cca963c1587213975f612fdf12b3bb79","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    def skip_checks(cls):"},{"line_number":60,"context_line":"        super(BaremetalScenarioTest, cls).skip_checks()"},{"line_number":61,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":62,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":63,"context_line":"        if not CONF.baremetal.driver_enabled:"},{"line_number":64,"context_line":"            msg \u003d \u0027Ironic not available or Ironic compute driver not enabled\u0027"},{"line_number":65,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_a1c1c6e6","line":62,"in_reply_to":"3a98d1f4_c6998870","updated":"2016-09-29 08:52:36.000000000","message":"both baremetal.driver_enabled and service_available.ironic indicates whether Ironic is enabled or not. If ironic service is available, nova-compute with ironic virt driver will always present in deployment.","commit_id":"dd8510b66e32affeb39d4d9bb585ee54c5042c9e"},{"author":{"_account_id":14885,"name":"Daniel Mellado","email":"dmellado@redhat.com","username":"daniel-mellado"},"change_message_id":"1d13406285323f7247bea0181f76f07919cfe391","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    def skip_checks(cls):"},{"line_number":60,"context_line":"        super(BaremetalScenarioTest, cls).skip_checks()"},{"line_number":61,"context_line":"        if not CONF.service_available.ironic:"},{"line_number":62,"context_line":"            raise cls.skipException(\"Ironic support is required\")"},{"line_number":63,"context_line":"        if not CONF.baremetal.driver_enabled:"},{"line_number":64,"context_line":"            msg \u003d \u0027Ironic not available or Ironic compute driver not enabled\u0027"},{"line_number":65,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_c6998870","line":62,"in_reply_to":"3a98d1f4_e681244c","updated":"2016-09-29 08:17:09.000000000","message":"Almost the same here, this would check whether the Ironic nova-compute driver is enabled (driver_enabled \u003d false). So it looks like a legit different case for me.","commit_id":"dd8510b66e32affeb39d4d9bb585ee54c5042c9e"}]}
