Hi Don,So glad to see it worked. If you want to know more about how to use the Python SDK, the official documentation http://ovirt.github.io/ovirt-engine-sdk/ would introduce you the detailed guidance.If you have any other questions, please feel free to post here.Regards,JoeyOn Tue, Feb 26, 2019 at 12:50 PM Don Dupuis <dondster@gmail.com> wrote:JoeyThat WORKED just great. I am still trying to understand the services/service stuff. I was trying something similar earlier, but I was usingconnection.system_service().vnic_profiles_service().vnic_profile_service(), I understand now from your code on what is going on and why was going down the wrong road.Thanks again for your helpDonOn Mon, Feb 25, 2019 at 10:24 PM Joey Ma <majunjiev@gmail.com> wrote:On Tue, Feb 26, 2019 at 1:00 AM Don Dupuis <dondster@gmail.com> wrote:JoeyI am still not quite getting it. I am trying the below code and where it is commented out, I have tried different things, but I am no table to update the name of the object that I have found.networks_service = connection.system_service().networks_service()network = networks_service.list(search='name=ovirtmgmt and datacenter=%s-local' % HOSTNAME) [0]print ("Network name is %s" % network.name)print ("Network id is %s" % network.id)vnics = connection.follow_link(network.vnic_profiles)#vnicsprofile_service = connection.system_service().vnic_profile_service()#vnicprofile_service = vnic_profiles_service.vnic_profile_service(vnics.id)Hi Don,The var `vnics` is actually a List, so the statement `vnics.id` would produce errors.The following codes could successfully update the name of a vnicprofile, probably meets your needs.```pythonvnics = connection.follow_link(network.vnic_profiles)# Iterate the var `vnics` would be better.vnic_service = connection.system_service().vnic_profiles_service().profile_service(vnics[0].id)
vnic_service.update(types.VnicProfile(
name='the-new-name',))vnic = vnic_service.get()
print('new name', vnic.name)```If the above codes could not work as expected, please let me know.Regards,Joeyfor dev in vnics:print ("Dev name is %s" % dev.name)# vnicprofile_service.update(types.VnicProfile(# name='%s' % HOSTNAME,# ),# )connection.close()./update-vnic.pyNetwork name is ovirtmgmtNetwork id is 740cae1f-c49f-4563-877a-5ce173e83be4Dev name is ovirtmgmtThanksDonOn Mon, Feb 25, 2019 at 12:06 AM Joey Ma <majunjiev@gmail.com> wrote:Hi Don,Please using `network.vnic_profiles` instead of `network.vnicprofiles` as the parameter of `connection.follow_link`.Regards,JoeyOn Mon, Feb 25, 2019 at 9:22 AM Don Dupuis <dondster@gmail.com> wrote:_______________________________________________HiI am trying to write some code to update the names of existing vnicprofiles in ovirt-4.2. The problem I am having is trying to follow the links to the vnicprofiles. Below is web info that I am trying to get:<network href="/ovirt-engine/api/networks/740cae1f-c49f-4563-877a-5ce173e83be4" id="740cae1f-c49f-4563-877a-5ce173e83be4"><name>ovirtmgmt</name><description>LOOKING</description><comment/><link href="/ovirt-engine/api/networks/740cae1f-c49f-4563-877a-5ce173e83be4/permissions" rel="permissions"/><link href="/ovirt-engine/api/networks/740cae1f-c49f-4563-877a-5ce173e83be4/vnicprofiles" rel="vnicprofiles"/><link href="/ovirt-engine/api/networks/740cae1f-c49f-4563-877a-5ce173e83be4/networklabels" rel="networklabels"/><mtu>0</mtu><stp>false</stp><usages><usage>vm</usage></usages><vlan id="4050"/><data_center href="/ovirt-engine/api/datacenters/1d00d32b-abdc-43cd-b990-257aaf01d514" id="1d00d32b-abdc-43cd-b990-257aaf01d514"/></network>Below is the code that I am trying to do the same thing and I want to follow the vnicprofiles link to get to the actual data that I want to change:#!/usr/bin/env pythonimport loggingimport timeimport stringimport sysimport osimport MySQLdbimport ovirtsdk4 as sdkimport ovirtsdk4.types as types#logging.basicConfig(level=logging.DEBUG, filename='/tmp/addhost.log')### Variables to be used ####NUMANODE = 3#MEM = 20GB = 1024 * 1024 * 1024#MEMORY = MEM * GBGB = 1024 * 1024 * 1024URL = 'https://host/ovirt-engine/api'CAFILE = '/etc/pki/ovirt-engine/ca.pem'USERNAME = 'admin@internal'PASSWORD = 'password'HOSTNAME = 'rvs06'connection = sdk.Connection(url=URL,username=USERNAME,password=PASSWORD,# ca_file='ca.pem',debug='True',insecure='True',# log=logging.getLogger(),)#dcs_service = connection.system_service().data_centers_service()#dc = dcs_service.list(search='cluster=%s-local' % HOSTNAME)[0]#network = dcs_service.service(dc.id).networks_service()networks_service = connection.system_service().networks_service()network = networks_service.list(search='name=ovirtmgmt and datacenter=%s-local' % HOSTNAME) [0]print ("Network name is %s" % network.name)print ("Network id is %s" % network.id)vnic = connection.follow_link(network.vnicprofiles)connection.close()Below is the output of my code:./update-vnic.pyNetwork name is ovirtmgmtNetwork id is 740cae1f-c49f-4563-877a-5ce173e83be4Traceback (most recent call last):File "./update-vnic.py", line 46, in <module>vnic = connection.follow_link(network.vnicprofiles)AttributeError: 'Network' object has no attribute 'vnicprofiles'The network name and network id is correct. Any help would be appreciated on what I am missing or what I am doing wrong. The actual updating of the name with code isn't written yet as I can't get past this part.ThanksDon
Users mailing list -- users@ovirt.org
To unsubscribe send an email to users-leave@ovirt.org
Privacy Statement: https://www.ovirt.org/site/privacy-policy/
oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/
List Archives: https://lists.ovirt.org/archives/list/users@ovirt.org/message/PRV7MA2X3IS5WSXEEYAY54PPXFIMNRM4/