------=_Part_13035444_456453374.1382859752806
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
----- Original Message -----
While building a virtual machine we ran into an error "Not
enough MAC
addresses left in MAC Address Pool." In the engine log I see this message.
2013-10-26 14:47:16,590 WARN
[org.ovirt.engine.core.bll.network.vm.AddVmInterfaceCommand] (ajp--127.0.0.
1-8702-12) [6fc05fa4] CanDoAction of action AddVmInterface failed.
Reasons:VAR__TYPE__INTERFACE,VAR__ACTI
ON__ADD,MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES
2013-10-26 14:47:16,591 ERROR
[org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (ajp--127.0
.0.1-8702-12) Operation Failed: [Not enough MAC addresses left in MAC Address
Pool.]
This led me to look at the engine config where I see these
MacPoolRanges: 00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF version: general
MaxMacsCountInPool: 100000 version: general
The MacPoolRange would seem to be the limiting factor here, cutting
us off at
256 MAC addresses, which happens to be the number of virtual machine we
currently have. I assume that updating the MacPoolRange and restarting the
engine would resolve this issue. Has anybody experienced this issue? Why
would the pool size have 256 and the Max entry be set to 100000, that seems
like a large difference.
Hi Thomas,
The MacPoolRanges is preset to what range was reserved initially when oVirt was being
developed.
Of course, in a LAN this doesn't make much difference as the possibility of MAC
"hijack" from a hardware vendor is extremely low.
The 3 first bytes in a MAC specify the vendor ID, and the 3 last bytes the
"card" address (explained in
http://en.wikipedia.org/wiki/MAC_address ), so
I'm not sure why this was limited to 256 addresses but you can of course change the
limit.
I'm guessing it was set not to interfere with addresses used by libvirt that you may
have running in the LAN which use the same vendor ID.
Also please notice you can have multiple ranges separated by comma
e.g. MacPoolRanges:
00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF,00:1A:4A:97:5F:00-00:1A:4A:97:5F:FF
Now the other value, MaxMacsCountInPool simply limits the MAC pool size so if you have a
pool that is too big the engine won't start.
So for example if you have pools
00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF,00:1A:4A:97:5F:00-00:1A:4A:97:5F:FF it's OK since
there are 256 + 256 = 512 < 100000 MACs
But, if you have pools
00:1A:4A:00:00:00-00:1A:4A:00:FF:FF,00:1A:4A:01:00:00-00:1A:4A:01:FF:FF it will fail since
there are 65536 + 65536 = 131072 > 100000 MACs
Hope this helps,
Mike
------=_Part_13035444_456453374.1382859752806
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><hr
id=3D"zwchr"><bloc=
kquote style=3D"border-left:2px solid #1010FF;margin-left:5px;padding-left:=
5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;fo=
nt-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div
dir=3D"ltr"><div=
While building a virtual machine we ran into an error "Not enough
MAC addr=
esses left in MAC Address Pool." In the engine log I see
this message=
.</div><div><br></div><div>2013-10-26 14:47:16,590 WARN
[org.ovirt.en=
gine.core.bll.network.vm.AddVmInterfaceCommand] (ajp--127.0.0.</div><div>1-=
8702-12) [6fc05fa4] CanDoAction of action AddVmInterface failed. Reasons:VA=
R__TYPE__INTERFACE,VAR__ACTI</div><div>ON__ADD,MAC_POOL_NOT_ENOUGH_MAC_ADDR=
ESSES</div><div>2013-10-26 14:47:16,591 ERROR [org.ovirt.engine.api.restapi=
.resource.AbstractBackendResource] (ajp--127.0</div><div>.0.1-8702-12) Oper=
ation Failed: [Not enough MAC addresses left in MAC Address Pool.]</div><di=
v><br></div><div>This led me to look at the engine config where I see
these=
</div><div>MacPoolRanges: 00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF version: gene=
ral</div><div>MaxMacsCountInPool: 100000 version:
general</div><div><br></d=
iv><div>The MacPoolRange would seem to be the limiting factor here, cutting=
us off at 256 MAC addresses, which happens to be the number of virtual mac=
hine we currently have. I assume that updating the MacPoolRange and restart=
ing the engine would resolve this issue. Has anybody experienced this issue=
? Why would the pool size have 256 and the Max entry be set to 100000=
, that seems like a large
difference.</div></div></blockquote><div>Hi Thoma=
s,<br></div><div><br></div><div>The MacPoolRanges is
preset to what range w=
as reserved initially when oVirt was being developed.</div><div>Of course, =
in a LAN this doesn't make much difference as the possibility of MAC "hijac=
k" from a hardware vendor is extremely low.<br></div><div>The 3
first bytes=
in a MAC specify the vendor ID, and the 3 last bytes the "card" address (e=
xplained in <a
href=3D"http://en.wikipedia.org/wiki/MAC_address">http://en.=
wikipedia.org/wiki/MAC_address</a>), so I'm not sure why this was limited t=
o 256 addresses but you can of course change the
limit.<br></div><div>I'm g=
uessing it was set not to interfere with addresses used by libvirt that you=
may have running in the LAN which use the same vendor
ID.<br></div><div><b=
r></div><div>Also please notice you can have multiple ranges separated by
c=
omma</div><div>e.g. MacPoolRanges: 00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF,00:1=
A:4A:97:5F:00-00:1A:4A:97:5F:FF<br></div><div><br></div><div>Now
the other =
value, MaxMacsCountInPool simply limits the MAC pool size so if you have a =
pool that is too big the engine won't start.<br></div><div>So for
example i=
f you have pools 00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF,00:1A:4A:97:5F:00-00:1=
A:4A:97:5F:FF it's OK since there are 256 + 256 =3D 512 < 100000 MACs<br=
But, if you have pools
00:1A:4A:00:00:00-00:1A:4A:00:FF:FF,00:1A:4A:01:00:=
00-00:1A:4A:01:FF:FF it will
fail since there are 65536 + 65536 =3D 131072 =
> 100000 MACs<br><br>Hope this
helps,<br></div><div>Mike</div></div></bo=
dy></html>
------=_Part_13035444_456453374.1382859752806--