def get(self, name, project=None, detailed=False): hash_key = utils.flavor_name_hash_key(name) flavors = self._client.hgetall(hash_key) if flavors is None or len(flavors) == 0: raise errors.FlavorDoesNotExist(name) return self._normalize(flavors, detailed)
def get(self, name, project=None, detailed=False): res = self._col.find_one({'n': name, 'p': project}, _field_spec(detailed)) if not res: raise errors.FlavorDoesNotExist(name) return _normalize(res, detailed)
def update(self, name, project=None, capabilities=None): hash_key = utils.flavor_name_hash_key(name) with self._client.pipeline() as pipe: pipe.hset(hash_key, "c", self._packer(capabilities)) pipe.hset(hash_key, "p", project) try: pipe.execute() except redis.exceptions.ResponseError: raise errors.FlavorDoesNotExist(name)
def get(self, name, project=None, detailed=False): stmt = sa.sql.select([tables.Flavors]).where( sa.and_(tables.Flavors.c.name == name, tables.Flavors.c.project == project)) flavor = self.driver.connection.execute(stmt).fetchone() if flavor is None: raise errors.FlavorDoesNotExist(name) return _normalize(flavor, detailed)
def update(self, name, project=None, pool=None, capabilities=None): fields = {} if capabilities is not None: fields['c'] = capabilities if pool is not None: fields['s'] = pool assert fields, '`pool` or `capabilities` not found in kwargs' res = self._col.update({'n': name, 'p': project}, {'$set': fields}, upsert=False) if not res['updatedExisting']: raise errors.FlavorDoesNotExist(name)
def update(self, name, project=None, pool_group=None, capabilities=None): fields = {} if capabilities is not None: fields['c'] = capabilities if pool_group is not None: fields['s'] = pool_group assert fields, '`pool_group` or `capabilities` not found in kwargs' res = self._col.update_one({'n': name, 'p': project}, {'$set': fields}, upsert=False) if res.matched_count == 0: raise errors.FlavorDoesNotExist(name)
def update(self, name, project=None, capabilities=None): fields = {} if capabilities is not None: fields['c'] = capabilities # NOTE(gengchc2): If you do not use the removal group scheme to # configure flavor, pool_group can be None, pool_group can be remove. assert fields, '`capabilities` not found in kwargs' res = self._col.update_one({ 'n': name, 'p': project }, {'$set': fields}, upsert=False) if res.matched_count == 0: raise errors.FlavorDoesNotExist(name)
def update(self, name, project=None, capabilities=None): fields = {} if capabilities is not None: fields['capabilities'] = capabilities assert fields, '`capabilities` not found in kwargs' if 'capabilities' in fields: fields['capabilities'] = utils.json_encode(fields['capabilities']) stmt = sa.sql.update(tables.Flavors).where( sa.and_(tables.Flavors.c.name == name, tables.Flavors.c.project == project)).values(**fields) res = self.driver.run(stmt) if res.rowcount == 0: raise errors.FlavorDoesNotExist(name)