#NEWLINE# def run( self , deployer , state_persister ) : #NEWLINE# #INDENT# "\n        Run the system ``unmount`` tool to unmount this change's volume's block\n        device.  The volume must be attached to this node and the corresponding\n        block device mounted.\n        " #NEWLINE# api = deployer . async_block_device_api #NEWLINE# deferred_device_path = api . get_device_path ( self . blockdevice_id ) #NEWLINE# def got_device( device ) : #NEWLINE# #INDENT# UNMOUNT_BLOCK_DEVICE_DETAILS ( block_device_id = self . blockdevice_id , block_device_path = device ) . write ( _logger ) #NEWLINE# deployer . block_device_manager . unmount ( device ) #NEWLINE# #UNINDENT# deferred_device_path . addCallback ( got_device ) #NEWLINE# return deferred_device_path