[ovirt-users] How to setup OVS using python SDK ?
Yaniv Dary
ydary at redhat.com
Wed Dec 28 08:26:50 UTC 2016
You should not use the OVS hook or native implementation.
We don't feel this feature is ready and we stopped its development recently.
You should look at the OVN implementation, there is a deep dive planned for
this soon, please look it up.
Feature Page:
https://www.ovirt.org//develop/release-management/features/ovirt-ovn-provider/
Blog Post:
https://www.ovirt.org/blog/2016/11/ovirt-provider-ovn/
Yaniv Dary
Technical Product Manager
Red Hat Israel Ltd.
34 Jerusalem Road
Building A, 4th floor
Ra'anana, Israel 4350109
Tel : +972 (9) 7692306
8272306
Email: ydary at redhat.com
IRC : ydary
On Mon, Dec 26, 2016 at 5:15 PM, TranceWorldLogic . <
tranceworldlogic at gmail.com> wrote:
> Hi,
>
> I found a way to update property in setup network as shown below
>
> # Get the reference to the hosts service:
> hosts_service = connection.system_service().hosts_service()
> myhost = hosts_service.list(search='name=myhost')[0]
>
> myhost_service = hosts_service.host_service(myhost.id)
> mynet_attached_services = myhost_service.network_attachments_service()
>
> for mynet_attachment in mynet_attached_services.list():
> if mynet_attachment.network.name == "mynet":
> print "Found : %s"%(mynet_attachment.network.name)
> mynet_attached_services.attachment_service(mynet_attachment.id).update(
> attachment=types.NetworkAttachment( properties=[types.Property("ovs","1")]
> ) )
> else:
> print "Not Found : %s"%(mynet_attachment.network.name)
>
> Please find below ovs output.
> # ovs-vsctl show
> Bridge "vdsmbr_tJ9jxY5o"
> Port "em2"
> Interface "em2"
> Port "vdsmbr_tJ9jxY5o"
> Interface "vdsmbr_tJ9jxY5o"
> type: internal
> Port mynet
> Interface mynet
> type: internal
> ovs_version: "2.4.0"
>
>
> But ovirt is showing me "out-of-sync" message.
>
> *Can someone explain me why it shown as out-of-sync ?*
> *How ovirt determine sync on logical network ?*
>
>
> Thanks,
> ~Rohit
>
>
>
> On Mon, Dec 26, 2016 at 7:04 PM, TranceWorldLogic . <
> tranceworldlogic at gmail.com> wrote:
>
>> Hi,
>>
>> Thanks for providing script it is working fine.
>>
>> But it not complete, would you help me to complete step 2 ?
>>
>> https://www.ovirt.org/networking/ovs/
>> Setup network
>>
>> In the oVirt UI open the 'Setup Host Networks' dialog. Proceed to editing
>> a desired logical network's properties. Among them you will find 'ovs', set
>> it to 'true' or '1' to mark is as a OVS Network.
>>
>>
>> And have one doubt.
>>
>> Why we have to set ovs property two time ?
>>
>>
>> Thanks,
>> ~Rohit
>>
>>
>> On Tue, Dec 20, 2016 at 7:44 PM, Juan Hernández <jhernand at redhat.com>
>> wrote:
>>
>>> On 12/20/2016 02:19 PM, TranceWorldLogic . wrote:
>>> > Hi,
>>> >
>>> > I am trying to setup OVS network using ovirt and found guide as shown
>>> below:
>>> > https://www.ovirt.org/networking/ovs/
>>> >
>>> > Then, I tried to explore "vNic Profile" in sdk but not found any ovs
>>> > profile in types.py.
>>> > Can anyone help me how to setup ovs using python sdk ?
>>> > I am using ovirtsdk4 (4.0 version).
>>> >
>>>
>>> Should be something like this:
>>>
>>> ---8<---
>>> #!/usr/bin/env python
>>> # -*- coding: utf-8 -*-
>>>
>>> #
>>> # Copyright (c) 2016 Red Hat, Inc.
>>> #
>>> # Licensed under the Apache License, Version 2.0 (the "License");
>>> # you may not use this file except in compliance with the License.
>>> # You may obtain a copy of the License at
>>> #
>>> # http://www.apache.org/licenses/LICENSE-2.0
>>> #
>>> # Unless required by applicable law or agreed to in writing, software
>>> # distributed under the License is distributed on an "AS IS" BASIS,
>>> # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>>> implied.
>>> # See the License for the specific language governing permissions and
>>> # limitations under the License.
>>> #
>>>
>>> import logging
>>>
>>> import ovirtsdk4 as sdk
>>> import ovirtsdk4.types as types
>>>
>>> logging.basicConfig(level=logging.DEBUG, filename='example.log')
>>>
>>> # This example will connect to the server and create a logical network
>>> # that using Open vSwitch. Note that in order for this to work the
>>> # engine has to be configured to use Open vSwitch, as described here:
>>> #
>>> # https://www.ovirt.org/networking/ovs
>>> #
>>> # Specifcally you need to run the following commands in the machine
>>> # where the engine is running:
>>> #
>>> # engine-config -s CustomDeviceProperties="{type=
>>> interface;prop={ovs=.*}}"
>>> # engine-config -s
>>> 'UserDefinedNetworkCustomProperties=ovs=.*;ovs_aa_sid=.*'
>>> # systemctl restart ovirt-engine
>>>
>>> # Create the connection to the server:
>>> connection = sdk.Connection(
>>> url='https://engine41.example.com/ovirt-engine/api',
>>> username='admin at internal',
>>> password='redhat123',
>>> ca_file='ca.pem',
>>> debug=True,
>>> log=logging.getLogger(),
>>> )
>>>
>>> # Get the reference to the root of the tree of services:
>>> system_service = connection.system_service()
>>>
>>> # Get the reference to the service that manages the logical networks:
>>> nets_service = system_service.networks_service()
>>>
>>> # Create a logical network, which will automatically create a virtual
>>> # NIC profile:
>>> net = nets_service.add(
>>> network=types.Network(
>>> name='myovsnetwork',
>>> data_center=types.DataCenter(
>>> name='mydc'
>>> )
>>> )
>>> )
>>>
>>> # Retrieve the details of the virtual NIC profile that was created for
>>> # the network (assuming that there is only one):
>>> profile = connection.follow_link(net.vnic_profiles)[0]
>>>
>>> # Get the reference to the service that manages the virtual NIC profile:
>>> profiles_service = system_service.vnic_profiles_service()
>>> profile_service = profiles_service.profile_service(profile.id)
>>>
>>> # Update the custom properties of the virtual NIC profile in order to
>>> # enable Open vSwitch:
>>> profile_service.update(
>>> profile=types.VnicProfile(
>>> custom_properties=[
>>> types.CustomProperty(
>>> name='ovs',
>>> value='true'
>>> )
>>> ]
>>> )
>>> )
>>>
>>> # Close the connection to the server:
>>> connection.close()
>>> --->8---
>>>
>>> Note that it isn't complete, and that I didn't test if the OVS network
>>> does work. But at least the creation of the network and the modification
>>> of the VNIC profile does work.
>>>
>>> I am suggesting to add this to the collection of examples of the SDK:
>>>
>>> Add example of how to create OVS network
>>> https://gerrit.ovirt.org/68825
>>>
>>> You may want to review it.
>>>
>>>
>>
>
> _______________________________________________
> Users mailing list
> Users at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20161228/49c103f9/attachment-0001.html>
More information about the Users
mailing list