[prev in list] [next in list] [prev in thread] [next in thread] 

List:       libvirt-users
Subject:    Re: about the new added attributes "check" and "type" for interface mac element
From:       Yalan Zhang <yalzhang () redhat ! com>
Date:       2020-11-02 5:43:15
Message-ID: CACM8sEiTebOO5GJbEdTnYT5QHfbJCZ_=5xzkLvaocxipCHB-=g () mail ! gmail ! com
[Download RAW message or body]

Hi,

I have filed a bug about the error messages,
https://bugzilla.redhat.com/show_bug.cgi?id=1892130
And I will track the questions on that bug, please help to update on the
bug comments about the questions.
Thank you!

-------
Best Regards,
Yalan Zhang
IRC: yalzhang


On Wed, Oct 21, 2020 at 10:51 AM Yalan Zhang <yalzhang@redhat.com> wrote:

> Hi all,
> 
> I have done some tests for the new attributes "check" and "type", could
> you please help to have a check?  And I have some questions about the
> patch, please help to have a look, Thank you!
> 
> The questions:
> 1. in step 4 below, the error message should be updated:
> Actual results:
> XML error: invalid mac address **check** value: 'next'. Valid values are
> "generated" and "static".
> expected results:
> XML error: invalid mac address **type** value: 'next'. Valid values are
> "generated" and "static".
> 
> 2. I have checked the vmware OUI definition and found this:
> https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.networking.doc/GUID-1B6A280E-0C77-4775-8F84-4B3F40673178.html
>  it says the VMware OUI is 00:50:56, not 00:0c:29 in the patches.  Am I
> missing something?
> 
> 3. Could you please tell more about the user story? as I can not
> understand the scenario when " it will ignore all the checks libvirt does
> about the origin of the MAC address(whether or not it's in a VMWare OUI)
> and forward the original one to the ESX server telling it not to check it
> either". Does it happen when we try to transform a kvm guest to a vmware
> guest?
> 
> 4. How to test it as a libvirt QE? Are the test scenarios below enough
> without ESX env?
> 
> 
> Test steps:
> 
> 1. Start vm with different configuration with mac in "00:0c:29" range:
> # virsh dumpxml rhel | grep /interface -B12
> ...
> <interface type='network'>
> <mac address='00:0c:29:e7:9b:cb' type='generated' check='yes'/>
> <source network='default'/>
> <model type='virtio'/>
> <address type='pci' domain='0x0000' bus='0x04' slot='0x00'
> function='0x0'/>
> </interface>
> <interface type='network'>
> <mac address='00:0c:29:3b:e0:50' type='static' check='no'/>
> <source network='default'/>
> <model type='virtio'/>
> <address type='pci' domain='0x0000' bus='0x0d' slot='0x00'
> function='0x0'/>
> </interface>
> <interface type='network'>
> <mac address='00:0c:29:73:f6:dc' type='generated' check='no'/>
> <source network='default'/>
> <model type='virtio'/>
> <address type='pci' domain='0x0000' bus='0x0e' slot='0x00'
> function='0x0'/>
> </interface>
> <interface type='network'>
> <mac address='00:0c:29:aa:dc:6c' type='static' check='yes'/>
> <source network='default'/>
> <model type='virtio'/>
> <address type='pci' domain='0x0000' bus='0x0f' slot='0x00'
> function='0x0'/>
> </interface>
> 
> # virsh start rhel
> Domain rhel started
> 
> 2. login guest and check the interfaces:
> # ip addr
> ...
> 2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state
> UP group default qlen 1000
> link/ether 00:0c:29:e7:9b:cb brd ff:ff:ff:ff:ff:ff
> inet 192.168.122.142/24 brd 192.168.122.255 scope global dynamic
> noprefixroute enp5s0
> valid_lft 3584sec preferred_lft 3584sec
> inet6 fe80::351c:686a:863e:4a7f/64 scope link noprefixroute
> valid_lft forever preferred_lft forever
> 3: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel
> state UP group default qlen 1000
> link/ether 00:0c:29:3b:e0:50 brd ff:ff:ff:ff:ff:ff
> inet 192.168.122.202/24 brd 192.168.122.255 scope global dynamic
> noprefixroute enp11s0
> valid_lft 3584sec preferred_lft 3584sec
> inet6 fe80::2b79:4675:6c59:6822/64 scope link noprefixroute
> valid_lft forever preferred_lft forever
> 4: enp12s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel
> state UP group default qlen 1000
> link/ether 00:0c:29:73:f6:dc brd ff:ff:ff:ff:ff:ff
> inet 192.168.122.33/24 brd 192.168.122.255 scope global dynamic
> noprefixroute enp12s0
> valid_lft 3584sec preferred_lft 3584sec
> inet6 fe80::e43d:555:ba85:4030/64 scope link noprefixroute
> valid_lft forever preferred_lft forever
> 5: enp13s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel
> state UP group default qlen 1000
> link/ether 00:0c:29:aa:dc:6c brd ff:ff:ff:ff:ff:ff
> inet 192.168.122.161/24 brd 192.168.122.255 scope global dynamic
> noprefixroute enp13s0
> valid_lft 3584sec preferred_lft 3584sec
> inet6 fe80::f32d:e2e8:9c8b:47fd/64 scope link noprefixroute
> valid_lft forever preferred_lft forever
> 
> 
> 3. start vm without the "check" and "type" attributes, and check the live
> xml do not include these attributes, either.
> # virsh start vm1
> virshDomain vm1 started
> # virsh dumpxml vm1 | grep /interface -B8
> </controller>
> <interface type='network'>
> <mac address='52:54:00:bb:cd:89'/>
> <source network='default'
> portid='b02dc78f-69ad-4db7-870c-f371fd730537' bridge='virbr0'/>
> <target dev='vnet22'/>
> <model type='virtio'/>
> <alias name='net0'/>
> <address type='pci' domain='0x0000' bus='0x01' slot='0x00'
> function='0x0'/>
> </interface>
> 
> 4. negative test:
> Set "<mac address='52:54:00:bb:cd:89' type='next'/>" in virsh edit
> # virsh edit vm1
> error: XML document failed to validate against schema: Unable to validate
> doc against /usr/share/libvirt/schemas/domain.rng
> Extra element devices in interleave
> Element domain failed to validate content
> 
> Failed. Try again? [y,n,i,f,?]:   ----> press 'i'
> error: XML error: invalid mac address check value: 'next'. Valid values
> are "generated" and "static".
> Failed. Try again? [y,n,f,?]:
> 
> 
> -------
> Best Regards,
> Yalan Zhang
> IRC: yalzhang
> 


[Attachment #3 (text/html)]

<div dir="ltr"><div>Hi,  </div><div><br></div>I have filed a bug about the error \
messages, <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1892130">https://bugzilla.redhat.com/show_bug.cgi?id=1892130</a><div>And \
I will track the questions on that bug, please help to update on the bug comments \
about the questions.  </div><div>Thank you!<br><div><div dir="ltr" \
class="gmail_signature" data-smartmail="gmail_signature"><div \
dir="ltr"><div><br>-------<br>Best Regards,<br>Yalan Zhang<br>IRC: \
yalzhang<br></div></div></div></div><br></div></div><br><div class="gmail_quote"><div \
dir="ltr" class="gmail_attr">On Wed, Oct 21, 2020 at 10:51 AM Yalan Zhang &lt;<a \
href="mailto:yalzhang@redhat.com">yalzhang@redhat.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi \
all,<div><br></div><div>I have done some tests for the new attributes \
&quot;check&quot; and &quot;type&quot;, could you please help to have a check?   And \
I have some questions about the patch, please help to have a look, Thank  \
you!</div><div><br></div><div>The questions:</div><div>1. in step 4 below, the error \
message should be updated:</div>Actual results:<div>XML error: invalid mac address \
**check** value: &#39;next&#39;. Valid values are &quot;generated&quot; and \
&quot;static&quot;.<br><div>expected results:</div><div>XML error: invalid mac \
address **type** value: &#39;next&#39;. Valid values are &quot;generated&quot; and \
&quot;static&quot;.</div><div><br></div><div>2. I have checked the vmware OUI \
definition and found this:  <a \
href="https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.networking.doc/GUID-1B6A280E-0C77-4775-8F84-4B3F40673178.html" \
target="_blank">https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.networking.doc/GUID-1B6A280E-0C77-4775-8F84-4B3F40673178.html</a></div><div>it \
says the VMware OUI is 00:50:56, not  00:0c:29 in the patches.   Am I missing \
something?</div><div><br></div><div>3. Could you please tell more about the user \
story? as I can not understand the scenario when  &quot; it will ignore all the \
checks libvirt does about the origin of the MAC address(whether or not it&#39;s in a \
VMWare OUI) and forward the original one to the ESX server telling it not to check it \
either&quot;. Does it happen when we try to  transform a kvm guest to a vmware \
guest?</div><div><br></div><div>4. How to test it as a libvirt QE? Are the test \
scenarios below enough without ESX env?</div><div><br></div><div><br></div><div>Test \
steps:<br><br>1. Start vm with different configuration with mac in \
&quot;00:0c:29&quot; range:</div><div># virsh dumpxml rhel | grep /interface \
-B12<font color="#333333" face="Menlo, Monaco, Consolas, Courier New, \
monospace"><br></font>...</div><div>&lt;interface type=&#39;network&#39;&gt;<br>      \
&lt;mac address=&#39;00:0c:29:e7:9b:cb&#39; type=&#39;generated&#39; \
check=&#39;yes&#39;/&gt;<br>         &lt;source network=&#39;default&#39;/&gt;<br>    \
&lt;model type=&#39;virtio&#39;/&gt;<br>         &lt;address type=&#39;pci&#39; \
domain=&#39;0x0000&#39; bus=&#39;0x04&#39; slot=&#39;0x00&#39; \
function=&#39;0x0&#39;/&gt;<br>      &lt;/interface&gt;<br>      &lt;interface \
type=&#39;network&#39;&gt;<br>         &lt;mac address=&#39;00:0c:29:3b:e0:50&#39; \
type=&#39;static&#39; check=&#39;no&#39;/&gt;<br>         &lt;source \
network=&#39;default&#39;/&gt;<br>         &lt;model type=&#39;virtio&#39;/&gt;<br>   \
&lt;address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x0d&#39; \
slot=&#39;0x00&#39; function=&#39;0x0&#39;/&gt;<br>      &lt;/interface&gt;<br>      \
&lt;interface type=&#39;network&#39;&gt;<br>         &lt;mac \
address=&#39;00:0c:29:73:f6:dc&#39; type=&#39;generated&#39; \
check=&#39;no&#39;/&gt;<br>         &lt;source network=&#39;default&#39;/&gt;<br>     \
&lt;model type=&#39;virtio&#39;/&gt;<br>         &lt;address type=&#39;pci&#39; \
domain=&#39;0x0000&#39; bus=&#39;0x0e&#39; slot=&#39;0x00&#39; \
function=&#39;0x0&#39;/&gt;<br>      &lt;/interface&gt;<br>      &lt;interface \
type=&#39;network&#39;&gt;<br>         &lt;mac address=&#39;00:0c:29:aa:dc:6c&#39; \
type=&#39;static&#39; check=&#39;yes&#39;/&gt;<br>         &lt;source \
network=&#39;default&#39;/&gt;<br>         &lt;model type=&#39;virtio&#39;/&gt;<br>   \
&lt;address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x0f&#39; \
slot=&#39;0x00&#39; function=&#39;0x0&#39;/&gt;<br>      &lt;/interface&gt;<br><br># \
virsh start rhel<br>Domain rhel started<br><div><div dir="ltr"><div \
dir="ltr"><div><br></div><div>2. login guest and check the interfaces:</div><div># ip \
addr<br></div><div>...</div><div>2: enp5s0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; \
mtu 1500 qdisc fq_codel state UP group default qlen 1000<br>      link/ether \
00:0c:29:e7:9b:cb brd ff:ff:ff:ff:ff:ff<br>      inet <a \
href="http://192.168.122.142/24" target="_blank">192.168.122.142/24</a> brd \
192.168.122.255 scope global dynamic noprefixroute enp5s0<br>           valid_lft \
3584sec preferred_lft 3584sec<br>      inet6 fe80::351c:686a:863e:4a7f/64 scope link \
noprefixroute <br>           valid_lft forever preferred_lft forever<br>3: enp11s0: \
&lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group \
default qlen 1000<br>      link/ether 00:0c:29:3b:e0:50 brd ff:ff:ff:ff:ff:ff<br>     \
inet <a href="http://192.168.122.202/24" target="_blank">192.168.122.202/24</a> brd \
192.168.122.255 scope global dynamic noprefixroute enp11s0<br>           valid_lft \
3584sec preferred_lft 3584sec<br>      inet6 fe80::2b79:4675:6c59:6822/64 scope link \
noprefixroute <br>           valid_lft forever preferred_lft forever<br>4: enp12s0: \
&lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group \
default qlen 1000<br>      link/ether 00:0c:29:73:f6:dc brd ff:ff:ff:ff:ff:ff<br>     \
inet <a href="http://192.168.122.33/24" target="_blank">192.168.122.33/24</a> brd \
192.168.122.255 scope global dynamic noprefixroute enp12s0<br>           valid_lft \
3584sec preferred_lft 3584sec<br>      inet6 fe80::e43d:555:ba85:4030/64 scope link \
noprefixroute <br>           valid_lft forever preferred_lft forever<br>5: enp13s0: \
&lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group \
default qlen 1000<br>      link/ether 00:0c:29:aa:dc:6c brd ff:ff:ff:ff:ff:ff<br>     \
inet <a href="http://192.168.122.161/24" target="_blank">192.168.122.161/24</a> brd \
192.168.122.255 scope global dynamic noprefixroute enp13s0<br>           valid_lft \
3584sec preferred_lft 3584sec<br>      inet6 fe80::f32d:e2e8:9c8b:47fd/64 scope link \
noprefixroute <br>           valid_lft forever preferred_lft \
forever<br></div><div><br></div><div><br></div><div>3. start vm without the \
&quot;check&quot; and &quot;type&quot; attributes, and check the live xml do not \
include these attributes, either.</div><div>  # virsh start vm1</div>virshDomain vm1 \
started<br><div># virsh dumpxml vm1 | grep /interface -B8<br>      \
&lt;/controller&gt;<br>      &lt;interface type=&#39;network&#39;&gt;<br>         \
&lt;mac address=&#39;52:54:00:bb:cd:89&#39;/&gt;<br>         &lt;source \
network=&#39;default&#39; portid=&#39;b02dc78f-69ad-4db7-870c-f371fd730537&#39; \
bridge=&#39;virbr0&#39;/&gt;<br>         &lt;target dev=&#39;vnet22&#39;/&gt;<br>     \
&lt;model type=&#39;virtio&#39;/&gt;<br>         &lt;alias \
name=&#39;net0&#39;/&gt;<br>         &lt;address type=&#39;pci&#39; \
domain=&#39;0x0000&#39; bus=&#39;0x01&#39; slot=&#39;0x00&#39; \
function=&#39;0x0&#39;/&gt;<br>      \
&lt;/interface&gt;<br></div><div><br></div><div>4. negative test:</div><div>Set \
&quot;&lt;mac address=&#39;52:54:00:bb:cd:89&#39; type=&#39;next&#39;/&gt;&quot; in \
virsh edit</div><div># virsh edit vm1<br>error: XML document failed to validate \
against schema: Unable to validate doc against \
/usr/share/libvirt/schemas/domain.rng<br>Extra element devices in \
interleave<br>Element domain failed to validate content<br><br>Failed. Try again? \
[y,n,i,f,?]:     ----&gt; press &#39;i&#39;<br>error: XML error: invalid mac address \
check value: &#39;next&#39;. Valid values are &quot;generated&quot; and \
&quot;static&quot;.<br>Failed. Try again? [y,n,f,?]:  \
<br></div><div><br><br>-------<br>Best Regards,<br>Yalan Zhang<br>IRC: \
yalzhang<br></div></div></div></div></div></div></div> </blockquote></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic