'Update cell status for all cells from the backing data store
when necessary.
:param force: If True, cell status will be updated regardless
of whether it\'s time to do so.'

@utils.synchronized('cell-db-sync')
def _cell_data_sync(self, force=False):

    if (force or self._time_to_sync()):
        LOG.debug('Updating    cell    cache    from    db.')
        self.last_cell_db_check = timeutils.utcnow()
        ctxt = context.get_admin_context()
        db_cells = self.db.cell_get_all(ctxt)
        db_cells_dict = {cell['name']: cell for cell in db_cells}
        self._refresh_cells_from_dict(db_cells_dict)
        self._update_our_capacity(ctxt)
