<html><body><div style="font-family: times new roman, new york, times, serif; font-size: 12pt; color: #000000"><div>Hi Moti,<br></div><div><br></div><div>Thanks for the quick response,<br></div><div><br></div><div>Please look down at the comment.<br></div><div><br></div><div><br></div><div>Amihay<br></div><hr id="zwchr"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Moti Asayag" &lt;masayag@redhat.com&gt;<br><b>To: </b>"Amihay Winter" &lt;awinter@redhat.com&gt;<br><b>Cc: </b>engine-devel@ovirt.org, "Livnat Peer" &lt;lpeer@redhat.com&gt;<br><b>Sent: </b>Sunday, July 28, 2013 3:33:27 PM<br><b>Subject: </b>Re: VNIC profiles &amp; Device Custom Properties<br><div><br></div>Hi Amihay,<br><div><br></div>Thank you for your inputs on the feature. See answers in-line for each of the raised issues.<br><div><br></div>----- Original Message -----<br>&gt; From: "Amihay Winter" &lt;awinter@redhat.com&gt;<br>&gt; To: engine-devel@ovirt.org<br>&gt; Cc: "Moti Asayag" &lt;masayag@redhat.com&gt;, "Livnat Peer" &lt;lpeer@redhat.com&gt;<br>&gt; Sent: Tuesday, July 23, 2013 3:12:45 PM<br>&gt; Subject: VNIC profiles &amp; Device Custom Properties<br>&gt; <br>&gt; Hi all,<br>&gt; <br>&gt; I'm building a TCMS plan for the Device Custom Properties feature and I came<br>&gt; across some questions.<br>&gt; I'm sorry that I'm a little late with my thoughts but I hope you'll still<br>&gt; hear them out.<br>&gt; Also, I know It's a little long but please bear with me :)<br>&gt; <br>&gt; I want to talk about two things:<br>&gt; 1. Sending an updateDevice verb whenever clicking on "Edit" and than "OK".<br>&gt; 2. Setting Port Mirroring at the configuring of a nic and not at the profile.<br>&gt; <br>&gt; 1.According to the Vnic_Profiles's wiki (in the Editing a profile section) it<br>&gt; says:<br>&gt; "The changes will seep down to all VNICs using the profile.<br>&gt; In case VNIC using the edited profile are connected to running VMs, the<br>&gt; change will apply only on the VM next run."<br>&gt; I'll describe a Scenario:<br>&gt; Creating profile A with property speed = 500<br>&gt; Setting vnic2 on vm to have profile A (using Hotplugnic)<br>&gt; Changing (in the profile) speed = 700<br>&gt; According to the Vnic_Profiles's wiki, only when I restart my vm I'll get my<br>&gt; setting right.<br>&gt; In my opinion, If we could enable the update of those setting LIVE we will<br>&gt; give the clients a better solution in the Vnic Profiles.<br>&gt; I will be able to update all of my 1000 vms in a few minutes with a single<br>&gt; script instead of restarting them all and maybe stopping others' work.<br>&gt; I think that restarting 1000 vms because I want to set a property is not<br>&gt; something that an admin would want to do.<br>&gt; One way to implement it is to send a verb "updateDevice" each time we open<br>&gt; the the "Edit" window and clicking "OK"<br>&gt; I guess that when the design of update device was made, we tried to send<br>&gt; minimal verbs, but in this case, I think that if a user clicked on "Edit" &amp;<br>&gt; "OK" then he wanted to send the verb, otherwise, he would have pressed on<br>&gt; "Edit" &amp; "Cancel".<br>&gt; <br>&gt; Sending this verb will allow us to keep the vms update with, in my opinion,<br>&gt; minimum cost and with great profit - Giving the client a "more correct<br>&gt; environment" LIVE.<br><div><br></div>The engine-vdsm has a verb for updating a device. It is sent when the engine<br>detect a change in the state of the vnic which requires updating the device.<br>However, the engine doesn't store the vnic profile definition used to activate<br>the vnic.<br><div><br></div>Instead of restarting the VM, the user can plug-unplug the specific device, if<br>it already activated.</blockquote><div><br></div><div>I know that plug/unplug the specific device will propagate the change but why use only the hotplug &amp;<br></div><div>hotunplug verbs? why not using the updateDevice verb as well?<br></div><div>Isn't LIVE (without losing connectivity to vm (because the hotunplug)) is better?<br></div><div><br></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div><br></div>&gt; <br>&gt; 2. I'll start with saying that in my opinion, the Vnic Profile feature was<br>&gt; created to give the client a *more dynamic network environment* and I<br>&gt; support.<br>&gt; But, I think that the statical variables like MAC, Un/Pluged and Port<br>&gt; Mirroring which always exist should be at the nic and not in the profile.<br>&gt; In my opinion, Profile's properties may have: max_mtu, min_mtu, mtu, speed,<br>&gt; id, vlan... Identifiers for the network.<br>&gt; Maybe I'm missing something but it seems natural to me that the port<br>&gt; mirroring will be at nic and not at the profile.<br>&gt; <br><div><br></div>I'm not sure how port mirroring is commonly used to enable it on vnic level.<br>Having the port mirroring on vnic profile level allows to control the network<br>usage in a concentrated place.<br><div><br></div>In both cases, we're a bit late on schedule, therefore changes would be done <br>later on if required.<br><div><br></div>&gt; I'll really appreciate comments.<br>&gt; Thank you for your time.<br>&gt; Amihay Winter<br>&gt; <br>&gt; ----- Original Message -----<br>&gt; <br>&gt; &gt; ----- Forwarded Message -----<br>&gt; &gt; From: "Livnat Peer" &lt;lpeer@redhat.com&gt;<br>&gt; &gt; To: "Moti Asayag" &lt;masayag@redhat.com&gt;<br>&gt; &gt; Cc: "engine-devel" &lt;engine-devel@ovirt.org&gt;, "Ofri Masad"<br>&gt; &gt; &lt;omasad@redhat.com&gt;, "Mike Kolesnik" &lt;mkolesni@redhat.com&gt;, "Oved Ourfalli"<br>&gt; &gt; &lt;oourfali@redhat.com&gt;<br>&gt; &gt; Sent: Monday, July 8, 2013 10:11:15 AM<br>&gt; &gt; Subject: Re: VNIC profiles<br>&gt; <br>&gt; &gt; On 07/08/2013 12:36 AM, Moti Asayag wrote:<br>&gt; &gt; &gt; I've updated the wiki accordingly and added few comments inline.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; ----- Original Message -----<br>&gt; &gt; &gt;&gt; From: "Livnat Peer" &lt;lpeer@redhat.com&gt;<br>&gt; &gt; &gt;&gt; To: "Moti Asayag" &lt;masayag@redhat.com&gt;<br>&gt; &gt; &gt;&gt; Cc: "engine-devel" &lt;engine-devel@ovirt.org&gt;, "Ofri Masad"<br>&gt; &gt; &gt;&gt; &lt;omasad@redhat.com&gt;, "Mike Kolesnik" &lt;mkolesni@redhat.com&gt;,<br>&gt; &gt; &gt;&gt; "Oved Ourfalli" &lt;oourfali@redhat.com&gt;<br>&gt; &gt; &gt;&gt; Sent: Sunday, July 7, 2013 2:59:34 PM<br>&gt; &gt; &gt;&gt; Subject: Re: VNIC profiles<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; On 07/07/2013 01:59 PM, Moti Asayag wrote:<br>&gt; &gt; &gt;&gt;&gt; Hi,<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; I've updated the wiki with the feedbacks from this thread, added a<br>&gt; &gt; &gt;&gt;&gt; backend<br>&gt; &gt; &gt;&gt;&gt; section naming the affected commands and also add added few questions<br>&gt; &gt; &gt;&gt;&gt; of<br>&gt; &gt; &gt;&gt;&gt; my own embedded in the pastedtext below.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; Hi Moti,<br>&gt; &gt; &gt;&gt; A good and comprehensive description of the feature behavior.<br>&gt; &gt; &gt;&gt; See my comments bellow -<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; In addition, another question here:<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; The units within the UI mockups are Mb and Mbps. The libvirt APIs<br>&gt; &gt; &gt;&gt;&gt; expects<br>&gt; &gt; &gt;&gt;&gt; the units to be in kb and kbps. Which component is responsible to<br>&gt; &gt; &gt;&gt;&gt; convert<br>&gt; &gt; &gt;&gt;&gt; them to the expect units ? engine or VDSM ?<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; Giuseppe mentioned that in a previous thread on this subject.<br>&gt; &gt; &gt;&gt; Ofri and Giuseppe agreed that the translation would be done on the<br>&gt; &gt; &gt;&gt; engine level.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Copied text from the wiki:<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Adding a Profile<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; The network administrator could create several VNIC Profiles for each<br>&gt; &gt; &gt;&gt;&gt; network. He could then grant a users with the permission to use<br>&gt; &gt; &gt;&gt;&gt; (consume)<br>&gt; &gt; &gt;&gt;&gt; each profile. The user will only be able to use profiles which he was<br>&gt; &gt; &gt;&gt;&gt; granted access to.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; For example: the network admin will create two VNIC profiles for<br>&gt; &gt; &gt;&gt;&gt; network "blue":<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Profile "Gold" - with better QoS and with port mirroring<br>&gt; &gt; &gt;&gt;&gt; Profile "Silver" with lower QoS and without port mirroring.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; I would use other names for the profiles to avoid confusion.<br>&gt; &gt; &gt;&gt; Gold and Silver are likely to be QoS object names, a more typical name<br>&gt; &gt; &gt;&gt; for a network profile is - teachers-blue and students-blue<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; The different profiles can have different QoS (teachers-blue would get<br>&gt; &gt; &gt;&gt; Gold QoS while Students-blue will have Silver).<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; He will then define the user-group "students" as user of profile<br>&gt; &gt; &gt;&gt;&gt; "Silver" and user-group "teachers" as user of profile "Gold". In this<br>&gt; &gt; &gt;&gt;&gt; case the teachers will enjoy better quality of service then the<br>&gt; &gt; &gt;&gt;&gt; students. When a teacher will add/edit a virtual NIC he could select<br>&gt; &gt; &gt;&gt;&gt; profile "Gold" for that NIC - the VNIC will be connected to network<br>&gt; &gt; &gt;&gt;&gt; "blue" with high QoS and with port mirroring.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Question: In the same matter we allowed via the UI to grant<br>&gt; &gt; &gt;&gt;&gt; 'NetworkUser'<br>&gt; &gt; &gt;&gt;&gt; to 'everyone' user, wouldn't it ease the use of Profiles if we support<br>&gt; &gt; &gt;&gt;&gt; it<br>&gt; &gt; &gt;&gt;&gt; in this context as well?<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; The ease of use could be that when creating a network we'll display in<br>&gt; &gt; &gt;&gt; the UI all VNIC-QoS-objects and the users could tick next to the QoS<br>&gt; &gt; &gt;&gt; they are interested in, for each QoS that was chosen a profile would be<br>&gt; &gt; &gt;&gt; created.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; I would enhance that with youe suggestion above and display next to the<br>&gt; &gt; &gt;&gt; QoS that was checked the option to mark 'Allow All users' like we have<br>&gt; &gt; &gt;&gt; today for making a network public, this option would give permission to<br>&gt; &gt; &gt;&gt; everyone on that profile.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Editing a Profile<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; A user should be able to edit the profile properties (including profile<br>&gt; &gt; &gt;&gt;&gt; name) while VMs are attached and are using this Profile (reference<br>&gt; &gt; &gt;&gt;&gt; should be done by id).<br>&gt; &gt; &gt;&gt;&gt; Changing the network of a vNic profile will be allowed only if no VMs<br>&gt; &gt; &gt;&gt;&gt; are using the profile.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; It would be better if we can limit this to no running VM is using the<br>&gt; &gt; &gt;&gt; profile (or more simple to implement if all VMs that are using this<br>&gt; &gt; &gt;&gt; profile are in status down).<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Allowing to delete a vnic profile when used by vms is asymmetric to the<br>&gt; &gt; &gt; network removal<br>&gt; &gt; &gt; when it is used by vms or templates. Today the update network operation<br>&gt; &gt; &gt; is<br>&gt; &gt; &gt; blocked for that.<br>&gt; &gt; &gt; In addition, with the suggest simplification to remove a profile when no<br>&gt; &gt; &gt; running vms, the user<br>&gt; &gt; &gt; will have to find for himself if the profile is being used prior to its<br>&gt; &gt; &gt; removal since the<br>&gt; &gt; &gt; operation will not be blocked.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; If we allow to delete a vnic profile, when a vm is using it (regardless<br>&gt; &gt; &gt; the<br>&gt; &gt; &gt; VM status)<br>&gt; &gt; &gt; we'll have to update the VM entity as well in that operation: since we do<br>&gt; &gt; &gt; not support a<br>&gt; &gt; &gt; network with 'none' profile, we'll have to delete the network as well.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; If we'll remove a vnic profile in 3.1 cluster, used by vms in status<br>&gt; &gt; &gt; down,<br>&gt; &gt; &gt; we'd find a case<br>&gt; &gt; &gt; in which a VM is attached to a 'none' network. This is unsupported in 3.1<br>&gt; &gt; &gt; cluster. We can block<br>&gt; &gt; &gt; such operation, but this is another motivation why we'd better not to<br>&gt; &gt; &gt; allow<br>&gt; &gt; &gt; removing a used profile.<br>&gt; &gt; &gt;<br>&gt; <br>&gt; &gt; The context above is about editing not deleting :)<br>&gt; &gt; I agree with what you wrote if the context was remove.<br>&gt; <br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Since we have no way to distinguish between running and current<br>&gt; &gt; &gt;&gt;&gt; configurations, the expected behavior of such a change is<br>&gt; &gt; &gt;&gt;&gt; unpredictable and less intuitive to the user (especially since<br>&gt; &gt; &gt;&gt;&gt; dynamic wiring is supported).<br>&gt; &gt; &gt;&gt;&gt; The changes will seep down to all VNICs using the profile.<br>&gt; &gt; &gt;&gt;&gt; In case VNIC using the edited profile are connected to running VMs,<br>&gt; &gt; &gt;&gt;&gt; the change will apply only on the VM next run.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Question: What about Hibernate/Suspend VM ? will the resume VM action<br>&gt; &gt; &gt;&gt;&gt; uses<br>&gt; &gt; &gt;&gt;&gt; the original configuration for the vnics when the VM was started ?<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; Currently profile includes: network, port-mirroring, custom property,<br>&gt; &gt; &gt;&gt; QoS<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; Changing any of the above (except for network) requires a VM reboot, so<br>&gt; &gt; &gt;&gt; I think that we can start with the following statement - the profile<br>&gt; &gt; &gt;&gt; change would only apply after next VM reboot.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; There are 2 problems with the above:<br>&gt; &gt; &gt;&gt; - Today we support network wiring, with VNIC profiles we are asking the<br>&gt; &gt; &gt;&gt; users to create a new profile and attach the VMs to the new profile, I<br>&gt; &gt; &gt;&gt; can see the RFE coming - we can report that ourselves ;)<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; - We don't reflect with which configuration the VM is running, e.g we<br>&gt; &gt; &gt;&gt; edited the profile QoS but I'm not sure with which QoS the VM is<br>&gt; &gt; &gt;&gt; currently running. (The RFE for differentiating between current<br>&gt; &gt; &gt;&gt; configuration and running configuration was already asked for by<br>&gt; &gt; &gt;&gt; numerous users)<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; The above is a general issue that we need to solve and I would not limit<br>&gt; &gt; &gt;&gt; editing VNIC profiles because of it.<br>&gt; &gt; &gt;&gt; We can mitigate this specifically for QoS like described bellow.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Deleting a Profile<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; VNIC Profiles could not be deleted from the engine as long as one or<br>&gt; &gt; &gt;&gt;&gt; more<br>&gt; &gt; &gt;&gt;&gt; VM/Templates are using those profiles.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Reporting vNic actual configuration<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; The engine will retrieve the actual configuration of the profile<br>&gt; &gt; &gt;&gt;&gt; properties on the VNIC from VDSM (using the network statistics<br>&gt; &gt; &gt;&gt;&gt; mechanism) and the networked administrator will be presented with the<br>&gt; &gt; &gt;&gt;&gt; state of each VNIC (synched/unsynched).<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; Will the admin be able to see the actual values? I think the synced<br>&gt; &gt; &gt;&gt; property is not enough (I'm not sure how interesting this property is to<br>&gt; &gt; &gt;&gt; start with).<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; We can extend the VmGuestAgentInterface to contain the actual value, so<br>&gt; &gt; &gt; they<br>&gt; &gt; &gt; will be presented for each vnic in the 'guest data' sub-tab.<br>&gt; &gt; &gt;<br>&gt; <br>&gt; &gt; AFAIU this info does not come from the guest it is info we retrieve from<br>&gt; &gt; libvirt.<br>&gt; &gt; The VmGuestAgentInterface should be used only for information reported<br>&gt; &gt; by the guest, information whose credibility can be questioned.<br>&gt; <br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Editing a VNIC / Changing a VNIC profile<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Changing the profile a VM is using while the VM is running should<br>&gt; &gt; &gt;&gt;&gt; behave like dynamic wiring (changing the VM network while it is<br>&gt; &gt; &gt;&gt;&gt; running).<br>&gt; &gt; &gt;&gt;&gt; Hot-plug of a vnic will will use will use the updated profile connected<br>&gt; &gt; &gt;&gt;&gt; to the VNIC.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; Not sure I fully understand the sentence above.<br>&gt; &gt; &gt;&gt; Hot plug will be fully supported, you can choose any profile (you have<br>&gt; &gt; &gt;&gt; permissions on) while plugging a new device.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; That was the intention. seems like an edgy hand syndrome :)<br>&gt; &gt; &gt; Changed to:<br>&gt; &gt; &gt; * Hot plug will be fully supported: the user can choose any permitted<br>&gt; &gt; &gt; profile while plugging a new device or when activating an existing one.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&gt;&gt; Adding a Network<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; When adding a network, a user can provide an option to create a vNic<br>&gt; &gt; &gt;&gt;&gt; Profile for it.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Question: Is it s default profile ? what are its properties ?<br>&gt; &gt; &gt;&gt;&gt; Question: What about 'Public Use' option ? Are they still relevant in<br>&gt; &gt; &gt;&gt;&gt; the<br>&gt; &gt; &gt;&gt;&gt; context of adding new networks or we should eliminate them and move it<br>&gt; &gt; &gt;&gt;&gt; only to 'Add vNic Profile' dialog?<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; see previous comments<br>&gt; &gt; &gt;&gt; In addition when creating a profile we should have 'Allow all' for<br>&gt; &gt; &gt;&gt; implicitly creating permissions, like we have today for network.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Updating a Network<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; When a network role is modified to be a 'non-VM network', all vNic<br>&gt; &gt; &gt;&gt;&gt; profiles<br>&gt; &gt; &gt;&gt;&gt; associated with it should be deleted.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; And permissions associated with these profiles<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Removing a Network<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Should remove all profiles on that network<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; And associated permissions<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Adding an Empty Data-Center<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Currently, When creating a new Data-Center, the management network is<br>&gt; &gt; &gt;&gt;&gt; automatically created.<br>&gt; &gt; &gt;&gt;&gt; From 3.3, a default vNic profile will be created for the management<br>&gt; &gt; &gt;&gt;&gt; network.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; VM snapshot/import/export<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; We should handle VMs that are pointing to a network directly for<br>&gt; &gt; &gt;&gt;&gt; backward compatibility.<br>&gt; &gt; &gt;&gt;&gt; We need to select first profile that is on that network that the user<br>&gt; &gt; &gt;&gt;&gt; has permissions on.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Question: Do we wish to support it export from 3.3 and import to 3.2 or<br>&gt; &gt; &gt;&gt;&gt; below?<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; That means that when you write a VM in the OVF you need to write network<br>&gt; &gt; &gt;&gt; in addition to profile.<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; The network name is already there, so when importing a vnic from 3.3 to<br>&gt; &gt; &gt; an<br>&gt; &gt; &gt; earlier version<br>&gt; &gt; &gt; the profile name will be ignored.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; Question: A user can import/export a VM/Template even if he doesn't<br>&gt; &gt; &gt;&gt;&gt; have<br>&gt; &gt; &gt;&gt;&gt; permissions on the networks. Is the next flow valid ?<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; The profile name should be saved in the OVF (in addition to the network<br>&gt; &gt; &gt;&gt;&gt; name which is saved today).<br>&gt; &gt; &gt;&gt;&gt; During import, if both (network name, profile name) exist on the target<br>&gt; &gt; &gt;&gt;&gt; DC, the vnic will get the profile id.<br>&gt; &gt; &gt;&gt;&gt; If the network exists in the Data-Center, but has no profile as<br>&gt; &gt; &gt;&gt;&gt; specified in the OVF, the user will be notified (event log) and the<br>&gt; &gt; &gt;&gt;&gt; VNIC will be connected to a default minimal profile defined in the<br>&gt; &gt; &gt;&gt;&gt; system, regardless the permissions the user has on the network.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt; What is a 'default minimal profile' ? I would rather have a VNIC with no<br>&gt; &gt; &gt;&gt; profile associated with it.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; The 'default minimal profile' refers to a vnic profile with the lower<br>&gt; &gt; &gt; average bandwidth.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; With the approach you've suggested, any imported VM/Template from an<br>&gt; &gt; &gt; earlier to 3.3 version<br>&gt; &gt; &gt; will require a manual intervention in order to configure a network to the<br>&gt; &gt; &gt; VM.<br>&gt; <br>&gt; &gt; I should have elaborated some more -<br>&gt; <br>&gt; &gt; If a VM has a profile then we should look up this specific profile, if<br>&gt; &gt; such a profile does not exists then import the VM with profile none like<br>&gt; &gt; we do today for VM's with reference to a network that does not exist on<br>&gt; &gt; the setup.<br>&gt; <br>&gt; &gt; If a VM does not have a profile (3.2 and lower versions) we should look<br>&gt; &gt; into the network name, if this network exist and we have a profile with<br>&gt; &gt; permissions to the user then use this profile (if there is more than one<br>&gt; &gt; choose one randomly).<br>&gt; <br>&gt; &gt; &gt; And for 3.1 we'll have to drop such vnics since network 'none' isn't<br>&gt; &gt; &gt; supported.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; If failed to find any matching vNic profile, the vnic's profile will be<br>&gt; &gt; &gt;&gt;&gt; set<br>&gt; &gt; &gt;&gt;&gt; with 'none'.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; When a Template is created from a VM the VNIC Profile will be kept<br>&gt; &gt; &gt;&gt;&gt; along with the VNIC. When a VM is created from template the VNIC<br>&gt; &gt; &gt;&gt;&gt; Profiles will be taken from the template's VNICs.<br>&gt; &gt; &gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt; ----- Original Message -----<br>&gt; &gt; &gt;&gt;&gt;&gt; From: "Livnat Peer" &lt;lpeer@redhat.com&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; To: "engine-devel" &lt;engine-devel@ovirt.org&gt;, "Ofri Masad"<br>&gt; &gt; &gt;&gt;&gt;&gt; &lt;omasad@redhat.com&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Cc: "Mike Kolesnik" &lt;mkolesni@redhat.com&gt;, "Moti Asayag"<br>&gt; &gt; &gt;&gt;&gt;&gt; &lt;masayag@redhat.com&gt;, "Oved Ourfalli" &lt;oourfali@redhat.com&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Sent: Sunday, June 30, 2013 3:59:37 PM<br>&gt; &gt; &gt;&gt;&gt;&gt; Subject: VNIC profiles<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Hi,<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; We are working on adding VNIC profiles as part of the work to add VNIC<br>&gt; &gt; &gt;&gt;&gt;&gt; QoS.<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; http://www.ovirt.org/Features/Network_QoS#VNIC_Profiles<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; We need to define some of the system behavior followed by this change,<br>&gt; &gt; &gt;&gt;&gt;&gt; here is my take -<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Editing a profile -<br>&gt; &gt; &gt;&gt;&gt;&gt; --------------------<br>&gt; &gt; &gt;&gt;&gt;&gt; A user should be able to edit the profile properties (including<br>&gt; &gt; &gt;&gt;&gt;&gt; profile<br>&gt; &gt; &gt;&gt;&gt;&gt; name) while VMs are attached and are using this Profile (reference<br>&gt; &gt; &gt;&gt;&gt;&gt; should be done by id).<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Changing the network though is a bit more tricky as long as we don't<br>&gt; &gt; &gt;&gt;&gt;&gt; have a way to distinguish between running and current configurations I<br>&gt; &gt; &gt;&gt;&gt;&gt; think it could be very confusing to the user. Especially since we<br>&gt; &gt; &gt;&gt;&gt;&gt; support dynamic wiring so the behavior IMO is unpredictable.<br>&gt; &gt; &gt;&gt;&gt;&gt; I think it should be blocked at this point.<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Edit a VNIC / change a VNIC profile -<br>&gt; &gt; &gt;&gt;&gt;&gt; ------------------------------------<br>&gt; &gt; &gt;&gt;&gt;&gt; Changing the profile a VM is using while the VM is running should<br>&gt; &gt; &gt;&gt;&gt;&gt; behave<br>&gt; &gt; &gt;&gt;&gt;&gt; like dynamic wiring (changing the VM network while it is running).<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Remove a Profile -<br>&gt; &gt; &gt;&gt;&gt;&gt; -------------------<br>&gt; &gt; &gt;&gt;&gt;&gt; Is only valid if all VMs that are using this profile are in status<br>&gt; &gt; &gt;&gt;&gt;&gt; down.<br>&gt; &gt; &gt;&gt;&gt;&gt; It should update all VMs to point to no profile which should behave<br>&gt; &gt; &gt;&gt;&gt;&gt; like<br>&gt; &gt; &gt;&gt;&gt;&gt; none network today.<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; I see no reason to support a profile on a none network at this point.<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; The above is also relevant for upgrade flow (upgrading none network to<br>&gt; &gt; &gt;&gt;&gt;&gt; point to no profile)<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Removing a Network -<br>&gt; &gt; &gt;&gt;&gt;&gt; ----------------------<br>&gt; &gt; &gt;&gt;&gt;&gt; should remove all profiles on that network<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; VM snapshot/import/export -<br>&gt; &gt; &gt;&gt;&gt;&gt; --------------------------<br>&gt; &gt; &gt;&gt;&gt;&gt; We should handle VMs that are pointing to a network directly for b/w<br>&gt; &gt; &gt;&gt;&gt;&gt; compatibility.<br>&gt; &gt; &gt;&gt;&gt;&gt; we need to select first profile that is on that network that the user<br>&gt; &gt; &gt;&gt;&gt;&gt; has permissions on.<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; I assume there are more, comments are welcome<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt; Thanks, Livnat<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;&gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; &gt; &gt;&gt;<br>&gt; <br></blockquote><div><br></div></div></body></html>