'Pass data back to the scheduler at a periodic interval.'

@periodic_task.periodic_task
def _publish_service_capabilities(self, context):

    if self.last_capabilities:
        LOG.debug('Notifying    Schedulers    of    capabilities    ...')
        self.scheduler_rpcapi.update_service_capabilities(context, self.service_name, self.host, self.last_capabilities, self.cluster)
        try:
            self.scheduler_rpcapi.notify_service_capabilities(context, self.service_name, self.service_topic_queue, self.last_capabilities)
        except exception.ServiceTooOld as e:
            msg = 'Failed    to    notify    about    cinder-volume    service    capabilities    for    host    %(host)s.    This    is    normal    during    a    live    upgrade.    Error:    %(e)s'
            LOG.warning(msg, {'host': self.host, 'e': e})
