<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def update_volume(self, volumeID, metadata):
        '''update existing volume metadata
           the given metadata will substitute the old one
        '''
        log.debug('updating volume metadata: {}'.format(volumeID))
        rawVolume = self._req_raw_volume(volumeID)
        normalized = self.normalize_volume(rawVolume)
        normalized['metadata'] = metadata
        _, newRawVolume = self.denormalize_volume(normalized)
        self._db.modify_book(volumeID, newRawVolume)