/opt/stack/cinder/cinder/backup/manager.py(434)_run_backup() -> backup_device = backup_dic.get('backup_device') (Pdb) l 429 properties = utils.brick_get_connector_properties() 430 backup_dic = self.volume_rpcapi.get_backup_device(context, 431 backup, volume) 432 try: 433 import pdb;pdb.set_trace() 434 -> backup_device = backup_dic.get('backup_device') 435 is_snapshot = backup_dic.get('is_snapshot') 436 attach_info = self._attach_device(context, backup_device, 437 properties, is_snapshot) 438 try: 439 device_path = attach_info['device']['path'] (Pdb) p backup_dic {u'secure_enabled': False, u'is_snapshot': False, u'backup_device': {u'migration_status': None, u'provider_id': None, u'availability_zone': u'nova', u'terminated_at': None, u'updated_at': u'2016-08-02T01:41:40.000000', u'provider_geometry': None, u'replication_extended_status': None, u'replication_status': u'disabled', u'snapshot_id': None, u'ec2_id': None, u'deleted_at': None, u'id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'size': 1, u'user_id': u'aaae5b52c427482290e213ba8381d0bd', u'volume_attachment': [], u'display_description': None, u'cluster_name': None, u'volume_admin_metadata': [{u'deleted': False, u'created_at': u'2016-08-02T01:39:52.000000', u'updated_at': None, u'value': u'63400a31000d844d3ac699940000005c', u'key': u'huawei_lun_wwn', u'volume_id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'deleted_at': None, u'id': 32}], u'project_id': u'b54d0b554d654d5d9dbc1a13ffd2aae7', u'launched_at': u'2016-08-02T01:39:52.000000', u'scheduled_at': u'2016-08-02T01:39:47.000000', u'status': u'backing-up', u'volume_type_id': None, u'multiattach': False, u'deleted': False, u'provider_location': u'92', u'host': u'ubuntu-hxl-160@38#StoragePool001', u'consistencygroup_id': None, u'source_volid': None, u'provider_auth': None, u'previous_status': u'available', u'display_name': u'test2', u'bootable': False, u'created_at': u'2016-08-02T01:39:40.000000', u'attach_status': u'detached', u'volume_type': None, u'consistencygroup': None, u'volume_metadata': [], u'_name_id': None, u'encryption_key_id': None, u'replication_driver_data': None}} (Pdb) p backup_dic.get('backup_device') {u'migration_status': None, u'provider_id': None, u'availability_zone': u'nova', u'terminated_at': None, u'updated_at': u'2016-08-02T01:41:40.000000', u'provider_geometry': None, u'replication_extended_status': None, u'replication_status': u'disabled', u'snapshot_id': None, u'ec2_id': None, u'deleted_at': None, u'id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'size': 1, u'user_id': u'aaae5b52c427482290e213ba8381d0bd', u'volume_attachment': [], u'display_description': None, u'cluster_name': None, u'volume_admin_metadata': [{u'deleted': False, u'created_at': u'2016-08-02T01:39:52.000000', u'updated_at': None, u'value': u'63400a31000d844d3ac699940000005c', u'key': u'huawei_lun_wwn', u'volume_id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'deleted_at': None, u'id': 32}], u'project_id': u'b54d0b554d654d5d9dbc1a13ffd2aae7', u'launched_at': u'2016-08-02T01:39:52.000000', u'scheduled_at': u'2016-08-02T01:39:47.000000', u'status': u'backing-up', u'volume_type_id': None, u'multiattach': False, u'deleted': False, u'provider_location': u'92', u'host': u'ubuntu-hxl-160@38#StoragePool001', u'consistencygroup_id': None, u'source_volid': None, u'provider_auth': None, u'previous_status': u'available', u'display_name': u'test2', u'bootable': False, u'created_at': u'2016-08-02T01:39:40.000000', u'attach_status': u'detached', u'volume_type': None, u'consistencygroup': None, u'volume_metadata': [], u'_name_id': None, u'encryption_key_id': None, u'replication_driver_data': None} (Pdb) p type(backup_dic.get('backup_device')) (Pdb) (Pdb) l 440 if isinstance(device_path, six.string_types): 441 if backup_dic.get('secure_enabled', False): 442 with open(device_path) as device_file: 443 backup_service.backup(backup, device_file) 444 else: 445 with utils.temporary_chown(device_path): 446 with open(device_path) as device_file: 447 backup_service.backup(backup, device_file) 448 # device_path is already file-like so no need to open it 449 else: 450 backup_service.backup(backup, device_path) (Pdb) n > /opt/stack/cinder/cinder/backup/manager.py(435)_run_backup() -> is_snapshot = backup_dic.get('is_snapshot') (Pdb) n > /opt/stack/cinder/cinder/backup/manager.py(436)_run_backup() -> attach_info = self._attach_device(context, backup_device, (Pdb) p backup_device {u'migration_status': None, u'provider_id': None, u'availability_zone': u'nova', u'terminated_at': None, u'updated_at': u'2016-08-02T01:41:40.000000', u'provider_geometry': None, u'replication_extended_status': None, u'replication_status': u'disabled', u'snapshot_id': None, u'ec2_id': None, u'deleted_at': None, u'id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'size': 1, u'user_id': u'aaae5b52c427482290e213ba8381d0bd', u'volume_attachment': [], u'display_description': None, u'cluster_name': None, u'volume_admin_metadata': [{u'deleted': False, u'created_at': u'2016-08-02T01:39:52.000000', u'updated_at': None, u'value': u'63400a31000d844d3ac699940000005c', u'key': u'huawei_lun_wwn', u'volume_id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'deleted_at': None, u'id': 32}], u'project_id': u'b54d0b554d654d5d9dbc1a13ffd2aae7', u'launched_at': u'2016-08-02T01:39:52.000000', u'scheduled_at': u'2016-08-02T01:39:47.000000', u'status': u'backing-up', u'volume_type_id': None, u'multiattach': False, u'deleted': False, u'provider_location': u'92', u'host': u'ubuntu-hxl-160@38#StoragePool001', u'consistencygroup_id': None, u'source_volid': None, u'provider_auth': None, u'previous_status': u'available', u'display_name': u'test2', u'bootable': False, u'created_at': u'2016-08-02T01:39:40.000000', u'attach_status': u'detached', u'volume_type': None, u'consistencygroup': None, u'volume_metadata': [], u'_name_id': None, u'encryption_key_id': None, u'replication_driver_data': None} (Pdb) s > /opt/stack/cinder/cinder/backup/manager.py(437)_run_backup() -> properties, is_snapshot) (Pdb) --Call-- > /opt/stack/cinder/cinder/backup/manager.py(904)_attach_device() -> def _attach_device(self, context, backup_device, (Pdb) l 899 :param context: running context 900 """ 901 backup_service = self.service.get_backup_driver(context) 902 return backup_service.support_force_delete 903 904 -> def _attach_device(self, context, backup_device, 905 properties, is_snapshot=False): 906 """Attach backup device.""" 907 if not is_snapshot: 908 return self._attach_volume(context, backup_device, properties) 909 else: (Pdb) l 910 volume = self.db.volume_get(context, backup_device.volume_id) 911 host = volume_utils.extract_host(volume['host'], 'backend') 912 backend = self._get_volume_backend(host=host) 913 rc = self._get_driver(backend)._attach_snapshot( 914 context, backup_device, properties) 915 return rc 916 917 def _attach_volume(self, context, volume, properties): 918 """Attach a volume.""" 919 920 try: (Pdb) n > /opt/stack/cinder/cinder/backup/manager.py(907)_attach_device() -> if not is_snapshot: (Pdb) n > /opt/stack/cinder/cinder/backup/manager.py(908)_attach_device() -> return self._attach_volume(context, backup_device, properties) (Pdb) s --Call-- > /opt/stack/cinder/cinder/backup/manager.py(917)_attach_volume() -> def _attach_volume(self, context, volume, properties): (Pdb) l 912 backend = self._get_volume_backend(host=host) 913 rc = self._get_driver(backend)._attach_snapshot( 914 context, backup_device, properties) 915 return rc 916 917 -> def _attach_volume(self, context, volume, properties): 918 """Attach a volume.""" 919 920 try: 921 conn = self.volume_rpcapi.initialize_connection(context, 922 volume, (Pdb) n > /opt/stack/cinder/cinder/backup/manager.py(920)_attach_volume() -> try: (Pdb) p volume {u'migration_status': None, u'provider_id': None, u'availability_zone': u'nova', u'terminated_at': None, u'updated_at': u'2016-08-02T01:41:40.000000', u'provider_geometry': None, u'replication_extended_status': None, u'replication_status': u'disabled', u'snapshot_id': None, u'ec2_id': None, u'deleted_at': None, u'id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'size': 1, u'user_id': u'aaae5b52c427482290e213ba8381d0bd', u'volume_attachment': [], u'display_description': None, u'cluster_name': None, u'volume_admin_metadata': [{u'deleted': False, u'created_at': u'2016-08-02T01:39:52.000000', u'updated_at': None, u'value': u'63400a31000d844d3ac699940000005c', u'key': u'huawei_lun_wwn', u'volume_id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'deleted_at': None, u'id': 32}], u'project_id': u'b54d0b554d654d5d9dbc1a13ffd2aae7', u'launched_at': u'2016-08-02T01:39:52.000000', u'scheduled_at': u'2016-08-02T01:39:47.000000', u'status': u'backing-up', u'volume_type_id': None, u'multiattach': False, u'deleted': False, u'provider_location': u'92', u'host': u'ubuntu-hxl-160@38#StoragePool001', u'consistencygroup_id': None, u'source_volid': None, u'provider_auth': None, u'previous_status': u'available', u'display_name': u'test2', u'bootable': False, u'created_at': u'2016-08-02T01:39:40.000000', u'attach_status': u'detached', u'volume_type': None, u'consistencygroup': None, u'volume_metadata': [], u'_name_id': None, u'encryption_key_id': None, u'replication_driver_data': None} (Pdb) n > /opt/stack/cinder/cinder/backup/manager.py(921)_attach_volume() -> conn = self.volume_rpcapi.initialize_connection(context, (Pdb) s > /opt/stack/cinder/cinder/backup/manager.py(922)_attach_volume() -> volume, (Pdb) > /opt/stack/cinder/cinder/backup/manager.py(923)_attach_volume() -> properties) (Pdb) --Call-- > /opt/stack/cinder/cinder/volume/rpcapi.py(201)initialize_connection() -> def initialize_connection(self, ctxt, volume, connector): (Pdb) l 196 def copy_volume_to_image(self, ctxt, volume, image_meta): 197 cctxt = self._get_cctxt(volume['host'], '2.0') 198 cctxt.cast(ctxt, 'copy_volume_to_image', volume_id=volume['id'], 199 image_meta=image_meta) 200 201 -> def initialize_connection(self, ctxt, volume, connector): 202 version = self._compat_ver('2.3', '2.0') 203 msg_args = {'volume_id': volume.id, 'connector': connector, 204 'volume': volume} 205 206 if version == '2.0': (Pdb) n > /opt/stack/cinder/cinder/volume/rpcapi.py(202)initialize_connection() -> version = self._compat_ver('2.3', '2.0') (Pdb) l 197 cctxt = self._get_cctxt(volume['host'], '2.0') 198 cctxt.cast(ctxt, 'copy_volume_to_image', volume_id=volume['id'], 199 image_meta=image_meta) 200 201 def initialize_connection(self, ctxt, volume, connector): 202 -> version = self._compat_ver('2.3', '2.0') 203 msg_args = {'volume_id': volume.id, 'connector': connector, 204 'volume': volume} 205 206 if version == '2.0': 207 del msg_args['volume'] (Pdb) n > /opt/stack/cinder/cinder/volume/rpcapi.py(203)initialize_connection() -> msg_args = {'volume_id': volume.id, 'connector': connector, (Pdb) l 198 cctxt.cast(ctxt, 'copy_volume_to_image', volume_id=volume['id'], 199 image_meta=image_meta) 200 201 def initialize_connection(self, ctxt, volume, connector): 202 version = self._compat_ver('2.3', '2.0') 203 -> msg_args = {'volume_id': volume.id, 'connector': connector, 204 'volume': volume} 205 206 if version == '2.0': 207 del msg_args['volume'] 208 (Pdb) p volume.id *** AttributeError: AttributeError("'dict' object has no attribute 'id'",) (Pdb) p volume {u'migration_status': None, u'provider_id': None, u'availability_zone': u'nova', u'terminated_at': None, u'updated_at': u'2016-08-02T01:41:40.000000', u'provider_geometry': None, u'replication_extended_status': None, u'replication_status': u'disabled', u'snapshot_id': None, u'ec2_id': None, u'deleted_at': None, u'id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'size': 1, u'user_id': u'aaae5b52c427482290e213ba8381d0bd', u'volume_attachment': [], u'display_description': None, u'cluster_name': None, u'volume_admin_metadata': [{u'deleted': False, u'created_at': u'2016-08-02T01:39:52.000000', u'updated_at': None, u'value': u'63400a31000d844d3ac699940000005c', u'key': u'huawei_lun_wwn', u'volume_id': u'221b42b0-8540-4220-8004-c2b55c114b20', u'deleted_at': None, u'id': 32}], u'project_id': u'b54d0b554d654d5d9dbc1a13ffd2aae7', u'launched_at': u'2016-08-02T01:39:52.000000', u'scheduled_at': u'2016-08-02T01:39:47.000000', u'status': u'backing-up', u'volume_type_id': None, u'multiattach': False, u'deleted': False, u'provider_location': u'92', u'host': u'ubuntu-hxl-160@38#StoragePool001', u'consistencygroup_id': None, u'source_volid': None, u'provider_auth': None, u'previous_status': u'available', u'display_name': u'test2', u'bootable': False, u'created_at': u'2016-08-02T01:39:40.000000', u'attach_status': u'detached', u'volume_type': None, u'consistencygroup': None, u'volume_metadata': [], u'_name_id': None, u'encryption_key_id': None, u'replication_driver_data': None} (Pdb) p type(volume) (Pdb)