Devel
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- 1 participants
- 6476 discussions
------=_Part_11407198_1454246753.1374581565910
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Hi all,
I'm building a TCMS plan for the Device Custom Properties feature and I came across some questions.
I'm sorry that I'm a little late with my thoughts but I hope you'll still hear them out.
Also, I know It's a little long but please bear with me :)
I want to talk about two things:
1. Sending an updateDevice verb whenever clicking on "Edit" and than "OK".
2. Setting Port Mirroring at the configuring of a nic and not at the profile.
1.According to the Vnic_Profiles's wiki (in the Editing a profile section) it says:
"The changes will seep down to all VNICs using the profile.
In case VNIC using the edited profile are connected to running VMs, the change will apply only on the VM next run."
I'll describe a Scenario:
Creating profile A with property speed = 500
Setting vnic2 on vm to have profile A (using Hotplugnic)
Changing (in the profile) speed = 700
According to the Vnic_Profiles's wiki, only when I restart my vm I'll get my setting right.
In my opinion, If we could enable the update of those setting LIVE we will give the clients a better solution in the Vnic Profiles.
I will be able to update all of my 1000 vms in a few minutes with a single script instead of restarting them all and maybe stopping others' work.
I think that restarting 1000 vms because I want to set a property is not something that an admin would want to do.
One way to implement it is to send a verb "updateDevice" each time we open the the "Edit" window and clicking "OK"
I guess that when the design of update device was made, we tried to send minimal verbs, but in this case, I think that if a user clicked on "Edit" & "OK" then he wanted to send the verb, otherwise, he would have pressed on "Edit" & "Cancel".
Sending this verb will allow us to keep the vms update with, in my opinion, minimum cost and with great profit - Giving the client a "more correct environment" LIVE.
2. I'll start with saying that in my opinion, the Vnic Profile feature was created to give the client a *more dynamic network environment* and I support.
But, I think that the statical variables like MAC, Un/Pluged and Port Mirroring which always exist should be at the nic and not in the profile.
In my opinion, Profile's properties may have: max_mtu, min_mtu, mtu, speed, id, vlan... Identifiers for the network.
Maybe I'm missing something but it seems natural to me that the port mirroring will be at nic and not at the profile.
I'll really appreciate comments.
Thank you for your time.
Amihay Winter
----- Original Message -----
> ----- Forwarded Message -----
> From: "Livnat Peer" <lpeer(a)redhat.com>
> To: "Moti Asayag" <masayag(a)redhat.com>
> Cc: "engine-devel" <engine-devel(a)ovirt.org>, "Ofri Masad"
> <omasad(a)redhat.com>, "Mike Kolesnik" <mkolesni(a)redhat.com>, "Oved Ourfalli"
> <oourfali(a)redhat.com>
> Sent: Monday, July 8, 2013 10:11:15 AM
> Subject: Re: VNIC profiles
> On 07/08/2013 12:36 AM, Moti Asayag wrote:
> > I've updated the wiki accordingly and added few comments inline.
> >
> > ----- Original Message -----
> >> From: "Livnat Peer" <lpeer(a)redhat.com>
> >> To: "Moti Asayag" <masayag(a)redhat.com>
> >> Cc: "engine-devel" <engine-devel(a)ovirt.org>, "Ofri Masad"
> >> <omasad(a)redhat.com>, "Mike Kolesnik" <mkolesni(a)redhat.com>,
> >> "Oved Ourfalli" <oourfali(a)redhat.com>
> >> Sent: Sunday, July 7, 2013 2:59:34 PM
> >> Subject: Re: VNIC profiles
> >>
> >> On 07/07/2013 01:59 PM, Moti Asayag wrote:
> >>> Hi,
> >>>
> >>> I've updated the wiki with the feedbacks from this thread, added a
> >>> backend
> >>> section naming the affected commands and also add added few questions of
> >>> my own embedded in the pastedtext below.
> >>>
> >>
> >> Hi Moti,
> >> A good and comprehensive description of the feature behavior.
> >> See my comments bellow -
> >>
> >>> In addition, another question here:
> >>>
> >>> The units within the UI mockups are Mb and Mbps. The libvirt APIs expects
> >>> the units to be in kb and kbps. Which component is responsible to convert
> >>> them to the expect units ? engine or VDSM ?
> >>
> >> Giuseppe mentioned that in a previous thread on this subject.
> >> Ofri and Giuseppe agreed that the translation would be done on the
> >> engine level.
> >>
> >>
> >>>
> >>> Copied text from the wiki:
> >>>
> >>> Adding a Profile
> >>>
> >>> The network administrator could create several VNIC Profiles for each
> >>> network. He could then grant a users with the permission to use (consume)
> >>> each profile. The user will only be able to use profiles which he was
> >>> granted access to.
> >>>
> >>> For example: the network admin will create two VNIC profiles for
> >>> network "blue":
> >>>
> >>> Profile "Gold" - with better QoS and with port mirroring
> >>> Profile "Silver" with lower QoS and without port mirroring.
> >>>
> >>
> >> I would use other names for the profiles to avoid confusion.
> >> Gold and Silver are likely to be QoS object names, a more typical name
> >> for a network profile is - teachers-blue and students-blue
> >>
> >> The different profiles can have different QoS (teachers-blue would get
> >> Gold QoS while Students-blue will have Silver).
> >>
> >>
> >>> He will then define the user-group "students" as user of profile
> >>> "Silver" and user-group "teachers" as user of profile "Gold". In this
> >>> case the teachers will enjoy better quality of service then the
> >>> students. When a teacher will add/edit a virtual NIC he could select
> >>> profile "Gold" for that NIC - the VNIC will be connected to network
> >>> "blue" with high QoS and with port mirroring.
> >>>
> >>> Question: In the same matter we allowed via the UI to grant 'NetworkUser'
> >>> to 'everyone' user, wouldn't it ease the use of Profiles if we support it
> >>> in this context as well?
> >>
> >> The ease of use could be that when creating a network we'll display in
> >> the UI all VNIC-QoS-objects and the users could tick next to the QoS
> >> they are interested in, for each QoS that was chosen a profile would be
> >> created.
> >>
> >> I would enhance that with youe suggestion above and display next to the
> >> QoS that was checked the option to mark 'Allow All users' like we have
> >> today for making a network public, this option would give permission to
> >> everyone on that profile.
> >>
> >>
> >>>
> >>> Editing a Profile
> >>>
> >>> A user should be able to edit the profile properties (including profile
> >>> name) while VMs are attached and are using this Profile (reference
> >>> should be done by id).
> >>> Changing the network of a vNic profile will be allowed only if no VMs
> >>> are using the profile.
> >>
> >> It would be better if we can limit this to no running VM is using the
> >> profile (or more simple to implement if all VMs that are using this
> >> profile are in status down).
> >
> > Allowing to delete a vnic profile when used by vms is asymmetric to the
> > network removal
> > when it is used by vms or templates. Today the update network operation is
> > blocked for that.
> > In addition, with the suggest simplification to remove a profile when no
> > running vms, the user
> > will have to find for himself if the profile is being used prior to its
> > removal since the
> > operation will not be blocked.
> >
> > If we allow to delete a vnic profile, when a vm is using it (regardless the
> > VM status)
> > we'll have to update the VM entity as well in that operation: since we do
> > not support a
> > network with 'none' profile, we'll have to delete the network as well.
> >
> > If we'll remove a vnic profile in 3.1 cluster, used by vms in status down,
> > we'd find a case
> > in which a VM is attached to a 'none' network. This is unsupported in 3.1
> > cluster. We can block
> > such operation, but this is another motivation why we'd better not to allow
> > removing a used profile.
> >
> The context above is about editing not deleting :)
> I agree with what you wrote if the context was remove.
> >>
> >>> Since we have no way to distinguish between running and current
> >>> configurations, the expected behavior of such a change is
> >>> unpredictable and less intuitive to the user (especially since
> >>> dynamic wiring is supported).
> >>> The changes will seep down to all VNICs using the profile.
> >>> In case VNIC using the edited profile are connected to running VMs,
> >>> the change will apply only on the VM next run.
> >>>
> >>> Question: What about Hibernate/Suspend VM ? will the resume VM action
> >>> uses
> >>> the original configuration for the vnics when the VM was started ?
> >>
> >> Currently profile includes: network, port-mirroring, custom property, QoS
> >>
> >> Changing any of the above (except for network) requires a VM reboot, so
> >> I think that we can start with the following statement - the profile
> >> change would only apply after next VM reboot.
> >>
> >> There are 2 problems with the above:
> >> - Today we support network wiring, with VNIC profiles we are asking the
> >> users to create a new profile and attach the VMs to the new profile, I
> >> can see the RFE coming - we can report that ourselves ;)
> >>
> >> - We don't reflect with which configuration the VM is running, e.g we
> >> edited the profile QoS but I'm not sure with which QoS the VM is
> >> currently running. (The RFE for differentiating between current
> >> configuration and running configuration was already asked for by
> >> numerous users)
> >>
> >> The above is a general issue that we need to solve and I would not limit
> >> editing VNIC profiles because of it.
> >> We can mitigate this specifically for QoS like described bellow.
> >>
> >>
> >>
> >>> Deleting a Profile
> >>>
> >>> VNIC Profiles could not be deleted from the engine as long as one or more
> >>> VM/Templates are using those profiles.
> >>
> >>> Reporting vNic actual configuration
> >>>
> >>> The engine will retrieve the actual configuration of the profile
> >>> properties on the VNIC from VDSM (using the network statistics
> >>> mechanism) and the networked administrator will be presented with the
> >>> state of each VNIC (synched/unsynched).
> >>>
> >>
> >> Will the admin be able to see the actual values? I think the synced
> >> property is not enough (I'm not sure how interesting this property is to
> >> start with).
> >
> > We can extend the VmGuestAgentInterface to contain the actual value, so
> > they
> > will be presented for each vnic in the 'guest data' sub-tab.
> >
> AFAIU this info does not come from the guest it is info we retrieve from
> libvirt.
> The VmGuestAgentInterface should be used only for information reported
> by the guest, information whose credibility can be questioned.
> >>
> >>> Editing a VNIC / Changing a VNIC profile
> >>>
> >>> Changing the profile a VM is using while the VM is running should
> >>> behave like dynamic wiring (changing the VM network while it is
> >>> running).
> >>> Hot-plug of a vnic will will use will use the updated profile connected
> >>> to the VNIC.
> >>>
> >>
> >> Not sure I fully understand the sentence above.
> >> Hot plug will be fully supported, you can choose any profile (you have
> >> permissions on) while plugging a new device.
> >>
> >
> > That was the intention. seems like an edgy hand syndrome :)
> > Changed to:
> > * Hot plug will be fully supported: the user can choose any permitted
> > profile while plugging a new device or when activating an existing one.
> >
> >>> Adding a Network
> >>>
> >>> When adding a network, a user can provide an option to create a vNic
> >>> Profile for it.
> >>>
> >>> Question: Is it s default profile ? what are its properties ?
> >>> Question: What about 'Public Use' option ? Are they still relevant in the
> >>> context of adding new networks or we should eliminate them and move it
> >>> only to 'Add vNic Profile' dialog?
> >>>
> >>
> >> see previous comments
> >> In addition when creating a profile we should have 'Allow all' for
> >> implicitly creating permissions, like we have today for network.
> >>
> >>> Updating a Network
> >>>
> >>> When a network role is modified to be a 'non-VM network', all vNic
> >>> profiles
> >>> associated with it should be deleted.
> >>
> >> And permissions associated with these profiles
> >>
> >>> Removing a Network
> >>>
> >>> Should remove all profiles on that network
> >>>
> >>
> >> And associated permissions
> >>
> >>> Adding an Empty Data-Center
> >>>
> >>> Currently, When creating a new Data-Center, the management network is
> >>> automatically created.
> >>> From 3.3, a default vNic profile will be created for the management
> >>> network.
> >>>
> >>> VM snapshot/import/export
> >>>
> >>> We should handle VMs that are pointing to a network directly for
> >>> backward compatibility.
> >>> We need to select first profile that is on that network that the user
> >>> has permissions on.
> >>>
> >>> Question: Do we wish to support it export from 3.3 and import to 3.2 or
> >>> below?
> >>
> >> That means that when you write a VM in the OVF you need to write network
> >> in addition to profile.
> >>
> >
> > The network name is already there, so when importing a vnic from 3.3 to an
> > earlier version
> > the profile name will be ignored.
> >
> >>
> >>> Question: A user can import/export a VM/Template even if he doesn't have
> >>> permissions on the networks. Is the next flow valid ?
> >>>
> >>> The profile name should be saved in the OVF (in addition to the network
> >>> name which is saved today).
> >>> During import, if both (network name, profile name) exist on the target
> >>> DC, the vnic will get the profile id.
> >>> If the network exists in the Data-Center, but has no profile as
> >>> specified in the OVF, the user will be notified (event log) and the
> >>> VNIC will be connected to a default minimal profile defined in the
> >>> system, regardless the permissions the user has on the network.
> >>>
> >>
> >> What is a 'default minimal profile' ? I would rather have a VNIC with no
> >> profile associated with it.
> >
> > The 'default minimal profile' refers to a vnic profile with the lower
> > average bandwidth.
> >
> > With the approach you've suggested, any imported VM/Template from an
> > earlier to 3.3 version
> > will require a manual intervention in order to configure a network to the
> > VM.
> I should have elaborated some more -
> If a VM has a profile then we should look up this specific profile, if
> such a profile does not exists then import the VM with profile none like
> we do today for VM's with reference to a network that does not exist on
> the setup.
> If a VM does not have a profile (3.2 and lower versions) we should look
> into the network name, if this network exist and we have a profile with
> permissions to the user then use this profile (if there is more than one
> choose one randomly).
> > And for 3.1 we'll have to drop such vnics since network 'none' isn't
> > supported.
> >
> >>
> >>> If failed to find any matching vNic profile, the vnic's profile will be
> >>> set
> >>> with 'none'.
> >>>
> >>> When a Template is created from a VM the VNIC Profile will be kept
> >>> along with the VNIC. When a VM is created from template the VNIC
> >>> Profiles will be taken from the template's VNICs.
> >>>
> >>> ----- Original Message -----
> >>>> From: "Livnat Peer" <lpeer(a)redhat.com>
> >>>> To: "engine-devel" <engine-devel(a)ovirt.org>, "Ofri Masad"
> >>>> <omasad(a)redhat.com>
> >>>> Cc: "Mike Kolesnik" <mkolesni(a)redhat.com>, "Moti Asayag"
> >>>> <masayag(a)redhat.com>, "Oved Ourfalli" <oourfali(a)redhat.com>
> >>>> Sent: Sunday, June 30, 2013 3:59:37 PM
> >>>> Subject: VNIC profiles
> >>>>
> >>>> Hi,
> >>>>
> >>>> We are working on adding VNIC profiles as part of the work to add VNIC
> >>>> QoS.
> >>>>
> >>>> http://www.ovirt.org/Features/Network_QoS#VNIC_Profiles
> >>>>
> >>>> We need to define some of the system behavior followed by this change,
> >>>> here is my take -
> >>>>
> >>>> Editing a profile -
> >>>> --------------------
> >>>> A user should be able to edit the profile properties (including profile
> >>>> name) while VMs are attached and are using this Profile (reference
> >>>> should be done by id).
> >>>>
> >>>> Changing the network though is a bit more tricky as long as we don't
> >>>> have a way to distinguish between running and current configurations I
> >>>> think it could be very confusing to the user. Especially since we
> >>>> support dynamic wiring so the behavior IMO is unpredictable.
> >>>> I think it should be blocked at this point.
> >>>>
> >>>>
> >>>> Edit a VNIC / change a VNIC profile -
> >>>> ------------------------------------
> >>>> Changing the profile a VM is using while the VM is running should behave
> >>>> like dynamic wiring (changing the VM network while it is running).
> >>>>
> >>>>
> >>>> Remove a Profile -
> >>>> -------------------
> >>>> Is only valid if all VMs that are using this profile are in status down.
> >>>> It should update all VMs to point to no profile which should behave like
> >>>> none network today.
> >>>>
> >>>> I see no reason to support a profile on a none network at this point.
> >>>>
> >>>> The above is also relevant for upgrade flow (upgrading none network to
> >>>> point to no profile)
> >>>>
> >>>>
> >>>> Removing a Network -
> >>>> ----------------------
> >>>> should remove all profiles on that network
> >>>>
> >>>>
> >>>> VM snapshot/import/export -
> >>>> --------------------------
> >>>> We should handle VMs that are pointing to a network directly for b/w
> >>>> compatibility.
> >>>> we need to select first profile that is on that network that the user
> >>>> has permissions on.
> >>>>
> >>>>
> >>>> I assume there are more, comments are welcome
> >>>>
> >>>> Thanks, Livnat
> >>>>
> >>>>
> >>
> >>
------=_Part_11407198_1454246753.1374581565910
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<html><body><div style=3D"font-family: times new roman, new york, times, se=
rif; font-size: 12pt; color: #000000"><div><br></div><div>Hi all,<br></div>=
<div><br></div><div>I'm building a TCMS plan for the <span dir=3D"auto">Dev=
ice Custom Properties feature and I came across some questions.</span><br><=
/div><div>I'm sorry that I'm a little late with my thoughts but I hope you'=
ll still hear them out.<br></div><div>Also, I know It's a little long but p=
lease bear with me :)<br></div><div><div><br></div><div>I want to talk abou=
t two things:<br></div><div>1. Sending an updateDevice verb whenever clicki=
ng on "Edit" and than "OK".<br></div><div>2. Setting Port Mirroring at the =
configuring of a nic and not at the profile.<br></div><div><br></div><div>1=
.According to the Vnic_Profiles's wiki (in the Editing a profile section) i=
t says:</div><div> "The changes will seep down to =
all VNICs using the profile.</div><div>  =
; In case VNIC using the edited profile are connected to running VMs, =
the change will apply only on the VM next run."<br></div><div> &=
nbsp; I'll describe a Scenario:</div><div> &nb=
sp; Creating profile A with property speed =3D 500 <br></div><div> &nb=
sp; Setting vnic2 on vm to have profile A (using Ho=
tplugnic)</div><div> Changing (in the profil=
e) speed =3D 700</div><div> According to the Vnic_Profile=
s's wiki, only when I restart my vm I'll get my setting right.</div><div>&n=
bsp; In my opinion, If we could enable the update of those sett=
ing LIVE we will give the clients a better solution in the Vnic Profiles.<b=
r></div><div> I will be able to update all of my 1000 vms=
in a few minutes with a single script instead of restarting them all and m=
aybe stopping others' work.<br></div><div> I think that r=
estarting 1000 vms because I want to set a property is not something that a=
n admin would want to do.<br></div><div>  =
; </div><div> One way to implement it is to se=
nd a verb "updateDevice" each time we open the the "Edit" window and clicki=
ng "OK"</div><div> I guess that when the design of update=
device was made, we tried to send minimal verbs, but in this case, I think=
that if a user clicked on "Edit" & "OK" then he wanted to send the ver=
b, otherwise, he would have pressed on "Edit" & "Cancel".</div><div><br=
></div><div> Sending this verb will allow us to keep the =
vms update with, in my opinion, minimum cost and with great profit - Giving=
the client a "more correct environment" LIVE.</div><div><br></div><d=
iv>2. I'll start with saying that in my opinion, the Vnic Profile feature w=
as created to give the client a *more dynamic network environment* and I su=
pport.</div><div> But, I think that the statical var=
iables like MAC, Un/Pluged and Port Mirroring which always exist should be =
at the nic and not in the profile.</div><div> In my opini=
on, Profile's properties may have: max_mtu, min_mtu, mtu, speed, id, vlan..=
. Identifiers for the network.</div><div> Maybe I'm missi=
ng something but it seems natural to me that the port mirroring will be at =
nic and not at the profile.</div><div><br></div><div><br></div><div><span i=
d=3D"result_box" class=3D"short_text" lang=3D"en"><span class=3D"hps alt-ed=
ited">I'll really appreciate comments.</span></span></div><div><span id=3D"=
result_box" class=3D"short_text" lang=3D"en"><span class=3D"hps alt-edited"=
>Thank you for your time.</span></span></div><div>Amihay Winter<br> &n=
bsp;  =
; </div><br></div><hr id=3D"zwchr"><blockquote style=3D"border-left:2p=
x solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:nor=
mal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans=
-serif;font-size:12pt;">----- Forwarded Message -----<br>From: "Livnat Peer=
" <lpeer(a)redhat.com><br>To: "Moti Asayag" <masayag(a)redhat.com><=
br>Cc: "engine-devel" <engine-devel(a)ovirt.org>, "Ofri Masad" <omas=
ad(a)redhat.com>, "Mike Kolesnik" <mkolesni(a)redhat.com>, "Oved Ourfa=
lli" <oourfali(a)redhat.com><br>Sent: Monday, July 8, 2013 10:11:15 AM<=
br>Subject: Re: VNIC profiles<br><div><br></div>On 07/08/2013 12:36 AM, Mot=
i Asayag wrote:<br>> I've updated the wiki accordingly and added few com=
ments inline.<br>> <br>> ----- Original Message -----<br>>> Fro=
m: "Livnat Peer" <lpeer(a)redhat.com><br>>> To: "Moti Asayag" <=
;masayag(a)redhat.com><br>>> Cc: "engine-devel" <engine-devel@ovi=
rt.org>, "Ofri Masad" <omasad(a)redhat.com>, "Mike Kolesnik" <mko=
lesni(a)redhat.com>,<br>>> "Oved Ourfalli" <oourfali(a)redhat.com&g=
t;<br>>> Sent: Sunday, July 7, 2013 2:59:34 PM<br>>> Subject: R=
e: VNIC profiles<br>>><br>>> On 07/07/2013 01:59 PM, Moti Asaya=
g wrote:<br>>>> Hi,<br>>>><br>>>> I've updated t=
he wiki with the feedbacks from this thread, added a backend<br>>>>=
; section naming the affected commands and also add added few questions of<=
br>>>> my own embedded in the pastedtext below.<br>>>><br=
>>><br>>> Hi Moti,<br>>> A good and comprehensive descrip=
tion of the feature behavior.<br>>> See my comments bellow -<br>>&=
gt;<br>>>> In addition, another question here:<br>>>><br>=
>>> The units within the UI mockups are Mb and Mbps. The libvirt A=
PIs expects<br>>>> the units to be in kb and kbps. Which component=
is responsible to convert<br>>>> them to the expect units ? engin=
e or VDSM ?<br>>><br>>> Giuseppe mentioned that in a previous t=
hread on this subject.<br>>> Ofri and Giuseppe agreed that the transl=
ation would be done on the<br>>> engine level.<br>>><br>>>=
;<br>>>><br>>>> Copied text from the wiki:<br>>>>=
;<br>>>> Adding a Profile<br>>>><br>>>> The netw=
ork administrator could create several VNIC Profiles for each<br>>>&g=
t; network. He could then grant a users with the permission to use (consume=
)<br>>>> each profile. The user will only be able to use profiles =
which he was<br>>>> granted access to.<br>>>><br>>>=
> For example: the network admin will create two VNIC prof=
iles for<br>>>> network "blue":<br>>>><br>&=
gt;>> Profile "Gold" - with better QoS an=
d with port mirroring<br>>>> Profile "=
Silver" with lower QoS and without port mirroring.<br>>>><br>>&=
gt;<br>>> I would use other names for the profiles to avoid confusion=
.<br>>> Gold and Silver are likely to be QoS object names, a mo=
re typical name<br>>> for a network profile is - teachers-blue and st=
udents-blue<br>>><br>>> The different profiles can have differe=
nt QoS (teachers-blue would get<br>>> Gold QoS while Students-blue wi=
ll have Silver).<br>>><br>>><br>>>> He w=
ill then define the user-group "students" as user of profile<br>>>>=
; "Silver" and user-group "teachers" as user of profile "Gold=
". In this<br>>>> case the teachers will enjoy bette=
r quality of service then the<br>>>> students. When =
a teacher will add/edit a virtual NIC he could select<br>>>>  =
; profile "Gold" for that NIC - the VNIC will be connected to networ=
k<br>>>> "blue" with high QoS and with port mirrorin=
g.<br>>>><br>>>> Question: In the same matter we allowed =
via the UI to grant 'NetworkUser'<br>>>> to 'everyone' user, would=
n't it ease the use of Profiles if we support it<br>>>> in this co=
ntext as well?<br>>><br>>> The ease of use could be that when c=
reating a network we'll display in<br>>> the UI all VNIC-QoS-objects =
and the users could tick next to the QoS<br>>> they are interested in=
, for each QoS that was chosen a profile would be<br>>> created.<br>&=
gt;><br>>> I would enhance that with youe suggestion above and dis=
play next to the<br>>> QoS that was checked the option to mark 'Allow=
All users' like we have<br>>> today for making a network public, thi=
s option would give permission to<br>>> everyone on that profile.<br>=
>><br>>><br>>>><br>>>> Editing a Profile<br>&=
gt;>><br>>>> A user should be able to edit the=
profile properties (including profile<br>>>> name) =
while VMs are attached and are using this Profile (reference<br>>>>=
; should be done by id).<br>>>> Changi=
ng the network of a vNic profile will be allowed only if no VMs<br>>>=
> are using the profile.<br>>><br>>> It would =
be better if we can limit this to no running VM is using the<br>>> pr=
ofile (or more simple to implement if all VMs that are using this<br>>&g=
t; profile are in status down).<br>> <br>> Allowing to delete a vnic =
profile when used by vms is asymmetric to the network removal<br>> when =
it is used by vms or templates. Today the update network operation is block=
ed for that.<br>> In addition, with the suggest simplification to remove=
a profile when no running vms, the user<br>> will have to find for hims=
elf if the profile is being used prior to its removal since the <br>> op=
eration will not be blocked.<br>> <br>> If we allow to delete a vnic =
profile, when a vm is using it (regardless the VM status) <br>> we'll ha=
ve to update the VM entity as well in that operation: since we do not suppo=
rt a<br>> network with 'none' profile, we'll have to delete the network =
as well.<br>> <br>> If we'll remove a vnic profile in 3.1 cluster, us=
ed by vms in status down, we'd find a case <br>> in which a VM is attach=
ed to a 'none' network. This is unsupported in 3.1 cluster. We can block<br=
>> such operation, but this is another motivation why we'd better not to=
allow removing a used profile.<br>> <br><div><br></div>The context abov=
e is about editing not deleting :)<br>I agree with what you wrote if the co=
ntext was remove.<br><div><br></div>>><br>>>> =
Since we have no way to distinguish between running and curre=
nt<br>>>> configurations, the expected=
behavior of such a change is<br>>>> u=
npredictable and less intuitive to the user (especially since<br>>>&g=
t; dynamic wiring is supported).<br>>>>=
; The changes will seep down to all VNICs using the profile.<=
br>>>> In case VNIC using the edited p=
rofile are connected to running VMs,<br>>>> &=
nbsp; the change will apply only on the VM next run.<br>>>><br>>=
;>> Question: What about Hibernate/Suspend VM ? will the resume VM ac=
tion uses<br>>>> the original configuration for the vnics when the=
VM was started ?<br>>><br>>> Currently profile includes: netwo=
rk, port-mirroring, custom property, QoS<br>>><br>>> Changing a=
ny of the above (except for network) requires a VM reboot, so<br>>> I=
think that we can start with the following statement - the profile<br>>=
> change would only apply after next VM reboot.<br>>><br>>> =
There are 2 problems with the above:<br>>> - Today we support network=
wiring, with VNIC profiles we are asking the<br>>> users to create a=
new profile and attach the VMs to the new profile, I<br>>> can see t=
he RFE coming - we can report that ourselves ;)<br>>><br>>> - W=
e don't reflect with which configuration the VM is running, e.g we<br>>&=
gt; edited the profile QoS but I'm not sure with which QoS the VM is<br>>=
;> currently running. (The RFE for differentiating between current<br>&g=
t;> configuration and running configuration was already asked for by<br>=
>> numerous users)<br>>><br>>> The above is a general iss=
ue that we need to solve and I would not limit<br>>> editing VNIC pro=
files because of it.<br>>> We can mitigate this specifically for QoS =
like described bellow.<br>>><br>>><br>>><br>>>> =
Deleting a Profile<br>>>><br>>>> VNIC Profiles could not =
be deleted from the engine as long as one or more<br>>>> VM/Templa=
tes are using those profiles.<br>>><br>>>> Reporting vNic ac=
tual configuration<br>>>><br>>>> The engine=
will retrieve the actual configuration of the profile<br>>>> &nbs=
p; properties on the VNIC from VDSM (using the network statistics<br=
>>>> mechanism) and the networked administrator will=
be presented with the<br>>>> state of each VNIC (sy=
nched/unsynched).<br>>>><br>>><br>>> Will the admin be=
able to see the actual values? I think the synced<br>>> property is =
not enough (I'm not sure how interesting this property is to<br>>> st=
art with).<br>> <br>> We can extend the VmGuestAgentInterface to cont=
ain the actual value, so they<br>> will be presented for each vnic in th=
e 'guest data' sub-tab.<br>> <br><div><br></div>AFAIU this info does not=
come from the guest it is info we retrieve from<br>libvirt.<br>The VmGuest=
AgentInterface should be used only for information reported<br>by the guest=
, information whose credibility can be questioned.<br><div><br></div><br>&g=
t;><br>>>> Editing a VNIC / Changing a VNIC profile<br>>>=
><br>>>> Changing the profile a VM is using while=
the VM is running should<br>>>> behave like dynamic=
wiring (changing the VM network while it is<br>>>> =
running).<br>>>> Hot-plug of a vnic will will use wi=
ll use the updated profile connected<br>>>> to the V=
NIC.<br>>>><br>>><br>>> Not sure I fully understand th=
e sentence above.<br>>> Hot plug will be fully supported, you can cho=
ose any profile (you have<br>>> permissions on) while plugging a new =
device.<br>>><br>> <br>> That was the intention. seems like an =
edgy hand syndrome :)<br>> Changed to:<br>> * Hot plug will be =
fully supported: the user can choose any permitted profile while plugging a=
new device or when activating an existing one.<br>> <br>>>> Ad=
ding a Network<br>>>><br>>>> When adding a =
network, a user can provide an option to create a vNic<br>>>> &nbs=
p; Profile for it.<br>>>><br>>>> Question: Is it s=
default profile ? what are its properties ?<br>>>> Question: What=
about 'Public Use' option ? Are they still relevant in the<br>>>>=
context of adding new networks or we should eliminate them and move it<br>=
>>> only to 'Add vNic Profile' dialog?<br>>>><br>>>=
<br>>> see previous comments<br>>> In addition when creating a =
profile we should have 'Allow all' for<br>>> implicitly creating perm=
issions, like we have today for network.<br>>><br>>>> Updati=
ng a Network<br>>>><br>>>> When a network role is modifie=
d to be a 'non-VM network', all vNic profiles<br>>>> associated wi=
th it should be deleted.<br>>><br>>> And permissions associated=
with these profiles<br>>><br>>>> Removing a Network<br>>=
>><br>>>> Should remove all profiles on that n=
etwork<br>>>><br>>><br>>> And associated permissions<b=
r>>><br>>>> Adding an Empty Data-Center<br>>>><br>&=
gt;>> Currently, When creating a new Data-Center, the m=
anagement network is<br>>>> automatically created.<b=
r>>>> From 3.3, a default vNic profile will be creat=
ed for the management<br>>>> network.<br>>>>=
;<br>>>> VM snapshot/import/export<br>>>><br>>>>=
We should handle VMs that are pointing to a network directly=
for<br>>>> backward compatibility.<br>>>> =
We need to select first profile that is on that network that =
the user<br>>>> has permissions on.<br>>>><=
br>>>> Question: Do we wish to support it export from 3.3 and impo=
rt to 3.2 or<br>>>> below?<br>>><br>>> That means that=
when you write a VM in the OVF you need to write network<br>>> in ad=
dition to profile.<br>>><br>> <br>> The network name is already=
there, so when importing a vnic from 3.3 to an earlier version<br>> the=
profile name will be ignored.<br>> <br>>><br>>>> Questio=
n: A user can import/export a VM/Template even if he doesn't have<br>>&g=
t;> permissions on the networks. Is the next flow valid ?<br>>>>=
;<br>>>> The profile name should be saved in the OVF=
(in addition to the network<br>>>> name which is sa=
ved today).<br>>>> During import, if both (network n=
ame, profile name) exist on the target<br>>>> DC, th=
e vnic will get the profile id.<br>>>> If the networ=
k exists in the Data-Center, but has no profile as<br>>>> &=
nbsp; specified in the OVF, the user will be notified (event log) and the<b=
r>>>> VNIC will be connected to a default minimal pr=
ofile defined in the<br>>>> system, regardless the p=
ermissions the user has on the network.<br>>>><br>>><br>>=
> What is a 'default minimal profile' ? I would rather have a VNIC with =
no<br>>> profile associated with it.<br>> <br>> The 'default mi=
nimal profile' refers to a vnic profile with the lower average bandwidth.<b=
r>> <br>> With the approach you've suggested, any imported VM/Templat=
e from an earlier to 3.3 version <br>> will require a manual interventio=
n in order to configure a network to the VM.<br><div><br></div>I should hav=
e elaborated some more -<br><div><br></div>If a VM has a profile then we sh=
ould look up this specific profile, if<br>such a profile does not exists th=
en import the VM with profile none like<br>we do today for VM's with refere=
nce to a network that does not exist on<br>the setup.<br><div><br></div>If =
a VM does not have a profile (3.2 and lower versions) we should look<br>int=
o the network name, if this network exist and we have a profile with<br>per=
missions to the user then use this profile (if there is more than one<br>ch=
oose one randomly).<br><div><br></div><br>> And for 3.1 we'll have to dr=
op such vnics since network 'none' isn't supported.<br>> <br>>><br=
>>>> If failed to find any matching vNic profile, the vnic's profi=
le will be set<br>>>> with 'none'.<br>>>><br>>>>=
When a Template is created from a VM the VNIC Profile will b=
e kept<br>>>> along with the VNIC. When a VM is crea=
ted from template the VNIC<br>>>> Profiles will be t=
aken from the template's VNICs.<br>>>><br>>>> ----- Origi=
nal Message -----<br>>>>> From: "Livnat Peer" <lpeer(a)redhat.=
com><br>>>>> To: "engine-devel" <engine-devel(a)ovirt.org&g=
t;, "Ofri Masad"<br>>>>> <omasad(a)redhat.com><br>>>&=
gt;> Cc: "Mike Kolesnik" <mkolesni(a)redhat.com>, "Moti Asayag"<br>&=
gt;>>> <masayag(a)redhat.com>, "Oved Ourfalli" <oourfali@re=
dhat.com><br>>>>> Sent: Sunday, June 30, 2013 3:59:37 PM<br>=
>>>> Subject: VNIC profiles<br>>>>><br>>>>=
> Hi,<br>>>>><br>>>>> We are working on adding V=
NIC profiles as part of the work to add VNIC<br>>>>> QoS.<br>&g=
t;>>><br>>>>> http://www.ovirt.org/Features/Network_Qo=
S#VNIC_Profiles<br>>>>><br>>>>> We need to define s=
ome of the system behavior followed by this change,<br>>>>> her=
e is my take -<br>>>>><br>>>>> Editing a profile -<=
br>>>>> --------------------<br>>>>> A user should =
be able to edit the profile properties (including profile<br>>>>&g=
t; name) while VMs are attached and are using this Profile (reference<br>&g=
t;>>> should be done by id).<br>>>>><br>>>>&g=
t; Changing the network though is a bit more tricky as long as we don't<br>=
>>>> have a way to distinguish between running and current conf=
igurations I<br>>>>> think it could be very confusing to the us=
er. Especially since we<br>>>>> support dynamic wiring so the b=
ehavior IMO is unpredictable.<br>>>>> I think it should be bloc=
ked at this point.<br>>>>><br>>>>><br>>>>&=
gt; Edit a VNIC / change a VNIC profile -<br>>>>> -------------=
-----------------------<br>>>>> Changing the profile a VM is us=
ing while the VM is running should behave<br>>>>> like dynamic =
wiring (changing the VM network while it is running).<br>>>>><b=
r>>>>><br>>>>> Remove a Profile -<br>>>>&g=
t; -------------------<br>>>>> Is only valid if all VMs that ar=
e using this profile are in status down.<br>>>>> It should upda=
te all VMs to point to no profile which should behave like<br>>>>&=
gt; none network today.<br>>>>><br>>>>> I see no re=
ason to support a profile on a none network at this point.<br>>>>&=
gt;<br>>>>> The above is also relevant for upgrade flow (upgrad=
ing none network to<br>>>>> point to no profile)<br>>>>=
;><br>>>>><br>>>>> Removing a Network -<br>>&=
gt;>> ----------------------<br>>>>> should remove all pr=
ofiles on that network<br>>>>><br>>>>><br>>>&=
gt;> VM snapshot/import/export -<br>>>>> -------------------=
-------<br>>>>> We should handle VMs that are pointing to a net=
work directly for b/w<br>>>>> compatibility.<br>>>>>=
; we need to select first profile that is on that network that the user<br>=
>>>> has permissions on.<br>>>>><br>>>>>=
;<br>>>>> I assume there are more, comments are welcome<br>>=
>>><br>>>>> Thanks, Livnat<br>>>>><br>>=
>>><br>>><br>>><br><div><br></div></blockquote><div><b=
r></div></div></body></html>
------=_Part_11407198_1454246753.1374581565910--
2
3
On 07/23/2013 05:28 PM, Leonardo Bianconi wrote:
> Hi Itamar!
>
> After rebasing our patches against the master branch from the git
> repository, we noticed that the current version of the oVirt engine uses
> a new version of GWT. This introduced a problem while building the
> engine, which is documented in this link:
>
> “IBM JDK failures with .gwtar and compile” -
> https://code.google.com/p/google-web-toolkit/issues/detail?id=7530
>
> The problem here is that we are using a different JVM (the IBM’s one)
> than the one that compiled the gwt files. In the beginning, we tried to
> use the Open JDK, but it was too slow to be used, it takes about 1h20m
> to build everything against 7m of IBM JDK, so we are using the IBM one.
>
> We have a question, as we are working on oVirt to work with different
> architectures, should we work on fixes when we find a problem like that?
> For this issue we got a workaround, using an parameter on the build
> command and removing the gwt cached files.
Hi Leonardo,
yes, we should strive to fix these things.
it would be even better if we can detect them earlier, by having a
jenkins ppc slave to the ovirt jenkins, or just a local jenkins by you
which will report when a patch breaks on ppc/ibm jdk for further
consideration).
questions:
1. is there a bug right now to fix? we need the build to know to add the
modifier when using ibm jdk.
2. (added alon) i remember we actually have an issue with ibm jdk wrt
certificates or something which is worth considering in this context.
3. do you have more details on the openjdk performance issue on ppc to
try and fix that one? can you open a bug on this and forward to us?
Thanks,
Itamar
2
3
Re: [Engine-devel] [oVirt Jenkins] ovirt_engine_gwt_user - Build # 4736 - Failure!
by Eyal Edri 29 Jul '13
by Eyal Edri 29 Jul '13
29 Jul '13
fyi,
gwt compilations on gwt-user & gwt-admin are failing post these commits.
changed: http://jenkins.ovirt.org/job/ovirt_engine_gwt_admin/4925/changes#detail5
error: http://jenkins.ovirt.org/job/ovirt_engine_gwt_admin/4925/console
Eyal.
oVirt infra team.
----- Original Message -----
> From: "Jenkins ci oVirt Server" <jenkins(a)ovirt.org>
> To: eedri(a)redhat.com, engine-patches(a)ovirt.org, oliel(a)redhat.com, yzaslavs(a)redhat.com, gerrit2(a)gerrit.ovirt.org
> Sent: Monday, July 29, 2013 10:32:56 AM
> Subject: [oVirt Jenkins] ovirt_engine_gwt_user - Build # 4736 - Failure!
>
> Project: http://jenkins.ovirt.org/job/ovirt_engine_gwt_user/
> Build: http://jenkins.ovirt.org/job/ovirt_engine_gwt_user/4736/
> Build Number: 4736
> Build Status: Failure
> Triggered By: Started by an SCM change
>
> -------------------------------------
> Changes Since Last Success:
> -------------------------------------
> Changes for Build #4736
> [Gerrit Code Review] packaging: setup: allow uninstall ca,cert.conf
>
> [Gerrit Code Review] engine:Trusted Compute Pools - Open Attestation
> integration with oVirt engine
>
> [Gerrit Code Review] engine:Trusted Compute Pools - Open Attestation
> integration with oVirt engine
>
> [Gerrit Code Review] engine:Trusted Compute Pools - Open Attestation
> integration with oVirt engine
>
> [Gerrit Code Review] engine:Trusted Compute Pools - Open Attestation
> integration with oVirt engine
>
> [Gerrit Code Review] engine:Trusted Compute Pools - Open Attestation
> integration with oVirt engine
>
>
>
>
> -----------------
> Failed Tests:
> -----------------
> No tests ran.
>
>
1
0
Hi,
By default not all data returned in the object as some may be retrieved
only via dedicated query that may consume a lot of resources, therefore
we've added new concept called All-Content, in the native api you can pass
All-Content:True http header to see entire object, ovirt-engine-sdk-python
lacks of this capability (for vm specifically) due to a bug in api, this will
be addressed in the one of upcoming releases.
thanks for reporting.
>
>
> Hi, all:
>
> I can got all the VM’s information in https://{ovirt-engine}/api/vms/{id} <https://%7bovirt-engine%7d/api/vms/%7bid%7d>, and I can
>
> get mostly VM’s informations via ovirt-engine-sdk, but I can’t got <certificate> via SDK.
>
>
>
> This is a part of XML in https://{ovirt-engine}/api/vms/{id} <https://%7bovirt-engine%7d/api/vms/%7bid%7d>
>
> <display>
>
> <type>spice</type>
>
> <address>192.168.1.241</address>
>
> <port>5914</port>
>
> <secure_port>5915</secure_port>
>
> <monitors>1</monitors>
>
> <allow_override>false</allow_override>
>
> *<certificate>*
>
> *<subject>O=thtfc.com,CN=allinone241.thtfc.com</subject>*
>
> *</certificate>*
>
> <smartcard_enabled>false</smartcard_enabled>
>
> </display>
>
>
>
> For example, I can port like
>
> vm.get_display().get_port()
>
>
>
> but when I want CN, I tyied use
>
> vm.get_display().get_certificate().get_subject()
>
> it return
>
>
>
>>>> vm.get_display().get_certificate().get_subject()
>
> Traceback (most recent call last):
>
> File "<stdin>", line 1, in <module>
>
> AttributeError: 'NoneType' object has no attribute 'get_subject'
>
>
>
> _______________________________________________
> Engine-devel mailing list
> Engine-devel(a)ovirt.org
> http://lists.ovirt.org/mailman/listinfo/engine-devel
>
--
Michael Pasternak
RedHat, ENG-Virtualization R&D
2
1
[Engine-devel] Join us in a deep dive into the oVirt-Neutron integration
by Mike Kolesnik 28 Jul '13
by Mike Kolesnik 28 Jul '13
28 Jul '13
------=_Part_6950277_1603066323.1375022559987
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
The following is a new meeting request:
Subject: Join us in a deep dive into the oVirt-Neutron integration
Organizer: "Mike Kolesnik" <mkolesni(a)redhat.com>
Time: Wednesday, July 31, 2013, 4:00:00 PM - 5:00:00 PM GMT +02:00 Jerusalem
Invitees: users(a)ovirt.org; engine-devel(a)ovirt.org
*~*~*~*~*~*~*~*~*~*
Hi everyone,
As you may know, In oVirt 3.3 we're releasing an integration of OpenStack Networking service
(a.k.a. Neutron) as another way to define & use VM networks, besides the good old Linux
Bridge support in VDSM.
You're all invited to join us in a deep dive into this integration, highlighting the way it works,
the value it brings and how it can be further extended.
The session will take place on Wednesday, Jul 31 , 2013 from 4:00 PM to 5:00 PM GMT +02:00 (Jerusalem)
The session will be done via Elluminate:
https://sas.elluminate.com/m.jnlp?sid=819&password=M.DF0344C0EEC820394D37F8…
There will also be a teleconferencing bridge available via Intercall:
Bridge id: 972506565679
Phone numbers: http://www.ovirt.org/Intercall
Regards,
Mike & Livnat
------=_Part_6950277_1603066323.1375022559987
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<html><body id=3D'htmlmode'><h3>The following is a new meeting request:</h3=
>
<p>
<table border=3D'0'>
<tr><th align=3Dleft>Subject:</th><td>Join us in a deep dive into the oVirt=
-Neutron integration </td></tr>
<tr><th align=3Dleft>Organizer:</th><td>"Mike Kolesnik" <mkolesni@redhat=
.com> </td></tr>
</table>
<p>
<table border=3D'0'>
<tr><th align=3Dleft>Time:</th><td>Wednesday, July 31, 2013, 4:00:00 PM - 5=
:00:00 PM GMT +02:00 Jerusalem
</td></tr></table>
<p>
<table border=3D'0'>
<tr><th align=3Dleft>Invitees:</th><td>users(a)ovirt.org; engine-devel(a)ovirt.=
org </td></tr>
</table>
<div>*~*~*~*~*~*~*~*~*~*</div><br><div style=3D"font-family: times new roma=
n, new york, times, serif; font-size: 12pt; color: #000000"><div><div>Hi ev=
eryone,</div><div><br></div><div>As you may know, In oVirt 3.3 we're releas=
ing an integration of OpenStack Networking service</div><div>(a.k.a. Neutro=
n) as another way to define & use VM networks, besides the good old Lin=
ux</div><div>Bridge support in VDSM.</div><div><br></div><div>You're all in=
vited to join us in a deep dive into this integration, highlighting the way=
it works,</div><div>the value it brings and how it can be further extended=
.</div><div><br></div><div>The session will take place on Wednesday, <span =
class=3D"Object" id=3D"OBJ_PREFIX_DWT856_com_zimbra_date">Jul 31</span>, 20=
13 from 4:00 PM to 5:00 PM GMT +02:00 (Jerusalem)</div><div><br></div><div>=
The session will be done via Elluminate:</div><div><a href=3D"https://sas.e=
lluminate.com/m.jnlp?sid=3D819&password=3DM.DF0344C0EEC820394D37F89D9BE=
68C" data-mce-href=3D"https://sas.elluminate.com/m.jnlp?sid=3D819&passw=
ord=3DM.DF0344C0EEC820394D37F89D9BE68C">https://sas.elluminate.com/m.jnlp?s=
id=3D819&password=3DM.DF0344C0EEC820394D37F89D9BE68C</a><br data-mce-bo=
gus=3D"1"></div><div><br></div><div>There will also be a teleconferencing b=
ridge available via Intercall:</div><div>Bridge id: 972506565679</div><div>=
Phone numbers: http://www.ovirt.org/Intercall</div><div><br></div><span nam=
e=3D"x"></span>Regards,<br>Mike & Livnat<span name=3D"x"></span></div><=
/div></body></html>
------=_Part_6950277_1603066323.1375022559987
Content-Type: text/calendar; charset=utf-8; method=REQUEST; name=meeting.ics
Content-Transfer-Encoding: 7bit
BEGIN:VCALENDAR
PRODID:Zimbra-Calendar-Provider
VERSION:2.0
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Asia/Jerusalem
BEGIN:STANDARD
DTSTART:16010101T020000
TZOFFSETTO:+0200
TZOFFSETFROM:+0300
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=10;BYDAY=1SU
TZNAME:IST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETTO:+0300
TZOFFSETFROM:+0200
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=-1FR
TZNAME:IDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:5c4f436c-de9b-4420-823f-b122d5d0e354
SUMMARY:Join us in a deep dive into the oVirt-Neutron integration
ATTENDEE;CN=users;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailt
o:users@ovirt.org
ATTENDEE;CN=engine-devel;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRU
E:mailto:engine-devel@ovirt.org
ORGANIZER;CN=Mike Kolesnik:mailto:mkolesni@redhat.com
DTSTART;TZID="Asia/Jerusalem":20130731T160000
DTEND;TZID="Asia/Jerusalem":20130731T170000
STATUS:CONFIRMED
CLASS:PUBLIC
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
TRANSP:OPAQUE
LAST-MODIFIED:20130728T144239Z
DTSTAMP:20130728T144239Z
SEQUENCE:0
DESCRIPTION:The following is a new meeting request:\n\nSubject: Join us in a
deep dive into the oVirt-Neutron integration \nOrganizer: "Mike Kolesnik" <
mkolesni(a)redhat.com> \n\nTime: Wednesday\, July 31\, 2013\, 4:00:00 PM - 5:0
0:00 PM GMT +02:00 Jerusalem\n \nInvitees: users(a)ovirt.org\; engine-devel@ov
irt.org \n\n\n*~*~*~*~*~*~*~*~*~*\n\nHi everyone\, \n\nAs you may know\, In
oVirt 3.3 we're releasing an integration of OpenStack Networking service \n(
a.k.a. Neutron) as another way to define & use VM networks\, besides the goo
d old Linux \nBridge support in VDSM. \n\nYou're all invited to join us in a
deep dive into this integration\, highlighting the way it works\, \nthe val
ue it brings and how it can be further extended. \n\nThe session will take p
lace on Wednesday\, Jul 31 \, 2013 from 4:00 PM to 5:00 PM GMT +02:00 (Jerus
alem) \n\nThe session will be done via Elluminate: \nhttps://sas.elluminate.
com/m.jnlp?sid=819&password=M.DF0344C0EEC820394D37F89D9BE68C \n\nThere will
also be a teleconferencing bridge available via Intercall: \nBridge id: 9725
06565679 \nPhone numbers: http://www.ovirt.org/Intercall \n\nRegards\, \nMik
e & Livnat \n
X-ALT-DESC;FMTTYPE=text/html:<html><body id='htmlmode'><h3>The following is
a new meeting request:</h3>\n\n<p>\n<table border='0'>\n<tr><th align=left>S
ubject:</th><td>Join us in a deep dive into the oVirt-Neutron integration </
td></tr>\n<tr><th align=left>Organizer:</th><td>"Mike Kolesnik" <\;mkolesn
i(a)redhat.com>\; </td></tr>\n</table>\n<p>\n<table border='0'>\n<tr><th ali
gn=left>Time:</th><td>Wednesday\, July 31\, 2013\, 4:00:00 PM - 5:00:00 PM G
MT +02:00 Jerusalem\n </td></tr></table>\n<p>\n<table border='0'>\n<tr><th a
lign=left>Invitees:</th><td>users(a)ovirt.org\; engine-devel(a)ovirt.org </td></
tr>\n</table>\n<div>*~*~*~*~*~*~*~*~*~*</div><br><div style="font-family: ti
mes new roman\, new york\, times\, serif\; font-size: 12pt\; color: #000000"
><div><div>Hi everyone\,</div><div><br></div><div>As you may know\, In oVirt
3.3 we're releasing an integration of OpenStack Networking service</div><di
v>(a.k.a. Neutron) as another way to define &\; use VM networks\, besides
the good old Linux</div><div>Bridge support in VDSM.</div><div><br></div><d
iv>You're all invited to join us in a deep dive into this integration\, high
lighting the way it works\,</div><div>the value it brings and how it can be
further extended.</div><div><br></div><div>The session will take place on We
dnesday\, <span class="Object" id="OBJ_PREFIX_DWT856_com_zimbra_date">Jul 31
</span>\, 2013 from 4:00 PM to 5:00 PM GMT +02:00 (Jerusalem)</div><div><br>
</div><div>The session will be done via Elluminate:</div><div><a href="https
://sas.elluminate.com/m.jnlp?sid=819&\;password=M.DF0344C0EEC820394D37F89
D9BE68C" data-mce-href="https://sas.elluminate.com/m.jnlp?sid=819&\;passw
ord=M.DF0344C0EEC820394D37F89D9BE68C">https://sas.elluminate.com/m.jnlp?sid=
819&\;password=M.DF0344C0EEC820394D37F89D9BE68C</a><br data-mce-bogus="1"
></div><div><br></div><div>There will also be a teleconferencing bridge avai
lable via Intercall:</div><div>Bridge id: 972506565679</div><div>Phone numbe
rs: http://www.ovirt.org/Intercall</div><div><br></div><span name="x"></span
>Regards\,<br>Mike &\; Livnat<span name="x"></span></div></div></body></h
tml>
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;RELATED=START:-PT5M
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR
------=_Part_6950277_1603066323.1375022559987--
1
0
Re: [Engine-devel] [oVirt Jenkins] ovirt_engine_unit_tests - Build # 4737 - Still Unstable!
by Eyal Edri 28 Jul '13
by Eyal Edri 28 Jul '13
28 Jul '13
fyi,
the following patch [1]
caused new unit tests failures:
http://jenkins.ovirt.org/job/ovirt_engine_unit_tests/4733/
[1] http://gerrit.ovirt.org/gitweb?p=ovirt-engine.git&a=commit&h=3806a44b33e303…
----- Original Message -----
> From: "Jenkins ci oVirt Server" <jenkins(a)ovirt.org>
> To: eedri(a)redhat.com, engine-patches(a)ovirt.org, oliel(a)redhat.com, yzaslavs(a)redhat.com, obasan(a)redhat.com,
> gerrit2(a)gerrit.ovirt.org
> Sent: Sunday, July 28, 2013 3:25:18 PM
> Subject: [oVirt Jenkins] ovirt_engine_unit_tests - Build # 4737 - Still Unstable!
>
> Project: http://jenkins.ovirt.org/job/ovirt_engine_unit_tests/
> Build: http://jenkins.ovirt.org/job/ovirt_engine_unit_tests/4737/
> Build Number: 4737
> Build Status: Still Unstable
> Triggered By: Started by an SCM change
>
> -------------------------------------
> Changes Since Last Success:
> -------------------------------------
> Changes for Build #4733
> [Vojtech Szocs] core: i18n welcome page with branding
>
>
> Changes for Build #4734
> [Vojtech Szocs] userportal,webadmin: Frontend refactor
>
>
> Changes for Build #4735
> [Gerrit Code Review] packaging: update README.developer broken by feefb12b
>
> [Gerrit Code Review] webadmin: support Memory Balloon
>
> [Gerrit Code Review] packaging: setup: fix pep8 issue
>
>
> Changes for Build #4736
> [Gilad Chaplik] webadmin: Fix QoS validator error tooltip
>
> [Gilad Chaplik] core: Add Audit log messages for Quota "Audit" mode
>
> [Gilad Chaplik] webadmin: cluster policy look & feel enhancements
>
> [Gerrit Code Review] packaging: spec: create ovirt user for
> ovirt-websocket-proxy
>
>
> Changes for Build #4737
> [Gerrit Code Review] packaging: setup: produce and manage setup logs at
> /var/log
>
>
>
>
> -----------------
> Failed Tests:
> -----------------
> 2 tests failed.
> FAILED:
> org.ovirt.engine.core.WelcomeServletTest.testDoGetHttpServletRequestHttpServletResponseNoDispatcher
>
> Error Message:
> null
>
> Stack Trace:
> java.lang.NullPointerException
> at
> org.ovirt.engine.core.utils.branding.BrandingManager.getWelcomeSections(BrandingManager.java:247)
> at org.ovirt.engine.core.WelcomeServlet.doGet(WelcomeServlet.java:104)
> at
> org.ovirt.engine.core.WelcomeServletTest.testDoGetHttpServletRequestHttpServletResponseNoDispatcher(WelcomeServletTest.java:65)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> at
> org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37)
> at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
> at com.sun.proxy.$Proxy0.invoke(Unknown Source)
> at
> org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
> at
> org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
>
>
> FAILED:
> org.ovirt.engine.core.WelcomeServletTest.testDoGetHttpServletRequestHttpServletResponseWithDispatcher
>
> Error Message:
> null
>
> Stack Trace:
> java.lang.NullPointerException
> at
> org.ovirt.engine.core.utils.branding.BrandingManager.getWelcomeSections(BrandingManager.java:247)
> at org.ovirt.engine.core.WelcomeServlet.doGet(WelcomeServlet.java:104)
> at
> org.ovirt.engine.core.WelcomeServletTest.testDoGetHttpServletRequestHttpServletResponseWithDispatcher(WelcomeServletTest.java:75)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> at
> org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37)
> at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
> at com.sun.proxy.$Proxy0.invoke(Unknown Source)
> at
> org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
> at
> org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
>
>
>
>
>
1
0
Hi all
As part of our effort to get profiling licenses to the ovirt contributors,
we need to place an image of JProfiler (the chosen profiler) on the home
page of ovirt.org.
Anyone here knows who has the rights to do that?
Thanks
3
2
26 Jul '13
--_000_CE147D80D9B0dustinschoenbrunnetappcom_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Hey Michael,
I had a question about what the best way of getting all hosts within a data=
center was using the oVirt Java API. Currently, we've been doing a "revers=
e lookup" from all hosts present in the oVirt Engine to see what clusters t=
hey're in and then finding out what data center the cluster belongs to. Tha=
nks in advance, Michael!
-- Dustin
--_000_CE147D80D9B0dustinschoenbrunnetappcom_
Content-Type: text/html; charset="us-ascii"
Content-ID: <B3BCD3481914DD4A954C01CE14D8DF57(a)hq.netapp.com>
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
</head>
<body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-lin=
e-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-fami=
ly: Calibri, sans-serif; ">
<div>
<div>
<div>Hey Michael,</div>
<div><br>
</div>
<div>I had a question about what the best way of getting all hosts within a=
data center was using the oVirt Java API. Currently, we've been doing a &q=
uot;reverse lookup" from all hosts present in the oVirt Engine to see =
what clusters they're in and then finding
out what data center the cluster belongs to. Thanks in advance, Michael!</=
div>
<div><br>
</div>
<div>
<div>-- Dustin</div>
<div><br>
</div>
</div>
</div>
</div>
</body>
</html>
--_000_CE147D80D9B0dustinschoenbrunnetappcom_--
2
2
------=_NextPart_000_0022_01CE8926.DC07BBE0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
It fails when add a host from portal, and error info as follows, anyone can give us some suggestion?
2013-07-25 22:55:39,539 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (VdsDeploy) Correlation ID:
296737fb, Call Stack: null, Custom Event ID: -1, Message: Installing Host onode. Logs at host located at:
'/tmp/ovirt-host-deploy-20130725105531.log'.
2013-07-25 22:55:39,563 ERROR [org.ovirt.engine.core.bll.VdsDeploy] (VdsDeploy) Error during deploy dialog:
java.lang.NullPointerException
at org.ovirt.otopi.dialog.MachineDialogParser.cliEnvironmentGet(MachineDialogParser.java:236) [otopi.jar:]
at org.ovirt.engine.core.bll.VdsDeploy$14.call(VdsDeploy.java:347) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy._nextCustomizationEntry(VdsDeploy.java:579) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy._threadMain(VdsDeploy.java:791) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy.access$1800(VdsDeploy.java:76) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy$44.run(VdsDeploy.java:882) [bll.jar:]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
2013-07-25 22:55:39,565 ERROR [org.ovirt.engine.core.bll.VdsDeploy] (pool-6-thread-5) [296737fb] Error during host
onode.sh.intel.com install: java.lang.NullPointerException
at org.ovirt.otopi.dialog.MachineDialogParser.cliEnvironmentGet(MachineDialogParser.java:236) [otopi.jar:]
at org.ovirt.engine.core.bll.VdsDeploy$14.call(VdsDeploy.java:347) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy._nextCustomizationEntry(VdsDeploy.java:579) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy._threadMain(VdsDeploy.java:791) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy.access$1800(VdsDeploy.java:76) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy$44.run(VdsDeploy.java:882) [bll.jar:]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
2013-07-25 22:55:39,568 ERROR [org.ovirt.engine.core.bll.VdsDeploy] (pool-6-thread-5) [296737fb] Error during host
onode.sh.intel.com install, prefering first exception: java.lang.NullPointerException
at org.ovirt.otopi.dialog.MachineDialogParser.cliEnvironmentGet(MachineDialogParser.java:236) [otopi.jar:]
at org.ovirt.engine.core.bll.VdsDeploy$14.call(VdsDeploy.java:347) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy._nextCustomizationEntry(VdsDeploy.java:579) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy._threadMain(VdsDeploy.java:791) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy.access$1800(VdsDeploy.java:76) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy$44.run(VdsDeploy.java:882) [bll.jar:]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
2013-07-25 22:55:39,569 ERROR [org.ovirt.engine.core.bll.InstallVdsCommand] (pool-6-thread-5) [296737fb] Host installation failed
for host 00c50bb0-f843-442a-a032-acebe0d092c4, onode.: java.lang.NullPointerException
at org.ovirt.otopi.dialog.MachineDialogParser.cliEnvironmentGet(MachineDialogParser.java:236) [otopi.jar:]
at org.ovirt.engine.core.bll.VdsDeploy$14.call(VdsDeploy.java:347) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy._nextCustomizationEntry(VdsDeploy.java:579) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy._threadMain(VdsDeploy.java:791) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy.access$1800(VdsDeploy.java:76) [bll.jar:]
at org.ovirt.engine.core.bll.VdsDeploy$44.run(VdsDeploy.java:882) [bll.jar:]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
2013-07-25 22:55:39,572 INFO [org.ovirt.engine.core.vdsbroker.SetVdsStatusVDSCommand] (pool-6-thread-5) [296737fb] START,
SetVdsStatusVDSCommand(HostName = onode, HostId = 00c50bb0-f843-442a-a032-acebe0d092c4, status=InstallFailed,
nonOperationalReason=NONE), log id: 39c3919d
2013-07-25 22:55:39,581 INFO [org.ovirt.engine.core.vdsbroker.SetVdsStatusVDSCommand] (pool-6-thread-5) [296737fb] FINISH,
SetVdsStatusVDSCommand, log id: 39c3919d
2013-07-25 22:55:39,589 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (pool-6-thread-5) [296737fb]
Correlation ID: 296737fb, Call Stack: null, Custom Event ID: -1, Message: Host onode installation failed. Please refer to engine.log
and log files under /var/log/ovirt-engine/host-deploy/ on the engine for further details..
Best Regards,
Dave Chen
------=_NextPart_000_0022_01CE8926.DC07BBE0
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
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
7OVqYgP/vY8X0gLYrtGgBjwIkPOmFrSB2oRNEQiAtbP8YyOlprYHDeAUHFziVb6UPjPD9sR15q00
rH41v9qhRcll5V2cz4krCAdzSEWMGxnpZMBS8vV3zrwD1fiU0LLyn8Nb1u1MT0Sh0ZKQrWC/Icv1
UWklTdaGkbUxUa3eUZZdH5ayXIfLir4h3hChmkWsjLeLWXMHz/fCn3KW6qP64+WJJr0kcnpOM/Sp
07F9F6yfdg27HVWEHAphROkHJFdHK47RxnWWrnmB6lLMdzkCAwEAAaOCAywwggMoMEQGCSqGSIb3
DQEJDwQ3MDUwDgYIKoZIhvcNAwICAgCAMA4GCCqGSIb3DQMEAgIAgDAHBgUrDgMCBzAKBggqhkiG
9w0DBzAdBgNVHQ4EFgQUUIOKK8gtAh2SucBYccty6S33jggwCwYDVR0PBAQDAgeAMB8GA1UdIwQY
MBaAFB5pKrTcKP5HGE4hCz+8rBEv8Jj1MIHJBgNVHR8EgcEwgb4wgbuggbiggbWGVGh0dHA6Ly93
d3cuaW50ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwRXh0ZXJuYWwlMjBCYXNpYyUyMElz
c3VpbmclMjBDQSUyMDRBLmNybIZdaHR0cDovL2NlcnRpZmljYXRlcy5pbnRlbC5jb20vcmVwb3Np
dG9yeS9DUkwvSW50ZWwlMjBFeHRlcm5hbCUyMEJhc2ljJTIwSXNzdWluZyUyMENBJTIwNEEuY3Js
MIH1BggrBgEFBQcBAQSB6DCB5TBsBggrBgEFBQcwAoZgaHR0cDovL3d3dy5pbnRlbC5jb20vcmVw
b3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBFeHRlcm5hbCUyMEJhc2ljJTIwSXNzdWluZyUy
MENBJTIwNEEoMikuY3J0MHUGCCsGAQUFBzAChmlodHRwOi8vY2VydGlmaWNhdGVzLmludGVsLmNv
bS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9JbnRlbCUyMEV4dGVybmFsJTIwQmFzaWMlMjBJc3N1
aW5nJTIwQ0ElMjA0QSgyKS5jcnQwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhsOMdYSZ5VGD
/YEohY6fU4KRwAlngd69OZXwQwIBZAIBCDAfBgNVHSUEGDAWBggrBgEFBQcDBAYKKwYBBAGCNwoD
DDApBgkrBgEEAYI3FQoEHDAaMAoGCCsGAQUFBwMEMAwGCisGAQQBgjcKAwwwRQYDVR0RBD4wPKAk
BgorBgEEAYI3FAIDoBYMFHdlaS5kLmNoZW5AaW50ZWwuY29tgRR3ZWkuZC5jaGVuQGludGVsLmNv
bTANBgkqhkiG9w0BAQUFAAOCAQEAFKXJisQoKmP6JRz7poS0Z+AbM5QEpy/NTxT4lI+nHfznQcEW
emgt5pFJORthxKKFipifuHQxDYpnmNBq5wkn5zLpnMJQVMqoG/FPP2NWXW7NHRmzewousUCjm6ci
MSJbu7YNSfJAPz/fUznOKxmwBi5i+yROQXpeAx5eU9bcqaClBUt7e0FRyUCUEGfuwrzqamuPaxGc
Jg0zS7t7uPLtMQ+Xg83nVUBmWzjCXEzJesEG4KkY9lXInQojn7nIqSYJyQnm+0xK1TKNQ/G/J2DD
m2V7WDlfyECVbQwzwseJcFCET+zKvePggmgwoJ7Vjc/6gju3mj9wrr4TEil7PzVKIjCCBmcwggVP
oAMCAQICChcsF54AAgAAFNMwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgT
AkNBMRQwEgYDVQQHEwtTYW50YSBDbGFyYTEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xKzAp
BgNVBAMTIkludGVsIEV4dGVybmFsIEJhc2ljIElzc3VpbmcgQ0EgNEEwHhcNMTMwNzE4MDExMDUy
WhcNMTYwNzAyMDExMDUyWjA7MRQwEgYDVQQDEwtDaGVuLCBXZWkgRDEjMCEGCSqGSIb3DQEJARYU
d2VpLmQuY2hlbkBpbnRlbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpHWFM
hzvKyQ+h07xAyVymceQlT/Y1YK+nxXKFLq6Kglz8suv/Uk4ur+YXoBfW/+OWxjYU+misOO+apdAw
my3KXs+222bBd7hmxvMdOuz5jN1m+dLYlMlWpWyvLe+3531ufG4yymmlGxfifVtqKVmWSZ8li1gm
MbOGip1GU1dXfdckGwinmRFaSHFThcy+6jOKMY88cf7gRY/pJP6g3/tSwnO3LZgRZzqBu7VkZJpE
phgfPHMgmNLWQRUuQ/PEO/XrLkCrNWo90RhQzYbvWMFOx+/y/VGRvf/QKqJBUj+cDOT7qLtp15lm
vm5oBGC/qBLv5ty2ZSHU/lUih1Io4nclAgMBAAGjggMtMIIDKTBEBgkqhkiG9w0BCQ8ENzA1MA4G
CCqGSIb3DQMCAgIAgDAOBggqhkiG9w0DBAICAIAwBwYFKw4DAgcwCgYIKoZIhvcNAwcwHQYDVR0O
BBYEFIQlFPFOAdRJpFVdkBxzADk9BtROMAsGA1UdDwQEAwIEMDAfBgNVHSMEGDAWgBQeaSq03Cj+
RxhOIQs/vKwRL/CY9TCByQYDVR0fBIHBMIG+MIG7oIG4oIG1hlRodHRwOi8vd3d3LmludGVsLmNv
bS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEV4dGVybmFsJTIwQmFzaWMlMjBJc3N1aW5nJTIwQ0El
MjA0QS5jcmyGXWh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0lu
dGVsJTIwRXh0ZXJuYWwlMjBCYXNpYyUyMElzc3VpbmclMjBDQSUyMDRBLmNybDCB9QYIKwYBBQUH
AQEEgegwgeUwbAYIKwYBBQUHMAKGYGh0dHA6Ly93d3cuaW50ZWwuY29tL3JlcG9zaXRvcnkvY2Vy
dGlmaWNhdGVzL0ludGVsJTIwRXh0ZXJuYWwlMjBCYXNpYyUyMElzc3VpbmclMjBDQSUyMDRBKDIp
LmNydDB1BggrBgEFBQcwAoZpaHR0cDovL2NlcnRpZmljYXRlcy5pbnRlbC5jb20vcmVwb3NpdG9y
eS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBFeHRlcm5hbCUyMEJhc2ljJTIwSXNzdWluZyUyMENBJTIw
NEEoMikuY3J0MD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcVCIbDjHWEmeVRg/2BKIWOn1OCkcAJ
Z4S52UGHhP9OAgFkAgENMB8GA1UdJQQYMBYGCCsGAQUFBwMEBgorBgEEAYI3CgMEMCkGCSsGAQQB
gjcVCgQcMBowCgYIKwYBBQUHAwQwDAYKKwYBBAGCNwoDBDBFBgNVHREEPjA8oCQGCisGAQQBgjcU
AgOgFgwUd2VpLmQuY2hlbkBpbnRlbC5jb22BFHdlaS5kLmNoZW5AaW50ZWwuY29tMA0GCSqGSIb3
DQEBBQUAA4IBAQBKK79ulOFE5/S7yfejfIXz8xX3aRUmggULkjwh4sTe1M6JEKLDB9AqzNMKb/hy
PHPDFAlSuYToRu5QUiIIREdC4+RJhZrJ/NRELZktPJrOIpydhKsOAODNle2Rlypq9XvmeCqElLiR
XZTrBQQ4j4bMhnJVjS2h0ZULsR3qraV3ssWYjC1d6mBysmf4IdVnNSKECjGAJhLhwsow9igtjCzz
qKZ9A62vrG+ag/vnlx8bOO7ReqoK/X3hCYvuappzZ7udulpjf5zD/oAv5xJU0S0mSr1XKyfNOCIT
btX0zJM9tOoV1zr0eJb1I+aulgCjqqxaZqbvWdkQPdn++dAgQsmAMYIDvDCCA7gCAQEwgYcweTEL
MAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRQwEgYDVQQHEwtTYW50YSBDbGFyYTEaMBgGA1UEChMR
SW50ZWwgQ29ycG9yYXRpb24xKzApBgNVBAMTIkludGVsIEV4dGVybmFsIEJhc2ljIElzc3Vpbmcg
Q0EgNEECChcr3JIAAgAAFNIwCQYFKw4DAhoFAKCCAgkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEH
ATAcBgkqhkiG9w0BCQUxDxcNMTMwNzI1MDMwNTIzWjAjBgkqhkiG9w0BCQQxFgQUvoLvQz3lM/UU
OwlFPxpn0MVx6gUwcgYJKoZIhvcNAQkPMWUwYzALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAoG
CCqGSIb3DQMHMAsGCWCGSAFlAwQBAjAHBgUrDgMCGjALBglghkgBZQMEAgMwCwYJYIZIAWUDBAIC
MAsGCWCGSAFlAwQCATCBmAYJKwYBBAGCNxAEMYGKMIGHMHkxCzAJBgNVBAYTAlVTMQswCQYDVQQI
EwJDQTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExGjAYBgNVBAoTEUludGVsIENvcnBvcmF0aW9uMSsw
KQYDVQQDEyJJbnRlbCBFeHRlcm5hbCBCYXNpYyBJc3N1aW5nIENBIDRBAgoXLBeeAAIAABTTMIGa
BgsqhkiG9w0BCRACCzGBiqCBhzB5MQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFDASBgNVBAcT
C1NhbnRhIENsYXJhMRowGAYDVQQKExFJbnRlbCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMiSW50ZWwg
RXh0ZXJuYWwgQmFzaWMgSXNzdWluZyBDQSA0QQIKFywXngACAAAU0zANBgkqhkiG9w0BAQEFAASC
AQBvhHuC7L00tasqo4geRaoE7tRLON/Fd7LBRcTKFaWNNA+hnnG33IP5H8uQ9nUtaQ7hneIPGtUS
32T3vmk32V/1QOZEFA3gvXE8kNNUtQxdLhOsI7sRrmPu9wEPFVagM2xVu2woAeeB/osF8j8lDsq9
kIvO73jGuuJMLUsDW1KUf/q+yv8UQMIdWeAZuZ0f9vyZ0iTzNxPSSCBSZa0Xwm9tOohRufUZs2o2
B2hq5wgqI7WFLwU9sjNL/ryhVTNOSXpYVmYz1j355ZNFxwljbM77VP4vSQEpx1xQjViGo+1+cCjy
YsL4q1PCVA4bX1CxQEs627At4Juqd+JQQ0jVyEd7AAAAAAAA
------=_NextPart_000_0022_01CE8926.DC07BBE0--
3
6
ÕâÊÇÒ»·â MIME žñÊœµÄ¶à²¿·ÖÓÊŒþ¡£
------=_NextPart_000_0001_01CE89E9.CC57E260
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Hi, all:
I can got all the VM=A1=AFs information in
https://{ovirt-engine}/api/vms/{id}
<https://%7bovirt-engine%7d/api/vms/%7bid%7d> , and I can=20
get mostly VM=A1=AFs informations via ovirt-engine-sdk, but I can=A1=AFt =
got
<certificate> via SDK.
=20
This is a part of XML in https://{ovirt-engine}/api/vms/{id}
<https://%7bovirt-engine%7d/api/vms/%7bid%7d> =20
<display>
<type>spice</type>
<address>192.168.1.241</address>
<port>5914</port>
<secure_port>5915</secure_port>
<monitors>1</monitors>
<allow_override>false</allow_override>
<certificate>
<subject>O=3Dthtfc.com,CN=3Dallinone241.thtfc.com</subject>
</certificate>
<smartcard_enabled>false</smartcard_enabled>
</display>
=20
For example, I can port like
vm.get_display().get_port()
=20
but when I want CN, I tyied use
vm.get_display().get_certificate().get_subject()
it return
=20
>>> vm.get_display().get_certificate().get_subject()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'get_subject'
------=_NextPart_000_0001_01CE89E9.CC57E260
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:=CB=CE=CC=E5;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@=CB=CE=CC=E5";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
/* Page Definitions */
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3DZH-CN link=3Dblue vlink=3Dpurple =
style=3D'text-justify-trim:punctuation'>
<div class=3DSection1>
<p class=3DMsoNormal><span lang=3DEN-US>Hi, all:<o:p></o:p></span></p>
<p class=3DMsoNormal><span =
lang=3DEN-US> I
can got all the VM=A1=AFs information in <a
href=3D"https://%7bovirt-engine%7d/api/vms/%7bid%7d">https://{ovirt-engin=
e}/api/vms/{id}</a>,
and I can <o:p></o:p></span></p>
<p class=3DMsoNormal><span lang=3DEN-US>get mostly VM=A1=AFs =
informations via
ovirt-engine-sdk, but I can=A1=AFt got <certificate> via =
SDK.<o:p></o:p></span></p>
<p class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p>
<p class=3DMsoNormal><span =
lang=3DEN-US> This
is a part of XML in <a =
href=3D"https://%7bovirt-engine%7d/api/vms/%7bid%7d">https://{ovirt-engin=
e}/api/vms/{id}</a>
<o:p></o:p></span></p>
<p class=3DMsoNormal><span =
lang=3DEN-US> =
<display><o:p></o:p></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><span
lang=3DEN-US><type>spice</type><o:p></o:p></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><span
lang=3DEN-US><address>192.168.1.241</address><o:p></o:p></spa=
n></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><span
lang=3DEN-US><port>5914</port><o:p></o:p></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><span
lang=3DEN-US><secure_port>5915</secure_port><o:p></o:p></span=
></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><span
lang=3DEN-US><monitors>1</monitors><o:p></o:p></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><span
lang=3DEN-US><allow_override>false</allow_override><o:p></o:p=
></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><b><span
lang=3DEN-US><certificate><o:p></o:p></span></b></p>
<p class=3DMsoNormal =
style=3D'margin-left:42.0pt;text-indent:21.0pt'><b><span
lang=3DEN-US><subject>O=3Dthtfc.com,CN=3Dallinone241.thtfc.com</=
subject><o:p></o:p></span></b></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><b><span
lang=3DEN-US></certificate><o:p></o:p></span></b></p>
<p class=3DMsoNormal =
style=3D'margin-left:21.0pt;text-indent:21.0pt'><span
lang=3DEN-US><smartcard_enabled>false</smartcard_enabled><o:p=
></o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span =
lang=3DEN-US></display><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span =
lang=3DEN-US><o:p> </o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span lang=3DEN-US>For =
example, I can
port like<o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span =
lang=3DEN-US> =
vm.get_display().get_port()<o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span =
lang=3DEN-US><o:p> </o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span lang=3DEN-US>but =
when I want CN,
I tyied use<o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span =
lang=3DEN-US> =
vm.get_display().get_certificate().get_subject()<o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span lang=3DEN-US>it =
return<o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:21.0pt'><span =
lang=3DEN-US> <o:p></o:p></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:10.5pt;mso-para-margin-left:1.0gd;
text-indent:21.0pt'><span lang=3DEN-US>>>>
vm.get_display().get_certificate().get_subject()<o:p></o:p></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:10.5pt;mso-para-margin-left:1.0gd;
text-indent:21.0pt'><span lang=3DEN-US>Traceback (most recent call =
last):<o:p></o:p></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:10.5pt;mso-para-margin-left:1.0gd;
text-indent:21.0pt'><span lang=3DEN-US> File =
"<stdin>",
line 1, in <module><o:p></o:p></span></p>
<p class=3DMsoNormal =
style=3D'margin-left:10.5pt;mso-para-margin-left:1.0gd;
text-indent:21.0pt'><span lang=3DEN-US>AttributeError: 'NoneType' object =
has no
attribute 'get_subject'<o:p></o:p></span></p>
</div>
</body>
</html>
------=_NextPart_000_0001_01CE89E9.CC57E260--
1
0