예제 #1
0
    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))
예제 #3
0
    def delete(self, vsm):
        """
        Delete a vsm.

        :param vsm: The :class:`Volume` to delete.
        """
        self._delete("/vsms/%s" % base.getid(vsm))
예제 #4
0
    def delete(self, zone):
        """
        Delete a zone.

        :param zone: The :class:`Zone` to delete.
        """
        self._delete("/zones/%s" % base.getid(zone))
예제 #5
0
    def delete(self, vsm):
        """
        Delete a vsm.

        :param vsm: The :class:`Volume` to delete.
        """
        self._delete("/vsms/%s" % base.getid(vsm))
예제 #6
0
    def delete(self, server):
        """
        Delete a server.

        :param server: The :class:`Server` to delete.
        """
        self._delete("/servers/%s" % base.getid(server))
예제 #7
0
    def delete(self, vsm):
        """
        Delete a vsm.

        :param vsm: The :class:`Cluster` to delete.
        """
        self._delete("/clusters/%s" % base.getid(vsm))
예제 #8
0
    def delete(self, snapshot):
        """
        Delete a snapshot.

        :param snapshot: The :class:`Snapshot` to delete.
        """
        self._delete("/snapshots/%s" % base.getid(snapshot))
예제 #9
0
    def delete(self, appnode):
        """
        Delete an app node.

        :param appnode: The :class:`AppNode` to delete.
        """
        self._delete("/appnodes/%s" % base.getid(appnode))
예제 #10
0
    def delete(self, snapshot):
        """
        Delete a snapshot.

        :param snapshot: The :class:`Snapshot` to delete.
        """
        self._delete("/snapshots/%s" % base.getid(snapshot))
예제 #11
0
    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, poolusage):
        """
        Delete an pool usage.

        :param poolusage: The :class:`PoolUsage` to delete.
        """
        self._delete("/poolusages/%s" % base.getid(poolusage))
    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, cluster):
        """
        Delete a cluster.

        :param cluster: The :class:`Cluster` to delete.
        """
        self._delete("/clusters/%s" % base.getid(cluster))
예제 #15
0
    def delete(self, zone):
        """
        Delete a zone.

        :param zone: The :class:`Zone` to delete.
        """
        self._delete("/zones/%s" % base.getid(zone))
예제 #16
0
    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 delete(self, vsm):
        """
        Delete a vsm.

        :param vsm: The :class:`Cluster` to delete.
        """
        self._delete("/clusters/%s" % base.getid(vsm))
예제 #18
0
    def delete(self, vsm):
        """
        Delete a vsm.

        :param vsm: The :class:`Zone` to delete.
        """
        self._delete("/zones/%s" % base.getid(vsm))
예제 #19
0
 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)
예제 #20
0
 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)
예제 #21
0
    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")
예제 #22
0
 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)
예제 #23
0
 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)
예제 #24
0
파일: mdses.py 프로젝트: opensds/proposals
 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)
예제 #25
0
 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)
예제 #26
0
 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)
예제 #28
0
 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)
예제 #29
0
 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)
예제 #30
0
    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"]
예제 #31
0
    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)
예제 #32
0
    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)
예제 #34
0
    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)
예제 #35
0
    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)
예제 #37
0
    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)
예제 #38
0
    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)
예제 #39
0
    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)
예제 #41
0
    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)
예제 #42
0
    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)
예제 #43
0
    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)
예제 #44
0
    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)
예제 #45
0
    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)
예제 #46
0
    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)
예제 #47
0
    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
예제 #48
0
    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
예제 #49
0
 def delete(self, mds):
     self._delete("/mdses/%s" % base.getid(mds))
예제 #50
0
 def delete(self, osd):
     self._delete("/storage_pools/%s" % base.getid(osd))
예제 #51
0
 def delete(self, osd):
     self._delete("/osds/%s" % base.getid(osd))
예제 #52
0
 def delete(self, osd):
     self._delete("/storage_pools/%s" % base.getid(osd))
예제 #53
0
파일: mdses.py 프로젝트: opensds/proposals
 def delete(self, mds):
     self._delete("/mdses/%s" % base.getid(mds))
 def delete(self, mon):
     self._delete("/monitors/%s" % base.getid(mon))
 def delete(self, osd):
     self._delete("/osds/%s" % base.getid(osd))