)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"745e767c408a339f091070abd60ad712e98aae5b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extend Cinder driver to utilize multiple FSS storage pools"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed the pool format from integer to key-value pair in configuration file."},{"line_number":10,"context_line":"Use A for single storage pool and P/O for multiple pools."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a30ddce_bf4ca277","line":9,"range":{"start_line":9,"start_character":71,"end_line":9,"end_character":77},"updated":"2017-03-07 05:02:16.000000000","message":"Please reduce the length of this line.","commit_id":"c7bfa6c2ef15baa3e0a9c353a0a43634bce04dbc"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"6fb084bea7fe5de63ec188083eae404bdeae19cc","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extend Cinder driver to utilize multiple FSS storage pools"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed the pool format from integer to key-value pair in configuration file."},{"line_number":10,"context_line":"Use A for single storage pool and P/O for multiple pools."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a30ddce_3911adad","line":9,"range":{"start_line":9,"start_character":71,"end_line":9,"end_character":77},"in_reply_to":"9a30ddce_bf4ca277","updated":"2017-03-07 07:24:20.000000000","message":"Jay, thanks for your reply.\nI will fix that at next version.","commit_id":"c7bfa6c2ef15baa3e0a9c353a0a43634bce04dbc"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7c1ad2b296682be0808efa51de82a410f92ac24e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Extend Cinder driver to utilize multiple FSS storage pools"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed the pool format from integer to key-value pair in configuration"},{"line_number":10,"context_line":" file. Use A for single storage pool and P/O for multiple pools."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":"Implements: blueprint falconstor-extend-cinder-driver"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a30ddce_eb5349e0","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":1},"updated":"2017-03-09 13:48:17.000000000","message":"Extra space to remove if you need to do another update.","commit_id":"d50c9989f723bddb0fd550880d24fb31e837479d"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"db74ac70b41dc0aa70973368bd99525fb67581a0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Soffie Huang \u003cSoffie.Huang@falconstor.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-05-18 12:02:13 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extend Cinder driver to utilize multiple FSS storage pools"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed the pool format from integer to key-value pair in configuration"},{"line_number":10,"context_line":"file. Use A for single storage pool and P/O for multiple pools."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"ff0f0b1f_6b6305de","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":20},"updated":"2017-05-18 10:17:40.000000000","message":"Extend Falconstor driver to utilize...","commit_id":"9657446cef207303ee7aa14d3d00de0606de6a4d"}],"cinder/volume/drivers/falconstor/fss_common.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"745e767c408a339f091070abd60ad712e98aae5b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"FSS_OPTS \u003d ["},{"line_number":37,"context_line":"    cfg.DictOpt(\u0027fss_pools\u0027,"},{"line_number":38,"context_line":"                default\u003d{},"},{"line_number":39,"context_line":"                help\u003d\u0027FSS pool id in which FalconStor volumes are stored.\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027fss_san_secondary_ip\u0027,"},{"line_number":41,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Specifies FSS secondary management IP to be used \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a30ddce_1f5cce24","line":39,"range":{"start_line":39,"start_character":22,"end_line":39,"end_character":72},"updated":"2017-03-07 05:02:16.000000000","message":"Can multiple pools now be passed in?  If so you need to document how to do so here.","commit_id":"c7bfa6c2ef15baa3e0a9c353a0a43634bce04dbc"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"6fb084bea7fe5de63ec188083eae404bdeae19cc","unresolved":false,"context_lines":[{"line_number":36,"context_line":"FSS_OPTS \u003d ["},{"line_number":37,"context_line":"    cfg.DictOpt(\u0027fss_pools\u0027,"},{"line_number":38,"context_line":"                default\u003d{},"},{"line_number":39,"context_line":"                help\u003d\u0027FSS pool id in which FalconStor volumes are stored.\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027fss_san_secondary_ip\u0027,"},{"line_number":41,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Specifies FSS secondary management IP to be used \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a30ddce_f97d55e8","line":39,"range":{"start_line":39,"start_character":22,"end_line":39,"end_character":72},"in_reply_to":"9a30ddce_1f5cce24","updated":"2017-03-07 07:24:20.000000000","message":"Jay, thanks for your reply.\nI will fix that at next version.","commit_id":"c7bfa6c2ef15baa3e0a9c353a0a43634bce04dbc"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7c1ad2b296682be0808efa51de82a410f92ac24e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FSS_OPTS \u003d ["},{"line_number":37,"context_line":"    cfg.DictOpt(\u0027fss_pools\u0027,"},{"line_number":38,"context_line":"                default\u003d{},"},{"line_number":39,"context_line":"                help\u003d\u0027FSS pool id list in which FalconStor volumes are stored.\u0027"},{"line_number":40,"context_line":"                     \u0027If you have only one pool, use A:\u003cpool-id\u003e. You can also\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a30ddce_4ba8d58d","line":37,"updated":"2017-03-09 13:48:17.000000000","message":"This looks good, but the problem with this is now during upgrades the old \"fss_pool\" config option just goes away and there is this new one that looks very much like the old one and will be easy to overlook if they don\u0027t look carefully and notice the extra \"s\" on the end.\n\nI think the best thing to do would be to keep the old IntOpt and mark it deprecated. Then when these are used, check if the old one was provided but not the new one, and if so, add fss_pool into the fss_pools list.\n\nWe would just need to do this for Pike. A TODO comment could then be added to remove the config option and the workaround once Queens development opens up.","commit_id":"d50c9989f723bddb0fd550880d24fb31e837479d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7c1ad2b296682be0808efa51de82a410f92ac24e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"FSS_OPTS \u003d ["},{"line_number":37,"context_line":"    cfg.DictOpt(\u0027fss_pools\u0027,"},{"line_number":38,"context_line":"                default\u003d{},"},{"line_number":39,"context_line":"                help\u003d\u0027FSS pool id list in which FalconStor volumes are stored.\u0027"},{"line_number":40,"context_line":"                     \u0027If you have only one pool, use A:\u003cpool-id\u003e. You can also\u0027"},{"line_number":41,"context_line":"                     \u0027 have up to two storage pools, P for primary and O for \u0027"},{"line_number":42,"context_line":"                     \u0027all supporting devices. The usage is \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a30ddce_6b0d99e7","line":39,"range":{"start_line":39,"start_character":78,"end_line":39,"end_character":79},"updated":"2017-03-09 13:48:17.000000000","message":"Needs a space.","commit_id":"d50c9989f723bddb0fd550880d24fb31e837479d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7c1ad2b296682be0808efa51de82a410f92ac24e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                     \u0027session id.\u0027))"},{"line_number":79,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        if not self.configuration.fss_pools:"},{"line_number":82,"context_line":"            msg \u003d _(\u0027Pool is not available in the cinder configuration \u0027"},{"line_number":83,"context_line":"                    \u0027fields.\u0027)"},{"line_number":84,"context_line":"            raise exception.InvalidHost(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a30ddce_eb742937","line":81,"updated":"2017-03-09 13:48:17.000000000","message":"So here is where I would change to also add \"and not self.configuration.fss_pool\".\n\nThen instead of passing directly into _pool_checking, do the conversion of pool to pools into a variable if needed.","commit_id":"d50c9989f723bddb0fd550880d24fb31e837479d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7c1ad2b296682be0808efa51de82a410f92ac24e","unresolved":false,"context_lines":[{"line_number":90,"context_line":"            if len(pool_info) \u003d\u003d 1:"},{"line_number":91,"context_line":"                _pool_state \u003d self._is_single_pool(pool_info)"},{"line_number":92,"context_line":"                if not _pool_state:"},{"line_number":93,"context_line":"                    msg \u003d (_(\u0027The given pool info does not match.\u0027))"},{"line_number":94,"context_line":"                    raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":95,"context_line":"            else:"},{"line_number":96,"context_line":"                _pool_state \u003d self._is_multi_pool(pool_info)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a30ddce_6bae7982","line":93,"range":{"start_line":93,"start_character":26,"end_line":93,"end_character":27},"updated":"2017-03-09 13:48:17.000000000","message":"Nit- Outer () not needed here or below on line 98.","commit_id":"d50c9989f723bddb0fd550880d24fb31e837479d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a7126a0d29e07bdc407e7ad0159db3f953c3811f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                    \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":88,"context_line":"                    \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded and \""},{"line_number":89,"context_line":"                    \"it will be removed once Queens development opens up.\")"},{"line_number":90,"context_line":"            raise exception.InvalidHost(reason\u003dmsg)"},{"line_number":91,"context_line":"        if not self.configuration.fss_pools:"},{"line_number":92,"context_line":"            msg \u003d _(\u0027Pool is not available in the cinder configuration \u0027"},{"line_number":93,"context_line":"                    \u0027fields.\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ff52f3f_653fd0d6","line":90,"updated":"2017-04-13 12:48:27.000000000","message":"Would it be better to check if this is set, and if so, reformat it into the new format rather than raising an exception?","commit_id":"63dc6df4b938713eb1cee2beb24a5cd5e5c3ab63"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"59a3721b965f51250a9df95a1a6778d1aca6d336","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                    \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":88,"context_line":"                    \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded and \""},{"line_number":89,"context_line":"                    \"it will be removed once Queens development opens up.\")"},{"line_number":90,"context_line":"            raise exception.InvalidHost(reason\u003dmsg)"},{"line_number":91,"context_line":"        if not self.configuration.fss_pools:"},{"line_number":92,"context_line":"            msg \u003d _(\u0027Pool is not available in the cinder configuration \u0027"},{"line_number":93,"context_line":"                    \u0027fields.\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"7ffa3b31_283be4d1","line":90,"in_reply_to":"9ff52f3f_653fd0d6","updated":"2017-04-14 03:44:14.000000000","message":"Since we have two options for this param, one is for single pool and the other is for multiple pools. I am not sure which one close to user setting. Thus, raising an exception when the configuration file setting remains older format. That user have a chance to choice their suitable param.","commit_id":"63dc6df4b938713eb1cee2beb24a5cd5e5c3ab63"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0de0f709c75e8ed5df6c8eacbc534277823d7b17","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                    \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":88,"context_line":"                    \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded and \""},{"line_number":89,"context_line":"                    \"it will be removed once Queens development opens up.\")"},{"line_number":90,"context_line":"            raise exception.InvalidHost(reason\u003dmsg)"},{"line_number":91,"context_line":"        if not self.configuration.fss_pools:"},{"line_number":92,"context_line":"            msg \u003d _(\u0027Pool is not available in the cinder configuration \u0027"},{"line_number":93,"context_line":"                    \u0027fields.\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_5597e091","line":90,"range":{"start_line":90,"start_character":12,"end_line":90,"end_character":51},"updated":"2017-04-14 13:37:51.000000000","message":"You are deprecating this option in Pike.  It means it should still work in Pike but won\u0027t work after Pike.  So you should make it work the same way as fss_pools\u003dA:\u003cpool-id\u003e.  Then remove it in Queens.  Otherwise even though you did not remove it in Pike, it is already an invalid option (no different from being removed).","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"3aef2e0c2c878e49a3d64c8b4f5086b5415310cf","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                    \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":88,"context_line":"                    \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded and \""},{"line_number":89,"context_line":"                    \"it will be removed once Queens development opens up.\")"},{"line_number":90,"context_line":"            raise exception.InvalidHost(reason\u003dmsg)"},{"line_number":91,"context_line":"        if not self.configuration.fss_pools:"},{"line_number":92,"context_line":"            msg \u003d _(\u0027Pool is not available in the cinder configuration \u0027"},{"line_number":93,"context_line":"                    \u0027fields.\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_3bfbb347","line":90,"range":{"start_line":90,"start_character":12,"end_line":90,"end_character":51},"in_reply_to":"7ffa3b31_5597e091","updated":"2017-05-10 09:12:35.000000000","message":"Hi Xing,\nThanks for your advice. Actually, we do not want to use this parameter anymore and use fss_pools instead. I will fix that at next patch.","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"6ef6c6f1717b9f79900a61d7c24f8673a47aa4c0","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               help\u003d\u0027DEPRECATED: FSS pool id in which FalconStor volumes are \u0027"},{"line_number":40,"context_line":"                    \u0027stored.\u0027,"},{"line_number":41,"context_line":"               deprecated_since\u003d\u0027Pike\u0027,"},{"line_number":42,"context_line":"               deprecated_reason\u003d\u0027This option will be removed in the Pike \u0027"},{"line_number":43,"context_line":"                                 \u0027release or later. Please use fss_pools \u0027"},{"line_number":44,"context_line":"                                 \u0027instead.\u0027),"},{"line_number":45,"context_line":"    cfg.DictOpt(\u0027fss_pools\u0027,"},{"line_number":46,"context_line":"                default\u003d{},"}],"source_content_type":"text/x-python","patch_set":15,"id":"1f013ff3_f31c986b","line":43,"range":{"start_line":42,"start_character":34,"end_line":43,"end_character":50},"updated":"2017-05-16 12:36:24.000000000","message":"The correct procedure is to deprecate this option in Pike and remove it after Pike.","commit_id":"346756e3f7d951c6c7b3dc57c8b49a61e604c0a2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"6ef6c6f1717b9f79900a61d7c24f8673a47aa4c0","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                    \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":92,"context_line":"                    \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded and \""},{"line_number":93,"context_line":"                    \"it will be removed once Queens development opens up.\")"},{"line_number":94,"context_line":"            raise exception.InvalidHost(reason\u003dmsg)"},{"line_number":95,"context_line":"        if not self.configuration.fss_pools:"},{"line_number":96,"context_line":"            msg \u003d _(\u0027Pool is not available in the cinder configuration \u0027"},{"line_number":97,"context_line":"                    \u0027fields.\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1f013ff3_73576804","line":94,"updated":"2017-05-16 12:36:24.000000000","message":"My comments from the last review are still valid here.  The correct procedure is to deprecate fss_pool in Pike but still allow it to be used in Pike, and remove it after the Pike release.\n\nWhat you can do is to still print out a warning message, but don\u0027t raise exception here.  Instead, convert fss_pool to a one pool configuration using fss_pools.","commit_id":"346756e3f7d951c6c7b3dc57c8b49a61e604c0a2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4c5f960d5b992048bdef193d8a809ccc344dc87a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            self.configuration.append_config_values(FSS_OPTS)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        if self.configuration.fss_pool:"},{"line_number":76,"context_line":"            self.configuration.fss_pools \u003d {\u0027A\u0027: str("},{"line_number":77,"context_line":"                self.configuration.fss_pool)}"},{"line_number":78,"context_line":"            LOG.warning(\"\u0027fss_pool\u003d\u003cpool-id\u003e\u0027 is deprecated. Using the \""},{"line_number":79,"context_line":"                        \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""}],"source_content_type":"text/x-python","patch_set":16,"id":"ff0f0b1f_ebbca46a","line":76,"range":{"start_line":76,"start_character":49,"end_line":76,"end_character":52},"updated":"2017-05-18 19:20:03.000000000","message":"Use six.text_type()","commit_id":"9657446cef207303ee7aa14d3d00de0606de6a4d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4c5f960d5b992048bdef193d8a809ccc344dc87a","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        except rest_proxy.FSSHTTPError as err:"},{"line_number":261,"context_line":"            with excutils.save_and_reraise_exception() as ctxt:"},{"line_number":262,"context_line":"                ctxt.reraise \u003d False"},{"line_number":263,"context_line":"                LOG.warning(\"Volume deletion failed with message: %s\","},{"line_number":264,"context_line":"                            err.reason)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def create_snapshot(self, snapshot):"}],"source_content_type":"text/x-python","patch_set":16,"id":"ff0f0b1f_cb0d603f","line":263,"updated":"2017-05-18 19:20:03.000000000","message":"You need to do a rebase.  The code in your local repo is out-dated.  See the code in tree does not use _LW any more:\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/falconstor/fss_common.py#L199","commit_id":"9657446cef207303ee7aa14d3d00de0606de6a4d"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"a30943d9dc0e003124ba271a0e8c17d375f7850d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    cfg.DictOpt(\u0027fss_pools\u0027,"},{"line_number":46,"context_line":"                default\u003d{},"},{"line_number":47,"context_line":"                help\u003d\u0027FSS pool id list in which FalconStor volumes are stored.\u0027"},{"line_number":48,"context_line":"                     \u0027 If you have only one pool, use A:\u003cpool-id\u003e. \u0027"},{"line_number":49,"context_line":"                     \u0027You can also have up to two storage pools, \u0027"},{"line_number":50,"context_line":"                     \u0027P for primary and O for all supporting devices. \u0027"},{"line_number":51,"context_line":"                     \u0027The usage is P:\u003cprimary-pool-id\u003e,O:\u003cothers-pool-id\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff0f0b1f_293d872a","line":48,"range":{"start_line":48,"start_character":20,"end_line":48,"end_character":24},"updated":"2017-05-23 17:45:49.000000000","message":"This space should be moved to the end of the previous line for consistency.","commit_id":"7a7c7c708f3af6d729134ccb2f0bcaaf5db656f8"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"6c7b9dccc7422ebcec40c6ecf7737f4599f1f654","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    cfg.DictOpt(\u0027fss_pools\u0027,"},{"line_number":46,"context_line":"                default\u003d{},"},{"line_number":47,"context_line":"                help\u003d\u0027FSS pool id list in which FalconStor volumes are stored.\u0027"},{"line_number":48,"context_line":"                     \u0027 If you have only one pool, use A:\u003cpool-id\u003e. \u0027"},{"line_number":49,"context_line":"                     \u0027You can also have up to two storage pools, \u0027"},{"line_number":50,"context_line":"                     \u0027P for primary and O for all supporting devices. \u0027"},{"line_number":51,"context_line":"                     \u0027The usage is P:\u003cprimary-pool-id\u003e,O:\u003cothers-pool-id\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff0f0b1f_86ab5273","line":48,"range":{"start_line":48,"start_character":20,"end_line":48,"end_character":24},"in_reply_to":"ff0f0b1f_293d872a","updated":"2017-05-24 02:32:21.000000000","message":"Hi Jay, \nThanks for your advice. Sorry, I can not do that since it will over the maximum line length of 79 characters limit.","commit_id":"7a7c7c708f3af6d729134ccb2f0bcaaf5db656f8"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"a30943d9dc0e003124ba271a0e8c17d375f7850d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                self.configuration.fss_pool)}"},{"line_number":78,"context_line":"            LOG.warning(\"\u0027fss_pool\u003d\u003cpool-id\u003e\u0027 is deprecated. Using the \""},{"line_number":79,"context_line":"                        \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":80,"context_line":"                        \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded \""},{"line_number":81,"context_line":"                        \"and it will be removed once Queens development opens \""},{"line_number":82,"context_line":"                        \"up.\")"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"ff0f0b1f_a91ab7c8","line":80,"range":{"start_line":80,"start_character":65,"end_line":80,"end_character":74},"updated":"2017-05-23 17:45:49.000000000","message":"instead","commit_id":"7a7c7c708f3af6d729134ccb2f0bcaaf5db656f8"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"6c7b9dccc7422ebcec40c6ecf7737f4599f1f654","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                self.configuration.fss_pool)}"},{"line_number":78,"context_line":"            LOG.warning(\"\u0027fss_pool\u003d\u003cpool-id\u003e\u0027 is deprecated. Using the \""},{"line_number":79,"context_line":"                        \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":80,"context_line":"                        \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded \""},{"line_number":81,"context_line":"                        \"and it will be removed once Queens development opens \""},{"line_number":82,"context_line":"                        \"up.\")"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"ff0f0b1f_46bbfac3","line":80,"range":{"start_line":80,"start_character":65,"end_line":80,"end_character":74},"in_reply_to":"ff0f0b1f_a91ab7c8","updated":"2017-05-24 02:32:21.000000000","message":"Fixed at next patch.","commit_id":"7a7c7c708f3af6d729134ccb2f0bcaaf5db656f8"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"a30943d9dc0e003124ba271a0e8c17d375f7850d","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            LOG.warning(\"\u0027fss_pool\u003d\u003cpool-id\u003e\u0027 is deprecated. Using the \""},{"line_number":79,"context_line":"                        \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":80,"context_line":"                        \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded \""},{"line_number":81,"context_line":"                        \"and it will be removed once Queens development opens \""},{"line_number":82,"context_line":"                        \"up.\")"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        self.proxy \u003d rest_proxy.RESTProxy(self.configuration)"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff0f0b1f_296b471e","line":81,"range":{"start_line":81,"start_character":25,"end_line":81,"end_character":47},"updated":"2017-05-23 17:45:49.000000000","message":"as old format will be removed","commit_id":"7a7c7c708f3af6d729134ccb2f0bcaaf5db656f8"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"6c7b9dccc7422ebcec40c6ecf7737f4599f1f654","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            LOG.warning(\"\u0027fss_pool\u003d\u003cpool-id\u003e\u0027 is deprecated. Using the \""},{"line_number":79,"context_line":"                        \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":80,"context_line":"                        \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded \""},{"line_number":81,"context_line":"                        \"and it will be removed once Queens development opens \""},{"line_number":82,"context_line":"                        \"up.\")"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        self.proxy \u003d rest_proxy.RESTProxy(self.configuration)"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff0f0b1f_86c47241","line":81,"range":{"start_line":81,"start_character":25,"end_line":81,"end_character":47},"in_reply_to":"ff0f0b1f_296b471e","updated":"2017-05-24 02:32:21.000000000","message":"Fixed at next patch.","commit_id":"7a7c7c708f3af6d729134ccb2f0bcaaf5db656f8"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"a30943d9dc0e003124ba271a0e8c17d375f7850d","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            # The fss_pool is deprecated."},{"line_number":103,"context_line":"            LOG.warning(\"\u0027fss_pool\u003d\u003cpool-id\u003e\u0027 is deprecated. Using the \""},{"line_number":104,"context_line":"                        \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":105,"context_line":"                        \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded \""},{"line_number":106,"context_line":"                        \"and it will be removed once Queens development opens \""},{"line_number":107,"context_line":"                        \"up.\")"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if not self.configuration.fss_pools:"},{"line_number":110,"context_line":"            msg \u003d _(\u0027Pool is not available in the cinder configuration \u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff0f0b1f_e970af0a","line":107,"range":{"start_line":105,"start_character":25,"end_line":107,"end_character":29},"updated":"2017-05-23 17:45:49.000000000","message":"Same comments here.","commit_id":"7a7c7c708f3af6d729134ccb2f0bcaaf5db656f8"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"6c7b9dccc7422ebcec40c6ecf7737f4599f1f654","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            # The fss_pool is deprecated."},{"line_number":103,"context_line":"            LOG.warning(\"\u0027fss_pool\u003d\u003cpool-id\u003e\u0027 is deprecated. Using the \""},{"line_number":104,"context_line":"                        \"fss_pools\u003dA:\u003cpool-id\u003e for single pool or \""},{"line_number":105,"context_line":"                        \"fss_pools\u003dP:\u003cpool-id\u003e,O:\u003cother-pool-id\u003e insteaded \""},{"line_number":106,"context_line":"                        \"and it will be removed once Queens development opens \""},{"line_number":107,"context_line":"                        \"up.\")"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if not self.configuration.fss_pools:"},{"line_number":110,"context_line":"            msg \u003d _(\u0027Pool is not available in the cinder configuration \u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff0f0b1f_66bf1eaa","line":107,"range":{"start_line":105,"start_character":25,"end_line":107,"end_character":29},"in_reply_to":"ff0f0b1f_e970af0a","updated":"2017-05-24 02:32:21.000000000","message":"Fixed at next patch.","commit_id":"7a7c7c708f3af6d729134ccb2f0bcaaf5db656f8"}],"cinder/volume/drivers/falconstor/iscsi.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"745e767c408a339f091070abd60ad712e98aae5b","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        2.0.1   -- fixed bugs"},{"line_number":47,"context_line":"        2.0.2   -- support Multipath"},{"line_number":48,"context_line":"        3.0.0 - Newton driver"},{"line_number":49,"context_line":"        4.0.0 - Ocata driver"},{"line_number":50,"context_line":"                -- extend Cinder driver to utilize multiple FSS storage pools."},{"line_number":51,"context_line":"        4.0.1   -- fixed bugs"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a30ddce_5f6566df","line":49,"range":{"start_line":49,"start_character":16,"end_line":49,"end_character":22},"updated":"2017-03-07 05:02:16.000000000","message":"We are now in Pike","commit_id":"c7bfa6c2ef15baa3e0a9c353a0a43634bce04dbc"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"6fb084bea7fe5de63ec188083eae404bdeae19cc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        2.0.1   -- fixed bugs"},{"line_number":47,"context_line":"        2.0.2   -- support Multipath"},{"line_number":48,"context_line":"        3.0.0 - Newton driver"},{"line_number":49,"context_line":"        4.0.0 - Ocata driver"},{"line_number":50,"context_line":"                -- extend Cinder driver to utilize multiple FSS storage pools."},{"line_number":51,"context_line":"        4.0.1   -- fixed bugs"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a30ddce_596d8131","line":49,"range":{"start_line":49,"start_character":16,"end_line":49,"end_character":22},"in_reply_to":"9a30ddce_5f6566df","updated":"2017-03-07 07:24:20.000000000","message":"Jay, thanks for your reply.\nI will fix that at next version.","commit_id":"c7bfa6c2ef15baa3e0a9c353a0a43634bce04dbc"}],"cinder/volume/drivers/falconstor/rest_proxy.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"745e767c408a339f091070abd60ad712e98aae5b","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if \u0027mirrored\u0027 in volume_metadata:"},{"line_number":260,"context_line":"            if volume_metadata[\u0027mirrored\u0027] is False:"},{"line_number":261,"context_line":"                msg \u003d (\u0027If you want to create a mirrored volume,\u0027"},{"line_number":262,"context_line":"                       \u0027 this param must be True.\u0027)"},{"line_number":263,"context_line":"                raise exception.VolumeBackendAPIException(msg)"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        sizemb \u003d self._convert_size_to_mb(volume[\"size\"])"},{"line_number":266,"context_line":"        volume_name \u003d self._get_fss_volume_name(volume)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a30ddce_3fafd2e4","line":263,"range":{"start_line":261,"start_character":16,"end_line":263,"end_character":62},"updated":"2017-03-07 05:02:16.000000000","message":"This is kind of poor form.  Ok to raise an exception but it seems like this should be in a LOG.warning or LOG.info for a user, not an exception.","commit_id":"c7bfa6c2ef15baa3e0a9c353a0a43634bce04dbc"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"6fb084bea7fe5de63ec188083eae404bdeae19cc","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if \u0027mirrored\u0027 in volume_metadata:"},{"line_number":260,"context_line":"            if volume_metadata[\u0027mirrored\u0027] is False:"},{"line_number":261,"context_line":"                msg \u003d (\u0027If you want to create a mirrored volume,\u0027"},{"line_number":262,"context_line":"                       \u0027 this param must be True.\u0027)"},{"line_number":263,"context_line":"                raise exception.VolumeBackendAPIException(msg)"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        sizemb \u003d self._convert_size_to_mb(volume[\"size\"])"},{"line_number":266,"context_line":"        volume_name \u003d self._get_fss_volume_name(volume)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a30ddce_d9edf18f","line":263,"range":{"start_line":261,"start_character":16,"end_line":263,"end_character":62},"in_reply_to":"9a30ddce_3fafd2e4","updated":"2017-03-07 07:24:20.000000000","message":"This parameter is needed and its value must be true for this command so I raise an exception when user set that value is false.","commit_id":"c7bfa6c2ef15baa3e0a9c353a0a43634bce04dbc"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7c1ad2b296682be0808efa51de82a410f92ac24e","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if \u0027mirrored\u0027 in volume_metadata:"},{"line_number":260,"context_line":"            if volume_metadata[\u0027mirrored\u0027] is False:"},{"line_number":261,"context_line":"                msg \u003d (\u0027If you want to create a mirrored volume,\u0027"},{"line_number":262,"context_line":"                       \u0027 this param must be True.\u0027)"},{"line_number":263,"context_line":"                raise exception.VolumeBackendAPIException(msg)"},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a30ddce_2b064186","line":261,"range":{"start_line":261,"start_character":22,"end_line":261,"end_character":23},"updated":"2017-03-09 13:48:17.000000000","message":"_(","commit_id":"d50c9989f723bddb0fd550880d24fb31e837479d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0de0f709c75e8ed5df6c8eacbc534277823d7b17","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            output \u003d self.list_pool_info()"},{"line_number":124,"context_line":"            if output and \"storagepools\" in output[\u0027data\u0027]:"},{"line_number":125,"context_line":"                for item in output[\u0027data\u0027][\u0027storagepools\u0027]:"},{"line_number":126,"context_line":"                    if item[\u0027name\u0027].startswith(GROUP_PREFIX) and (str("},{"line_number":127,"context_line":"                            item[\u0027id\u0027]) in self.fss_defined_pools.values()):"},{"line_number":128,"context_line":"                        poolid \u003d int(item[\u0027id\u0027])"},{"line_number":129,"context_line":"                        qpools.append(poolid)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_d52770b6","line":126,"range":{"start_line":126,"start_character":66,"end_line":126,"end_character":69},"updated":"2017-04-14 13:37:51.000000000","message":"Use six.text_type() instead.","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"3aef2e0c2c878e49a3d64c8b4f5086b5415310cf","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            output \u003d self.list_pool_info()"},{"line_number":124,"context_line":"            if output and \"storagepools\" in output[\u0027data\u0027]:"},{"line_number":125,"context_line":"                for item in output[\u0027data\u0027][\u0027storagepools\u0027]:"},{"line_number":126,"context_line":"                    if item[\u0027name\u0027].startswith(GROUP_PREFIX) and (str("},{"line_number":127,"context_line":"                            item[\u0027id\u0027]) in self.fss_defined_pools.values()):"},{"line_number":128,"context_line":"                        poolid \u003d int(item[\u0027id\u0027])"},{"line_number":129,"context_line":"                        qpools.append(poolid)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_bb9c630e","line":126,"range":{"start_line":126,"start_character":66,"end_line":126,"end_character":69},"in_reply_to":"7ffa3b31_d52770b6","updated":"2017-05-10 09:12:35.000000000","message":"It will fix at next patch.","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0de0f709c75e8ed5df6c8eacbc534277823d7b17","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            params.update(cdpjournaltag\u003dcdp_tag)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        pool_id \u003d self._selected_pool_id(self.fss_defined_pools, \"O\")"},{"line_number":211,"context_line":"        params.update(storage\u003ddict(storagepoolid\u003dpool_id, sizemb\u003dsizemb))"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        metadata \u003d self.FSS.create_timeview(tv_vid, params)"},{"line_number":214,"context_line":"        return volume_name, metadata"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_3538d4d1","line":211,"range":{"start_line":211,"start_character":30,"end_line":211,"end_character":72},"updated":"2017-04-14 13:37:51.000000000","message":"Please use dict comprehension {} which has better performance.","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"3aef2e0c2c878e49a3d64c8b4f5086b5415310cf","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            params.update(cdpjournaltag\u003dcdp_tag)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        pool_id \u003d self._selected_pool_id(self.fss_defined_pools, \"O\")"},{"line_number":211,"context_line":"        params.update(storage\u003ddict(storagepoolid\u003dpool_id, sizemb\u003dsizemb))"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        metadata \u003d self.FSS.create_timeview(tv_vid, params)"},{"line_number":214,"context_line":"        return volume_name, metadata"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_5b879fb6","line":211,"range":{"start_line":211,"start_character":30,"end_line":211,"end_character":72},"in_reply_to":"7ffa3b31_3538d4d1","updated":"2017-05-10 09:12:35.000000000","message":"It will fix at next patch.","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0de0f709c75e8ed5df6c8eacbc534277823d7b17","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        thin_size \u003d 0"},{"line_number":218,"context_line":"        size \u003d volume[\"size\"]"},{"line_number":219,"context_line":"        sizemb \u003d self._convert_size_to_mb(size)"},{"line_number":220,"context_line":"        params \u003d dict(category\u003d\"virtual\")"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        if \u0027thinprovisioned\u0027 in volume_metadata:"},{"line_number":223,"context_line":"            if volume_metadata[\u0027thinprovisioned\u0027] is False:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_f5314cee","line":220,"range":{"start_line":220,"start_character":17,"end_line":220,"end_character":41},"updated":"2017-04-14 13:37:51.000000000","message":"Use {}","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"3aef2e0c2c878e49a3d64c8b4f5086b5415310cf","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        thin_size \u003d 0"},{"line_number":218,"context_line":"        size \u003d volume[\"size\"]"},{"line_number":219,"context_line":"        sizemb \u003d self._convert_size_to_mb(size)"},{"line_number":220,"context_line":"        params \u003d dict(category\u003d\"virtual\")"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        if \u0027thinprovisioned\u0027 in volume_metadata:"},{"line_number":223,"context_line":"            if volume_metadata[\u0027thinprovisioned\u0027] is False:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_3b9053ed","line":220,"range":{"start_line":220,"start_character":17,"end_line":220,"end_character":41},"in_reply_to":"7ffa3b31_f5314cee","updated":"2017-05-10 09:12:35.000000000","message":"It will fix at next patch.","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0de0f709c75e8ed5df6c8eacbc534277823d7b17","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if \u0027mirrored\u0027 in volume_metadata:"},{"line_number":260,"context_line":"            if volume_metadata[\u0027mirrored\u0027] is False:"},{"line_number":261,"context_line":"                msg \u003d (\u0027If you want to create a mirrored volume,\u0027"},{"line_number":262,"context_line":"                       \u0027 this param must be True.\u0027)"},{"line_number":263,"context_line":"                raise exception.VolumeBackendAPIException(msg)"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        sizemb \u003d self._convert_size_to_mb(volume[\"size\"])"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_353d74bb","line":262,"range":{"start_line":261,"start_character":22,"end_line":262,"end_character":51},"updated":"2017-04-14 13:37:51.000000000","message":"Use _(\u0027xxxxxx\u0027)","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"3aef2e0c2c878e49a3d64c8b4f5086b5415310cf","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if \u0027mirrored\u0027 in volume_metadata:"},{"line_number":260,"context_line":"            if volume_metadata[\u0027mirrored\u0027] is False:"},{"line_number":261,"context_line":"                msg \u003d (\u0027If you want to create a mirrored volume,\u0027"},{"line_number":262,"context_line":"                       \u0027 this param must be True.\u0027)"},{"line_number":263,"context_line":"                raise exception.VolumeBackendAPIException(msg)"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        sizemb \u003d self._convert_size_to_mb(volume[\"size\"])"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_fbbf8b5e","line":262,"range":{"start_line":261,"start_character":22,"end_line":262,"end_character":51},"in_reply_to":"7ffa3b31_353d74bb","updated":"2017-05-10 09:12:35.000000000","message":"Done","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0de0f709c75e8ed5df6c8eacbc534277823d7b17","unresolved":false,"context_lines":[{"line_number":260,"context_line":"            if volume_metadata[\u0027mirrored\u0027] is False:"},{"line_number":261,"context_line":"                msg \u003d (\u0027If you want to create a mirrored volume,\u0027"},{"line_number":262,"context_line":"                       \u0027 this param must be True.\u0027)"},{"line_number":263,"context_line":"                raise exception.VolumeBackendAPIException(msg)"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        sizemb \u003d self._convert_size_to_mb(volume[\"size\"])"},{"line_number":266,"context_line":"        volume_name \u003d self._get_fss_volume_name(volume)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_55400036","line":263,"range":{"start_line":263,"start_character":22,"end_line":263,"end_character":62},"updated":"2017-04-14 13:37:51.000000000","message":"exception.VolumeBackendAPIException(data\u003dmsg)","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"3aef2e0c2c878e49a3d64c8b4f5086b5415310cf","unresolved":false,"context_lines":[{"line_number":260,"context_line":"            if volume_metadata[\u0027mirrored\u0027] is False:"},{"line_number":261,"context_line":"                msg \u003d (\u0027If you want to create a mirrored volume,\u0027"},{"line_number":262,"context_line":"                       \u0027 this param must be True.\u0027)"},{"line_number":263,"context_line":"                raise exception.VolumeBackendAPIException(msg)"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        sizemb \u003d self._convert_size_to_mb(volume[\"size\"])"},{"line_number":266,"context_line":"        volume_name \u003d self._get_fss_volume_name(volume)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_dbc4cff7","line":263,"range":{"start_line":263,"start_character":22,"end_line":263,"end_character":62},"in_reply_to":"7ffa3b31_55400036","updated":"2017-05-10 09:12:35.000000000","message":"Done","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0de0f709c75e8ed5df6c8eacbc534277823d7b17","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        sizemb \u003d self._convert_size_to_mb(volume[\"size\"])"},{"line_number":266,"context_line":"        volume_name \u003d self._get_fss_volume_name(volume)"},{"line_number":267,"context_line":"        params \u003d dict(category\u003d\"virtual\","},{"line_number":268,"context_line":"                      sizemb\u003dsizemb,"},{"line_number":269,"context_line":"                      name\u003dvolume_name)"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_154a7854","line":267,"range":{"start_line":267,"start_character":17,"end_line":267,"end_character":21},"updated":"2017-04-14 13:37:51.000000000","message":"Use {}","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"3aef2e0c2c878e49a3d64c8b4f5086b5415310cf","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        sizemb \u003d self._convert_size_to_mb(volume[\"size\"])"},{"line_number":266,"context_line":"        volume_name \u003d self._get_fss_volume_name(volume)"},{"line_number":267,"context_line":"        params \u003d dict(category\u003d\"virtual\","},{"line_number":268,"context_line":"                      sizemb\u003dsizemb,"},{"line_number":269,"context_line":"                      name\u003dvolume_name)"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_bbb58380","line":267,"range":{"start_line":267,"start_character":17,"end_line":267,"end_character":21},"in_reply_to":"7ffa3b31_154a7854","updated":"2017-05-10 09:12:35.000000000","message":"Done","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0de0f709c75e8ed5df6c8eacbc534277823d7b17","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        metadata \u003d self.FSS.create_vdev(params)"},{"line_number":274,"context_line":"        if metadata:"},{"line_number":275,"context_line":"            vid \u003d self._get_fss_vid_from_name(volume_name, FSS_SINGLE_TYPE)"},{"line_number":276,"context_line":"            mirror_params \u003d dict(category\u003d\u0027virtual\u0027,"},{"line_number":277,"context_line":"                                 selectioncriteria\u003d\u0027anydrive\u0027,"},{"line_number":278,"context_line":"                                 mirrortarget\u003d\"virtual\")"},{"line_number":279,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_f546ec4f","line":276,"range":{"start_line":276,"start_character":28,"end_line":276,"end_character":32},"updated":"2017-04-14 13:37:51.000000000","message":"{}","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"3aef2e0c2c878e49a3d64c8b4f5086b5415310cf","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        metadata \u003d self.FSS.create_vdev(params)"},{"line_number":274,"context_line":"        if metadata:"},{"line_number":275,"context_line":"            vid \u003d self._get_fss_vid_from_name(volume_name, FSS_SINGLE_TYPE)"},{"line_number":276,"context_line":"            mirror_params \u003d dict(category\u003d\u0027virtual\u0027,"},{"line_number":277,"context_line":"                                 selectioncriteria\u003d\u0027anydrive\u0027,"},{"line_number":278,"context_line":"                                 mirrortarget\u003d\"virtual\")"},{"line_number":279,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_9bbac76b","line":276,"range":{"start_line":276,"start_character":28,"end_line":276,"end_character":32},"in_reply_to":"7ffa3b31_f546ec4f","updated":"2017-05-10 09:12:35.000000000","message":"Done","commit_id":"03a8c9d8ad0920b7fa74cfea4218a7513dc5b655"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"70070d05ff721154f4f139c64551045cf8810ac8","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            if output and \"storagepools\" in output[\u0027data\u0027]:"},{"line_number":126,"context_line":"                for item in output[\u0027data\u0027][\u0027storagepools\u0027]:"},{"line_number":127,"context_line":"                    if item[\u0027name\u0027].startswith(GROUP_PREFIX) and ("},{"line_number":128,"context_line":"                            six.text_type(str(item[\u0027id\u0027])) in"},{"line_number":129,"context_line":"                            self.fss_defined_pools.values()):"},{"line_number":130,"context_line":"                        poolid \u003d int(item[\u0027id\u0027])"},{"line_number":131,"context_line":"                        qpools.append(poolid)"}],"source_content_type":"text/x-python","patch_set":19,"id":"ff0f0b1f_e43da68f","line":128,"range":{"start_line":128,"start_character":28,"end_line":128,"end_character":58},"updated":"2017-05-22 14:13:55.000000000","message":"No need to use both str() and six.text_type.  Please change to the following:\n\nsix.text_type(item[\u0027id\u0027])","commit_id":"e492d3ca464e5cbdaec903802af3cb5c49262b90"}],"releasenotes/notes/falconstor-extend-driver-to-utilize-multiple-fss-pools-dc6f2bc84432a672.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a7126a0d29e07bdc407e7ad0159db3f953c3811f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Extend Cinder driver to utilize multiple FSS storage pools."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9ff52f3f_80564206","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":25},"updated":"2017-04-13 12:48:27.000000000","message":"This is too general, especially if the reader does not know what FSS means. It would also be phrased as something that has been done. Maybe something like:\n\nAdded ability to specify multiple storage pools in the FalconStor driver.","commit_id":"63dc6df4b938713eb1cee2beb24a5cd5e5c3ab63"},{"author":{"_account_id":17959,"name":"Sofie Huang","email":"Soffie.Huang@falconstor.com","username":"Soffie"},"change_message_id":"59a3721b965f51250a9df95a1a6778d1aca6d336","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Extend Cinder driver to utilize multiple FSS storage pools."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7ffa3b31_68f20c09","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":25},"in_reply_to":"9ff52f3f_80564206","updated":"2017-04-14 03:44:14.000000000","message":"That will be fixing at next patch.","commit_id":"63dc6df4b938713eb1cee2beb24a5cd5e5c3ab63"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"70070d05ff721154f4f139c64551045cf8810ac8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added ability to specify multiple storage pools in the FalconStor driver."}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ff0f0b1f_e4c24659","line":3,"updated":"2017-05-22 14:13:55.000000000","message":"Add the following deprecation section:\n\ndeprecations:\n  - The fss_pool option is deprecated. Use fss_pools instead.","commit_id":"e492d3ca464e5cbdaec903802af3cb5c49262b90"}]}
