)]}'
{"doc/source/admin/share_back_ends_feature_support_mapping.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"63d4b02a9bc1572b4c1e26becabfafb20e063775","unresolved":false,"context_lines":[{"line_number":146,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":147,"context_line":"|              Oracle ZFSSA              |  NFS,CIFS(K) |      \\-      |       \\-       |     \\-     |      \\-      |      \\-      |      \\-      |       \\-       |     \\-     |     \\-     |"},{"line_number":148,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":149,"context_line":"|                 CephFS                 |    NFS (P)   | NFS (T)      |       \\-       |     \\-     |  CEPHFS (M)  |    NFS (P)   |    NFS (T)   |       \\-       |     \\-     | CEPHFS (N) |"},{"line_number":150,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":151,"context_line":"|                 Tegile                 |    NFS (M)   |      \\-      |NFS (M),CIFS (M)|     \\-     |      \\-      |    NFS (M)   |      \\-      |NFS (M),CIFS (M)|     \\-     |     \\-     |"},{"line_number":152,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_1bf2219b","line":149,"range":{"start_line":149,"start_character":57,"end_line":149,"end_character":58},"updated":"2019-07-18 16:59:01.000000000","message":"nit: align to center","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ad4f92b076907d2228e92467adf23f5b9f97b472","unresolved":false,"context_lines":[{"line_number":146,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":147,"context_line":"|              Oracle ZFSSA              |  NFS,CIFS(K) |      \\-      |       \\-       |     \\-     |      \\-      |      \\-      |      \\-      |       \\-       |     \\-     |     \\-     |"},{"line_number":148,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":149,"context_line":"|                 CephFS                 |    NFS (P)   | NFS (T)      |       \\-       |     \\-     |  CEPHFS (M)  |    NFS (P)   |    NFS (T)   |       \\-       |     \\-     | CEPHFS (N) |"},{"line_number":150,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":151,"context_line":"|                 Tegile                 |    NFS (M)   |      \\-      |NFS (M),CIFS (M)|     \\-     |      \\-      |    NFS (M)   |      \\-      |NFS (M),CIFS (M)|     \\-     |     \\-     |"},{"line_number":152,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_968258ff","line":149,"range":{"start_line":149,"start_character":57,"end_line":149,"end_character":58},"in_reply_to":"7faddb67_1bf2219b","updated":"2019-07-18 18:07:53.000000000","message":"Thanks, will fix.","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"}],"manila/share/drivers/cephfs/driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"63d4b02a9bc1572b4c1e26becabfafb20e063775","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Whether the NFS-Ganesha server is remote to the driver.\""},{"line_number":83,"context_line":"                ),"},{"line_number":84,"context_line":"    cfg.StrOpt(\u0027cephfs_ganesha_server_ip\u0027,"},{"line_number":85,"context_line":"               help\u003d\"The IP address of the NFS-Ganesha server.\"),"},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027cephfs_ganesha_server_username\u0027,"},{"line_number":87,"context_line":"               default\u003d\u0027root\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_1b58e153","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":14},"updated":"2019-07-18 16:59:01.000000000","message":"HostAddressOpt?","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"315b2c11e1bb9c24fbdfd846a2891611da3232b1","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Whether the NFS-Ganesha server is remote to the driver.\""},{"line_number":83,"context_line":"                ),"},{"line_number":84,"context_line":"    cfg.StrOpt(\u0027cephfs_ganesha_server_ip\u0027,"},{"line_number":85,"context_line":"               help\u003d\"The IP address of the NFS-Ganesha server.\"),"},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027cephfs_ganesha_server_username\u0027,"},{"line_number":87,"context_line":"               default\u003d\u0027root\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_7c01bd37","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":14},"in_reply_to":"7faddb67_169d0865","updated":"2019-07-18 19:45:36.000000000","message":"It shouldn\u0027t - that type of option allows both IP addresses and hostnames; quick test: http://paste.openstack.org/show/754566/","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ad4f92b076907d2228e92467adf23f5b9f97b472","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Whether the NFS-Ganesha server is remote to the driver.\""},{"line_number":83,"context_line":"                ),"},{"line_number":84,"context_line":"    cfg.StrOpt(\u0027cephfs_ganesha_server_ip\u0027,"},{"line_number":85,"context_line":"               help\u003d\"The IP address of the NFS-Ganesha server.\"),"},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027cephfs_ganesha_server_username\u0027,"},{"line_number":87,"context_line":"               default\u003d\u0027root\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_169d0865","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":14},"in_reply_to":"7faddb67_1b58e153","updated":"2019-07-18 18:07:53.000000000","message":"Maybe, but it would break people who use a FQDN here (despite the help message).  What do you think?","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"58be81fe7dc1000c5809cb8677ebad72dc164a85","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Whether the NFS-Ganesha server is remote to the driver.\""},{"line_number":83,"context_line":"                ),"},{"line_number":84,"context_line":"    cfg.StrOpt(\u0027cephfs_ganesha_server_ip\u0027,"},{"line_number":85,"context_line":"               help\u003d\"The IP address of the NFS-Ganesha server.\"),"},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027cephfs_ganesha_server_username\u0027,"},{"line_number":87,"context_line":"               default\u003d\u0027root\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_77923659","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":14},"in_reply_to":"7faddb67_7c01bd37","updated":"2019-07-22 17:25:30.000000000","message":"Nice!","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"63d4b02a9bc1572b4c1e26becabfafb20e063775","unresolved":false,"context_lines":[{"line_number":94,"context_line":"               help\u003d\"The password to authenticate as the user in the remote \""},{"line_number":95,"context_line":"                    \"Ganesha server host. This is not required if \""},{"line_number":96,"context_line":"                    \"\u0027cephfs_ganesha_path_to_private_key\u0027 is configured.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\u0027cephfs_ganesha_export_ips\u0027,"},{"line_number":98,"context_line":"                default\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                help\u003d\u0027List of IPs to export shares.\u0027),"},{"line_number":100,"context_line":"    cfg.StrOpt(\u0027cephfs_volume_mode\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_666cd8cd","line":97,"range":{"start_line":97,"start_character":17,"end_line":97,"end_character":42},"updated":"2019-07-18 16:59:01.000000000","message":"Ganesha doesn\u0027t support multiple BindAddrs, does it? How does this work when Ganesha is remote?","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ad4f92b076907d2228e92467adf23f5b9f97b472","unresolved":false,"context_lines":[{"line_number":94,"context_line":"               help\u003d\"The password to authenticate as the user in the remote \""},{"line_number":95,"context_line":"                    \"Ganesha server host. This is not required if \""},{"line_number":96,"context_line":"                    \"\u0027cephfs_ganesha_path_to_private_key\u0027 is configured.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\u0027cephfs_ganesha_export_ips\u0027,"},{"line_number":98,"context_line":"                default\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                help\u003d\u0027List of IPs to export shares.\u0027),"},{"line_number":100,"context_line":"    cfg.StrOpt(\u0027cephfs_volume_mode\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_51ce2a63","line":97,"range":{"start_line":97,"start_character":17,"end_line":97,"end_character":42},"in_reply_to":"7faddb67_56ce2063","updated":"2019-07-18 18:07:53.000000000","message":"I haven\u0027t tested to see if ganesha interprets 0.0.0.0 as including all IPv6 addresses as well but the BindAddr doesn\u0027t have to be set at all anyways.","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ad4f92b076907d2228e92467adf23f5b9f97b472","unresolved":false,"context_lines":[{"line_number":94,"context_line":"               help\u003d\"The password to authenticate as the user in the remote \""},{"line_number":95,"context_line":"                    \"Ganesha server host. This is not required if \""},{"line_number":96,"context_line":"                    \"\u0027cephfs_ganesha_path_to_private_key\u0027 is configured.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\u0027cephfs_ganesha_export_ips\u0027,"},{"line_number":98,"context_line":"                default\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                help\u003d\u0027List of IPs to export shares.\u0027),"},{"line_number":100,"context_line":"    cfg.StrOpt(\u0027cephfs_volume_mode\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_51e94ae3","line":97,"range":{"start_line":97,"start_character":17,"end_line":97,"end_character":42},"in_reply_to":"7faddb67_666cd8cd","updated":"2019-07-18 18:07:53.000000000","message":"Ganesha doesn\u0027t currently support multiple BindAddrs, so currently deployers who want to use 4+6 (or even multiple export location addresses in the same AF) are forced to not set a bind address in ganesha.conf.  I tested and with no bind address set I can do 4+6 just fine.\n\nWe could raise an issue with the ganesha folks (or propose a PR) to support multiple BindAddrs.\n\nNote that it is the cephfs_ganesha_server_ip that is used to set the ssh destination for remote access, not the cephfs_ganesha_export_ips.  I\u0027m not sure there\u0027s a point to supporting 4+6 access for the ssh connection but if there is I\u0027d consider that a separate feature.","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c77512d3381bc8f57ee10e32a5b34f50efed1798","unresolved":false,"context_lines":[{"line_number":94,"context_line":"               help\u003d\"The password to authenticate as the user in the remote \""},{"line_number":95,"context_line":"                    \"Ganesha server host. This is not required if \""},{"line_number":96,"context_line":"                    \"\u0027cephfs_ganesha_path_to_private_key\u0027 is configured.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\u0027cephfs_ganesha_export_ips\u0027,"},{"line_number":98,"context_line":"                default\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                help\u003d\u0027List of IPs to export shares.\u0027),"},{"line_number":100,"context_line":"    cfg.StrOpt(\u0027cephfs_volume_mode\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_56ce2063","line":97,"range":{"start_line":97,"start_character":17,"end_line":97,"end_character":42},"in_reply_to":"7faddb67_666cd8cd","updated":"2019-07-18 17:17:48.000000000","message":"Hmm, it\u0027s likely this has nothing to do with the BindAddr parameter [1] in the ganesha config; Is it safe to assume that value can be 0.0.0.0; and it won\u0027t affect manila?","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"63d4b02a9bc1572b4c1e26becabfafb20e063775","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                    \"\u0027cephfs_ganesha_path_to_private_key\u0027 is configured.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\u0027cephfs_ganesha_export_ips\u0027,"},{"line_number":98,"context_line":"                default\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                help\u003d\u0027List of IPs to export shares.\u0027),"},{"line_number":100,"context_line":"    cfg.StrOpt(\u0027cephfs_volume_mode\u0027,"},{"line_number":101,"context_line":"               default\u003dDEFAULT_VOLUME_MODE,"},{"line_number":102,"context_line":"               help\u003d\"The read/write/execute permissions mode for CephFS \""}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_1b7541fa","line":99,"range":{"start_line":99,"start_character":50,"end_line":99,"end_character":51},"updated":"2019-07-18 16:59:01.000000000","message":"Defaults to the value of \"cephfs_ganesha_server_ip\"","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ad4f92b076907d2228e92467adf23f5b9f97b472","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                    \"\u0027cephfs_ganesha_path_to_private_key\u0027 is configured.\"),"},{"line_number":97,"context_line":"    cfg.ListOpt(\u0027cephfs_ganesha_export_ips\u0027,"},{"line_number":98,"context_line":"                default\u003d\u0027\u0027,"},{"line_number":99,"context_line":"                help\u003d\u0027List of IPs to export shares.\u0027),"},{"line_number":100,"context_line":"    cfg.StrOpt(\u0027cephfs_volume_mode\u0027,"},{"line_number":101,"context_line":"               default\u003dDEFAULT_VOLUME_MODE,"},{"line_number":102,"context_line":"               help\u003d\"The read/write/execute permissions mode for CephFS \""}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_31ea8ed7","line":99,"range":{"start_line":99,"start_character":50,"end_line":99,"end_character":51},"in_reply_to":"7faddb67_1b7541fa","updated":"2019-07-18 18:07:53.000000000","message":"ack","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"63d4b02a9bc1572b4c1e26becabfafb20e063775","unresolved":false,"context_lines":[{"line_number":493,"context_line":""},{"line_number":494,"context_line":"        self.ganesha_host \u003d config_object.cephfs_ganesha_server_ip"},{"line_number":495,"context_line":"        if not self.ganesha_host:"},{"line_number":496,"context_line":"            self.ganesha_host \u003d socket.gethostname()"},{"line_number":497,"context_line":"            LOG.info(\"NFS-Ganesha server\u0027s location defaulted to driver\u0027s \""},{"line_number":498,"context_line":"                     \"hostname: %s\", self.ganesha_host)"},{"line_number":499,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_3b535d3b","line":496,"range":{"start_line":496,"start_character":32,"end_line":496,"end_character":52},"updated":"2019-07-18 16:59:01.000000000","message":"This means that we allow hostnames as well as IP addresses... but now we don\u0027t?","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ad4f92b076907d2228e92467adf23f5b9f97b472","unresolved":false,"context_lines":[{"line_number":493,"context_line":""},{"line_number":494,"context_line":"        self.ganesha_host \u003d config_object.cephfs_ganesha_server_ip"},{"line_number":495,"context_line":"        if not self.ganesha_host:"},{"line_number":496,"context_line":"            self.ganesha_host \u003d socket.gethostname()"},{"line_number":497,"context_line":"            LOG.info(\"NFS-Ganesha server\u0027s location defaulted to driver\u0027s \""},{"line_number":498,"context_line":"                     \"hostname: %s\", self.ganesha_host)"},{"line_number":499,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_b1ac3e9f","line":496,"range":{"start_line":496,"start_character":32,"end_line":496,"end_character":52},"in_reply_to":"7faddb67_3b535d3b","updated":"2019-07-18 18:07:53.000000000","message":"Well I didn\u0027t change this and we have a BZ downstream where a customer got an export location with \u0027overcloud-0:/\u003cpath\u003e\u0027 -- so I think now we do :)","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":2417,"name":"Ben Swartzlander","email":"ben@swartzlander.org","username":"bswartz"},"change_message_id":"b8660316df16616dfb248b8dbeee255c1f585144","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        if not self.configured_ip_versions:"},{"line_number":568,"context_line":"            try:"},{"line_number":569,"context_line":"                self.configured_ip_versions \u003d []"},{"line_number":570,"context_line":"                for export_ip in self.export_ips:"},{"line_number":571,"context_line":"                    self.configured_ip_versions.append("},{"line_number":572,"context_line":"                        ipaddress.ip_address(six.text_type(export_ip)).version)"},{"line_number":573,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_68257b08","line":570,"updated":"2019-07-18 15:48:13.000000000","message":"Could this loop result in multiple 4s or 6s in the list when there are more than one export IP of the same type?","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"14d36cb78d9fa066fa098eb55aa92634501ac778","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        if not self.configured_ip_versions:"},{"line_number":568,"context_line":"            try:"},{"line_number":569,"context_line":"                self.configured_ip_versions \u003d []"},{"line_number":570,"context_line":"                for export_ip in self.export_ips:"},{"line_number":571,"context_line":"                    self.configured_ip_versions.append("},{"line_number":572,"context_line":"                        ipaddress.ip_address(six.text_type(export_ip)).version)"},{"line_number":573,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_ab85ad08","line":570,"in_reply_to":"7faddb67_68257b08","updated":"2019-07-18 16:22:20.000000000","message":"Yes.  LVM driver does the same [1] and the caller de-dupes it [2].  I wonder if it would be cleaner and safer to de-dupe it here as well before returning the result.\n\n[1] https://github.com/openstack/manila/blob/master/manila/share/drivers/lvm.py#L460\n\n[2] https://github.com/openstack/manila/blob/master/manila/share/driver.py#L2629","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"63d4b02a9bc1572b4c1e26becabfafb20e063775","unresolved":false,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def get_configured_ip_versions(self):"},{"line_number":567,"context_line":"        if not self.configured_ip_versions:"},{"line_number":568,"context_line":"            try:"},{"line_number":569,"context_line":"                self.configured_ip_versions \u003d []"},{"line_number":570,"context_line":"                for export_ip in self.export_ips:"},{"line_number":571,"context_line":"                    self.configured_ip_versions.append("},{"line_number":572,"context_line":"                        ipaddress.ip_address(six.text_type(export_ip)).version)"},{"line_number":573,"context_line":"            except Exception:"},{"line_number":574,"context_line":"                if not self.configuration.cephfs_ganesha_export_ips:"},{"line_number":575,"context_line":"                    message \u003d (_(\"Invalid \u0027cephfs_ganesha_server_ip\u0027 option \""},{"line_number":576,"context_line":"                                 \"supplied %s.\") %"},{"line_number":577,"context_line":"                               self.configuration.cephfs_ganesha_server_ip)"},{"line_number":578,"context_line":"                else:"},{"line_number":579,"context_line":"                    message \u003d (_(\"Invalid \u0027cephfs_ganesha_export_ips\u0027 option \""},{"line_number":580,"context_line":"                                 \"supplied %s.\") %"},{"line_number":581,"context_line":"                               self.configuration.cephfs_ganesha_export_ips)"},{"line_number":582,"context_line":"                raise exception.InvalidInput(reason\u003dmessage)"},{"line_number":583,"context_line":"        return self.configured_ip_versions"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_5b8bb9c1","line":582,"range":{"start_line":568,"start_character":0,"end_line":582,"end_character":60},"updated":"2019-07-18 16:59:01.000000000","message":"Can we do this error checking earlier? The driver has an entry_point called \"check_for_setup_error\" which is apt for configuration issues, it also gets called very early in the stack; as opposed to this method, which won\u0027t be invoked until the manager pulls the driver\u0027s capabilities.","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"58be81fe7dc1000c5809cb8677ebad72dc164a85","unresolved":false,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def get_configured_ip_versions(self):"},{"line_number":567,"context_line":"        if not self.configured_ip_versions:"},{"line_number":568,"context_line":"            try:"},{"line_number":569,"context_line":"                self.configured_ip_versions \u003d []"},{"line_number":570,"context_line":"                for export_ip in self.export_ips:"},{"line_number":571,"context_line":"                    self.configured_ip_versions.append("},{"line_number":572,"context_line":"                        ipaddress.ip_address(six.text_type(export_ip)).version)"},{"line_number":573,"context_line":"            except Exception:"},{"line_number":574,"context_line":"                if not self.configuration.cephfs_ganesha_export_ips:"},{"line_number":575,"context_line":"                    message \u003d (_(\"Invalid \u0027cephfs_ganesha_server_ip\u0027 option \""},{"line_number":576,"context_line":"                                 \"supplied %s.\") %"},{"line_number":577,"context_line":"                               self.configuration.cephfs_ganesha_server_ip)"},{"line_number":578,"context_line":"                else:"},{"line_number":579,"context_line":"                    message \u003d (_(\"Invalid \u0027cephfs_ganesha_export_ips\u0027 option \""},{"line_number":580,"context_line":"                                 \"supplied %s.\") %"},{"line_number":581,"context_line":"                               self.configuration.cephfs_ganesha_export_ips)"},{"line_number":582,"context_line":"                raise exception.InvalidInput(reason\u003dmessage)"},{"line_number":583,"context_line":"        return self.configured_ip_versions"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_17066221","line":582,"range":{"start_line":568,"start_character":0,"end_line":582,"end_character":60},"in_reply_to":"7faddb67_51806af5","updated":"2019-07-22 17:25:30.000000000","message":"I added a check_for_setup_error method as you suggested to check the individual cephfs_ganesha_export_ips.  The check is the same as that used cfg HostAddressOpt for the cephfs_ganesha_server_ip.\n\nAs we discussed, if we don\u0027t have a valid IP and we have a valid hostname, we\u0027ll set [4, 6] since that\u0027s the safest alternative.","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ad4f92b076907d2228e92467adf23f5b9f97b472","unresolved":false,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def get_configured_ip_versions(self):"},{"line_number":567,"context_line":"        if not self.configured_ip_versions:"},{"line_number":568,"context_line":"            try:"},{"line_number":569,"context_line":"                self.configured_ip_versions \u003d []"},{"line_number":570,"context_line":"                for export_ip in self.export_ips:"},{"line_number":571,"context_line":"                    self.configured_ip_versions.append("},{"line_number":572,"context_line":"                        ipaddress.ip_address(six.text_type(export_ip)).version)"},{"line_number":573,"context_line":"            except Exception:"},{"line_number":574,"context_line":"                if not self.configuration.cephfs_ganesha_export_ips:"},{"line_number":575,"context_line":"                    message \u003d (_(\"Invalid \u0027cephfs_ganesha_server_ip\u0027 option \""},{"line_number":576,"context_line":"                                 \"supplied %s.\") %"},{"line_number":577,"context_line":"                               self.configuration.cephfs_ganesha_server_ip)"},{"line_number":578,"context_line":"                else:"},{"line_number":579,"context_line":"                    message \u003d (_(\"Invalid \u0027cephfs_ganesha_export_ips\u0027 option \""},{"line_number":580,"context_line":"                                 \"supplied %s.\") %"},{"line_number":581,"context_line":"                               self.configuration.cephfs_ganesha_export_ips)"},{"line_number":582,"context_line":"                raise exception.InvalidInput(reason\u003dmessage)"},{"line_number":583,"context_line":"        return self.configured_ip_versions"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_51806af5","line":582,"range":{"start_line":568,"start_character":0,"end_line":582,"end_character":60},"in_reply_to":"7faddb67_5b8bb9c1","updated":"2019-07-18 18:07:53.000000000","message":"Probably.  LVM driver checks here but let me try out your suggestion.","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5ba9ffd52adfe17243f6c2fc7036b54f43b7e73b","unresolved":false,"context_lines":[{"line_number":594,"context_line":"                    self.configured_ip_versions.add("},{"line_number":595,"context_line":"                        ipaddress.ip_address(six.text_type(export_ip)).version)"},{"line_number":596,"context_line":"            except Exception:"},{"line_number":597,"context_line":"                # export_ips contained a hostname, safest thing is to"},{"line_number":598,"context_line":"                # claim support for IPv4 and IPv6 address families"},{"line_number":599,"context_line":"                return [4, 6]"},{"line_number":600,"context_line":"        return list(self.configured_ip_versions)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_345b3255","line":598,"range":{"start_line":597,"start_character":16,"end_line":598,"end_character":66},"updated":"2019-07-22 19:26:02.000000000","message":"Thoughts on logging this as a info/warning? Will help debug if deployers are trying to triage access control issues","commit_id":"ad831b6afcd4429a207a79510fbaed2de9988a9a"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"35133afcff1752a179f75af6ffde6e4456b48588","unresolved":false,"context_lines":[{"line_number":594,"context_line":"                    self.configured_ip_versions.add("},{"line_number":595,"context_line":"                        ipaddress.ip_address(six.text_type(export_ip)).version)"},{"line_number":596,"context_line":"            except Exception:"},{"line_number":597,"context_line":"                # export_ips contained a hostname, safest thing is to"},{"line_number":598,"context_line":"                # claim support for IPv4 and IPv6 address families"},{"line_number":599,"context_line":"                return [4, 6]"},{"line_number":600,"context_line":"        return list(self.configured_ip_versions)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_3df475cf","line":598,"range":{"start_line":597,"start_character":16,"end_line":598,"end_character":66},"in_reply_to":"7faddb67_345b3255","updated":"2019-07-22 21:01:23.000000000","message":"I was going to do this but forgot.","commit_id":"ad831b6afcd4429a207a79510fbaed2de9988a9a"}],"playbooks/legacy/manila-tempest-minimal-dsvm-cephfs-nfs/run.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"63d4b02a9bc1572b4c1e26becabfafb20e063775","unresolved":false,"context_lines":[{"line_number":80,"context_line":"          # Enable tls-proxy"},{"line_number":81,"context_line":"          OVERRIDE_ENABLED_SERVICES+\u003d,tls-proxy"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"          # Enable mandatory placement services for nova starting with ocata"},{"line_number":84,"context_line":"          if [[ \"stable/newton\" !\u003d $ZUUL_BRANCH ]]; then"},{"line_number":85,"context_line":"               OVERRIDE_ENABLED_SERVICES+\u003d,placement-api,placement-client"},{"line_number":86,"context_line":"          fi"},{"line_number":87,"context_line":"          export OVERRIDE_ENABLED_SERVICES"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"          # Keep localrc to be able to set some vars in pre_test_hook"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"7faddb67_48a51fa1","line":86,"range":{"start_line":83,"start_character":10,"end_line":86,"end_character":12},"updated":"2019-07-18 16:59:01.000000000","message":"Since this isn\u0027t going to be back ported, we can just add this without the if statement..","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ad4f92b076907d2228e92467adf23f5b9f97b472","unresolved":false,"context_lines":[{"line_number":80,"context_line":"          # Enable tls-proxy"},{"line_number":81,"context_line":"          OVERRIDE_ENABLED_SERVICES+\u003d,tls-proxy"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"          # Enable mandatory placement services for nova starting with ocata"},{"line_number":84,"context_line":"          if [[ \"stable/newton\" !\u003d $ZUUL_BRANCH ]]; then"},{"line_number":85,"context_line":"               OVERRIDE_ENABLED_SERVICES+\u003d,placement-api,placement-client"},{"line_number":86,"context_line":"          fi"},{"line_number":87,"context_line":"          export OVERRIDE_ENABLED_SERVICES"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"          # Keep localrc to be able to set some vars in pre_test_hook"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"7faddb67_9197c23a","line":86,"range":{"start_line":83,"start_character":10,"end_line":86,"end_character":12},"in_reply_to":"7faddb67_48a51fa1","updated":"2019-07-18 18:07:53.000000000","message":"ack","commit_id":"1545056669fa2bf610dd03f1958fdef3cba85042"}]}
