)]}'
{"etc/ironic/ironic.conf.sample":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"5bdc49c14726105e90fb8c448175e3eeb9cba02b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Options defined in oslo.messaging"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"ba15a1d1_02bbcb76","line":1,"updated":"2015-09-19 05:46:45.000000000","message":"This CONF file seems not generated properly.  It doesn\u0027t have CORS section, it is missing an option in keystone group, etc.  Might need to regenerate the venv and then generate this file again.","commit_id":"2e6999d91aa44f8e9959dad9e1b25bf24a4b0944"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dfe197ec5c1352baea0933b01f35218c94e52157","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Options defined in oslo.messaging"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"ba15a1d1_9626e066","line":1,"in_reply_to":"ba15a1d1_02bbcb76","updated":"2015-09-22 14:57:29.000000000","message":"Done","commit_id":"2e6999d91aa44f8e9959dad9e1b25bf24a4b0944"}],"ironic/common/exception.py":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"5bdc49c14726105e90fb8c448175e3eeb9cba02b","unresolved":false,"context_lines":[{"line_number":347,"context_line":""},{"line_number":348,"context_line":"class SSHNodeNotFound(NotFound):"},{"line_number":349,"context_line":"    message \u003d _(\"SSH driver was not able to find a VM with any of the \""},{"line_number":350,"context_line":"                \"specified MACs: %(macs)s.\")"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"class UnsupportedDriverExtension(Invalid):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_c2cf1328","line":350,"updated":"2015-09-19 05:46:45.000000000","message":"s/specified MACs/specified MACs for %(node_uuid)s ?","commit_id":"2e6999d91aa44f8e9959dad9e1b25bf24a4b0944"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dfe197ec5c1352baea0933b01f35218c94e52157","unresolved":false,"context_lines":[{"line_number":347,"context_line":""},{"line_number":348,"context_line":"class SSHNodeNotFound(NotFound):"},{"line_number":349,"context_line":"    message \u003d _(\"SSH driver was not able to find a VM with any of the \""},{"line_number":350,"context_line":"                \"specified MACs: %(macs)s.\")"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"class UnsupportedDriverExtension(Invalid):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_761c6c13","line":350,"in_reply_to":"ba15a1d1_c2cf1328","updated":"2015-09-22 14:57:29.000000000","message":"Done","commit_id":"2e6999d91aa44f8e9959dad9e1b25bf24a4b0944"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"632a5a6cecab610f4228cd623d4baf2b08056676","unresolved":false,"context_lines":[{"line_number":347,"context_line":""},{"line_number":348,"context_line":"class SSHNodeNotFound(NotFound):"},{"line_number":349,"context_line":"    message \u003d _(\"SSH driver was not able to find a VM with any of the \""},{"line_number":350,"context_line":"                \"specified MACs: %(macs)s for node %(node)s.\")"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"class UnsupportedDriverExtension(Invalid):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_e648308d","line":350,"updated":"2015-10-01 14:11:54.000000000","message":"We already have a NodeNotFound exception. What\u0027s the advantage of having this new exception versus using the existing one?","commit_id":"63d5627bbbc806fcc286964ecf89da7ab76ec84a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dff9b6aede1add93f74d906064266d46738bba66","unresolved":false,"context_lines":[{"line_number":347,"context_line":""},{"line_number":348,"context_line":"class SSHNodeNotFound(NotFound):"},{"line_number":349,"context_line":"    message \u003d _(\"SSH driver was not able to find a VM with any of the \""},{"line_number":350,"context_line":"                \"specified MACs: %(macs)s for node %(node)s.\")"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"class UnsupportedDriverExtension(Invalid):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_2064cb47","line":350,"in_reply_to":"9a1a9d01_e648308d","updated":"2015-10-01 14:44:44.000000000","message":"It adds a MAC that it searches for in exception message, which is specific to SSH driver, so I thought it might be convenient. I can change it if it is OK to raise like this:\n\n raise NodeNotFound(_(\"SSH driver was not able to find a VM with any of the specified MACs: %(macs)s for node %(node)s.\"))","commit_id":"63d5627bbbc806fcc286964ecf89da7ab76ec84a"}],"ironic/drivers/modules/ssh.py":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"5bdc49c14726105e90fb8c448175e3eeb9cba02b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    cfg.StrOpt(\u0027libvirt_uri\u0027,"},{"line_number":51,"context_line":"               default\u003d\u0027qemu:///system\u0027,"},{"line_number":52,"context_line":"               help\u003d_(\u0027libvirt URI.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027get_host_name_retries\u0027,"},{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_42fb0348","line":53,"updated":"2015-09-19 05:46:45.000000000","message":"s/get_host_name_retries/get_hosts_name_retries/ \n\nDon\u0027t know if it\u0027s worth :)","commit_id":"2e6999d91aa44f8e9959dad9e1b25bf24a4b0944"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dfe197ec5c1352baea0933b01f35218c94e52157","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    cfg.StrOpt(\u0027libvirt_uri\u0027,"},{"line_number":51,"context_line":"               default\u003d\u0027qemu:///system\u0027,"},{"line_number":52,"context_line":"               help\u003d_(\u0027libvirt URI.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027get_host_name_retries\u0027,"},{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_56736880","line":53,"in_reply_to":"ba15a1d1_42fb0348","updated":"2015-09-22 14:57:29.000000000","message":"Done","commit_id":"2e6999d91aa44f8e9959dad9e1b25bf24a4b0944"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"5bdc49c14726105e90fb8c448175e3eeb9cba02b","unresolved":false,"context_lines":[{"line_number":439,"context_line":"            for host_mac in hosts_node_mac_list:"},{"line_number":440,"context_line":"                if not host_mac:"},{"line_number":441,"context_line":"                    continue"},{"line_number":442,"context_line":"                for node_mac in driver_info[\u0027macs\u0027]:"},{"line_number":443,"context_line":"                    if not node_mac:"},{"line_number":444,"context_line":"                        continue"},{"line_number":445,"context_line":"                    if _normalize_mac(host_mac) in _normalize_mac(node_mac):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_c28153c5","line":442,"updated":"2015-09-19 05:46:45.000000000","message":"Why not just replace lines 442-451 with\n\n  if _normalize_mac(host_mac) in node_mac:\n    return node\n\ndriver_info[\u0027macs\u0027] is obtained from ironic\u0027s inventory of ports and hence seems to be already normalized. and it cannot be None.","commit_id":"2e6999d91aa44f8e9959dad9e1b25bf24a4b0944"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dfe197ec5c1352baea0933b01f35218c94e52157","unresolved":false,"context_lines":[{"line_number":439,"context_line":"            for host_mac in hosts_node_mac_list:"},{"line_number":440,"context_line":"                if not host_mac:"},{"line_number":441,"context_line":"                    continue"},{"line_number":442,"context_line":"                for node_mac in driver_info[\u0027macs\u0027]:"},{"line_number":443,"context_line":"                    if not node_mac:"},{"line_number":444,"context_line":"                        continue"},{"line_number":445,"context_line":"                    if _normalize_mac(host_mac) in _normalize_mac(node_mac):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_965820fc","line":442,"in_reply_to":"ba15a1d1_c28153c5","updated":"2015-09-22 14:57:29.000000000","message":"_normalize_mac removes both : and - if present in mac. macs in ports are : separated, so they should be normalized too. As for \u0027if not node_mac\u0027 check, I agree it is unnecessary, will update it, thanks.","commit_id":"2e6999d91aa44f8e9959dad9e1b25bf24a4b0944"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"},{"line_number":57,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_retry_interval\u0027,"},{"line_number":58,"context_line":"               default\u003d3,"},{"line_number":59,"context_line":"               help\u003d_(\"Number of seconds to wait between attempts to get host \""},{"line_number":60,"context_line":"                      \"name corresponding to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_0e241bad","line":57,"updated":"2015-09-26 00:00:37.000000000","message":"Why not a float value? Would there be any value in retrying in 0.5 seconds?","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"4c36582309ad1810d3ab09468def344c2c8d80cd","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"},{"line_number":57,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_retry_interval\u0027,"},{"line_number":58,"context_line":"               default\u003d3,"},{"line_number":59,"context_line":"               help\u003d_(\"Number of seconds to wait between attempts to get host \""},{"line_number":60,"context_line":"                      \"name corresponding to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_803d4abd","line":57,"in_reply_to":"9a1a9d01_0e241bad","updated":"2015-09-27 20:09:52.000000000","message":"+1, I think this should be a flaot.","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":246,"context_line":"    :raises: NotImplementedError if the virt_type does not support"},{"line_number":247,"context_line":"        getting the boot device."},{"line_number":248,"context_line":"    :raises: SSHNodeNotFound if could not find a node corresponding to any"},{"line_number":249,"context_line":"        of provided MACs."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    \"\"\""},{"line_number":252,"context_line":"    cmd_to_exec \u003d driver_info[\u0027cmd_set\u0027].get(\u0027get_boot_device\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_8e5eeb10","line":249,"updated":"2015-09-26 00:00:37.000000000","message":"nit: s/provided/the provided/","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":273,"context_line":"    :raises: NotImplementedError if the virt_type does not support"},{"line_number":274,"context_line":"        setting the boot device."},{"line_number":275,"context_line":"    :raises: SSHNodeNotFound if could not find a node corresponding to any"},{"line_number":276,"context_line":"        of provided MACs."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    \"\"\""},{"line_number":279,"context_line":"    cmd_to_exec \u003d driver_info[\u0027cmd_set\u0027].get(\u0027set_boot_device\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_6e6357dd","line":276,"updated":"2015-09-26 00:00:37.000000000","message":"nit: s/provided/the provided/","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    :param driver_info: information for accessing the node."},{"line_number":425,"context_line":"    :returns: the name of the node."},{"line_number":426,"context_line":"    :raises: SSHNodeNotFound if could not find a node corresponding to any of"},{"line_number":427,"context_line":"        provided MACs"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    \"\"\""},{"line_number":430,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_ee09a72d","line":427,"updated":"2015-09-26 00:00:37.000000000","message":"nit: s/provided/the provided/","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":455,"context_line":"                for node_mac in driver_info[\u0027macs\u0027]:"},{"line_number":456,"context_line":"                    if _normalize_mac(host_mac) in _normalize_mac(node_mac):"},{"line_number":457,"context_line":"                        LOG.debug(\"Found Mac address: %s\" % node_mac)"},{"line_number":458,"context_line":"                        matched_name \u003d node"},{"line_number":459,"context_line":"                        break"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"                if matched_name:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_8ea90b7e","line":458,"updated":"2015-09-26 00:00:37.000000000","message":"I can\u0027t help but think:\n  return node\n\nAnd then getting rid of all the \u0027if matched_name\u0027\n\nBut I know that it can be considered bad form to have multiple exits from a function.","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":570,"context_line":"            incorrect."},{"line_number":571,"context_line":"        :raises: MissingParameterValue when a required parameter is missing"},{"line_number":572,"context_line":"        :raises: SSHNodeNotFound if could not find a node corresponding to any"},{"line_number":573,"context_line":"            of provided MACs."},{"line_number":574,"context_line":"        :raises: SSHCommandFailed on an error from ssh."},{"line_number":575,"context_line":"        :raises: SSHConnectFailed if ssh failed to connect to the node."},{"line_number":576,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_8ec02b2c","line":573,"updated":"2015-09-26 00:00:37.000000000","message":"nit: s/provided/the provided/","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            incorrect, or if the desired power state is invalid."},{"line_number":593,"context_line":"        :raises: MissingParameterValue when a required parameter is missing"},{"line_number":594,"context_line":"        :raises: SSHNodeNotFound if could not find a node corresponding to any"},{"line_number":595,"context_line":"            of provided MACs."},{"line_number":596,"context_line":"        :raises: PowerStateFailure if it failed to set power state to pstate."},{"line_number":597,"context_line":"        :raises: SSHCommandFailed on an error from ssh."},{"line_number":598,"context_line":"        :raises: SSHConnectFailed if ssh failed to connect to the node."}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_2edebf11","line":595,"updated":"2015-09-26 00:00:37.000000000","message":"nit: s/provided/the provided/","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":624,"context_line":"            incorrect."},{"line_number":625,"context_line":"        :raises: MissingParameterValue when a required parameter is missing"},{"line_number":626,"context_line":"        :raises: SSHNodeNotFound if could not find a node corresponding to any"},{"line_number":627,"context_line":"            of provided MACs."},{"line_number":628,"context_line":"        :raises: PowerStateFailure if it failed to set power state to POWER_ON."},{"line_number":629,"context_line":"        :raises: SSHCommandFailed on an error from ssh."},{"line_number":630,"context_line":"        :raises: SSHConnectFailed if ssh failed to connect to the node."}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_eee767e2","line":627,"updated":"2015-09-26 00:00:37.000000000","message":"nit: s/provided/the provided/","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":688,"context_line":"        :raises: NotImplementedError if the virt_type does not support"},{"line_number":689,"context_line":"            setting the boot device."},{"line_number":690,"context_line":"        :raises: SSHNodeNotFound if could not find a node corresponding to any"},{"line_number":691,"context_line":"            of provided MACs."},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"        \"\"\""},{"line_number":694,"context_line":"        node \u003d task.node"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_0eebbbb1","line":691,"updated":"2015-09-26 00:00:37.000000000","message":"nit: s/provided/the provided/","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"7c63888b06b2396db37ffaf87ba2e5e20777b3ca","unresolved":false,"context_lines":[{"line_number":723,"context_line":"        :raises: SSHConnectFailed if ssh failed to connect to the node."},{"line_number":724,"context_line":"        :raises: SSHCommandFailed on an error from ssh."},{"line_number":725,"context_line":"        :raises: SSHNodeNotFound if could not find a node corresponding to any"},{"line_number":726,"context_line":"            of provided MACs."},{"line_number":727,"context_line":"        :returns: a dictionary containing:"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":"            :boot_device: the boot device, one of"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_aed2cffe","line":726,"updated":"2015-09-26 00:00:37.000000000","message":"nit: s/provided/the provided/","commit_id":"c16f19115db80101189920ed0b1c9afe5f50182c"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"632a5a6cecab610f4228cd623d4baf2b08056676","unresolved":false,"context_lines":[{"line_number":52,"context_line":"               help\u003d_(\u0027libvirt URI.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_retries\u0027,"},{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"},{"line_number":57,"context_line":"    cfg.FloatOpt(\u0027get_hosts_name_retry_interval\u0027,"},{"line_number":58,"context_line":"                 default\u003d3.0,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_71f7f88c","line":55,"updated":"2015-10-01 14:11:54.000000000","message":"I always wonder if I am off by 1 when \u0027retries\u0027 or \u0027attempts\u0027 is used.\n\nWith \u0027retries\u0027, the max number of times we issue a command is retries+1.\n\nWith \u0027attempts\u0027, the max number of times we issue a command is attempts.\n\nIs this retries or attempts? The help string and the name of the config don\u0027t correspond.\n\nAlso, s/host name/VM name used by the host that/? Because it isn\u0027t the name of the host and it took me a few minutes to figure out what/why it was \u0027get_hosts_name\u0027 instead of \u0027get_host_name\u0027.","commit_id":"63d5627bbbc806fcc286964ecf89da7ab76ec84a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"dff9b6aede1add93f74d906064266d46738bba66","unresolved":false,"context_lines":[{"line_number":52,"context_line":"               help\u003d_(\u0027libvirt URI.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_retries\u0027,"},{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"},{"line_number":57,"context_line":"    cfg.FloatOpt(\u0027get_hosts_name_retry_interval\u0027,"},{"line_number":58,"context_line":"                 default\u003d3.0,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_033671b4","line":55,"in_reply_to":"9a1a9d01_71f7f88c","updated":"2015-10-01 14:44:44.000000000","message":"Done","commit_id":"63d5627bbbc806fcc286964ecf89da7ab76ec84a"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"632a5a6cecab610f4228cd623d4baf2b08056676","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"},{"line_number":57,"context_line":"    cfg.FloatOpt(\u0027get_hosts_name_retry_interval\u0027,"},{"line_number":58,"context_line":"                 default\u003d3.0,"},{"line_number":59,"context_line":"                 help\u003d_(\"Number of seconds to wait between attempts to get \""},{"line_number":60,"context_line":"                        \"host name corresponding to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_6be62918","line":57,"updated":"2015-10-01 14:11:54.000000000","message":"We have other configs that are used to specify the interval between attempts, and they are all Ints. For consistency, I would prefer that this was also an Int unless there is a good reason to have a Float.","commit_id":"63d5627bbbc806fcc286964ecf89da7ab76ec84a"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8e212fde76690072681f1b54d7c0c5c02a93ebf2","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"},{"line_number":57,"context_line":"    cfg.FloatOpt(\u0027get_hosts_name_retry_interval\u0027,"},{"line_number":58,"context_line":"                 default\u003d3.0,"},{"line_number":59,"context_line":"                 help\u003d_(\"Number of seconds to wait between attempts to get \""},{"line_number":60,"context_line":"                        \"host name corresponding to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_401f7fb7","line":57,"in_reply_to":"9a1a9d01_0cc0e3df","updated":"2015-10-01 14:33:18.000000000","message":"It may be that float might be better. But I don\u0027t think it makes sense to make this particular config float, whereas all the other interval-like configs are Ints. Seems confusing to the user/operator.","commit_id":"63d5627bbbc806fcc286964ecf89da7ab76ec84a"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"1901882fbc9b35f8979952ce40481fa65bb19e97","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get host name \""},{"line_number":56,"context_line":"                      \"corresponding to a node\u0027s MAC address.\")),"},{"line_number":57,"context_line":"    cfg.FloatOpt(\u0027get_hosts_name_retry_interval\u0027,"},{"line_number":58,"context_line":"                 default\u003d3.0,"},{"line_number":59,"context_line":"                 help\u003d_(\"Number of seconds to wait between attempts to get \""},{"line_number":60,"context_line":"                        \"host name corresponding to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_0cc0e3df","line":57,"in_reply_to":"9a1a9d01_6be62918","updated":"2015-10-01 14:17:47.000000000","message":"I would think Float is better. As maybe an operator would like the ability to specify 0.5 seconds or 0.1 seconds.","commit_id":"63d5627bbbc806fcc286964ecf89da7ab76ec84a"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"30eae9713ea0bb4b8ce04074e77228303699e5ad","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    cfg.StrOpt(\u0027libvirt_uri\u0027,"},{"line_number":51,"context_line":"               default\u003d\u0027qemu:///system\u0027,"},{"line_number":52,"context_line":"               help\u003d_(\u0027libvirt URI.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_attempts\u0027,"},{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get VM name used by the \""},{"line_number":56,"context_line":"                      \"host that corresponds to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_4870d672","line":53,"updated":"2015-10-06 16:42:23.000000000","message":"what do you think about renaming this \u0027get_vm_name_attempts\u0027?","commit_id":"6374b9a258b73ce4f277e24afb47d8e636b86284"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"66bdc2a6b23901e01f49a9d9a6fbb3231ae205a2","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    cfg.StrOpt(\u0027libvirt_uri\u0027,"},{"line_number":51,"context_line":"               default\u003d\u0027qemu:///system\u0027,"},{"line_number":52,"context_line":"               help\u003d_(\u0027libvirt URI.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_attempts\u0027,"},{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get VM name used by the \""},{"line_number":56,"context_line":"                      \"host that corresponds to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_4c519c61","line":53,"in_reply_to":"7a2fa921_1650985c","updated":"2015-10-07 14:37:16.000000000","message":"Done","commit_id":"6374b9a258b73ce4f277e24afb47d8e636b86284"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"da67a64158cbfb0945839c0c3e4244c674778440","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    cfg.StrOpt(\u0027libvirt_uri\u0027,"},{"line_number":51,"context_line":"               default\u003d\u0027qemu:///system\u0027,"},{"line_number":52,"context_line":"               help\u003d_(\u0027libvirt URI.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_attempts\u0027,"},{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get VM name used by the \""},{"line_number":56,"context_line":"                      \"host that corresponds to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_4b042949","line":53,"in_reply_to":"7a2fa921_4870d672","updated":"2015-10-07 13:05:32.000000000","message":"This was named to be like get_hosts_name_for_node function as it relates only to it. If you think it makes this clearer I can change it.","commit_id":"6374b9a258b73ce4f277e24afb47d8e636b86284"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"de74e982e4643533bb25db7b60403c555033bf72","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    cfg.StrOpt(\u0027libvirt_uri\u0027,"},{"line_number":51,"context_line":"               default\u003d\u0027qemu:///system\u0027,"},{"line_number":52,"context_line":"               help\u003d_(\u0027libvirt URI.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_attempts\u0027,"},{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get VM name used by the \""},{"line_number":56,"context_line":"                      \"host that corresponds to a node\u0027s MAC address.\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_1650985c","line":53,"in_reply_to":"7a2fa921_4b042949","updated":"2015-10-07 13:17:25.000000000","message":"When I first saw it I wondered and thought it should be \u0027get_host_name\u0027 until I realized it was named because of the function, so more like \u0027get_host\u0027s_name\u0027 for node. I think that \u0027get_hosts_name\u0027, without the help, is confusing. And whoever is looking at these configs most likely won\u0027t be a developer.\n\nSo I think \u0027get_vm_name\u0027 makes it clearer but that\u0027s my opinion only.","commit_id":"6374b9a258b73ce4f277e24afb47d8e636b86284"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"30eae9713ea0bb4b8ce04074e77228303699e5ad","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               default\u003d3,"},{"line_number":55,"context_line":"               help\u003d_(\"Number of attempts to try to get VM name used by the \""},{"line_number":56,"context_line":"                      \"host that corresponds to a node\u0027s MAC address.\")),"},{"line_number":57,"context_line":"    cfg.IntOpt(\u0027get_hosts_name_retry_interval\u0027,"},{"line_number":58,"context_line":"               default\u003d3,"},{"line_number":59,"context_line":"               help\u003d_(\"Number of seconds to wait between attempts to get \""},{"line_number":60,"context_line":"                      \"VM name used by the host that corresponds to a \""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_a805eac2","line":57,"updated":"2015-10-06 16:42:23.000000000","message":"what do you think about renaming this \u0027get_vm_name_retry_interval\u0027?","commit_id":"6374b9a258b73ce4f277e24afb47d8e636b86284"}],"ironic/tests/drivers/test_ssh.py":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"151898acabca8eb9d40e3f49e63bb5f936968b56","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        self.assertEqual(\u0027NodeName\u0027, found_name)"},{"line_number":336,"context_line":"        self.assertEqual(expected, exec_ssh_mock.call_args_list)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    @mock.patch.object(time, \u0027sleep\u0027, autospec\u003dTrue)"},{"line_number":339,"context_line":"    @mock.patch.object(processutils, \u0027ssh_execute\u0027, autospec\u003dTrue)"},{"line_number":340,"context_line":"    def test__get_hosts_name_for_node_no_match(self, exec_ssh_mock, time_mock):"},{"line_number":341,"context_line":"        self.config(group\u003d\u0027ssh\u0027, get_hosts_name_retries\u003d2)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_17dfcbd6","line":338,"updated":"2015-09-24 13:05:43.000000000","message":"sleep() call is retrying internal thing, please set get_hosts_name_retry_interval to 0 instead.","commit_id":"a17076ef29642b4f7064dd11dd71ddc93ff28ced"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"eb5050ba3e70f2e4614642ba9e4b20bad090f749","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        self.assertEqual(\u0027NodeName\u0027, found_name)"},{"line_number":336,"context_line":"        self.assertEqual(expected, exec_ssh_mock.call_args_list)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    @mock.patch.object(time, \u0027sleep\u0027, autospec\u003dTrue)"},{"line_number":339,"context_line":"    @mock.patch.object(processutils, \u0027ssh_execute\u0027, autospec\u003dTrue)"},{"line_number":340,"context_line":"    def test__get_hosts_name_for_node_no_match(self, exec_ssh_mock, time_mock):"},{"line_number":341,"context_line":"        self.config(group\u003d\u0027ssh\u0027, get_hosts_name_retries\u003d2)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_35038775","line":338,"in_reply_to":"ba15a1d1_17dfcbd6","updated":"2015-09-25 12:43:48.000000000","message":"Done","commit_id":"a17076ef29642b4f7064dd11dd71ddc93ff28ced"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"151898acabca8eb9d40e3f49e63bb5f936968b56","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        self.assertRaises(exception.SSHNodeNotFound,"},{"line_number":358,"context_line":"                          ssh._get_hosts_name_for_node, self.sshclient, info)"},{"line_number":359,"context_line":"        self.assertEqual(expected, exec_ssh_mock.call_args_list)"},{"line_number":360,"context_line":"        time_mock.assert_called_once_with("},{"line_number":361,"context_line":"            CONF.ssh.get_hosts_name_retry_interval)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    @mock.patch.object(time, \u0027sleep\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_779de708","line":360,"updated":"2015-09-24 13:05:43.000000000","message":"Please remove this check, sleep() call is retrying internal thing.","commit_id":"a17076ef29642b4f7064dd11dd71ddc93ff28ced"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"eb5050ba3e70f2e4614642ba9e4b20bad090f749","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        self.assertRaises(exception.SSHNodeNotFound,"},{"line_number":358,"context_line":"                          ssh._get_hosts_name_for_node, self.sshclient, info)"},{"line_number":359,"context_line":"        self.assertEqual(expected, exec_ssh_mock.call_args_list)"},{"line_number":360,"context_line":"        time_mock.assert_called_once_with("},{"line_number":361,"context_line":"            CONF.ssh.get_hosts_name_retry_interval)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    @mock.patch.object(time, \u0027sleep\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_b5ef97af","line":360,"in_reply_to":"ba15a1d1_779de708","updated":"2015-09-25 12:43:48.000000000","message":"Done","commit_id":"a17076ef29642b4f7064dd11dd71ddc93ff28ced"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"151898acabca8eb9d40e3f49e63bb5f936968b56","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        time_mock.assert_called_once_with("},{"line_number":361,"context_line":"            CONF.ssh.get_hosts_name_retry_interval)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    @mock.patch.object(time, \u0027sleep\u0027, autospec\u003dTrue)"},{"line_number":364,"context_line":"    @mock.patch.object(processutils, \u0027ssh_execute\u0027, autospec\u003dTrue)"},{"line_number":365,"context_line":"    def test__get_hosts_name_for_node_match_after_retry(self, exec_ssh_mock,"},{"line_number":366,"context_line":"                                                        time_mock):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_578783b4","line":363,"updated":"2015-09-24 13:05:43.000000000","message":"ditto","commit_id":"a17076ef29642b4f7064dd11dd71ddc93ff28ced"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"eb5050ba3e70f2e4614642ba9e4b20bad090f749","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        time_mock.assert_called_once_with("},{"line_number":361,"context_line":"            CONF.ssh.get_hosts_name_retry_interval)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    @mock.patch.object(time, \u0027sleep\u0027, autospec\u003dTrue)"},{"line_number":364,"context_line":"    @mock.patch.object(processutils, \u0027ssh_execute\u0027, autospec\u003dTrue)"},{"line_number":365,"context_line":"    def test__get_hosts_name_for_node_match_after_retry(self, exec_ssh_mock,"},{"line_number":366,"context_line":"                                                        time_mock):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_552b9beb","line":363,"in_reply_to":"ba15a1d1_578783b4","updated":"2015-09-25 12:43:48.000000000","message":"Done","commit_id":"a17076ef29642b4f7064dd11dd71ddc93ff28ced"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"151898acabca8eb9d40e3f49e63bb5f936968b56","unresolved":false,"context_lines":[{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        self.assertEqual(\u0027NodeName\u0027, found_name)"},{"line_number":388,"context_line":"        self.assertEqual(expected, exec_ssh_mock.call_args_list)"},{"line_number":389,"context_line":"        time_mock.assert_called_once_with("},{"line_number":390,"context_line":"            CONF.ssh.get_hosts_name_retry_interval)"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"    @mock.patch.object(processutils, \u0027ssh_execute\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_b7be1f63","line":389,"updated":"2015-09-24 13:05:43.000000000","message":"ditto","commit_id":"a17076ef29642b4f7064dd11dd71ddc93ff28ced"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"eb5050ba3e70f2e4614642ba9e4b20bad090f749","unresolved":false,"context_lines":[{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        self.assertEqual(\u0027NodeName\u0027, found_name)"},{"line_number":388,"context_line":"        self.assertEqual(expected, exec_ssh_mock.call_args_list)"},{"line_number":389,"context_line":"        time_mock.assert_called_once_with("},{"line_number":390,"context_line":"            CONF.ssh.get_hosts_name_retry_interval)"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"    @mock.patch.object(processutils, \u0027ssh_execute\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_75301f57","line":389,"in_reply_to":"ba15a1d1_b7be1f63","updated":"2015-09-25 12:43:48.000000000","message":"Done","commit_id":"a17076ef29642b4f7064dd11dd71ddc93ff28ced"}]}
