REST-API OpenStack для PowerVC

Установите связь с REST-API OpenStack системы IBM PowerVC Express Edition и упростите управление виртуальными ресурсами

Comments

IBM Power Virtualization Center Express Edition (PowerVC) – это инфраструктура на базе OpenStack, которая представляет собой облачное решение для платформы IBM Power, предназначенное для упрощения управления виртуальными ресурсами в среде Power Systems. PowerVC содержит как графический интерфейс пользователя, так и сервисы HTTP RESTful (в виде API), которые позволяют решать задачи управления виртуальными ресурсами в среде Power System. В этой статье перечислены REST-API для редакции Express PowerVC с кратким описанием назначения каждого из них. Она дает представление о том, как управлять виртуальными ресурсами Power посредством веб-сервисов.

Общие сведения о PowerVC

PowerVC – это облачное IaaS-решение, построенное на базе проекта OpenStack и предназначенное для упрощения управления виртуальными ресурсами в среде Power Systems. В нем используются стандартные интерфейсы OpenStack с открытым исходным кодом.

PowerVC располагается в виде сервиса (IaaS) между инструментами интерфейса типа консоли и инфраструктурой IBM SmartCloud, предоставляя в числе прочих следующие инструменты: 

  • IBM Hardware Management Console (HMC) – ядро Linux® с пакетом BusyBox, который обеспечивает стандартный интерфейс для настройки и эксплуатации секционированных (или LPAR, или виртуализированных) и SMP-систем (таких как Power);
  • IBM Integrated Virtualization Manager (IVM) – веб-инструмент, который позволяет клиентам с помощью простой операции "укажи и нажми" объединить несколько виртуальных рабочих нагрузок в одной системе Power System без необходимости применения программно-аппаратных средств, таких как консоль HMC, для управления логическими разделами в одной системе;
  • Kernel-based Virtual Machine (KVM) – гипервизор с открытым исходным кодом, который обеспечивает производительность, масштабируемость и безопасность корпоративного класса для рабочих нагрузок Linux и Windows®. KVM превращает ядро Linux в гипервизор, способный обращаться к средствам аппаратной поддержки виртуализации, встроенным в аппаратуру процессора.

PowerVC наделяет средства управления облачными ресурсами Power функциями API OpenStack.

PowerVC помогает пользователям динамически создавать инфраструктуру, поддерживающую Software Defined Environment(SDE), или облачную инфраструктуру. Этот интерфейс поддерживает управление операционными системами RHEL, SLES и AIX® на оборудовании Power, позволяя регистрировать физические узлы, службы хранения данных и сетевые ресурсы, на которых можно развертывать и сохранять виртуальные машины. Вот некоторые задачи, которые помогает решать PowerVC:

  • развертывание образов для создания новых виртуальных машин;
  • изменение размеров и присоединение томов к этим новым образам;
  • использование существующих виртуальных машин;
  • импорт существующих виртуальных машин и томов, так что ими можно управлять из IBM PowerVC;
  • инициирование операций пуска/останова/перезагрузки/удаления с созданными или управляемых виртуальными машинами;
  • мониторинг использования имеющихся ресурсов;
  • поддержка переноса виртуальных машин во время работы («горячий перенос»).

PowerVC автоматически сохраняет следующие сведения по управлению:

  • сведения о существующей конфигурации хоста/гипервизора, включая раздел VIOS;
  • параметры настройки процессора, памяти и системы ввода-вывода для существующих определений виртуальных машин на хост-системе Power;
  • определение существующих томов в поддерживаемых контроллерах системы хранения данных;
  • сведения о существующем зонировании в поддерживаемых коммутаторах SAN.

PowerVC позволяет создавать библиотеки образов виртуальных машин и управлять ими, помогая быстро развернуть среду ВМ путем запуска готового образа этой среды, вместо того, чтобы воссоздавать ее вручную. Создавая виртуальные образы и централизованно управляя ими, можно переносить эти образы и быстро развертывать на них приложения.

Также можно создавать группы ресурсов, необходимых для поддержки рабочих нагрузок.

Существуют две версии IBM PowerVC:

  • IBM PowerVC Express Edition – для простых сред, в которых роль хост-систем виртуальных машин играют системы Power 7, Power 7+ и Power 8, управляемые посредством IVM;
  • IBM PowerVC Standard Edition — для сред виртуализации корпоративного класса, где в качестве хост-систем виртуальных машин выступают серверы Power 6, Power 7, Power 7+ и Power 8, управляемые посредством HMC и Power KVM.

В следующем разделе представлены API OpenStack Express Edition и один API-валидатор для PowerVC с описанием их назначения. Есть еще несколько REST-API, специально предназначенных для систем Power, управляемых посредством инструментов HMC и KVM, но я не рассказываю о них в этой статье.

REST-API OpenStack и API-валидатор для PowerVC

Ниже приведены API компонента OpenStack и API-валидатор PowerVC, которые можно использовать для управления виртуальными ресурсами посредством PowerVC в системе Power (в данном примере – PowerVC Express Edition). Каждый API классифицирован как компонент OpenStack и содержит определение компонента и адреса API подкомпонентов, назначение API и команду, которая используется для включения API.

Компонент: Keystone

Keystone — это проект семейства OpenStack, который предоставляет сервисы проверки подлинности, токенов, каталога и политик, специально предназначенные для использования в проектах OpenStack. Он реализует API Identity OpenStack.

Keystone v3: токены

Токен – это произвольный текстовой фрагмент, используемый для доступа к ресурсам. Каждый токен имеет область применения, которая определяет, какие ресурсы доступны с его помощью. Токен можно отозвать в любое время, и срок его действия не ограничен.

  • https://<powervc-ip>/powervc/openstack/identity/v3/auth/tokens
    Назначение: возвращает токен аутентификации и каталог сервисов при предоставлении учетных данных и токена аутентификации, полученного посредством возвращаемого заголовка X-Subject-Token.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/identity/v3/auth/tokens
    Назначение: проверяет токен аутентификации, указанный в заголовке X-Subject-Token, и возвращает каталог сервисов. Текущий токен аутентификации должен быть указан в заголовке запроса X-Auth-Token.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/auth/tokens
    Назначение: быстрая проверка токена аутентификации. Каталог сервисов не возвращается. Действительный возвращаемый токен – 204.
    Операция: HEAD
  • https://<powervc-ip>/powervc/openstack/identity/v3/auth/tokens
    Назначение: Немедленно аннулирует токен доступа.
    Операция: DELETE

Keystone v3: пользователи

С помощью следующих API можно получить список пользователей keystone и связанных с ними групп:

  • https://<powervc-ip>/powervc/openstack/identity/v3/users
    Назначение: извлекает список пользователей.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/users/user_id
    Назначение: извлекает конкретного пользователя.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/users/user_id/groups
    Назначение: перечисляет группы, членом которых является пользователь.
    Операция: GET

Keystone v3: группы

С помощью следующих API можно получить список групп keystone и связанных с ними пользователей:

  • https://<powervc-ip>/powervc/openstack/identity/v3/groups
    Назначение: извлекает список групп keystone.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/groups/group_id
    Назначение: извлекает конкретную группу.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/groups/group_id/users
    Назначение: перечисляет пользователей, которые являются членами указанной группы.
    Операция: GET

Keystone v3: роли IBM

Роль — это функция, которую выполненяет пользователь, производящий определенный набор операций. Роль включает в себя набор прав и привилегий. Пользователь предполагает, что права и привилегии являются принадлежностями роли.

  • https://<powervc-ip>/powervc/openstack/identity/v3/ibm-roles/users
    Назначение: извлекает список пользователей, исполняющих те или иные роли в отношении PowerVC.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/ibm-roles/groups
    Назначение: извлекает список групп, в которых есть пользователи, исполняющие те или иные роли в отношении PowerVC.
    Операция: GET

Компонент: Nova

Nova — это название проекта OpenStack Compute по созданию контроллера системы облачных вычислений, составляющей основную часть IaaS. Nova управляет жизненным циклом и операциями вычислительных ресурсов.

Серверы Nova

С помощью следующих API можно управлять виртуальными серверами:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers
    Назначение: создает новый виртуальный сервер или виртуальную машину.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers
    Назначение: извлекает список виртуальных серверов.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/detail
    Назначение: извлекает подробные сведения обо всех виртуальных серверах.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id
    Назначение: извлекает подробные сведения об определенном виртуальном сервере.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id
    Назначение: удаляет указанный виртуальный сервер.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/action
    Назначение: изменяет размер указанного сервера. Укажите действие resize в теле запроса.
    Назначение: подтверждает ожидающее действие по изменению размера. Укажите действие confirmResize в теле запроса.
    Назначение: динамически переносит сервер в новую хост-систему без перезагрузки. Укажите действие os-migrateLive в теле запроса.
    Назначение: останавливает запущенный сервер и изменяет его состояние на STOPPED. Укажите действие os-stop в теле запроса.
    Назначение: запускает остановленный сервер и изменяет его статус на ACTIVE. укажите действие os-start в теле запроса.
    Назначение: перезагружает указанный сервер. Укажите действие reboot в теле запроса.
    Назначение: изменяет статус остановленного виртуального сервера на активный.
    Назначение: динамически переносит виртуальный сервер в новую хост-систему без перезагрузки.
    Назначение: создает новый образ виртуальной машины.
    Операция: POST

Присоединяемые тома Nova

С помощью следующих API можно присоединять тома хранения данных к виртуальному серверу и отсоединять их:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/os-volume_attachments
    Назначение: присоединяет том к указанному серверу.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/os-volume_attachments
    Назначение: перечисляет тома, присоединенные к указанному серверу.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/os-volume_attachments/attachment_id
    Назначение: выводит сведения о присоединенном томе с указанным идентификатором.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/os-volume_attachments/attachment_id
    Назначение: отключает указанный присоединенный том от указанного сервера.
    Операция: DELETE

Расширения Nova

Можно получить список и подробные сведения по всем расширениям, имеющимся на сервере:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/extensions
    Назначение: пепечисляет все доступные расширения.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/extensions/{alias}
    Назначение: получает сведения об определенном расширении. Расширения позволяют вводить в API новые функции без необходимости изменять версию, а также добавлять функциональность, определяемую поставщиком.
    Операция: GET

Варианты Nova

С помощью следующих API можно управлять вариантами виртуального сервера (шаблоны виртуального оборудования, определяющие размер ОЗУ, жесткий диск, количество ядер и т.п.):

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors
    Назначение: создает новый вариант.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors
    Назначение: получает перечень вариантов.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/detail
    Назначение: получает перечень вариантов с подробными сведениями.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/detail/flavor_id
    Назначение: получает подробные сведения об указанном варианте.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/detail/flavor_id
    Назначение: удаляет идентификатор указанного варианта.
    Операция: DELETE

Дополнительные характеристики вариантов Nova

Позволяет управлять дополнительными характеристиками существующих вариантов виртуальных серверов (минимальное и максимальное число виртуальных процессоров или элементов памяти, установка выделенного или общего процессора и т.п.).

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/flavor_id/os-extra_specs
    Назначение: перечисляет дополнительные характеристики или ключи для указанного варианта.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/flavor_id/os-extra_specs
    Назначение: создает дополнительные характеристики или ключи для указанного варианта.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/flavor_id/os-extra_specs/key_id
    Назначение: получает значение указанного ключа.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/flavor_id/os-extra_specs/key_id
    Назначение: удаляет дополнительную характеристику по указанную ключу.
    Операция: DELETE

Хост-системы Nova

регистрирует хост-системы Power в PowerVC и отменяет их регистрацию.

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts
    Назначение: перечисляет все хост-системы.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/host_name
    Назначение: описывает указанную хост-систему.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts
    Назначение: регистрирует новый вычислительный узел.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/host_name
    Назначение: отменяет регистрацию вычислительного узла.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/host_name/update-registration
    Назначение: повторно регистрирует вычислительный узел.
    Операция: PUT

Гипервизоры Nova

С помощью следующих API можно получать информацию о гипервизоре серверов, управляемых PowerVC:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hypervisors
    Назначение: перечисляет серверы с информацией о гипервизорах каждого из них.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hypervisors/detail
    Назначение: выдает сведения о гипервизорах, управляемых установкой OpenStack.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hypervisors/hypervisor_id
    Назначение: предоставляет подробные сведения о конкретном гипервизоре.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hypervisors/hypervisor_id/servers
    Назначение: перечисляет серверы или виртуальные машины гипервизора.
    Операция: GET

Образы Nova

С помощью следующих API можно управлять образами виртуальных серверов:

  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/images
    Назначение: перечисляет все образы.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/images/detail
    Назначение: перечисляет все образы с подробными сведениями.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/images/image_id
    Назначение: выдает сведения об указанном образе.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/images/image_id
    Назначение: удаляет указанный образ.
    Операция: DELETE

Ограничения Nova

С помощью следующего API можно получить сведения об ограничениях, настроенных для учетных записей пользователей:

  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/limits
    Назначение: возвращает текущие ограничения для учетной записи.
    Операция: GET

Политики размещения Nova

С помощью следующих API можно получить список атрибутов политик размещения и изменять их:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/ego/policy/placement
    Назначение: перечисляет всех политики.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/ego/policy/placement/policy_id
    Назначение: выдает описание конкретной политики.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/ego/policy/placement/policy_id
    Назначение: изменяет редактируемые атрибуты конкретной политики.
    Операция: PUT

Пары ключей Nova

С помощью следующих API можно управлять парами ключей, связанных с учетными записями пользователей виртуального сервера:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-keypairs
    Назначение: перечисляет пары ключей, связанных с учетной записью.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-keypairs
    Назначение: создает или импортирует пару ключей.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-keypairs/keypair_name
    Назначение: удаляет указанную пару ключей.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-keypairs/keypair_name
    Назначение: отображает пару ключей, связанных с учетной записью.
    Операция: GET

Адаптация виртуального сервера Nova

Для достижения более широких возможностей управления в PowerVC можно импортировать виртуальные серверы, созданные за пределами PowerVC.

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/hostname/all-servers
    Назначение: извлекает список всех виртуальных машин, размещенных в данном компьютере (управляемых или нет).
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/hostname/onboard
    Назначение: импортирует одну или несколько виртуальных машин в данную хост-систему, так чтобы PowerVC управляла ими.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/hostname/unmanage
    Назначение: удаляет одну или несколько виртуальных машин из хост-системы, так чтобы PowerVC больше не управляла ими.
    Операция: POST

Совместные с хост-системой Ethernet-адаптеры Nova

С помощью следующих API можно получить список общих Ethernet-адаптеров, назначенных одной хост-системе, всем хост-системам или тем из них, которые имеют одни и те же идентификаторы UUID и VLAN ID:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas
    Назначение: перечисляет все SEA хост-системы.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas/host_id
    Назначение: перечисляет указанные SEA данной хост-системы.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas/host_id?vlanid=<VLANID>
    Назначение: перечисляет указанные SEA хост-системы, передающие VLAN ID.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas?vlanid=<VLANID>
    Назначение: перечисляет все SEA хост-системы, передающие VLAN ID, PVID которых совпадает с PVID одного из SEA.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas?network_id=<network_id>
    Назначение: перечисляет все SEA хост-системы, передающие сетевой UUID.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas?network_id=<network_id>&vlanid=<VLAN ID>
    Назначение: перечисляет все SEA хост-системы, передающие сетевой UUID и VLAN ID.
    Операция: GET

Схема сети в хост-системе Nova

С помощью следующих API можно получить список существующих схем сети, а также создать и обновить схему сети в хост-системе:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping
    Назначение: перечисляет схемы сети.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping?network_id=<network_id>
    Назначение: перечисляет схемы сети по идентификаторам сети.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping/host_id
    Назначение: перечисляет схемы сети для данной хост-системы.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping/host_id?network_id=<network_id>
    Назначение: перечисляет схемы сети для данной хост-системы и данного ID сети.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping
    Назначение: создает схему сети.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping
    Назначение: изменяет схему сети.
    Операция: PUT

Размещение сетей для хост-систем Nova

Можно получить список возможных размещений сетей для указанных хост-систем, а также список хост-систем, поддерживающих размещение указанной VLAN.

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-placement
    Назначение: перечисляет возможные размещения сетей для всех хост-систем.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-placement?network_id=<network_id>
    Назначение: перечисляет хост-системы, поддерживающие указанную сеть.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-placement/host_name
    Назначение: перечисляет возможные размещения сетей для указанной хост-системы.
    Операция: GET

Использование Nova

С помощью следующих API можно получить статистику использования ресурсов (процессора, памяти, сети и т.п.) для каждой хост-системы и учетной записи пользователя:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-simple-tenant-usage
    Назначение: просмотр статистики по всем пользователям.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-simple-tenant-usage/tenant_id
    Назначение: извлекает статистику по указанному пользователю.
    Операция: GET

Квоты Nova

Можно получать информацию о выделенных квотах для учетных записей пользователей и обновлять ее.

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-quota-sets/tenant_id
    Назначение: Показывает квоты для пользователя.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-quota-sets/tenant_id
    Назначение: Обновляет квоты для пользователя.
    Операция: PUT
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-quota-sets/tenant_id/defaults
    Назначение: Извлекает квоты по умолчанию.
    Операция: GET

Компонент: Cinder

Cinder – это проект из семейства OpenStack по управлению блочным хранением данных.

Тома Cinder

С помощью следующих API можно управлять томами хранения данных:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes
    Назначение: создает том.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes
    Назначение: выдает список томов.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/detail
    Назначение: выдает список томов с подробными сведениями.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes?data_volumes
    Назначение: выдает список томов данных.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/detail?data_volumes
    Назначение: выдает список томов данных с подробными сведениями.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id
    Назначение: выдает все сведения по одному тому.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id
    Назначение: обновляет указанный том.
    Операция: PUT
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id
    Назначение: удаляет отдельный том.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id/restricted_metadata
    Назначение: показывает метаданные тома.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id/restricted_metadata
    Назначение: изменяет метаданные тома.
    Операция: PUT
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume-id/restricted_metadata/{key}
    Назначение: удаляет том из метаданных тома.
    Операция: DELETE

Хост-системы Cinder

С помощью следующих API можно настраиваить хранилища данных в PowerVC:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/connect
    Назначение: возвращает список пулов устройств хранения данных.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts
    Назначение: регистрирует новую хост-систему Cinder.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts
    Назначение: выдает список всех хост-систем Cinder.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name
    Назначение: описывает указанную хост-систему.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name
    Назначение: отменяет регистрацию хост-системы Cinder.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/update-registration
    Назначение: повторно регистрирует хост-систему Cinder.
    Операция: PUT

Адаптация томов Cinder

С помощью следующих API можно импортировать тома хранения данных, не управляемые из PowerVC:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/all-volumes
    Назначение: выдает список всех томов заданного хранилища.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/onboard
    Назначение: импортирует один или несколько томов в данное хранилище, так что они становятся управляемыми из PowerVC.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/unmanage
    Назначение: удаляет один или несколько томов из данного хранилища, так что они перестают быть управляемыми из PowerVC.
    Операция: POST

Хранилища Cinder

Можно получить параметры и статус существующих хранилищ в системе PowerVC.

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/storage-providers
    Назначение: выдает список хранилища с указанием статуса/параметров.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/storage-providers/detail
    Назначение: выдает сведения о статусе/параметрах всех хранилищ.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/storage-providers/provider_id
    Назначение: выдает сведения о статусе/параметрах указанного хранилища.
    Операция: GET

Расширение тома Cinder

С помощью этого API можно изменить размер томов хранения данных:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id
    Назначение: расширяет/изменяет размер тома, когда том подключен со статусом In-Use.
    Операция: GET

Расширения Cinder

Можно получить список и подробные сведения по всем расширениям тома хранения данных:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/extensions
    Назначение: пепечисляет все доступные расширения.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/{alias}
    Назначение: получает сведения об определенном расширении.
    Операция: GET

Типы Cinder

С помощью следующих API можно управлять типами томов хранения данных:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types
    Назначение: создает тип тома.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types
    Назначение: перечисляет типы томов.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types/volume_type_id
    Назначение: выдает информацию о типе указанного тома.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types/volume_type_id
    Назначение: создает тип тома.
    Операция: PUT
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types/volume_type_id
    Назначение: удаляет тип тома.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types/volume_type_id/extra_specs/key_id
    Назначение: обновляет элемент extra-specs для типа тома.
    Операция: PUT

Компонент: Glance

Glance – это сервис образов, который обеспечивает обнаружение, регистрацию и предоставление сервисов для образов виртуальных дисков.

Образы Glance

С помощью следующих RESTful-сервисов можно управлять образами (создавать/удалять/обновлять/получать список/подробную информацию/загружать):

  • https://<powervc-ip>/powervc/openstack/image/v2/images
    Назначение: создает образ.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/image/v2/images
    Назначение: получает список образов, к которым у пользователя есть доступ.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id
    Назначение: выдает сведения об указанном образе.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id
    Назначение: обновляет указанный образ.
    Операция: PUT
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id
    Назначение: удаляет указанный образ.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id/file
    Назначение: загружает двоичные данные образа.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id/file
    Назначение: передает двоичные данные образа.
    Операция: PUT

Компонент: Neutron

Neutron — это сервис управления сетью для OpenStack.

Neutron-сети

С помощью следующих RESTful-сервисов можно управлять сетью (создавать/удалять/изменять/перечислять):

  • https://<powervc-ip>/powervc/openstack/network/v2/networks
    Назначение: создает новую Neutron-сеть.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/network/v2/networks/network_id
    Назначение: обновляет указанную сеть.
    Операция: PUT
  • https://<powervc-ip>/powervc/openstack/network/v2/networks/network_id
    Назначение: удаляет указанную сеть.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/network/v2/networks
    Назначение: выдает краткое описание всех сетей, определенных в Neutron.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/network/v2/networks/network_id
    Назначение: выводит подробные сведения по указанной сети.
    Операция: GET

Neutron-подсети

С помощью следующих RESTful-сервисов можно управлять подсетями сети:

  • https://<powervc-ip>/powervc/openstack/network/v2/subnets
    Назначение: создает подсеть в указанной сети.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/network/v2/subnets/subnet_id
    Назначение: обновляет указанную подсеть.
    Операция: PUT
  • https://<powervc-ip>/powervc/openstack/network/v2/subnets/subnet_id
    Назначение: удаляет указанную подсеть.
    Операция: DELETE
  • https://<powervc-ip>/powervc/openstack/network/v2/subnets
    Назначение: выводит список всех подсетей, доступных пользователю, отправившему запрос.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/network/v2/subnets/subnet_id
    Назначение: предоставляет подробные сведения об указанной подсети.
    Операция: GET

Neutron-порты

С помощью следующих RESTful-сервисов можно управлять сетевыми портами:

  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports
    Назначение: создает порт в указанной сети.
    Операция: POST
  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports
    Назначение: выдает список портов, к которым у пользователя есть доступ.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports/port_id
    Назначение: отображает сведения по указанному порту.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports/port_id
    Назначение: обновляет указанный порт.
    Операция: PUT
  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports/port_id
    Назначение: удаляет указанный порт.
    Операция: DELETE

Служебный компонент PowerVC: валидатор

Этот сервис проверяет существующую среду PowerVC и отображает результаты, которые могут быть полезны для исправления настроенной среды PowerVC.

  • https://<powervc-ip>/powervc/openstack/validation/v1/validation
    Назначение: инициирует выполнения проверки.
    Операция: GET
  • https://<powervc-ip>/powervc/openstack/validation/v1/validation/result
    Назначение: отображает результаты выполнения предыдущей проверки.
    Операция: GET

Заключение

Я надеюсь, что это краткое справочное руководство по использованию API управления виртуальными ресурсами OpenStack в PowerVC Express Edition поможет читателю облегчить и ускорить решение задач управления облаком.


Ресурсы для скачивания


Похожие темы


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Облачные вычисления, Open source, Linux, AIX и UNIX
ArticleID=998097
ArticleTitle=REST-API OpenStack для PowerVC
publish-date=02132015