3.6.Коды состояния и ошибок 200 OK. Запрос обработан без ошибок, тело ответа содержит ответ на запрос в указанном выше формате.
201 Created. Запрос обработан без ошибок, ответ имеет пустое тело и заголовок Location, содержащий URI созданного ресурса.
204 No Content. Запрос обработан без ошибок, ответ имеет пустое тело, содержательного ответа на запрос не предполагается по спецификации протокола. Такой ответ обычно является подтверждением удаления какого-либо ресурса.
400 Bad Request. Ошибка обработки запроса. Запрос содержал данные в неправильном формате, либо пытался изменить параметры, которые нельзя изменить.
401 Unauthorized. Ошибка обработки запроса. Доступ к запрашиваемому объекту запрещен.
403 Forbidden. Попытка выполнения операции, которая запрещена. Например, попытка изменить описание задания в состоянии, отличного от new.
404 Not Found. Ошибка обработки запроса. Запрашиваемый ресурс не существует.
412 Precondition Failed. Ошибка обработки запроса. Контрольная сумма тела запроса не соответствует заголовку Content-MD5 запроса. Тело ответа пустое.
4.Интерфейс пользователя. Интерфейс пользователя СЗМЗ реализован как интерфейс командной строки (ИКС) для операционных систем семейства Linux. ИКС написан на языке программирования Python, и предоставляется в виде пакета с исходными текстами, а так же в виде пакетов для установки на операционных системах семейства CentOS 5 / Red Hat Enterprise Linux 5 стандартными для этих систем способами (через Red Hat Package Manager, RPM). 4.1.Общие параметры команд ИКС Все команды ИКС имеют поднабор параметров, используемый со всеми командами, и имеющий одинаковое назначение у всех команд. По завершению работы все команды ИКС устанавливают код выхода, соответствующий успеху или ошибке в процессе работы. Значения и описания общих параметров команд ИКС: --usercert=имя_файла Файл, содержащий сертификат пользователя (если для авторизации используется сертификат пользователя). Значение по умолчанию: ~/.globus/usercert.pem.
--userkey=имя_файла Файл, содержащий ключ от сертификата пользователя (если для авторизации используется сертификат пользователя). Значение по умолчанию: ~/.globus/userkey.pem.
--userkeypass=пароль Пароль от ключа сертификата пользователя. Если ключ зашифрован и этот параметр не указан, то пароль будет запрашиваться при выполнении команды из командной строки (при интерактивном запуске в терминале), или считываться из стандартного потока ввода (при запуске из скрипта).
--proxy=имя_файла Файл, содержащий прокси-сертификат с ключом и цепочкой делегирования. Значение по умолчанию: /tmp/x509up_u, где — числовой идентификатор учетной записи пользователя.
--noproxy Не использовать прокси-сертификат для авторизации. По умолчанию для авторизации используется прокси-сертификат, при указании этого параметра вместо прокси-сертификата будет использоваться сертификат пользователя.
-j, --json Выдавать результаты работы команды в формате JSON (автоматически включает параметр -q).
-v, --verbose Выдавать более подробные результаты в процессе работы команды.
-q, --quiet Выдавать результаты в короткой форме и не выдавать детальные сообщения об ошибках.
--debug=N Количество диагностической информации, выдаваемой в процессе работы команды ИКС. Значение N от 0 (сообщать только о фатальных ошибках) до 4 (выдавать все сообщения, включая отладочную информацию).
--log=FILE Имя файла, в который будет записываться диагностическая информация о работе команды. По умолчанию диагностическая информация выводится в стандартный поток ошибок.
--url=SERVER Адрес сервиса СЗМЗ, если его невозможно установить из прочих параметров команды. По умолчанию используется значение из переменной среды окружения PILOT_SERVER.
--help-exit-codes Выдать таблицу с описанием кодов выхода команд ИКС. Таблица содержит соответствие кодов выхода ошибкам, произошедшим в процессе работы команды ИКС.
--help выдать краткую справку об использовании команды.
--version выдать версию ИКС.
4.2.Команды управления заданиями и задачами. Для управления заданиями предусмотрены следующие команды: pilot-job-submit [стандартные параметры] описание_задания.js
Запустить задание на выполнение в сервис СЗМЗ. Файл описание_задания.js содержит описание запускаемого задания. При успешном завершении команда выводит URI запущенного задания. pilot-job-pause [стандартные параметры] JOB_URI
Приостановить выполнение задания JOB_URI. pilot-job-resume [стандартные параметры] JOB_URI
Продолжить выполнение приостановленного задания. pilot-job-cancel [стандартные параметры] JOB_URI
Отменить выполнение задания. pilot-job-status [стандартные параметры] JOB_URI
Получить краткую информацию о состоянии задания. pilot-job-info [стандартные параметры] JOB_URI
Получить полную информацию о состоянии задания (включая информацию о состоянии всех задач). pilot-query-jobs [стандартные параметры]
Получить список JOB_URI всех заданий пользователя. pilot-cancel-my-jobs [стандартные параметры]
Отменить выполнение всех заданий пользователя. pilot-task-status [стандартные параметры] TASK_URI
Получить информацию о состоянии задачи. 4.3.Информационные команды. pilot-server-version [стандартные параметры]
Получить информацию о версии используемого сервиса СЗМЗ. pilot-job-matchmake [стандартные параметры] описание_задания.js
Получить информацию о потенциальной доступности ресурсов для всех задач задания и о возможности успешного выполнения задания в целом. pilot-job-generate-rsl [стандартные параметры] описание_задания.js
Получить информацию об описании задач на языке Globus RSL, которая будет использоваться при запуске задач. pilot-uri-helper [стандартные параметры] URI
Получить ответ по любому адресу сервиса СЗМЗ в формате JSON. Эта команда может использоваться для получения информации о задачах и заданиях в формате JSON, а так же для получения учетной информации. 5.Заключение. В процессе выполнения работ по второму этапу были получены следующие результаты: Разработан прототип сервиса запуска многошаговых заданий, работающий под управлением ОС семейства Linux.
Расширена и улучшена схема описания задач, заданий и ресурсных требований, с учетом специфики реализации сервиса запуска многошаговых заданий. Были добавлены способы описания:
параметров передачи входных и выходных данных задач и заданий;
критериев правильности завершения выполнения задач;
дополнительных параметров запуска задач, специфичных для конкретных ресурсов;
расширенного набора параметров, по которым производится выбор ресурса для выполнения задачи (включая требования к предустановленному программному обеспечению).
Разработана детальная спецификация интерфейса прикладного программирования сервиса запуска многошаговых заданий, детально описывающая:
Общий принцип построения запросов к сервису запуска многошаговых заданий.
Протокол управления заданиями и задачами, включая:
создание и запуск задач и заданий;
изменение параметров задач и заданий;
получение информацией о заданиях и задачах;
получение информации о ресурсах, пригодных для выполнения конкретных задач и заданий.
Протокол доступа к учетной информации о выполнении заданий и задач.
Способы индикации ошибок.
Разработан прототип интерфейса пользователя сервиса запуска многошаговых заданий как интерфейс командной строки, предназначенный для работы под управлением ОС семейства Linux.
6.Литература. А.П. Демичев, А.П. Крюков, Л.В. Шамардин. Принципы построения грид с использованием RESTful-веб-сервисов // Программные продукты и системы №4, 2009. Тверь: 2009.
I. Foster. Globus Toolkit Version 4: Software for Service-Oriented Systems // IFIP International Conference on Network and Parallel Computing, LNCS 3779, Springer-Verlag: 2006, pages 2-13.
I. Foster et al. Modeling stateful resources with web services // Globus Alliance: 2004.
M. Gudgin, M. Hadley et al. SOAP version 1.2 part 1: messaging framework (second edition) // W3C Recommendation: 2007.
R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. Hypertext Transfer Protocol — HTTP/1.1 // IETF Network Working Group: 1999, RFC 2616.
S. Tuecke, V. Welch, D. Engert, L. Pearlman, M. Thompson. Internet X.509 Public Key Infrastructure (PKI) Proxy Certificate Profile // IETF Network Working Group: 2004, RFC 3820.
D. Groep. The VOMS Attribute Certificate Format // OSGF Artifact artf6312, 2009; online version: http://forge.gridforum.org/sf/go/artf6312.
E. Rescorla. HTTP over TLS // IETF Network Working Group: 2000, RFC 2818.
D. Crockford. The application/json Media Type for JavaScript Object Notation (JSON) // IETF Network Working Group: 2006, RFC 4627.
P. Leach, M. Mealling, R. Salz. A Universally Unique IDentifier (UUID) URN Namespace // IETF Network Working Group: 2005, RFC 4122.
Data elements and interchange formats — Information interchange — Representation of dates and times // International Organisation for Standartization standard: 2004, ISO 8601:2004.
|