[Users] bonding setup with python sdk
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@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
Re: [Users] bonding setup with python sdk
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@ovirt.org > http://lists.ovirt.org/mailman/listinfo/users -- Michael Pasternak RedHat, ENG-Virtualization R&D ___ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
Re: [Users] bonding setup with python sdk
On 02/13/2013 12:01 PM, Michael Pasternak wrote: > > Moti, > > Can you please add your setupnetworks example for bonds to the sdk wiki? (and > post it on this thread) > Hi, I've started documenting my experience with the ovirt-engine-sdk-python and hopefully with the java sdk in the near future on: http://motiasayag.wordpress.com/ Still on its early steps... > 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@ovirt.org >> http://lists.ovirt.org/mailman/listinfo/users > > ___ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
Re: [Users] bonding setup with python sdk
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 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 : > > 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@ovirt.org >> http://lists.ovirt.org/mailman/listinfo/users > > > -- > > Michael Pasternak > RedHat, ENG-Virtualization R&D > ___ > Users mailing list > Users@ovirt.org > http://lists.ovirt.org/mailman/listinfo/users ___ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
Re: [Users] bonding setup with python sdk
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@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 > 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 : >> >> 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@ovirt.org >>> http://lists.ovirt.org/mailman/listinfo/users >> >> >> -- >> >> Michael Pasternak >> RedHat, ENG-Virtualization R&D >> ___ >> Users mailing list >> Users@ovirt.org >> http://lists.ovirt.org/mailman/listinfo/users -- Michael Pasternak RedHat, ENG-Virtualization R&D ___ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
Re: [Users] bonding setup with python sdk
Hello, thanks for your feedback. The version is : rhevm-sdk-3.1.0.16-1.el6ev.noarch and latest from RHN. About the nullify with or without params.Network() : this was from Moti's blog example. I changed it with : nic0 = params.HostNIC(name = 'eth0', network = params.Network(), boot_protocol='none', ip=params.IP(address='', netmask='', gateway='')) nic1 = params.HostNIC(name = 'eth4', network = params.Network(), boot_protocol='none', ip=params.IP(address='', netmask='', gateway='')) Same error message. The NICS exist on the host : # ip a | grep eth[0-9] 2: eth0: mtu 1500 qdisc mq state UP qlen 1000 3: eth1: mtu 1500 qdisc noop state DOWN qlen 1000 4: eth2: mtu 1500 qdisc noop state DOWN qlen 1000 5: eth3: mtu 1500 qdisc noop state DOWN qlen 1000 6: eth4: mtu 1500 qdisc noop state DOWN qlen 1000 7: eth5: mtu 1500 qdisc mq state UP qlen 1000 8: eth6: mtu 1500 qdisc noop state DOWN qlen 1000 9: eth7: mtu 1500 qdisc noop state DOWN qlen 1000 The rhevm network exists before applying the script : # ip a | grep rhevm 21: rhevm: mtu 1500 qdisc noqueue state UNKNOWN inet 10.0.1.212/24 brd 10.0.1.255 scope global rhevm Louis Coilliot 2013/2/13 Michael Pasternak : > > 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@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 >> 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 : >>> >>> 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@ovirt.org http://lists.ovirt.org/mail
Re: [Users] bonding setup with python sdk
new example for the setupnetworks action is available here [1], thanks Moti. [1] http://www.ovirt.org/Testing/PythonApi#Networking On 02/13/2013 01:54 PM, Louis Coilliot wrote: > Hello, thanks for your feedback. > > The version is : rhevm-sdk-3.1.0.16-1.el6ev.noarch and latest from RHN. > > About the nullify with or without params.Network() : this was from > Moti's blog example. I changed it with : > > nic0 = params.HostNIC(name = 'eth0', network = params.Network(), > boot_protocol='none', ip=params.IP(address='', netmask='', > gateway='')) > nic1 = params.HostNIC(name = 'eth4', network = params.Network(), > boot_protocol='none', ip=params.IP(address='', netmask='', > gateway='')) > > Same error message. > > The NICS exist on the host : > # ip a | grep eth[0-9] > 2: eth0: mtu 1500 qdisc mq > state UP qlen 1000 > 3: eth1: mtu 1500 qdisc noop state DOWN qlen 1000 > 4: eth2: mtu 1500 qdisc noop state DOWN qlen 1000 > 5: eth3: mtu 1500 qdisc noop state DOWN qlen 1000 > 6: eth4: mtu 1500 qdisc noop state DOWN qlen 1000 > 7: eth5: mtu 1500 qdisc mq state UP qlen > 1000 > 8: eth6: mtu 1500 qdisc noop state DOWN qlen 1000 > 9: eth7: mtu 1500 qdisc noop state DOWN qlen 1000 > > The rhevm network exists before applying the script : > # ip a | grep rhevm > 21: rhevm: mtu 1500 qdisc noqueue > state UNKNOWN > inet 10.0.1.212/24 brd 10.0.1.255 scope global rhevm > > Louis Coilliot > > > 2013/2/13 Michael Pasternak : >> >> 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@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 >>> 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 : Moti, Can you please add your setupnetworks example for bonds to the sdk wiki? (and post it on this thread) thanks.