)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"8d7318a3232a31b01120df95fcca822c44a02e0c","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Hyper-V can also expose virtual FC ports to instances, which"},{"line_number":16,"context_line":"will be addressed in a separate commit."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Alin Balutoiu \u003cabalutoiu@cloudbasesolutions.com\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Partially-implements: blueprint hyperv-fibre-channel"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a7b0d38_00a8811e","line":17,"updated":"2015-12-23 18:04:38.000000000","message":"At some point one of these patches will need to include a DocImpact flag, these one seems to make the most sense. The following doc should be updated; http://docs.openstack.org/liberty/config-reference/content/fibrechannel.html","commit_id":"70bde4443a8588995ec5990e8e8e35342fa6c358"}],"nova/virt/hyperv/volumeops.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"6aec3ac218bbb68343461677ecdb1c24129dd587","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        connector \u003d {"},{"line_number":150,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip,"},{"line_number":151,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":152,"context_line":"        }"},{"line_number":153,"context_line":"        for volume_driver_type, volume_driver in self.volume_drivers.items():"},{"line_number":154,"context_line":"            connector_updates \u003d volume_driver.get_volume_connector_props()"},{"line_number":155,"context_line":"            connector.update(connector_updates)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa69d971_e673c97e","line":152,"range":{"start_line":152,"start_character":8,"end_line":152,"end_character":9},"updated":"2016-01-04 19:07:29.000000000","message":"One thing missing here is the multipath flag.  You need to return the multipath \u003d True or False if it\u0027s enabled on the host, to give Cinder drivers a chance to decide if they should export a volume via multipath or not.\n\nTake a look at os-brick\u0027s code for building the connector here:\nhttps://github.com/openstack/os-brick/blob/master/os_brick/initiator/connector.py#L121-L141\n\nAlso missing is \u0027platform\u0027, and \u0027os_type\u0027","commit_id":"23d27bec82ecaf3656e950f52d202bfafc6ede8e"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"8425e2b6eed2647db65a23232eece4269492ccf3","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        connector \u003d {"},{"line_number":150,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip,"},{"line_number":151,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":152,"context_line":"        }"},{"line_number":153,"context_line":"        for volume_driver_type, volume_driver in self.volume_drivers.items():"},{"line_number":154,"context_line":"            connector_updates \u003d volume_driver.get_volume_connector_props()"},{"line_number":155,"context_line":"            connector.update(connector_updates)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa69d971_bd461479","line":152,"range":{"start_line":152,"start_character":8,"end_line":152,"end_character":9},"in_reply_to":"fa69d971_426dc42f","updated":"2016-01-05 16:52:21.000000000","message":"I\u0027m not sure what you mean by vHBA\u0027s in this case.  Are these vHBAs in the host OS still?   AFAIK, the guest should only see 1 volume path, that path can be either a single path or a multipath device.  The guest doesn\u0027t really care.","commit_id":"23d27bec82ecaf3656e950f52d202bfafc6ede8e"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"588381bf61bcdd3e37e2274fd5d5d20141bdc47d","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        connector \u003d {"},{"line_number":150,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip,"},{"line_number":151,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":152,"context_line":"        }"},{"line_number":153,"context_line":"        for volume_driver_type, volume_driver in self.volume_drivers.items():"},{"line_number":154,"context_line":"            connector_updates \u003d volume_driver.get_volume_connector_props()"},{"line_number":155,"context_line":"            connector.update(connector_updates)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa69d971_ccea3474","line":152,"range":{"start_line":152,"start_character":8,"end_line":152,"end_character":9},"in_reply_to":"fa69d971_bd461479","updated":"2016-01-05 18:29:23.000000000","message":"Instead of exposing passthrough disks to the guest, we are considering exposing virtual HBAs by leveraging NPIV.\n\nThis would be an optional feature, having some performance benefits. Passthrough disks would be used by default, while the user could opt for using vHBAs.","commit_id":"23d27bec82ecaf3656e950f52d202bfafc6ede8e"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"0d7a37b718d0058fb68d826571e91f5f73abd1d0","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        connector \u003d {"},{"line_number":150,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip,"},{"line_number":151,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":152,"context_line":"        }"},{"line_number":153,"context_line":"        for volume_driver_type, volume_driver in self.volume_drivers.items():"},{"line_number":154,"context_line":"            connector_updates \u003d volume_driver.get_volume_connector_props()"},{"line_number":155,"context_line":"            connector.update(connector_updates)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6ed579_a0a575a2","line":152,"range":{"start_line":152,"start_character":8,"end_line":152,"end_character":9},"in_reply_to":"fa69d971_ccea3474","updated":"2016-01-14 18:11:19.000000000","message":"We should be consistent with how libvirt does this.   NPIV doesn\u0027t work for FC HBA\u0027s in linux.  I know this is for hyperv.   Just a thought.","commit_id":"23d27bec82ecaf3656e950f52d202bfafc6ede8e"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"29c9eca226239fd4cfba1c1dffc92637c0ab495d","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        connector \u003d {"},{"line_number":150,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip,"},{"line_number":151,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":152,"context_line":"        }"},{"line_number":153,"context_line":"        for volume_driver_type, volume_driver in self.volume_drivers.items():"},{"line_number":154,"context_line":"            connector_updates \u003d volume_driver.get_volume_connector_props()"},{"line_number":155,"context_line":"            connector.update(connector_updates)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa69d971_426dc42f","line":152,"range":{"start_line":152,"start_character":8,"end_line":152,"end_character":9},"in_reply_to":"fa69d971_e673c97e","updated":"2016-01-05 10:37:08.000000000","message":"Thanks for pointing this out. I\u0027ll add those fields in the next patch set.\n\nOne question though. We\u0027d like to support exposing virtual HBAs to instances in a later patch. Do you think that in that case, it would be safe to assume that multipath is supported by the guest?\n\nFor the other fields we may just use the image properties, also including the WWNN/WWPN of the virtual HBAs instead of the host HBAs.","commit_id":"23d27bec82ecaf3656e950f52d202bfafc6ede8e"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"cb6c311af408b0f0e3283c91cfeb1627e9d9dc1c","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        connector \u003d {"},{"line_number":173,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":174,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip,"},{"line_number":175,"context_line":"            \u0027multipath\u0027: CONF.hyperv.use_multipath_io,"},{"line_number":176,"context_line":"            \u0027os_type\u0027: sys.platform,"},{"line_number":177,"context_line":"            \u0027platform\u0027: platform.machine(),"},{"line_number":178,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_c053c969","line":175,"updated":"2016-01-14 18:18:04.000000000","message":"we should only set this to True if and only if, the Conf setting is True AND the host has multipath enabled and running.","commit_id":"ea4c02309d85e1f09609599af85135c5c9c23db6"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"ba91273affc016b80ede62a176d6c3f94c375176","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        connector \u003d {"},{"line_number":173,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":174,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip,"},{"line_number":175,"context_line":"            \u0027multipath\u0027: CONF.hyperv.use_multipath_io,"},{"line_number":176,"context_line":"            \u0027os_type\u0027: sys.platform,"},{"line_number":177,"context_line":"            \u0027platform\u0027: platform.machine(),"},{"line_number":178,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a5de9d1_fbe662e7","line":175,"in_reply_to":"da6ed579_2443d4b3","updated":"2016-01-27 16:30:39.000000000","message":"ok I missed that, this is probably fine then","commit_id":"ea4c02309d85e1f09609599af85135c5c9c23db6"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"c789e87d6b1dc6ce1606adaf177eaaa44e87769d","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        connector \u003d {"},{"line_number":173,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":174,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip,"},{"line_number":175,"context_line":"            \u0027multipath\u0027: CONF.hyperv.use_multipath_io,"},{"line_number":176,"context_line":"            \u0027os_type\u0027: sys.platform,"},{"line_number":177,"context_line":"            \u0027platform\u0027: platform.machine(),"},{"line_number":178,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_2443d4b3","line":175,"in_reply_to":"da6ed579_c053c969","updated":"2016-01-14 20:15:03.000000000","message":"We verify this during setup (line 88), raising an exception if multipath is requested but the service is not available.","commit_id":"ea4c02309d85e1f09609599af85135c5c9c23db6"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"cb6c311af408b0f0e3283c91cfeb1627e9d9dc1c","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    def get_mounted_disk_path_from_volume(connection_info):"},{"line_number":238,"context_line":"        pass"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def attach_volume(self, connection_info, instance_name, ebs_root\u003dFalse):"},{"line_number":241,"context_line":"        \"\"\"Attach a volume to the SCSI controller or to the IDE controller if"},{"line_number":242,"context_line":"        ebs_root is True"},{"line_number":243,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_c0af4928","line":240,"updated":"2016-01-14 18:18:04.000000000","message":"the libvirt volume driver calls this method connect_volume, and disconnect_volume.   Shouldn\u0027t we try to maintain parity with the libvirt volume interface.  I think it helps makes maintenance better.\n\nhttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume/volume.py#L128-L134","commit_id":"ea4c02309d85e1f09609599af85135c5c9c23db6"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"ba91273affc016b80ede62a176d6c3f94c375176","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    def get_mounted_disk_path_from_volume(connection_info):"},{"line_number":238,"context_line":"        pass"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def attach_volume(self, connection_info, instance_name, ebs_root\u003dFalse):"},{"line_number":241,"context_line":"        \"\"\"Attach a volume to the SCSI controller or to the IDE controller if"},{"line_number":242,"context_line":"        ebs_root is True"},{"line_number":243,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"7a5de9d1_9bc16e31","line":240,"in_reply_to":"da6ed579_a785865a","updated":"2016-01-27 16:30:39.000000000","message":"ok that makes sense.  thanks","commit_id":"ea4c02309d85e1f09609599af85135c5c9c23db6"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"c789e87d6b1dc6ce1606adaf177eaaa44e87769d","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    def get_mounted_disk_path_from_volume(connection_info):"},{"line_number":238,"context_line":"        pass"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def attach_volume(self, connection_info, instance_name, ebs_root\u003dFalse):"},{"line_number":241,"context_line":"        \"\"\"Attach a volume to the SCSI controller or to the IDE controller if"},{"line_number":242,"context_line":"        ebs_root is True"},{"line_number":243,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_a785865a","line":240,"in_reply_to":"da6ed579_c0af4928","updated":"2016-01-14 20:15:03.000000000","message":"Well, this is just moving the common code among Hyper-V volume drivers. Also, this method is not the equivalent of the \u0027connect_volume\u0027 method from the Libvirt driver, as it attaches a disk to an instance.\n\nI guess we\u0027ll make the volume driver interface more similar to the Libvirt one once we\u0027ll start using os-brick, which will be done in a separate patch (after we add Windows support for os-brick).","commit_id":"ea4c02309d85e1f09609599af85135c5c9c23db6"}]}
