コード例 #1
0
ファイル: module.py プロジェクト: zhangshun2014/ceph
    def _rgw_add(self, zone_name, num, hosts, inbuf=None):
        usage = """
Usage:
  ceph orchestrator rgw add -i <json_file>
  ceph orchestrator rgw add <zone_name>
        """

        if inbuf:
            try:
                rgw_spec = orchestrator.RGWSpec.from_json(json.loads(inbuf))
            except ValueError as e:
                msg = 'Failed to read JSON input: {}'.format(str(e)) + usage
                return HandleCommandResult(-errno.EINVAL, stderr=msg)
        elif zone_name:
            rgw_spec = orchestrator.RGWSpec(
                rgw_zone=zone_name,
                placement=orchestrator.PlacementSpec(nodes=hosts),
                count=num or 1)
        else:
            return HandleCommandResult(-errno.EINVAL, stderr=usage)

        completion = self.add_rgw(rgw_spec)
        self._orchestrator_wait([completion])
        orchestrator.raise_if_exception(completion)
        return HandleCommandResult(stdout=completion.result_str())
コード例 #2
0
ファイル: module.py プロジェクト: zhangshun2014/ceph
 def _rgw_update(self, zone_name, num, hosts=None):
     spec = orchestrator.RGWSpec(
         rgw_zone=zone_name,
         placement=orchestrator.PlacementSpec(nodes=hosts),
         count=num or 1)
     completion = self.update_rgw(spec)
     self._orchestrator_wait([completion])
     orchestrator.raise_if_exception(completion)
     return HandleCommandResult(stdout=completion.result_str())
コード例 #3
0
 def _rgw_update(self, zone_name, realm_name, num=None, label=None, hosts=[]):
     spec = orchestrator.RGWSpec(
         rgw_realm=realm_name,
         rgw_zone=zone_name,
         placement=orchestrator.PlacementSpec(hosts=hosts, label=label, count=num))
     completion = self.update_rgw(spec)
     self._orchestrator_wait([completion])
     orchestrator.raise_if_exception(completion)
     return HandleCommandResult(stdout=completion.result_str())
コード例 #4
0
ファイル: module.py プロジェクト: tmj5441302/ceph
    def _rgw_add(self, svc_arg=None, inbuf=None):
        """
        """
        usage = """
Usage:
  ceph orchestrator rgw add -i <json_file>
  ceph orchestrator rgw add <zone_name>
        """

        if inbuf:
            try:
                rgw_spec = orchestrator.RGWSpec.from_json(json.loads(inbuf))
            except ValueError as e:
                msg = 'Failed to read JSON input: {}'.format(str(e)) + usage
                return HandleCommandResult(-errno.EINVAL, stderr=msg)
        elif svc_arg:
            rgw_spec = orchestrator.RGWSpec()
            rgw_spec.zone_name = svc_arg

        spec = orchestrator.StatelessServiceSpec()
        spec.service_spec = rgw_spec
        spec.name = rgw_spec.rgw_zone

        return self._add_stateless_svc("rgw", spec)