
Hi Micheal, After updating the sdk I see change in documentation for hostnic addition and see bonding as a optional parameter, but I dont see it behaving it that way. When I try running the code to create and add NIC with Static IP assigned, I am facing same error where it is asking for bonding parameter and failing due to the same. Also, I made sure I removed the previous sdk and ensured my program is using the latest sdk. The error that I get is mentioned below : *Traceback (most recent call last):* * File "rtest.py", line 51, in <module>* * host.nics.add(params.HostNIC(name = new_hostnic_name, network=network, boot_protocol = 'static', ip= new_ip))* * File "/usr/lib/python2.6/site-packages/ovirtsdk/infrastructure/brokers.py", line 2393, in add* * body=ParseHelper.toXml(hostnic))* * File "/usr/lib/python2.6/site-packages/ovirtsdk/infrastructure/proxy.py", line 117, in add* * return self.request('POST', url, body, headers)* * File "/usr/lib/python2.6/site-packages/ovirtsdk/infrastructure/proxy.py", line 128, in request* * last=last)* * File "/usr/lib/python2.6/site-packages/ovirtsdk/infrastructure/proxy.py", line 154, in __doRequest* * raise RequestError, response* *ovirtsdk.infrastructure.errors.RequestError:* *status: 400* *reason: Bad Request* *detail: HostNIC [bonding.slaves.id|name] required for add* * * * * The piece of code that I am using to do this is : *hostid = 0* *address = ip_start* *new_hostnic_name = 'em3.'+str(vlanId)* *for host in hosts :* * if host.cluster.id == cluster.id :* * hostid = hostid + 1* * add_splits = address.split('.')* * add_splits[3] = str(200 + hostid)* * address= '.'.join(add_splits)* * new_ip = params.IP(address = address , netmask = '255.255.255.0' )* * host.nics.add(params.HostNIC(name = new_hostnic_name, network=network, boot_protocol = 'static', ip= new_ip))* * * * host.commitnetconfig()* * * My requirement is that I do not want to using bonding while addition of a new NIC to the host, Also , I want to add the ip address to the new NIC at the time of creation itself. Regards, Rahul. On Fri, Jul 6, 2012 at 12:33 PM, Rahul Upadhyaya <rakrup@gmail.com> wrote:
Thanks Michael,
I had a older version of the python-binding which had bonding in #1 as a compulsory parameter... Seeing your options I updated the sdk and now the error is resolved. I see bonding as an optional param.
Regards, Rahul.
---------- Forwarded message ---------- From: Michael Pasternak <mpastern@redhat.com> Date: Thu, Jul 5, 2012 at 7:22 PM Subject: Re: [Users] HostNic Addition with IP Address To: Rahul Upadhyaya <rakrup@gmail.com> Cc: users@ovirt.org
Hi Rahul,
#1 is the right place for doing this, see method __doc__ [1] #2 used for attaching network to NIC, see __doc__ is [2]
* note all methods in sdk well documented describing what parameters-holder to use and how to fill it.
[1] ''' @type HostNIC:
@param hostnic.network.id|name: string @param hostnic.name: string [@param hostnic.bonding.slaves.host_nic: collection] { [@ivar host_nic.id|name: string] } [@param hostnic.bonding.options.option: collection] { [@ivar option.name: string] [@ivar option.value: string] [@ivar type: string] } [@param hostnic.ip.gateway: string] [@param hostnic.boot_protocol: string] [@param hostnic.mac: string] [@param hostnic.ip.address: string] [@param hostnic.ip.netmask: string]
@return HostNIC: '''
[2] ''' @type Action:
@param action.network.id|name: string [@param action.async: boolean] [@param action.grace_period.expiry: long]
@return Response: '''
On 07/05/2012 03:00 PM, Rahul Upadhyaya wrote:
Hi Folks,
I am facing issues while adding NIC with Static I.P. to host using the oVirt Python-Bindings. There are two api's
1) HostNics.add :Here it requires binding param for interface bonding as a compulsory param. I dont want to bond more than one interfaces for a network while creating network each time.
2) HostNic.attach: This lets me attach the NIC but does not let me put static IP address to it as soon as I add it. I am using a workaround of updating the NIC with the IP information, but it requires me to put all the hosts on maintenance and shut-down all the running VMs which again is not the best way of doing it.
Is it not supported by the API that at the time of addition of the hostNIC we can specify the IP address or is it something that I am missing ? Also,I see that this operation is supported from the manager UI .
-- Regards, Rahul =======================================================
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
--
Michael Pasternak RedHat, ENG-Virtualization R&D
-- Regards, Rahul =======================================================
-- Regards, Rahul =======================================================