Hi Don,
So glad to see it worked. If you want to know more about how to use the
Python SDK, the official documentation
would introduce you the detailed
guidance.
If you have any other questions, please feel free to post here.
Regards,
Joey
On Tue, Feb 26, 2019 at 12:50 PM Don Dupuis <dondster(a)gmail.com> wrote:
Joey
That WORKED just great. I am still trying to understand the
services/service stuff. I was trying something similar earlier, but I was
using
connection.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 help
Don
On Mon, Feb 25, 2019 at 10:24 PM Joey Ma <majunjiev(a)gmail.com> wrote:
>
> On Tue, Feb 26, 2019 at 1:00 AM Don Dupuis <dondster(a)gmail.com> wrote:
>
>> Joey
>> I 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.
>
> ```python
> vnics = 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,
> Joey
>
> for dev in vnics:
>> print ("Dev name is %s" % dev.name)
>> # vnicprofile_service.update(types.VnicProfile(
>> # name='%s' % HOSTNAME,
>> # ),
>> # )
>> connection.close()
>>
>> ./update-vnic.py
>> Network name is ovirtmgmt
>> Network id is 740cae1f-c49f-4563-877a-5ce173e83be4
>> Dev name is ovirtmgmt
>>
>> Thanks
>> Don
>>
>> On Mon, Feb 25, 2019 at 12:06 AM Joey Ma <majunjiev(a)gmail.com> wrote:
>>
>>> Hi Don,
>>>
>>> Please using `network.vnic_profiles` instead of `network.vnicprofiles`
>>> as the parameter of `connection.follow_link`.
>>>
>>> Regards,
>>> Joey
>>>
>>>
>>> On Mon, Feb 25, 2019 at 9:22 AM Don Dupuis <dondster(a)gmail.com> wrote:
>>>
>>>> Hi
>>>>
>>>> I 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 python
>>>>
>>>> import logging
>>>> import time
>>>> import string
>>>> import sys
>>>> import os
>>>> import MySQLdb
>>>>
>>>> import ovirtsdk4 as sdk
>>>> import ovirtsdk4.types as types
>>>>
>>>> #logging.basicConfig(level=logging.DEBUG,
filename='/tmp/addhost.log')
>>>>
>>>> ### Variables to be used ###
>>>> #NUMANODE = 3
>>>> #MEM = 20
>>>> GB = 1024 * 1024 * 1024
>>>> #MEMORY = MEM * GB
>>>> GB = 1024 * 1024 * 1024
>>>> URL = '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.py
>>>> Network name is ovirtmgmt
>>>> Network id is 740cae1f-c49f-4563-877a-5ce173e83be4
>>>> Traceback (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.
>>>>
>>>> Thanks
>>>>
>>>> Don
>>>> _______________________________________________
>>>> Users mailing list -- users(a)ovirt.org
>>>> To unsubscribe send an email to users-leave(a)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/PRV7MA2X3IS...
>>>>
>>>