Testing oVirt 4.0 with Lago - which SDK should we use?

Currently, the SDK that Lago uses is (at least on my Fedora): ovirt-engine-sdk-python-3.5.1.0-2.fc23.noarch I think we may need to bring in a newer SDK. 1. Which one? 2. If master - is it backward compatible to run against 3.x already? 3. Can we have them side by side perhaps? TIA, Y.

On 02/10/2016 04:21 PM, Yaniv Kaul wrote:
Currently, the SDK that Lago uses is (at least on my Fedora): ovirt-engine-sdk-python-3.5.1.0-2.fc23.noarch
I think we may need to bring in a newer SDK. 1. Which one?
Latest 3.6 that is available. Should be 3.6.0.3 if you have the oVirt.org repositories correctly configured.
2. If master - is it backward compatible to run against 3.x already?
The master version of the SDK only works with version 4 of the API, and thus only with master version of the engine. I do not recommend to use the master version of the SDKs at the moment, as we should do big changes to them, which will render the migration effort useless. The master version of the engine already supports versions 3 and 4 of the API. You can use version 3.6 of the SDK to talk to version 4 of the engine if you explicitly request version 3 of the API. To do so, currently, you will have to use a prefix in the URL: api = api.API( url="https://whatever/ovirt-engine/api/v3", ... ) Note that using this prefix isn't the recommended way to select the version of the API, the recommended way is using the HTTP "Version" header, but there are no released versions of the SDK supporting this yet. This support will be included in the next released version.
3. Can we have them side by side perhaps?
It isn't possible to have both SDKs installed in the same machine, because the name of the RPM is the same. Suggestions to allow that are welcome. I'm inclined to ship two SDKs in the same RPM, one to talk to version 3 of the API and another to talk to version 4 of the API. -- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.

Any decision made? Are we going to switch to use 3.6 SDK? On Wed, Feb 10, 2016 at 3:57 PM, Juan Hernández <jhernand@redhat.com> wrote:
On 02/10/2016 04:21 PM, Yaniv Kaul wrote:
Currently, the SDK that Lago uses is (at least on my Fedora): ovirt-engine-sdk-python-3.5.1.0-2.fc23.noarch
I think we may need to bring in a newer SDK. 1. Which one?
Latest 3.6 that is available. Should be 3.6.0.3 if you have the oVirt.org repositories correctly configured.
2. If master - is it backward compatible to run against 3.x already?
The master version of the SDK only works with version 4 of the API, and thus only with master version of the engine. I do not recommend to use the master version of the SDKs at the moment, as we should do big changes to them, which will render the migration effort useless.
The master version of the engine already supports versions 3 and 4 of the API. You can use version 3.6 of the SDK to talk to version 4 of the engine if you explicitly request version 3 of the API. To do so, currently, you will have to use a prefix in the URL:
api = api.API( url="https://whatever/ovirt-engine/api/v3", ... )
Note that using this prefix isn't the recommended way to select the version of the API, the recommended way is using the HTTP "Version" header, but there are no released versions of the SDK supporting this yet. This support will be included in the next released version.
3. Can we have them side by side perhaps?
It isn't possible to have both SDKs installed in the same machine, because the name of the RPM is the same. Suggestions to allow that are welcome. I'm inclined to ship two SDKs in the same RPM, one to talk to version 3 of the API and another to talk to version 4 of the API.
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L. _______________________________________________ lago-devel mailing list lago-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/lago-devel
-- Eyal Edri Associate Manager EMEA ENG Virtualization R&D Red Hat Israel phone: +972-9-7692018 irc: eedri (on #tlv #rhev-dev #rhev-integ)

On 02/21/2016 02:34 PM, Eyal Edri wrote:
Any decision made? Are we going to switch to use 3.6 SDK?
In my opinion you should use version 3.6, as version 4 isn't ready for use in real environments. Note that latest version 4 of the engine has already support for version 3 and 4 of the API, and that the latest version of the Python SDK (3.6.3.0) automatically selects version 3 of the API. So, if you use that version of the 3.6 SDK then you don't need to change anything. You can also use an older version of the SDK, but then you will need to do one of these two things: * Tell the SDK to use version 3 of the API, using the "/v3" prefix: api = API( url="https://yourserver/ovirt-engine/api/v3", ... ) * Configure the server to select version 3 of the API by default (currently the default is version 4): $ echo "ENGINE_API_VERSION_DEFAULT=4" > /etc/ovirt-engine/engine.conf.d/99-use-version-3-api-by-default.conf $ systemctl restart ovirt-engine Note also that version 4 of the SDK will work only with version 4 of the API, and it will be very different. In this patch, in the "examples" directory, you can take a look at how the new SDK will look like: sdk: Add version 4 https://gerrit.ovirt.org/53720
On Wed, Feb 10, 2016 at 3:57 PM, Juan Hernández <jhernand@redhat.com <mailto:jhernand@redhat.com>> wrote:
On 02/10/2016 04:21 PM, Yaniv Kaul wrote: > Currently, the SDK that Lago uses is (at least on my Fedora): > ovirt-engine-sdk-python-3.5.1.0-2.fc23.noarch > > I think we may need to bring in a newer SDK. > 1. Which one?
Latest 3.6 that is available. Should be 3.6.0.3 if you have the oVirt.org repositories correctly configured.
> 2. If master - is it backward compatible to run against 3.x already?
The master version of the SDK only works with version 4 of the API, and thus only with master version of the engine. I do not recommend to use the master version of the SDKs at the moment, as we should do big changes to them, which will render the migration effort useless.
The master version of the engine already supports versions 3 and 4 of the API. You can use version 3.6 of the SDK to talk to version 4 of the engine if you explicitly request version 3 of the API. To do so, currently, you will have to use a prefix in the URL:
api = api.API( url="https://whatever/ovirt-engine/api/v3", ... )
Note that using this prefix isn't the recommended way to select the version of the API, the recommended way is using the HTTP "Version" header, but there are no released versions of the SDK supporting this yet. This support will be included in the next released version.
> 3. Can we have them side by side perhaps? >
It isn't possible to have both SDKs installed in the same machine, because the name of the RPM is the same. Suggestions to allow that are welcome. I'm inclined to ship two SDKs in the same RPM, one to talk to version 3 of the API and another to talk to version 4 of the API.
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L. _______________________________________________ lago-devel mailing list lago-devel@ovirt.org <mailto:lago-devel@ovirt.org> http://lists.ovirt.org/mailman/listinfo/lago-devel
-- Eyal Edri Associate Manager EMEA ENG Virtualization R&D Red Hat Israel
phone: +972-9-7692018 irc: eedri (on #tlv #rhev-dev #rhev-integ)
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.
participants (3)
-
Eyal Edri
-
Juan Hernández
-
Yaniv Kaul