)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22405,"name":"Vitaliy Nogin","email":"shadoff1982@gmail.com","username":"vnogin"},"change_message_id":"cf357b873790eb30f549941e8df6cc2876fc3231","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Vishakha Agarwal \u003cagarwalvishakha18@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-04-09 14:24:54 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Freezer Backup for nova and cinder should accept"},{"line_number":8,"context_line":"instances names too"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Added parameters ‘nova_inst_name’ and ‘cinder_vol_name’"},{"line_number":11,"context_line":"to take freezer backups for nova and cinder."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bf659307_8ea37d9e","line":8,"range":{"start_line":7,"start_character":0,"end_line":8,"end_character":19},"updated":"2018-04-11 13:33:52.000000000","message":"Please do it in one line","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"}],"doc/README.rst":[{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"5dfc8a46d2d404a241d2a9f7d7f3c6a7f93b6382","unresolved":false,"context_lines":[{"line_number":1130,"context_line":"                        The inverse of --use-syslog-rfc-format"},{"line_number":1131,"context_line":"  --nova-inst-id NOVA_INST_ID"},{"line_number":1132,"context_line":"                        Id of nova instance for backup"},{"line_number":1133,"context_line":"--nova-inst-name NOVA_INST_NAME"},{"line_number":1134,"context_line":"                        Name of nova instance for backup"},{"line_number":1135,"context_line":"  --noverbose           The inverse of --verbose"},{"line_number":1136,"context_line":"  --nowatch-log-file    The inverse of --watch-log-file"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf659307_527af1b9","line":1133,"range":{"start_line":1133,"start_character":0,"end_line":1133,"end_character":2},"updated":"2018-04-11 07:18:57.000000000","message":"keep two space here too, as convention follows","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"0c80c79fd7baa3e44cbb078c41490d58b3f1a781","unresolved":false,"context_lines":[{"line_number":956,"context_line":"                     [--nodry-run] [--noinsecure] [--nooverwrite] [--noquiet]"},{"line_number":957,"context_line":"                     [--nouse-syslog] [--nouse-syslog-rfc-format]"},{"line_number":958,"context_line":"                     [--nova-inst-id NOVA_INST_ID] [--noverbose]"},{"line_number":959,"context_line":"                     [--nova-inst-name NOVA_INST_NAME] [--noverbose]"},{"line_number":960,"context_line":"                     [--nowatch-log-file]"},{"line_number":961,"context_line":"                     [--os-identity-api-version OS_IDENTITY_API_VERSION]"},{"line_number":962,"context_line":"                     [--overwrite] [--path-to-backup PATH_TO_BACKUP]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_952f38a0","line":959,"range":{"start_line":959,"start_character":54,"end_line":959,"end_character":68},"updated":"2018-04-19 08:51:41.000000000","message":"duplicated","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"}],"freezer/common/config.py":[{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"5dfc8a46d2d404a241d2a9f7d7f3c6a7f93b6382","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    \u0027cinderbrick_vol_id\u0027: \u0027\u0027,"},{"line_number":72,"context_line":"    \u0027cinder_vol_name\u0027: \u0027\u0027,"},{"line_number":73,"context_line":"    \u0027nova_inst_id\u0027: \u0027\u0027, \u0027__version__\u0027: FREEZER_VERSION,"},{"line_number":74,"context_line":"    \u0027nova_inst_name\u0027: \u0027\u0027, \u0027__version__\u0027: FREEZER_VERSION,"},{"line_number":75,"context_line":"    \u0027remove_older_than\u0027: None, \u0027restore_from_date\u0027: None,"},{"line_number":76,"context_line":"    \u0027upload_limit\u0027: -1, \u0027always_level\u0027: False, \u0027version\u0027: None,"},{"line_number":77,"context_line":"    \u0027dry_run\u0027: False, \u0027lvm_snapsize\u0027: DEFAULT_LVM_SNAPSIZE,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_6fccf269","line":74,"range":{"start_line":74,"start_character":25,"end_line":74,"end_character":57},"updated":"2018-04-11 07:18:57.000000000","message":"seems duplicate, as already exist in previous line","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"5dfc8a46d2d404a241d2a9f7d7f3c6a7f93b6382","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    cfg.StrOpt(\u0027cinder-vol-name\u0027,"},{"line_number":380,"context_line":"               dest\u003d\u0027cinder_vol_name\u0027,"},{"line_number":381,"context_line":"               default\u003dDEFAULT_PARAMS[\u0027cinder_vol_name\u0027],"},{"line_number":382,"context_line":"               help\u003d\"name of cinder volume for backup\""},{"line_number":383,"context_line":"               ),"},{"line_number":384,"context_line":"    cfg.StrOpt(\u0027cinderbrick-vol-id\u0027,"},{"line_number":385,"context_line":"               dest\u003d\u0027cinderbrick_vol_id\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_c5015d6c","line":382,"range":{"start_line":382,"start_character":21,"end_line":382,"end_character":22},"updated":"2018-04-11 07:18:57.000000000","message":"Capitalize ;) as convention followed","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":13940,"name":"Saad Zaher","email":"eng.szaher@gmail.com","username":"szaher"},"change_message_id":"02871f81ba05546e59049b5b9bfaa1bc8bef2e8b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    \u0027cinderbrick_vol_id\u0027: \u0027\u0027,"},{"line_number":72,"context_line":"    \u0027cinder_vol_name\u0027: \u0027\u0027,"},{"line_number":73,"context_line":"    \u0027nova_inst_id\u0027: \u0027\u0027, \u0027__version__\u0027: FREEZER_VERSION,"},{"line_number":74,"context_line":"    \u0027nova_inst_name\u0027: \u0027\u0027, \u0027__version__\u0027: FREEZER_VERSION,"},{"line_number":75,"context_line":"    \u0027remove_older_than\u0027: None, \u0027restore_from_date\u0027: None,"},{"line_number":76,"context_line":"    \u0027upload_limit\u0027: -1, \u0027always_level\u0027: False, \u0027version\u0027: None,"},{"line_number":77,"context_line":"    \u0027dry_run\u0027: False, \u0027lvm_snapsize\u0027: DEFAULT_LVM_SNAPSIZE,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_b41e596e","line":74,"updated":"2018-04-16 09:01:58.000000000","message":"Why are you duplicating the __version__ ??","commit_id":"c7bc87e183a49e9e69db0476004ad7dbc43bc894"}],"freezer/job.py":[{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"5dfc8a46d2d404a241d2a9f7d7f3c6a7f93b6382","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from freezer.utils import checksum"},{"line_number":36,"context_line":"from freezer.utils import exec_cmd"},{"line_number":37,"context_line":"from freezer.utils import utils"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CONF \u003d cfg.CONF"},{"line_number":41,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_12f6b964","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":0},"updated":"2018-04-11 07:18:57.000000000","message":"line not necessary","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"5dfc8a46d2d404a241d2a9f7d7f3c6a7f93b6382","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        self.client \u003d client_manager.get_client_manager(CONF)"},{"line_number":56,"context_line":"        self.nova \u003d self.client.create_nova()"},{"line_number":57,"context_line":"        self.cinder \u003d self.client.create_cinder()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        self._general_validation()"},{"line_number":60,"context_line":"        self._validate()"},{"line_number":61,"context_line":"        if self.conf.nova_inst_name:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_b2e34dd8","line":58,"updated":"2018-04-11 07:18:57.000000000","message":"IMO, empty line not necessary here","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"5dfc8a46d2d404a241d2a9f7d7f3c6a7f93b6382","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                    self.conf.nova_inst_id)"},{"line_number":292,"context_line":"                return self.engine.backup("},{"line_number":293,"context_line":"                    backup_resource\u003dself.conf.nova_inst_id,"},{"line_number":294,"context_line":"                    hostname_backup_name\u003dhostname_backup_name,"},{"line_number":295,"context_line":"                    no_incremental\u003dself.conf.no_incremental,"},{"line_number":296,"context_line":"                    max_level\u003dself.conf.max_level,"},{"line_number":297,"context_line":"                    always_level\u003dself.conf.always_level,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_b2582d8a","line":294,"range":{"start_line":294,"start_character":41,"end_line":294,"end_character":61},"updated":"2018-04-11 07:18:57.000000000","message":"I think this should be `self.conf.hostname_backup_name`. please check","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"1148aa5f3d60fc1658622b45932bd959065ec96a","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                    self.conf.nova_inst_id)"},{"line_number":292,"context_line":"                return self.engine.backup("},{"line_number":293,"context_line":"                    backup_resource\u003dself.conf.nova_inst_id,"},{"line_number":294,"context_line":"                    hostname_backup_name\u003dhostname_backup_name,"},{"line_number":295,"context_line":"                    no_incremental\u003dself.conf.no_incremental,"},{"line_number":296,"context_line":"                    max_level\u003dself.conf.max_level,"},{"line_number":297,"context_line":"                    always_level\u003dself.conf.always_level,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_28d7334e","line":294,"range":{"start_line":294,"start_character":41,"end_line":294,"end_character":61},"in_reply_to":"bf659307_b2582d8a","updated":"2018-04-17 07:04:01.000000000","message":"Thank you for the comment. But the value of hostname_backup_name will be hostname_backup_name,i.e on L289 hostname_backup_name \u003d os.path.join(self.conf.hostname_backup_name,self.conf.nova_inst_id)","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"5dfc8a46d2d404a241d2a9f7d7f3c6a7f93b6382","unresolved":false,"context_lines":[{"line_number":414,"context_line":"                    self.conf.hostname_backup_name,"},{"line_number":415,"context_line":"                    self.conf.nova_inst_id)"},{"line_number":416,"context_line":"                self.engine.restore("},{"line_number":417,"context_line":"                    hostname_backup_name\u003dhostname_backup_name,"},{"line_number":418,"context_line":"                    restore_resource\u003dconf.nova_inst_id,"},{"line_number":419,"context_line":"                    overwrite\u003dconf.overwrite,"},{"line_number":420,"context_line":"                    recent_to_date\u003drestore_timestamp,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_65ddf16e","line":417,"range":{"start_line":417,"start_character":41,"end_line":417,"end_character":62},"updated":"2018-04-11 07:18:57.000000000","message":"not sure whether this is correct or not, please check, i think, this one also be `self.conf.hostname_backup_name` i.e in master code of freezer","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"5dfc8a46d2d404a241d2a9f7d7f3c6a7f93b6382","unresolved":false,"context_lines":[{"line_number":430,"context_line":"                    self.conf.hostname_backup_name,"},{"line_number":431,"context_line":"                    str(self.instance_id[0]))"},{"line_number":432,"context_line":"                self.engine.restore("},{"line_number":433,"context_line":"                    hostname_backup_name\u003dhostname_backup_name,"},{"line_number":434,"context_line":"                    restore_resource\u003dstr(self.instance_id[0]),"},{"line_number":435,"context_line":"                    overwrite\u003dconf.overwrite,"},{"line_number":436,"context_line":"                    recent_to_date\u003drestore_timestamp,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_25e37936","line":433,"range":{"start_line":433,"start_character":41,"end_line":433,"end_character":62},"updated":"2018-04-11 07:18:57.000000000","message":"ditto","commit_id":"20909df508089e8546e12ba6e357be29b94888fa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"07d430d3d5148254a1a1aa291662993caa72d925","unresolved":false,"context_lines":[{"line_number":300,"context_line":"            else:"},{"line_number":301,"context_line":"                hostname_backup_name \u003d os.path.join("},{"line_number":302,"context_line":"                    self.conf.hostname_backup_name,"},{"line_number":303,"context_line":"                    str(self.instance_id[0]))"},{"line_number":304,"context_line":"                return self.engine.backup("},{"line_number":305,"context_line":"                    backup_resource\u003dstr(self.instance_id[0]),"},{"line_number":306,"context_line":"                    hostname_backup_name\u003dhostname_backup_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_45367005","line":303,"range":{"start_line":303,"start_character":24,"end_line":303,"end_character":43},"updated":"2018-04-13 00:49:14.000000000","message":"as name is not unique for nova server and cinder volume so there might be multiple name can exist. Why you are picking up the first one. \n\nI think you should start the backup of all resources you found matching with that name. \n\nIMO, this is nice feature where user want to take the backup of all resources(server and volume) together matching the name.\n\nUsually server have same name of server or volume to group them together to perform the multiple operation together. I see the same use case here. If i have feature of taking the backup of all servers with same name together, it same my time. \n\nBut other side effect of this can be, if different users have same name servers under same tenant then it might end up taking up the backup of other user server also which should be ok if tenant is taking the backup and he/she knows what they are doing. Well doc can be good for this side effect.","commit_id":"c7bc87e183a49e9e69db0476004ad7dbc43bc894"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"0c80c79fd7baa3e44cbb078c41490d58b3f1a781","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.engine \u003d conf_dict.engine"},{"line_number":55,"context_line":"        self.client \u003d client_manager.get_client_manager(CONF)"},{"line_number":56,"context_line":"        self.nova \u003d self.client.create_nova()"},{"line_number":57,"context_line":"        self.cinder \u003d self.client.create_cinder()"},{"line_number":58,"context_line":"        self._general_validation()"},{"line_number":59,"context_line":"        self._validate()"},{"line_number":60,"context_line":"        if self.conf.nova_inst_name:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_a43c8fc8","line":57,"range":{"start_line":57,"start_character":8,"end_line":57,"end_character":49},"updated":"2018-04-19 08:51:41.000000000","message":"You don\u0027t use this attribute at all. Instead you create self.cinder_client in line 67 in case you need it. You could do the same for the nova client. Please be consistent.","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"0c80c79fd7baa3e44cbb078c41490d58b3f1a781","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self._general_validation()"},{"line_number":59,"context_line":"        self._validate()"},{"line_number":60,"context_line":"        if self.conf.nova_inst_name:"},{"line_number":61,"context_line":"            self.instance_id \u003d [server.id for server in"},{"line_number":62,"context_line":"                                self.nova.servers.list(detailed\u003dFalse)"},{"line_number":63,"context_line":"                                if server.name \u003d\u003d self.conf.nova_inst_name]"},{"line_number":64,"context_line":"            LOG.info(\u0027Executing nova backup. Instance ID: {0}\u0027.format("}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_b05fea0c","line":61,"range":{"start_line":61,"start_character":17,"end_line":61,"end_character":28},"updated":"2018-04-19 08:51:41.000000000","message":"just by looking at the attribute\u0027s name I\u0027d not expect a list. maybe just call it instance_ids? You might even want to prefix it with \"nova\" as you did with \"cinder\" for volume IDs.","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"0c80c79fd7baa3e44cbb078c41490d58b3f1a781","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            LOG.info(\u0027Executing nova backup. Instance ID: {0}\u0027.format("},{"line_number":65,"context_line":"                str(self.instance_id[0])))"},{"line_number":66,"context_line":"        if self.conf.cinder_vol_name:"},{"line_number":67,"context_line":"            self.cinder_client \u003d self.conf.client_manager.get_cinder()"},{"line_number":68,"context_line":"            self.cinder_instance_id \u003d [volume.id for volume in"},{"line_number":69,"context_line":"                                       self.cinder_client.volumes.list()"},{"line_number":70,"context_line":"                                       if volume.name \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_90818692","line":67,"range":{"start_line":67,"start_character":33,"end_line":67,"end_character":57},"updated":"2018-04-19 08:51:41.000000000","message":"Why do you create another instance of it in line 55?","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"0c80c79fd7baa3e44cbb078c41490d58b3f1a781","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                str(self.instance_id[0])))"},{"line_number":66,"context_line":"        if self.conf.cinder_vol_name:"},{"line_number":67,"context_line":"            self.cinder_client \u003d self.conf.client_manager.get_cinder()"},{"line_number":68,"context_line":"            self.cinder_instance_id \u003d [volume.id for volume in"},{"line_number":69,"context_line":"                                       self.cinder_client.volumes.list()"},{"line_number":70,"context_line":"                                       if volume.name \u003d\u003d"},{"line_number":71,"context_line":"                                       self.conf.cinder_inst_name]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_0413fb0e","line":68,"range":{"start_line":68,"start_character":24,"end_line":68,"end_character":32},"updated":"2018-04-19 08:51:41.000000000","message":"I think \"instance\" usually is associated with nova, not cinder. maybe rather cinder_volume_ids?","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"94c7aaf782677c4bd1452930fa00d487cb74b959","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                str(self.instance_id[0])))"},{"line_number":66,"context_line":"        if self.conf.cinder_vol_name:"},{"line_number":67,"context_line":"            self.cinder_client \u003d self.conf.client_manager.get_cinder()"},{"line_number":68,"context_line":"            self.cinder_instance_id \u003d [volume.id for volume in"},{"line_number":69,"context_line":"                                       self.cinder_client.volumes.list()"},{"line_number":70,"context_line":"                                       if volume.name \u003d\u003d"},{"line_number":71,"context_line":"                                       self.conf.cinder_inst_name]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @abc.abstractmethod"},{"line_number":74,"context_line":"    def _validate(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_3c1e94ba","line":71,"range":{"start_line":68,"start_character":12,"end_line":71,"end_character":66},"updated":"2018-04-17 07:14:19.000000000","message":"actually, this multi-lines list comprehension makes it harder to understand","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"0c80c79fd7baa3e44cbb078c41490d58b3f1a781","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                        str(instance_id))"},{"line_number":307,"context_line":"                    futures_list.append(executor.submit("},{"line_number":308,"context_line":"                        self.engine.backup("},{"line_number":309,"context_line":"                            backup_resource\u003dstr(instance_id),"},{"line_number":310,"context_line":"                            hostname_backup_name\u003dhostname_backup_name,"},{"line_number":311,"context_line":"                            no_incremental\u003dself.conf.no_incremental,"},{"line_number":312,"context_line":"                            max_level\u003dself.conf.max_level,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_249cffbe","line":309,"range":{"start_line":309,"start_character":44,"end_line":309,"end_character":47},"updated":"2018-04-19 08:51:41.000000000","message":"is there a case when instance_id is not a str? so is casting required?","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"25b4b4476e2db8e7f0245e10d92e4f9aeac26440","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                        str(instance_id))"},{"line_number":307,"context_line":"                    futures_list.append(executor.submit("},{"line_number":308,"context_line":"                        self.engine.backup("},{"line_number":309,"context_line":"                            backup_resource\u003dstr(instance_id),"},{"line_number":310,"context_line":"                            hostname_backup_name\u003dhostname_backup_name,"},{"line_number":311,"context_line":"                            no_incremental\u003dself.conf.no_incremental,"},{"line_number":312,"context_line":"                            max_level\u003dself.conf.max_level,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_70429140","line":309,"range":{"start_line":309,"start_character":44,"end_line":309,"end_character":47},"in_reply_to":"9f6a8fd7_249cffbe","updated":"2018-04-20 10:43:56.000000000","message":"Thanks for the review. And yes casting is required as it returns a unicode for example text\u003d [u\u0027abcd\u0027]:)","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"fddadcf5857fe2de506ad669a4e688ef95fce3a6","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                        str(instance_id))"},{"line_number":307,"context_line":"                    futures_list.append(executor.submit("},{"line_number":308,"context_line":"                        self.engine.backup("},{"line_number":309,"context_line":"                            backup_resource\u003dstr(instance_id),"},{"line_number":310,"context_line":"                            hostname_backup_name\u003dhostname_backup_name,"},{"line_number":311,"context_line":"                            no_incremental\u003dself.conf.no_incremental,"},{"line_number":312,"context_line":"                            max_level\u003dself.conf.max_level,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_0653df40","line":309,"range":{"start_line":309,"start_character":44,"end_line":309,"end_character":47},"in_reply_to":"9f6a8fd7_70429140","updated":"2018-04-20 11:19:10.000000000","message":"Correct me if I am wrong but I\u0027d argue it should make no difference if you pass a str or a unicode. For this specific place I tracked the usage of the passed instance_id down to building the tar command using \u0027{0} {1}\u0027.format(...). It doesn\u0027t matter if the args to format are str or unicode.\n\nIf it turns out that the casting really is required, it should not be done over and over again but only once initially when building self.nova_instance_ids and self.cinder_vol_ids.","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"0c80c79fd7baa3e44cbb078c41490d58b3f1a781","unresolved":false,"context_lines":[{"line_number":334,"context_line":"                futures_list \u003d []"},{"line_number":335,"context_line":"                for instance_id in self.cinder_instance_id:"},{"line_number":336,"context_line":"                    LOG.info(\u0027Executing cinder snapshot. Volume ID:\u0027"},{"line_number":337,"context_line":"                             \u0027 {0}\u0027.format(str(instance_id)))"},{"line_number":338,"context_line":"                    futures_list.append(executor.submit("},{"line_number":339,"context_line":"                        backup_os.backup_cinder_by_glance("},{"line_number":340,"context_line":"                            str(instance_id))))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_64b9972c","line":337,"range":{"start_line":337,"start_character":43,"end_line":337,"end_character":46},"updated":"2018-04-19 08:51:41.000000000","message":"same here: is there a case when instance_id is not a str? so is casting required? also applies to line 340.","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"25b4b4476e2db8e7f0245e10d92e4f9aeac26440","unresolved":false,"context_lines":[{"line_number":334,"context_line":"                futures_list \u003d []"},{"line_number":335,"context_line":"                for instance_id in self.cinder_instance_id:"},{"line_number":336,"context_line":"                    LOG.info(\u0027Executing cinder snapshot. Volume ID:\u0027"},{"line_number":337,"context_line":"                             \u0027 {0}\u0027.format(str(instance_id)))"},{"line_number":338,"context_line":"                    futures_list.append(executor.submit("},{"line_number":339,"context_line":"                        backup_os.backup_cinder_by_glance("},{"line_number":340,"context_line":"                            str(instance_id))))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_f077819f","line":337,"range":{"start_line":337,"start_character":43,"end_line":337,"end_character":46},"in_reply_to":"9f6a8fd7_64b9972c","updated":"2018-04-20 10:43:56.000000000","message":"same as above. Thanks","commit_id":"7598277f9a7dd46ed86c06554bedfbbf61c859d6"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"fddadcf5857fe2de506ad669a4e688ef95fce3a6","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.conf \u003d conf_dict"},{"line_number":53,"context_line":"        self.storage \u003d storage"},{"line_number":54,"context_line":"        self.engine \u003d conf_dict.engine"},{"line_number":55,"context_line":"        self.client \u003d client_manager.get_client_manager(CONF)"},{"line_number":56,"context_line":"        self.nova \u003d self.client.create_nova()"},{"line_number":57,"context_line":"        self.cinder \u003d self.client.get_cinder()"},{"line_number":58,"context_line":"        self._general_validation()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_464317b0","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":61},"updated":"2018-04-20 11:19:10.000000000","message":"In PS3 you used self.conf.client_manager. So why do you create another client manager here instead of using the already existing self.conf.client_manager?","commit_id":"e4a1df82e60ba5370b8b069f3b179d0758e4cf4d"},{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"fddadcf5857fe2de506ad669a4e688ef95fce3a6","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.storage \u003d storage"},{"line_number":54,"context_line":"        self.engine \u003d conf_dict.engine"},{"line_number":55,"context_line":"        self.client \u003d client_manager.get_client_manager(CONF)"},{"line_number":56,"context_line":"        self.nova \u003d self.client.create_nova()"},{"line_number":57,"context_line":"        self.cinder \u003d self.client.get_cinder()"},{"line_number":58,"context_line":"        self._general_validation()"},{"line_number":59,"context_line":"        self._validate()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_66297be4","line":56,"range":{"start_line":56,"start_character":32,"end_line":56,"end_character":45},"updated":"2018-04-20 11:19:10.000000000","message":"better use get_nova()","commit_id":"e4a1df82e60ba5370b8b069f3b179d0758e4cf4d"},{"author":{"_account_id":19098,"name":"lumeihong","email":"lu.meihong@zte.com.cn","username":"lu-meihong"},"change_message_id":"86f2fe9423245818f7b4cc6e3bb27aaeb71c4e22","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.conf \u003d conf_dict"},{"line_number":53,"context_line":"        self.storage \u003d storage"},{"line_number":54,"context_line":"        self.engine \u003d conf_dict.engine"},{"line_number":55,"context_line":"        self.client \u003d client_manager.get_client_manager(CONF)"},{"line_number":56,"context_line":"        self.nova \u003d self.client.get_nova()"},{"line_number":57,"context_line":"        self.cinder \u003d self.client.get_cinder()"},{"line_number":58,"context_line":"        self._general_validation()"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_9b3dcfbd","line":55,"range":{"start_line":55,"start_character":22,"end_line":55,"end_character":36},"updated":"2018-10-26 03:39:01.000000000","message":"client_manager already exist in conf_dict,value is conf_dict[\u0027client_manager\u0027]","commit_id":"41ea21e014fda475b2256e6a24431c35cebdf29b"}],"freezer/tests/unit/engines/nova/test_nova.py":[{"author":{"_account_id":19098,"name":"lumeihong","email":"lu.meihong@zte.com.cn","username":"lu-meihong"},"change_message_id":"86f2fe9423245818f7b4cc6e3bb27aaeb71c4e22","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        if self.instance_names:"},{"line_number":50,"context_line":"            self.instance_ids \u003d [server for server in"},{"line_number":51,"context_line":"                                 self.instance_names"},{"line_number":52,"context_line":"                                 if server \u003d\u003d self.backup_opt.nova_inst_name]"},{"line_number":53,"context_line":"        self.instance_ids \u003d [\"instance-id-1\", \"instance-id-2\", \"instance-id-3\"]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        self.instance_ids_str \u003d json.dumps(self.instance_ids)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_c057d626","line":52,"updated":"2018-10-26 03:39:01.000000000","message":"this line does\u0027t work.nova_inst_name\u003d\u0027\u0027 in tests/commons.py ,so self.instance_ids\u003d[],but L53 self.instance_ids overwrite it","commit_id":"41ea21e014fda475b2256e6a24431c35cebdf29b"}]}
