)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"3e4dc515967160a9a53a263796db23ecabd7b2e6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Vincent S. Cojot \u003cvincent@cojot.name\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-04-29 17:32:20 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"This small change makes the vbox driver work on headless VirtualBox machines"},{"line_number":8,"context_line":"(I.E: a workstation where an X display might not currently be running,"},{"line_number":9,"context_line":"a workstation where someone else is logged on the graphical desktop"},{"line_number":10,"context_line":"Closes-Bug: 1561624"},{"line_number":11,"context_line":"Signed-off-by: Vincent S. Cojot \u003cvincent@cojot.name\u003e"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a122d0e_f6a8fe8e","line":9,"range":{"start_line":7,"start_character":0,"end_line":9,"end_character":67},"updated":"2016-04-29 22:51:36.000000000","message":"I think the commit summary is a bit too long and the paragraph is not quite clear to me. For your reference: \nhttp://docs.openstack.org/infra/manual/developers.html#committing-a-change","commit_id":"6d8154f891a9b599aa18e15d9b4cd7e2e62a6e06"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"9ec8f29651f396a46d56902767d58562b9e731e2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Vincent S. Cojot \u003cvincent@cojot.name\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-04-29 19:30:41 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"This small change makes the vbox driver work on headless VirtualBox machines"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"On a workstation where an X display might not currently be running or"},{"line_number":10,"context_line":"a workstation where someone else is logged on the graphical desktop this"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a122d0e_8774f636","line":7,"updated":"2016-04-30 01:49:03.000000000","message":"I would like to suggest rephrasing the first line this way:\n\n\nMakes the vbox driver work on headless VirtualBox machines","commit_id":"162e9293c87d934b343129577e54132cca7bde2a"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"9ec8f29651f396a46d56902767d58562b9e731e2","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"On a workstation where an X display might not currently be running or"},{"line_number":10,"context_line":"a workstation where someone else is logged on the graphical desktop this"},{"line_number":11,"context_line":"small change helps get things working for using VirtualBox as the hypervisor"},{"line_number":12,"context_line":"driven by pxe_ssh."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: 1561624"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a122d0e_a72db2ff","line":11,"updated":"2016-04-30 01:49:03.000000000","message":"Nit: 72 character word-wrapping would be nice.","commit_id":"162e9293c87d934b343129577e54132cca7bde2a"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"5eee87fd0cc53164dda24b22e5836707519cc07c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"device to be set while the machine is on."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: 1561624"},{"line_number":20,"context_line":"Signed-off-by: Vincent S. Cojot \u003cvincent@cojot.name\u003e"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: If8d989cc3964e849544b139959b329a3fd05d451"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"bab6814e_a6e477ac","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":13},"updated":"2016-05-24 02:36:34.000000000","message":"According to the following openstack guide, this line is not necessary.\nhttps://wiki.openstack.org/wiki/GitCommitMessages\n\nNote: Although it is common practice across many open source projects using Git to include a \"Signed-off-by\" tag (generated by \u0027git commit -s\u0027), this is not required for OpenStack. Prior to gaining the ability to submit code to Gerrit, OpenStack requires that all contributors sign the CLA, which serves an equivalent purpose.","commit_id":"90eeba5facc6351da16c29047ba5c97e0674b646"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"57cccf938c7aafcb1913e856f3e0260aaea10e35","unresolved":false,"context_lines":[{"line_number":13,"context_line":"for headless mode support."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch also ensures that set_boot_device() always works by powering"},{"line_number":16,"context_line":"off the VM before setting the device. VirtualBox does not allow boot"},{"line_number":17,"context_line":"device to be set while the machine is on."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: 1561624"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":27,"id":"bab6814e_ed3637e6","line":16,"updated":"2016-05-24 15:47:02.000000000","message":"I thought it was fixed in https://review.openstack.org/#/c/290951/","commit_id":"887d2ffc73289680006a0b2ba27fe474512ca188"}],"ironic/drivers/modules/ssh.py":[{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"18bbad092f06af47dec16bc3923c5dcea3172e95","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        return {"},{"line_number":151,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":152,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} --type headless\u0027,"},{"line_number":153,"context_line":"            \u0027stop_cmd\u0027: \u0027controlvm {_NodeName_} poweroff --type headless\u0027,"},{"line_number":154,"context_line":"            \u0027reboot_cmd\u0027: \u0027controlvm {_NodeName_} reset --type headless\u0027,"},{"line_number":155,"context_line":"            \u0027list_all\u0027: \"list vms|awk -F\u0027\\\"\u0027 \u0027{print $2}\u0027\","},{"line_number":156,"context_line":"            \u0027list_running\u0027: \u0027list runningvms\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_fe268314","line":153,"range":{"start_line":153,"start_character":57,"end_line":153,"end_character":72},"updated":"2016-05-05 07:04:22.000000000","message":"IIRC, \u0027--type headless\u0027 is an option of startvm which specifies whether the machine will be started in a window, not sure why you also add it to controlvm here and below.","commit_id":"0a31a7c0313034b74cf2b9ca6a071c1645746fe9"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"523b6376e90689c06fa46330baa3b7c2069cf244","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        return {"},{"line_number":151,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":152,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} --type headless\u0027,"},{"line_number":153,"context_line":"            \u0027stop_cmd\u0027: \u0027controlvm {_NodeName_} poweroff --type headless\u0027,"},{"line_number":154,"context_line":"            \u0027reboot_cmd\u0027: \u0027controlvm {_NodeName_} reset --type headless\u0027,"},{"line_number":155,"context_line":"            \u0027list_all\u0027: \"list vms|awk -F\u0027\\\"\u0027 \u0027{print $2}\u0027\","},{"line_number":156,"context_line":"            \u0027list_running\u0027: \u0027list runningvms\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_e51655f0","line":153,"range":{"start_line":153,"start_character":57,"end_line":153,"end_character":72},"in_reply_to":"1a122d0e_dcb57332","updated":"2016-05-12 21:00:43.000000000","message":"+1 In local tests this actually causes a error.","commit_id":"0a31a7c0313034b74cf2b9ca6a071c1645746fe9"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a688f998b08cb80b6492b40d8d92e17eb8c73802","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        return {"},{"line_number":151,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":152,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} --type headless\u0027,"},{"line_number":153,"context_line":"            \u0027stop_cmd\u0027: \u0027controlvm {_NodeName_} poweroff --type headless\u0027,"},{"line_number":154,"context_line":"            \u0027reboot_cmd\u0027: \u0027controlvm {_NodeName_} reset --type headless\u0027,"},{"line_number":155,"context_line":"            \u0027list_all\u0027: \"list vms|awk -F\u0027\\\"\u0027 \u0027{print $2}\u0027\","},{"line_number":156,"context_line":"            \u0027list_running\u0027: \u0027list runningvms\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_dcb57332","line":153,"range":{"start_line":153,"start_character":57,"end_line":153,"end_character":72},"in_reply_to":"1a122d0e_fe268314","updated":"2016-05-05 17:22:41.000000000","message":"+1 controlvm does not have any \u0027--type\u0027 parameter\nhttps://www.virtualbox.org/manual/ch08.html","commit_id":"0a31a7c0313034b74cf2b9ca6a071c1645746fe9"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"533851a401c4cd02120f80835bc54b9760041d43","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        return {"},{"line_number":151,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":152,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} --type headless\u0027,"},{"line_number":153,"context_line":"            \u0027stop_cmd\u0027: \u0027controlvm {_NodeName_} poweroff --type headless\u0027,"},{"line_number":154,"context_line":"            \u0027reboot_cmd\u0027: \u0027controlvm {_NodeName_} reset --type headless\u0027,"},{"line_number":155,"context_line":"            \u0027list_all\u0027: \"list vms|awk -F\u0027\\\"\u0027 \u0027{print $2}\u0027\","},{"line_number":156,"context_line":"            \u0027list_running\u0027: \u0027list runningvms\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_a8ed3a8d","line":153,"range":{"start_line":153,"start_character":57,"end_line":153,"end_character":72},"in_reply_to":"dab17558_29582656","updated":"2016-05-18 20:22:25.000000000","message":"I think I agree with Vasyl here, I\u0027d suggest node.driver_info[\u0027headless\u0027] as a boolean, defaulting to False. You\u0027ll need to pass it in to this method from _parse_driver_info and do something like\n\nheadless_str \u003d \u0027\u0027\nif use_headless:\n    headless_str \u003d \u0027--type headless\u0027\n\n...\n\n\u0027start_cmd\u0027: \u0027startvm {_NodeName_} %s\u0027 % headless_str","commit_id":"0a31a7c0313034b74cf2b9ca6a071c1645746fe9"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"acdff7368af0852ffd09b3de983963f4c7d801bc","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        return {"},{"line_number":151,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":152,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} --type headless\u0027,"},{"line_number":153,"context_line":"            \u0027stop_cmd\u0027: \u0027controlvm {_NodeName_} poweroff --type headless\u0027,"},{"line_number":154,"context_line":"            \u0027reboot_cmd\u0027: \u0027controlvm {_NodeName_} reset --type headless\u0027,"},{"line_number":155,"context_line":"            \u0027list_all\u0027: \"list vms|awk -F\u0027\\\"\u0027 \u0027{print $2}\u0027\","},{"line_number":156,"context_line":"            \u0027list_running\u0027: \u0027list runningvms\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_29582656","line":153,"range":{"start_line":153,"start_character":57,"end_line":153,"end_character":72},"in_reply_to":"dab17558_e51655f0","updated":"2016-05-13 07:48:35.000000000","message":"+1 only startvm has a --type option.\n\nI think that this option should be configurable via driver_info field. User should be able to define wherever to start VM in headless or not mode.","commit_id":"0a31a7c0313034b74cf2b9ca6a071c1645746fe9"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"43bc667fb6496d36bc17b42d03526af932423c25","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            {\u0027virt_type\u0027: virt_type})"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"def _get_command_sets(virt_type, use_headless):"},{"line_number":138,"context_line":"    \"\"\"Retrieves the virt_type-specific commands to control power"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    Required commands are as follows:"}],"source_content_type":"text/x-python","patch_set":6,"id":"bab6814e_77a4c2a5","line":137,"range":{"start_line":137,"start_character":33,"end_line":137,"end_character":45},"updated":"2016-05-19 04:02:02.000000000","message":"Add this parameter to docstring","commit_id":"c4e767f736c20b46a0094665ccfc0d0d7d42698c"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"43bc667fb6496d36bc17b42d03526af932423c25","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        return {"},{"line_number":158,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":159,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} %s\u0027 % vbox_headless_str, "},{"line_number":160,"context_line":"            \u0027stop_cmd\u0027: \u0027controlvm {_NodeName_} poweroff %s\u0027 % vbox_headless_str,"},{"line_number":161,"context_line":"            \u0027reboot_cmd\u0027: \u0027controlvm {_NodeName_} reset %s\u0027 % vbox_headless_str,"},{"line_number":162,"context_line":"            \u0027list_all\u0027: \"list vms|awk -F\u0027\\\"\u0027 \u0027{print $2}\u0027\","},{"line_number":163,"context_line":"            \u0027list_running\u0027: \u0027list runningvms\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"bab6814e_d7664e28","line":160,"range":{"start_line":160,"start_character":56,"end_line":160,"end_character":81},"updated":"2016-05-19 04:02:02.000000000","message":"headless option is available only for startvm. Am I missing something\nhttp://download.virtualbox.org/virtualbox/5.0.0/UserManual.pdf","commit_id":"c4e767f736c20b46a0094665ccfc0d0d7d42698c"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"43bc667fb6496d36bc17b42d03526af932423c25","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":159,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} %s\u0027 % vbox_headless_str, "},{"line_number":160,"context_line":"            \u0027stop_cmd\u0027: \u0027controlvm {_NodeName_} poweroff %s\u0027 % vbox_headless_str,"},{"line_number":161,"context_line":"            \u0027reboot_cmd\u0027: \u0027controlvm {_NodeName_} reset %s\u0027 % vbox_headless_str,"},{"line_number":162,"context_line":"            \u0027list_all\u0027: \"list vms|awk -F\u0027\\\"\u0027 \u0027{print $2}\u0027\","},{"line_number":163,"context_line":"            \u0027list_running\u0027: \u0027list runningvms\u0027,"},{"line_number":164,"context_line":"            \u0027get_node_macs\u0027: ("}],"source_content_type":"text/x-python","patch_set":6,"id":"bab6814e_376eba01","line":161,"range":{"start_line":161,"start_character":55,"end_line":161,"end_character":80},"updated":"2016-05-19 04:02:02.000000000","message":"ditto","commit_id":"c4e767f736c20b46a0094665ccfc0d0d7d42698c"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"43bc667fb6496d36bc17b42d03526af932423c25","unresolved":false,"context_lines":[{"line_number":752,"context_line":"        use_headless \u003d driver_info[\u0027use_headless\u0027]"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":"        if virt_type \u003d\u003d \u0027vbox\u0027:"},{"line_number":755,"context_line":"            if use_headless \u003d\u003d True:"},{"line_number":756,"context_line":"                current_pstate \u003d _get_power_status(ssh_obj, driver_info)"},{"line_number":757,"context_line":"                LOG.debug(\"VBox Power State for VM %s: \u0027%s\u0027, \", node_name, current_pstate)"},{"line_number":758,"context_line":"                if current_pstate \u003d\u003d states.POWER_ON:"}],"source_content_type":"text/x-python","patch_set":6,"id":"bab6814e_1748d686","line":755,"range":{"start_line":755,"start_character":12,"end_line":755,"end_character":36},"updated":"2016-05-19 04:02:02.000000000","message":"Should be\nif use_headless:\n    ...\n    ...","commit_id":"c4e767f736c20b46a0094665ccfc0d0d7d42698c"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"c743275c8cc96210fadce43ada53e8729a31d400","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    \u0027ssh_port\u0027: _(\"port on the node to connect to; default is 22. Optional.\"),"},{"line_number":88,"context_line":"    \u0027vbox_use_headless\u0027: _(\"In the case of VirtualBox 5.x.y, allows the user.\""},{"line_number":89,"context_line":"                           \"to use a headless remote VirtualBox machine.\""},{"line_number":90,"context_line":"                           \"This must be true or false (default)\")"},{"line_number":91,"context_line":"}"},{"line_number":92,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"},{"line_number":93,"context_line":"COMMON_PROPERTIES.update(OTHER_PROPERTIES)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_c753fd69","line":90,"updated":"2016-05-20 03:47:10.000000000","message":"better add `Optional.` at end of this.","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"c743275c8cc96210fadce43ada53e8729a31d400","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            {\u0027virt_type\u0027: virt_type})"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"def _get_command_sets(virt_type, use_headless):"},{"line_number":138,"context_line":"    \"\"\"Retrieves the virt_type-specific commands to control power"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    use_headless is a boolean argument (defaults to false)."}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_0a8cec7d","line":137,"range":{"start_line":137,"start_character":33,"end_line":137,"end_character":45},"updated":"2016-05-20 03:47:10.000000000","message":"as you said it defaults to False, then you should use \nuse_headless\u003dFalse","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b07bd62f1409b8be8006d1a3ed733ad7e98ef523","unresolved":false,"context_lines":[{"line_number":166,"context_line":"            vbox_headless_str \u003d \u0027--type headless\u0027"},{"line_number":167,"context_line":"        LOG.debug(\"VBox Headless flag: %s (%s), \","},{"line_number":168,"context_line":"                  use_headless,"},{"line_number":169,"context_line":"                  vbox_headless_str)"},{"line_number":170,"context_line":"        return {"},{"line_number":171,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":172,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} %s\u0027 % vbox_headless_str,"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_9bc94529","line":169,"updated":"2016-05-20 09:37:31.000000000","message":"Not sure this needs to be logged like this (for every vbox action). When Ironic runs in debug mode the whole command line will be logged already, the --type headless will be there.","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"4ea057f323d1c252a98f43d7a4e87385761d6264","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                  vbox_headless_str)"},{"line_number":170,"context_line":"        return {"},{"line_number":171,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":172,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} %s\u0027 % vbox_headless_str,"},{"line_number":173,"context_line":"            \u0027stop_cmd\u0027: \u0027controlvm {_NodeName_} poweroff\u0027,"},{"line_number":174,"context_line":"            \u0027reboot_cmd\u0027: \u0027controlvm {_NodeName_} reset\u0027,"},{"line_number":175,"context_line":"            \u0027list_all\u0027: \"list vms|awk -F\u0027\\\"\u0027 \u0027{print $2}\u0027\","}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_bb337061","line":172,"range":{"start_line":172,"start_character":12,"end_line":172,"end_character":71},"updated":"2016-05-20 06:43:38.000000000","message":"Since the headless option is supported only on the vBox versions 5 onwards, it would be useful to add a check in the SSHPower.validate() to ensure that the installed vBOX software supports this option.\nhttps://github.com/openstack/ironic/blob/master/ironic/drivers/modules/ssh.py#L579\n\nSome version check to ensure that it is greater than 5.\n\u0027vboxmanage --version\u0027","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"c743275c8cc96210fadce43ada53e8729a31d400","unresolved":false,"context_lines":[{"line_number":387,"context_line":"    port \u003d utils.validate_network_port(port, \u0027ssh_port\u0027)"},{"line_number":388,"context_line":"    key_contents \u003d info.get(\u0027ssh_key_contents\u0027)"},{"line_number":389,"context_line":"    key_filename \u003d info.get(\u0027ssh_key_filename\u0027)"},{"line_number":390,"context_line":"    use_headless \u003d info.get(\u0027vbox_use_headless\u0027, \u0027False\u0027)"},{"line_number":391,"context_line":"    virt_type \u003d info.get(\u0027ssh_virt_type\u0027)"},{"line_number":392,"context_line":"    terminal_port \u003d info.get(\u0027ssh_terminal_port\u0027)"},{"line_number":393,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_aaa320ff","line":390,"range":{"start_line":390,"start_character":49,"end_line":390,"end_character":56},"updated":"2016-05-20 03:47:10.000000000","message":"you mean False, not a string right?\nAnd it\u0027s better to check the input to imporve the robust, because user could input `True` instead of true","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"4ea057f323d1c252a98f43d7a4e87385761d6264","unresolved":false,"context_lines":[{"line_number":387,"context_line":"    port \u003d utils.validate_network_port(port, \u0027ssh_port\u0027)"},{"line_number":388,"context_line":"    key_contents \u003d info.get(\u0027ssh_key_contents\u0027)"},{"line_number":389,"context_line":"    key_filename \u003d info.get(\u0027ssh_key_filename\u0027)"},{"line_number":390,"context_line":"    use_headless \u003d info.get(\u0027vbox_use_headless\u0027, \u0027False\u0027)"},{"line_number":391,"context_line":"    virt_type \u003d info.get(\u0027ssh_virt_type\u0027)"},{"line_number":392,"context_line":"    terminal_port \u003d info.get(\u0027ssh_terminal_port\u0027)"},{"line_number":393,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_bb0a5077","line":390,"range":{"start_line":390,"start_character":49,"end_line":390,"end_character":56},"in_reply_to":"bab6814e_aaa320ff","updated":"2016-05-20 06:43:38.000000000","message":"+1","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b07bd62f1409b8be8006d1a3ed733ad7e98ef523","unresolved":false,"context_lines":[{"line_number":387,"context_line":"    port \u003d utils.validate_network_port(port, \u0027ssh_port\u0027)"},{"line_number":388,"context_line":"    key_contents \u003d info.get(\u0027ssh_key_contents\u0027)"},{"line_number":389,"context_line":"    key_filename \u003d info.get(\u0027ssh_key_filename\u0027)"},{"line_number":390,"context_line":"    use_headless \u003d info.get(\u0027vbox_use_headless\u0027, \u0027False\u0027)"},{"line_number":391,"context_line":"    virt_type \u003d info.get(\u0027ssh_virt_type\u0027)"},{"line_number":392,"context_line":"    terminal_port \u003d info.get(\u0027ssh_terminal_port\u0027)"},{"line_number":393,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_7b9c610f","line":390,"range":{"start_line":390,"start_character":49,"end_line":390,"end_character":56},"in_reply_to":"bab6814e_bb0a5077","updated":"2016-05-20 09:37:31.000000000","message":"+1","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b07bd62f1409b8be8006d1a3ed733ad7e98ef523","unresolved":false,"context_lines":[{"line_number":769,"context_line":"                current_pstate \u003d _get_power_status(ssh_obj, driver_info)"},{"line_number":770,"context_line":"                LOG.debug(\"VBox Power State for VM %s: \u0027%s\u0027, \","},{"line_number":771,"context_line":"                          node_name,"},{"line_number":772,"context_line":"                          current_pstate)"},{"line_number":773,"context_line":"                if current_pstate \u003d\u003d states.POWER_ON:"},{"line_number":774,"context_line":"                    LOG.debug(\"Forcing VBox VM %s to off (Reason: was \u0027%s\u0027 ) \","},{"line_number":775,"context_line":"                              node_name,"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_e6aef8e4","line":772,"updated":"2016-05-20 09:37:31.000000000","message":"This log is not needed, we do have a sync_power_state periodic task that already logs the VM states periodically","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b07bd62f1409b8be8006d1a3ed733ad7e98ef523","unresolved":false,"context_lines":[{"line_number":771,"context_line":"                          node_name,"},{"line_number":772,"context_line":"                          current_pstate)"},{"line_number":773,"context_line":"                if current_pstate \u003d\u003d states.POWER_ON:"},{"line_number":774,"context_line":"                    LOG.debug(\"Forcing VBox VM %s to off (Reason: was \u0027%s\u0027 ) \","},{"line_number":775,"context_line":"                              node_name,"},{"line_number":776,"context_line":"                              current_pstate)"},{"line_number":777,"context_line":"                    _power_off(ssh_obj, driver_info)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_66d7a84b","line":774,"range":{"start_line":774,"start_character":58,"end_line":774,"end_character":75},"updated":"2016-05-20 09:37:31.000000000","message":"I believe we need a proper reason here, instead of \"Reason: was power on\"\n\nPerhaps something explaining why we need to force it to power off in order to change the boot device when it\u0027s in headless mode. (Very briefly)","commit_id":"7e61be9bfc9db852f6722276bd35922490bb65b7"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ccb234bd7ea7b11fb9ba96bb3891ae41aa72b67f","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    \"\"\""},{"line_number":163,"context_line":"    if virt_type \u003d\u003d \u0027vbox\u0027:"},{"line_number":164,"context_line":"        vbox_headless_str \u003d \u0027\u0027"},{"line_number":165,"context_line":"        if use_headless in ( True , \u0027True\u0027, \u0027true\u0027 ):"},{"line_number":166,"context_line":"            vbox_headless_str \u003d \u0027--type headless\u0027"},{"line_number":167,"context_line":"        LOG.debug(\"VBox Headless flag: %s (%s), \","},{"line_number":168,"context_line":"                  use_headless,"}],"source_content_type":"text/x-python","patch_set":12,"id":"bab6814e_b691acf3","line":165,"updated":"2016-05-20 15:16:15.000000000","message":"Instead of checking it like this, we should use the olso method to convert string to boolean (it\u0027s boolean compatible as well, in case the input is already a boolen) at line 390 (see comment there)","commit_id":"2902038ffb5d3403e27245d0b2babed5559ba871"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ccb234bd7ea7b11fb9ba96bb3891ae41aa72b67f","unresolved":false,"context_lines":[{"line_number":166,"context_line":"            vbox_headless_str \u003d \u0027--type headless\u0027"},{"line_number":167,"context_line":"        LOG.debug(\"VBox Headless flag: %s (%s), \","},{"line_number":168,"context_line":"                  use_headless,"},{"line_number":169,"context_line":"                  vbox_headless_str)"},{"line_number":170,"context_line":"        return {"},{"line_number":171,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":172,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} %s\u0027 % vbox_headless_str,"}],"source_content_type":"text/x-python","patch_set":12,"id":"bab6814e_56f7a08a","line":169,"updated":"2016-05-20 15:16:15.000000000","message":"Let\u0027s remove this debug message here, it\u0027s not useful since the whole command will already be logged by ironic in debug mode (the --type headless will be present in the message).\n\nAlso, this log does not include which node we are talking about, which makes it less useful in a multi node environment.","commit_id":"2902038ffb5d3403e27245d0b2babed5559ba871"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ccb234bd7ea7b11fb9ba96bb3891ae41aa72b67f","unresolved":false,"context_lines":[{"line_number":387,"context_line":"    port \u003d utils.validate_network_port(port, \u0027ssh_port\u0027)"},{"line_number":388,"context_line":"    key_contents \u003d info.get(\u0027ssh_key_contents\u0027)"},{"line_number":389,"context_line":"    key_filename \u003d info.get(\u0027ssh_key_filename\u0027)"},{"line_number":390,"context_line":"    use_headless \u003d info.get(\u0027vbox_use_headless\u0027, False)"},{"line_number":391,"context_line":"    virt_type \u003d info.get(\u0027ssh_virt_type\u0027)"},{"line_number":392,"context_line":"    terminal_port \u003d info.get(\u0027ssh_terminal_port\u0027)"},{"line_number":393,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"bab6814e_d669d0fa","line":390,"updated":"2016-05-20 15:16:15.000000000","message":"from oslo_utils import strutils\n\nuse_headless \u003d strutils.bool_from_string(info.get(\u0027vbox_use_headless\u0027, False))","commit_id":"2902038ffb5d3403e27245d0b2babed5559ba871"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ccb234bd7ea7b11fb9ba96bb3891ae41aa72b67f","unresolved":false,"context_lines":[{"line_number":769,"context_line":"                current_pstate \u003d _get_power_status(ssh_obj, driver_info)"},{"line_number":770,"context_line":"                if current_pstate \u003d\u003d states.POWER_ON:"},{"line_number":771,"context_line":"                    LOG.debug(\"Forcing VBox VM %s to off \""},{"line_number":772,"context_line":"                              \"(Reason: was \u0027%s\u0027 but VM must be \""},{"line_number":773,"context_line":"                              \"powered off prior to using modifyvm) \","},{"line_number":774,"context_line":"                              node_name,"},{"line_number":775,"context_line":"                              current_pstate)"}],"source_content_type":"text/x-python","patch_set":12,"id":"bab6814e_51dcca72","line":772,"range":{"start_line":772,"start_character":40,"end_line":772,"end_character":48},"updated":"2016-05-20 15:16:15.000000000","message":"\"was power on but\" sounds weird, may I suggest:\n\nLOG.debug(\u0027Forcing the VBox VM %s to power off in order to the set boot device command to take effect\u0027)","commit_id":"2902038ffb5d3403e27245d0b2babed5559ba871"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4dda08fc8b5e1587153aa790e2914febbd11a315","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                      \"ssh_key_filename must be specified.\"),"},{"line_number":89,"context_line":"    \u0027ssh_port\u0027: _(\"port on the node to connect to; default is 22. Optional.\"),"},{"line_number":90,"context_line":"    \u0027vbox_use_headless\u0027: _(\"True or False (Default). Optional.\""},{"line_number":91,"context_line":"                           \"In the case of VirtualBox 3 and above, allows the\""},{"line_number":92,"context_line":"                           \"user to use a headless remote VirtualBox machine.\")"},{"line_number":93,"context_line":"}"},{"line_number":94,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_0a1be881","line":91,"updated":"2016-05-23 14:25:20.000000000","message":"Commit message says 3.2 and above?","commit_id":"b6fee0f64a83b8c562d8e650d88bf4da90640dd4"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"59458d3e8aad9348d8529e3ad816ae290c8a9ba5","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            {\u0027virt_type\u0027: virt_type})"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"def _get_command_sets(virt_type, use_headless):"},{"line_number":140,"context_line":"    \"\"\"Retrieves the virt_type-specific commands to control power"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    use_headless is a boolean argument (defaults to false)."}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_d370940d","line":139,"range":{"start_line":139,"start_character":33,"end_line":139,"end_character":45},"updated":"2016-05-23 06:24:59.000000000","message":"It would be less error prone to add the default value as below, if \"use_headless is a boolean argument (defaults to false).\"\n\n s/use_headless/use_headless\u003dFalse/.","commit_id":"b6fee0f64a83b8c562d8e650d88bf4da90640dd4"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4dda08fc8b5e1587153aa790e2914febbd11a315","unresolved":false,"context_lines":[{"line_number":139,"context_line":"def _get_command_sets(virt_type, use_headless):"},{"line_number":140,"context_line":"    \"\"\"Retrieves the virt_type-specific commands to control power"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    use_headless is a boolean argument (defaults to false)."},{"line_number":143,"context_line":"    use_headless is used by some Hypervisors (only VBox v3.2 and above)"},{"line_number":144,"context_line":"    to determine if the hypervisor is being used on a headless box."},{"line_number":145,"context_line":"    This is only relevant to Desktop Hypervisors that have different"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_a52e4d89","line":142,"updated":"2016-05-23 14:25:20.000000000","message":"The usual notion of gow to describe parameters is\n\n :param use_headless: boolean value, defaults to False. It it used ...","commit_id":"b6fee0f64a83b8c562d8e650d88bf4da90640dd4"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"59458d3e8aad9348d8529e3ad816ae290c8a9ba5","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    \"\"\""},{"line_number":165,"context_line":"    if virt_type \u003d\u003d \u0027vbox\u0027:"},{"line_number":166,"context_line":"        vbox_headless_str \u003d \u0027\u0027"},{"line_number":167,"context_line":"        if use_headless is True:"},{"line_number":168,"context_line":"            vbox_headless_str \u003d \u0027--type headless\u0027"},{"line_number":169,"context_line":"        LOG.debug(\"VBox Headless flag for VM {_NodeName_} : %s (%s), \","},{"line_number":170,"context_line":"                  use_headless,"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_9359ec90","line":167,"range":{"start_line":167,"start_character":8,"end_line":167,"end_character":32},"updated":"2016-05-23 06:24:59.000000000","message":"It could be simplified to just as below:\n if use_headless:","commit_id":"b6fee0f64a83b8c562d8e650d88bf4da90640dd4"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4dda08fc8b5e1587153aa790e2914febbd11a315","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        vbox_headless_str \u003d \u0027\u0027"},{"line_number":167,"context_line":"        if use_headless is True:"},{"line_number":168,"context_line":"            vbox_headless_str \u003d \u0027--type headless\u0027"},{"line_number":169,"context_line":"        LOG.debug(\"VBox Headless flag for VM {_NodeName_} : %s (%s), \","},{"line_number":170,"context_line":"                  use_headless,"},{"line_number":171,"context_line":"                  vbox_headless_str)"},{"line_number":172,"context_line":"        return {"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_a5a76da5","line":169,"updated":"2016-05-23 14:25:20.000000000","message":"This won\u0027t output node name :) I think it should be removed. And it will be output every time _parse_driver_info will be triggered, which happens a lot.","commit_id":"b6fee0f64a83b8c562d8e650d88bf4da90640dd4"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4dda08fc8b5e1587153aa790e2914febbd11a315","unresolved":false,"context_lines":[{"line_number":763,"context_line":"        driver_info[\u0027macs\u0027] \u003d driver_utils.get_node_mac_addresses(task)"},{"line_number":764,"context_line":"        ssh_obj \u003d _get_connection(node)"},{"line_number":765,"context_line":""},{"line_number":766,"context_line":"        node_name \u003d _get_hosts_name_for_node(ssh_obj, driver_info)"},{"line_number":767,"context_line":"        virt_type \u003d driver_info[\u0027virt_type\u0027]"},{"line_number":768,"context_line":"        use_headless \u003d driver_info[\u0027use_headless\u0027]"},{"line_number":769,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_6038d3d3","line":766,"updated":"2016-05-23 14:25:20.000000000","message":"This logic should be unittested too (please take a look at tests/unit/drivers/modules/test_ssh.py) for examples.","commit_id":"b6fee0f64a83b8c562d8e650d88bf4da90640dd4"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"29e19f9d4b3e4e63e184c8bbf9f774657f028109","unresolved":false,"context_lines":[{"line_number":768,"context_line":"        use_headless \u003d driver_info[\u0027use_headless\u0027]"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"        if virt_type \u003d\u003d \u0027vbox\u0027:"},{"line_number":771,"context_line":"            if use_headless is True:"},{"line_number":772,"context_line":"                current_pstate \u003d _get_power_status(ssh_obj, driver_info)"},{"line_number":773,"context_line":"                if current_pstate \u003d\u003d states.POWER_ON:"},{"line_number":774,"context_line":"                    LOG.debug(\"Forcing VBox VM %s to power off \""}],"source_content_type":"text/x-python","patch_set":18,"id":"bab6814e_9b9281f4","line":771,"updated":"2016-05-23 16:37:42.000000000","message":"You can use: \nif use_headless:","commit_id":"8fc3123798d483f5218eed20653d458436ec54e2"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"6b35df1fe76f17a5befe793b2a0924b651ee0391","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                      \"private key. One of this, ssh_key_contents, or \""},{"line_number":88,"context_line":"                      \"ssh_key_filename must be specified.\"),"},{"line_number":89,"context_line":"    \u0027ssh_port\u0027: _(\"port on the node to connect to; default is 22. Optional.\"),"},{"line_number":90,"context_line":"    \u0027vbox_use_headless\u0027: _(\"True or False (Default). Optional.\""},{"line_number":91,"context_line":"                           \"In the case of VirtualBox 3.2 and above, allows the\""},{"line_number":92,"context_line":"                           \"user to use a headless remote VirtualBox machine.\")"},{"line_number":93,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":20,"id":"bab6814e_160f7c2f","line":90,"updated":"2016-05-23 20:02:04.000000000","message":"Nit: add a space before last \"","commit_id":"45b5784729fe9a58f5c3bd75c73938e7c7e5c248"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"6b35df1fe76f17a5befe793b2a0924b651ee0391","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                      \"ssh_key_filename must be specified.\"),"},{"line_number":89,"context_line":"    \u0027ssh_port\u0027: _(\"port on the node to connect to; default is 22. Optional.\"),"},{"line_number":90,"context_line":"    \u0027vbox_use_headless\u0027: _(\"True or False (Default). Optional.\""},{"line_number":91,"context_line":"                           \"In the case of VirtualBox 3.2 and above, allows the\""},{"line_number":92,"context_line":"                           \"user to use a headless remote VirtualBox machine.\")"},{"line_number":93,"context_line":"}"},{"line_number":94,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"}],"source_content_type":"text/x-python","patch_set":20,"id":"bab6814e_f6075816","line":91,"updated":"2016-05-23 20:02:04.000000000","message":"Ditto","commit_id":"45b5784729fe9a58f5c3bd75c73938e7c7e5c248"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"6b35df1fe76f17a5befe793b2a0924b651ee0391","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    makes this distinction and allows \"--type headless\" to some of"},{"line_number":151,"context_line":"    its sub-commands. This is needed for support of tripleo with"},{"line_number":152,"context_line":"    VBox as the Hypervisor but some other Hypervisors could make"},{"line_number":153,"context_line":"    use of it in the future (Parallels, VMWare Workstation, etc...)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    Required commands are as follows:"},{"line_number":156,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"bab6814e_761c086b","line":153,"updated":"2016-05-23 20:02:04.000000000","message":"Nit: indent this","commit_id":"45b5784729fe9a58f5c3bd75c73938e7c7e5c248"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"6b35df1fe76f17a5befe793b2a0924b651ee0391","unresolved":false,"context_lines":[{"line_number":167,"context_line":"    if virt_type \u003d\u003d \u0027vbox\u0027:"},{"line_number":168,"context_line":"        vbox_headless_str \u003d \u0027\u0027"},{"line_number":169,"context_line":"        if use_headless:"},{"line_number":170,"context_line":"            vbox_headless_str \u003d \u0027--type headless\u0027"},{"line_number":171,"context_line":"        return {"},{"line_number":172,"context_line":"            \u0027base_cmd\u0027: \u0027LC_ALL\u003dC /usr/bin/VBoxManage\u0027,"},{"line_number":173,"context_line":"            \u0027start_cmd\u0027: \u0027startvm {_NodeName_} %s\u0027 % vbox_headless_str,"}],"source_content_type":"text/x-python","patch_set":20,"id":"bab6814e_d6a854de","line":170,"updated":"2016-05-23 20:02:04.000000000","message":"This\u0027ll need a test, too","commit_id":"45b5784729fe9a58f5c3bd75c73938e7c7e5c248"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"5eee87fd0cc53164dda24b22e5836707519cc07c","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            {\u0027virt_type\u0027: virt_type})"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"def _get_command_sets(virt_type, use_headless):"},{"line_number":141,"context_line":"    \"\"\"Retrieves the virt_type-specific commands to control power"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    :param virt_type: Hypervisor type (virsh, vmware, vbox, parallels,"}],"source_content_type":"text/x-python","patch_set":25,"id":"bab6814e_46fe6b39","line":140,"range":{"start_line":140,"start_character":33,"end_line":140,"end_character":45},"updated":"2016-05-24 02:36:34.000000000","message":"please look at the comment at L.144.\n\ns/use_headless/use_headless\u003dFalse/","commit_id":"90eeba5facc6351da16c29047ba5c97e0674b646"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"5eee87fd0cc53164dda24b22e5836707519cc07c","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    :param virt_type: Hypervisor type (virsh, vmware, vbox, parallels,"},{"line_number":144,"context_line":"        xenserver)"},{"line_number":145,"context_line":"    :param use_headless: boolean value, defaults to False."},{"line_number":146,"context_line":"        use_headless is used by some Hypervisors (only VBox v3.2 and above)"},{"line_number":147,"context_line":"        to determine if the hypervisor is being used on a headless box."},{"line_number":148,"context_line":"        This is only relevant to Desktop Hypervisors that have different"}],"source_content_type":"text/x-python","patch_set":25,"id":"bab6814e_e6931fff","line":145,"range":{"start_line":145,"start_character":40,"end_line":145,"end_character":58},"updated":"2016-05-24 02:36:34.000000000","message":"If the default value of use_headless is False, the parameter of the function had better to have the default value.\nBecause currently use_headless doesn\u0027t have any default value.","commit_id":"90eeba5facc6351da16c29047ba5c97e0674b646"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"29558a03bab8ae3ea80a149ce666f7bde31eeacb","unresolved":false,"context_lines":[{"line_number":768,"context_line":"        use_headless \u003d driver_info[\u0027use_headless\u0027]"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"        if virt_type \u003d\u003d \u0027vbox\u0027:"},{"line_number":771,"context_line":"            if use_headless:"},{"line_number":772,"context_line":"                current_pstate \u003d _get_power_status(ssh_obj, driver_info)"},{"line_number":773,"context_line":"                if current_pstate \u003d\u003d states.POWER_ON:"},{"line_number":774,"context_line":"                    LOG.debug(\"Forcing VBox VM %s to power off \""}],"source_content_type":"text/x-python","patch_set":25,"id":"bab6814e_46caeb6f","line":771,"updated":"2016-05-24 02:13:33.000000000","message":"Does setting boot device with the machine on work with non-headless machines?","commit_id":"90eeba5facc6351da16c29047ba5c97e0674b646"}]}
