[Users] bonding setup with python sdk
Michael Pasternak
mpastern at redhat.com
Wed Feb 13 06:28:47 EST 2013
Louis,
what is your sdk version? (make sure you have latest)
here is your code (from http://kermit.fr/lofic/snipper/16/) with couple of comments inline
#!/usr/bin/python
from ovirtsdk.api import API
from ovirtsdk.xml import params
RHEVM='10.0.1.251'
PORT='443'
LOGIN='admin at internal'
PASSWORD='nottherealpw'
from ovirtsdk.api import API
from ovirtsdk.xml import params
baseurl = "https://%s:%s" % (RHEVM,PORT)
api = API(url=baseurl, username=LOGIN, password=PASSWORD, insecure=True)
nic0 = params.HostNIC(name = 'eth0', network = params.Network(), boot_protocol='none', ip=params.IP(address='', netmask='', gateway=''))
nic1 = params.HostNIC(name = 'eth4', network = None)
==> this is ^ not correct, network should be overridden by the 'params.Network()'
(moti already submitted a patch preventing such syntax in the backend)
===> does both eth0/eth4 exist on your host?
# bond0 definition on top of eth0 and eth4
bond = params.Bonding(
slaves = params.Slaves(host_nic = [ nic0, nic1 ]),
options = params.Options(
option = [
params.Option(name = 'miimon', value = '100'),
params.Option(name = 'mode', value = '1'),
params.Option(name = 'primary', value = 'eth0')]
)
)
# Configure the management network on top of the bond
managementNetwork = params.HostNIC(network = params.Network(name = 'rhevm'),
name = 'bond0',
boot_protocol = 'static',
ip = params.IP(
address = '10.0.1.212',
netmask = '255.255.255.0',
gateway = '10.0.1.253'),
override_configuration = 1,
bonding = bond)
# Now apply the configuration
host = api.hosts.get('h1')
host.nics.setupnetworks(params.Action(force = 0,
check_connectivity = 1,
host_nics = params.HostNics(host_nic = [ managementNetwork ])))
On 02/13/2013 12:27 PM, Louis Coilliot wrote:
> Thanks.
>
> The proper link is :
> http://motiasayag.wordpress.com/2013/02/13/creating-networks-on-top-of-a-bond/
>
> Is it supposed to work for RHEV 3.1 ?
>
> I get :
>
> Traceback (most recent call last):
> File "./setbond.py", line 46, in <module>
> host_nics = params.HostNics(host_nic = [ managementNetwork ])))
> File "/usr/lib/python2.6/site-packages/ovirtsdk/infrastructure/brokers.py",
> line 2659, in setupnetworks
> headers={"Correlation-Id":correlation_id})
> File "/usr/lib/python2.6/site-packages/ovirtsdk/infrastructure/proxy.py",
> line 129, in request
> last=last)
> File "/usr/lib/python2.6/site-packages/ovirtsdk/infrastructure/proxy.py",
> line 158, in __doRequest
> raise RequestError, response
> ovirtsdk.infrastructure.errors.RequestError:
> status: 400
> reason: Bad Request
> detail: Entity not found: null
>
> From this test script :
> http://kermit.fr/lofic/snipper/16/
>
> Louis Coilliot
>
> 2013/2/13 Michael Pasternak <mpastern at redhat.com>:
>>
>> Moti,
>>
>> Can you please add your setupnetworks example for bonds to the sdk wiki? (and post it on this thread)
>>
>> thanks.
>>
>> On 02/12/2013 06:40 PM, Louis Coilliot wrote:
>>> Hello,
>>>
>>> do you have examples or hints on setting the bonding of some NICS on
>>> hypervisor hosts ? With the python SDK ?
>>>
>>> Thanks in advance.
>>>
>>> Louis Coilliot
>>> _______________________________________________
>>> Users mailing list
>>> Users at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/users
>>
>>
>> --
>>
>> Michael Pasternak
>> RedHat, ENG-Virtualization R&D
>> _______________________________________________
>> Users mailing list
>> Users at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/users
--
Michael Pasternak
RedHat, ENG-Virtualization R&D
More information about the Users
mailing list