def test_getid(self): self.assertEqual(base.getid(4), 4) class TmpObject(object): id = 4 self.assertEqual(base.getid(TmpObject), 4)
def delete(self, vsm): """ Delete a vsm. :param vsm: The :class:`Zone` to delete. """ self._delete("/zones/%s" % base.getid(vsm))
def delete(self, vsm): """ Delete a vsm. :param vsm: The :class:`Volume` to delete. """ self._delete("/vsms/%s" % base.getid(vsm))
def delete(self, zone): """ Delete a zone. :param zone: The :class:`Zone` to delete. """ self._delete("/zones/%s" % base.getid(zone))
def delete(self, server): """ Delete a server. :param server: The :class:`Server` to delete. """ self._delete("/servers/%s" % base.getid(server))
def delete(self, vsm): """ Delete a vsm. :param vsm: The :class:`Cluster` to delete. """ self._delete("/clusters/%s" % base.getid(vsm))
def delete(self, snapshot): """ Delete a snapshot. :param snapshot: The :class:`Snapshot` to delete. """ self._delete("/snapshots/%s" % base.getid(snapshot))
def delete(self, appnode): """ Delete an app node. :param appnode: The :class:`AppNode` to delete. """ self._delete("/appnodes/%s" % base.getid(appnode))
def delete(self, poolusage): """ Delete an pool usage. :param poolusage: The :class:`PoolUsage` to delete. """ self._delete("/poolusages/%s" % base.getid(poolusage))
def delete(self, cluster): """ Delete a cluster. :param cluster: The :class:`Cluster` to delete. """ self._delete("/clusters/%s" % base.getid(cluster))
def delete(self, vsm_type): """ Delete a specific vsm_type. :param vsm_type: The ID of the :class:`VolumeType` to get. """ self._delete("/types/%s" % base.getid(vsm_type))
def _action(self, action, rbd_pool, info=None, **kwargs): """ Perform a rbd_pool "action." """ body = {action: info} self.run_hooks('modify_body_for_action', body, **kwargs) url = '/rbd_pools/%s/action' % base.getid(rbd_pool) return self.api.client.post(url, body=body)
def _action(self, action, placement_group, info=None, **kwargs): """ Perform a placement_group "action." """ body = {action: info} self.run_hooks('modify_body_for_action', body, **kwargs) url = '/placement_groups/%s/action' % base.getid(placement_group) return self.api.client.post(url, body=body)
def get(self, vsm_type): """ Get a specific vsm type. :param vsm_type: The ID of the :class:`VolumeType` to get. :rtype: :class:`VolumeType` """ return self._get("/types/%s" % base.getid(vsm_type), "vsm_type")
def _action(self, action, monitor, info=None, **kwargs): """ Perform a monitor "action." """ body = {action: info} self.run_hooks('modify_body_for_action', body, **kwargs) url = '/monitors/%s/action' % base.getid(monitor) return self.api.client.post(url, body=body)
def _action(self, action, mds, info=None, **kwargs): """ Perform a mds "action." """ body = {action: info} self.run_hooks('modify_body_for_action', body, **kwargs) url = '/mdses/%s/action' % base.getid(mds) return self.api.client.post(url, body=body)
def _action(self, action, osd, info=None, **kwargs): """ Perform a osd "action." """ body = {action: info} self.run_hooks("modify_body_for_action", body, **kwargs) url = "/storage_pools/%s/action" % base.getid(osd) return self.api.client.post(url, body=body)
def _action(self, action, vsm, info=None, **kwargs): """ Perform a vsm "action." """ body = {action: info} self.run_hooks('modify_body_for_action', body, **kwargs) url = '/vsms/%s/action' % base.getid(vsm) return self.api.client.post(url, body=body)
def _action(self, action, storage_group, info=None, **kwargs): """ Perform a storage_group "action." """ body = {action: info} self.run_hooks('modify_body_for_action', body, **kwargs) url = '/storage_groups/%s/action' % base.getid(storage_group) return self.api.client.post(url, body=body)
def _action(self, action, vsm, info=None, **kwargs): """ Perform a vsm "action." """ body = {action: info} self.run_hooks('modify_body_for_action', body, **kwargs) url = '/clusters/%s/action' % base.getid(vsm) return self.api.client.post(url, body=body)
def _action(self, action, osd, info=None, **kwargs): """ Perform a osd "action." """ body = {action: info} self.run_hooks('modify_body_for_action', body, **kwargs) url = '/storage_pools/%s/action' % base.getid(osd) return self.api.client.post(url, body=body)
def get_keys(self): """ Get extra specs from a vsm type. :param vol_type: The :class:`VolumeType` to get extra specs from """ _resp, body = self.manager.api.client.get("/types/%s/extra_specs" % base.getid(self)) return body["extra_specs"]
def update(self, appnode, appnode_info): """ Update the ssh_status or log_info for an appnode. """ if not appnode_info: return body = {"appnode": appnode_info} self._update("/appnodes/%s" % base.getid(appnode), body)
def get_keys(self): """ Get extra specs from a vsm type. :param vol_type: The :class:`VolumeType` to get extra specs from """ _resp, body = self.manager.api.client.get( "/types/%s/extra_specs" % base.getid(self)) return body["extra_specs"]
def update(self, appnode, **kargs): """ Update the ssh_status or log_info for an appnode. """ if not kargs: return body = {"appnode": kargs} self._update("/appnodes/%s" % base.getid(appnode), body)
def update(self, poolusage, **kargs): """ Update the attach_status and time for a set of pool usages. """ if not kargs: return body = {"poolusages": kargs} self._update("/poolusages/%s" % base.getid(poolusage), body)
def update(self, zone, **kwargs): """ :param vsm: The :class:`Zone` to delete. """ if not kwargs: return body = {"zone": kwargs} self._update("/zones/%s" % base.getid(zone), body)
def update(self, server, **kwargs): """ :param vsm: The :class:`Server` to delete. """ if not kwargs: return body = {"server": kwargs} self._update("/servers/%s" % base.getid(server), body)
def update(self, cluster, **kwargs): """ Update the display_name or display_description for a cluster. :param cluster: The :class:`Cluster` to delete. """ if not kwargs: return body = {"cluster": kwargs} self._update("/clusters/%s" % base.getid(cluster), body)
def set_keys(self, metadata): """ Set extra specs on a vsm type. :param type : The :class:`VolumeType` to set extra spec on :param metadata: A dict of key/value pairs to be set """ body = {'extra_specs': metadata} return self.manager._create("/types/%s/extra_specs" % base.getid(self), body, "extra_specs", return_raw=True)
def update(self, snapshot, **kwargs): """ Update the display_name or display_description for a snapshot. :param snapshot: The :class:`Snapshot` to delete. """ if not kwargs: return body = {"snapshot": kwargs} self._update("/snapshots/%s" % base.getid(snapshot), body)
def update(self, vsm, **kwargs): """ Update the display_name or display_description for a vsm. :param vsm: The :class:`Cluster` to delete. """ if not kwargs: return body = {"cluster": kwargs} self._update("/clusters/%s" % base.getid(vsm), body)
def update(self, vsm, **kwargs): """ Update the display_name or display_description for a vsm. :param vsm: The :class:`Volume` to delete. """ if not kwargs: return body = {"vsm": kwargs} self._update("/vsms/%s" % base.getid(vsm), body)
def set_keys(self, metadata): """ Set extra specs on a vsm type. :param type : The :class:`VolumeType` to set extra spec on :param metadata: A dict of key/value pairs to be set """ body = {'extra_specs': metadata} return self.manager._create( "/types/%s/extra_specs" % base.getid(self), body, "extra_specs", return_raw=True)
def unset_keys(self, keys): """ Unset extra specs on a volue type. :param type_id: The :class:`VolumeType` to unset extra spec on :param keys: A list of keys to be unset """ # NOTE(jdg): This wasn't actually doing all of the keys before # the return in the loop resulted in ony ONE key being unset. # since on success the return was NONE, we'll only interrupt the loop # and return if there's an error resp = None for k in keys: resp = self.manager._delete("/types/%s/extra_specs/%s" % (base.getid(self), k)) if resp is not None: return resp
def unset_keys(self, keys): """ Unset extra specs on a volue type. :param type_id: The :class:`VolumeType` to unset extra spec on :param keys: A list of keys to be unset """ # NOTE(jdg): This wasn't actually doing all of the keys before # the return in the loop resulted in ony ONE key being unset. # since on success the return was NONE, we'll only interrupt the loop # and return if there's an error resp = None for k in keys: resp = self.manager._delete( "/types/%s/extra_specs/%s" % ( base.getid(self), k)) if resp is not None: return resp
def delete(self, mds): self._delete("/mdses/%s" % base.getid(mds))
def delete(self, osd): self._delete("/storage_pools/%s" % base.getid(osd))
def delete(self, osd): self._delete("/osds/%s" % base.getid(osd))
def delete(self, mon): self._delete("/monitors/%s" % base.getid(mon))