Exemplo n.º 1
0
    def _execute(self):
        try:
            instances = parseSequenceArguments(self.parameters, 'InstanceId.')
            if not instances:
                raise MissingParameter(parameter='InstanceId')
            instances = parseIDs(instances, Entity.instance)
            if not instances:
                raise InvalidParameterValue
            # nie powinno się tutaj rzutować na inta?
        except ValueError:
            raise InvalidInstanceID.Malformed(image_id=0)  # TODO wykrywanie który instance jest zly

        try:
            none = self.cluster_manager.user.vm.reset({'vm_ids':instances })
        except CLMException, error:
            if error.status == 'user_permission' or error.status == 'vm_get':
                raise InvalidInstanceID.NotFound(image_id=0)  # TODO wykrywanie która dokładnie to instancja
            print error.status
            raise InternalError
Exemplo n.º 2
0
    def _execute(self):
        try:
            instances = parseSequenceArguments(self.parameters, 'InstanceId.')
            if not instances:
                raise MissingParameter(parameter='InstanceId')
            instances = parseIDs(instances, Entity.instance)
            if not instances:
                raise InvalidParameterValue
            # nie powinno się tutaj rzutować na inta?
        except ValueError:
            raise InvalidInstanceID.Malformed(
                image_id=0)  # TODO wykrywanie który instance jest zly

        try:
            none = self.cluster_manager.user.vm.reset({'vm_ids': instances})
        except CLMException, error:
            if error.status == 'user_permission' or error.status == 'vm_get':
                raise InvalidInstanceID.NotFound(
                    image_id=0)  # TODO wykrywanie która dokładnie to instancja
            print error.status
            raise InternalError
Exemplo n.º 3
0
    def _execute(self):
        volume_ids = []
        try:
            for param, value in self.parameters.iteritems():
                if param.startswith('VolumeId'):
                    volume_ids.append(value)
        except ValueError:
            raise InvalidParameterValue

        if volume_ids:
            volume_ids = parseIDs(volume_ids, Entity.volume)
            if not volume_ids:
                raise InvalidParameterValue

        volumes = []

        filters = parseFilters(self.parameters)
        if not validateEc2Filters(filters, self.available_filters):
            raise InvalidFilter


        # if extra arguments weren't given
        clm_volumes = []
        if not volume_ids:
            clm_volumes += self.cluster_manager.user.storage_image.get_list()

        # and if they were
        else:
            try:
                for volume_id in volume_ids:
                    clm_volumes.append(self.cluster_manager.user.storage_image.get_by_id({'storage_image_id':volume_id}))
            except CLMException, error:
                if error.status == 'image_get':
                    raise InvalidVolume.NotFound
                else:
                    raise UndefinedError