Питон овиртсдк с rhev 4.1

Я пытаюсь использовать API RHEV 4.1 для получения статуса хоста моего гипервизора с использованием python. RHEV 3.6 работает с моим сценарием. Но если я использую следующее.

host = api.hosts.get(host_name)
host_state = host.status      //RHEV 3.6 this was host.state.status
print(host_state)

это дает следующее

<ovirtsdk.xml.params.Status object at 0x3ce0f10>
dev-dbe101t                <ovirtsdk.xml.params.Status object at    0x3ce0f10>
dev-be101t-data1          None                   master
dev-be101t-data2          None

Я могу правильно узнать имя хоста и дата-центра. даже этот объект Status не повторяется. Согласно разнице между rhvm 3.6 и rhev 4.1 api.

В версии 4 API этот тип Status был удален и заменен типами enum. (мой код выше работает для rhev 3.6 и дает правильный статус хоста)

Как я могу получить статус хоста? я обнаружил, что тип host.status является классом, а затем распечатал все связанные методы класса, используя dir(theobject), и нашел следующие полезные методы. состояние get_state, но оно ничего не дает. но мой статус API выше

в соответствии с руководством API.

статус является типом HostStatus ENUM

HOSTSTATUS ENUM содержит имя, называемое "вверх"

не уверен, как получить host.status из API. API возвращает это

<host>
<status>up</status>
</host>

1 ответ

Решение

Вы смешиваете здесь два API. Как вы правильно написали, у oVirt есть две версии API v3 и v4. Python SDK v3 по умолчанию работает с v3 API, поэтому вы должны использовать его с oVirt 4.1/RHV 4.1, как и раньше.

Если вы используете API v3 список состояний хостов:

GET https://fqdn/ovirt-engine/api/v3/hosts

Ты получишь:

<status><state>up</state></status>

Так что вы должны быть в состоянии получить state Python SDK v3 как:

host = api.hosts.get(host_name) host_state = host.status.state print(host_state)

В APIv4 вы получите:

GET https://ondra.local:8443/ovirt-engine/api/v4/hosts

<status>up</status>

Но это не актуально, так как вы все еще используете Python SDK v3, который использует APIv3.

Другие вопросы по тегам