Hi Folks,
I was trying to remove networks from the Cluster and Data-Center using the python bindings for ovirt. I could remove the network from the cluster but it fails to remove the network from the datacenter quitting with the below mentioned traceback :
Traceback (most recent call last):
File "netdel.py", line 25, in <module>
Netwk.delete()
File "/usr/lib/python2.6/site-packages/ovirt_engine_sdk-1.5_SNAPSHOT-py2.6.egg/ovirtsdk/infrastructure/brokers.py", line 1889, in delete
headers={'Content-type':None})
File "/usr/lib/python2.6/site-packages/ovirt_engine_sdk-1.5_SNAPSHOT-py2.6.egg/ovirtsdk/infrastructure/proxy.py", line 36, in delete
return self.request('DELETE', url, body, headers)
File "/usr/lib/python2.6/site-packages/ovirt_engine_sdk-1.5_SNAPSHOT-py2.6.egg/ovirtsdk/infrastructure/proxy.py", line 52, in request
conn=self.getConnectionsPool().getConnection())
File "/usr/lib/python2.6/site-packages/ovirt_engine_sdk-1.5_SNAPSHOT-py2.6.egg/ovirtsdk/infrastructure/proxy.py", line 62, in __doRequest
raise RequestError, response
ovirtsdk.infrastructure.errors.RequestError:
status: 400
reason: Bad Request
detail: [Cannot remove Network. Network is being used by at least one Cluster.]
However, I am able to remove it when I try from the Manager UI. Below is the code I used to test.I am not able to figure-out if it is a know bug or a logical fault on my side somewhere ? [All the VMs are shutdown and no VM is attached to network that I am deleting.]
from ovirtsdk.api import API
from ovirtsdk.xml import params
ovirt_username = "admin@internal"
ovirt_password = "*********"
ovirtAPI = API(url=ovirt_uri, username=ovirt_username, password=ovirt_password)
## removing the network from the cluster.
Netw=ovirtAPI.clusters.get("Default").networks.get("testnet58")
print Netw.name + ":" + Netw.id
Netw.delete()
## removing the network from the Datacenter.
Netwk=ovirtAPI.networks.get("testnet58")
print Netwk.name + ":" + Netwk.id
Netwk.delete()
--
Regards,
Rahul
=======================================================