cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Darren Shepherd <>
Subject Re: ifconfig and MacAddress
Date Sun, 27 Oct 2013 05:02:12 GMT
Just want to clarify something for people reading this thread.  I'm not looking at code right
now so I could be slightly wrong about the following.  'host' and 'cluster.node.IP' are slightly
different.  Cluster.node.ip is recorded in the mshost table and is used to tell cluster peers
what IP the current node is addressable by.  The 'host' property is used to tell the systemvms
what IP to use to get to the mgmt servers.  The host property in a production setup should
actually be bound to a VIP so that you can handle failover between mgmt servers.  So cluster.node.IP
!= host in most setups.  If you don't set the cluster.node.IP (I don't know why) it seems
to pick localhost.  If you are only running one mgmt server (like a dev setup) that is actually
fine. Even though it's localhost it will still listen on *.  So in a dev setup the cluster.node.IP
will be localhost, but you just need to set the host property to your real IP.  

This is working for me on master, so I'm not too sure what's going on in your setup.  Are
you seeing that Marvin is not setting the prop in the config table.  Or are you seeing the
prop in the config table but that it's not getting set on cmdline of the systemvms.  I typically
set the host prop with SQL, so never tried through Marvin.  


> On Oct 26, 2013, at 9:30 PM, Marcus Sorensen <> wrote:
> there's a 'host' global config property that I believe is supposed to
> be the master mgmt server. For some reason this is also not working
> quite right for me on master, it used to set correctly per my marvin
> zone config, going from 4.2 to master the 'host' property always ends
> up as 'localhost' rather than the IP. This messes things up because it
> passes 'localhost' as the mgmt server to the system vms.
> On Sat, Oct 26, 2013 at 9:44 PM, Darren Shepherd
> <> wrote:
>> I completely agree and part of why I want to change it.  On my machine my wifi and
Ethernet devices sometimes swap as being first in the list and it doesn't seem to like that
at all.  I don't know if it's because my mgmt IP is localhost or what, but the new mgmt host
entry never takes over ownership of the previous hosts.
>> I'd like to make it more deterministic.  Not completely sure what the algorithm should
be.  I was thinking that I'd sort the interfaces by Mac or name and then look for the non-link
local nic.
>> Actually, I can just look for the Mac of the IP set as the cluster.node.IP.  Some
stupid reason I was thinking that was in the DB, but it's (obviously?) in the db.propeties.
>> Darren
>>> On Oct 26, 2013, at 4:27 PM, Marcus Sorensen <> wrote:
>>> Tangent, if that's the code that comes up with mgmt server id (by Mac
>>> address conversion to short), its bitten me in the past. It doesn't
>>> tolerate new NICs well, for example in development when a mgmt server is
>>> also a host and a link local bridge is created. Seems bad form to just run
>>> ifconfig and grab the first Mac you find.
>>> On Oct 26, 2013 5:12 PM, "Darren Shepherd" <>
>>> wrote:
>>>> Is there a specific reason that in MacAddress it uses "ifconfig" or
>>>> other utilities to grab the Mac Address as opposed to the java API
>>>>  There's a comment in that code that says
>>>> that code was copied from some public domain utility.  So I'm guessing
>>>> its there just because that's what somebody wrote back before Java 6
>>>> introduced NetworkInteface.getHardwareAddress().  I'd like to rewrite
>>>> this code to use the standard API, grab the Mac deterministically and
>>>> also not use ifconfig which was deprecated 3 years ago.
>>>> Darren

View raw message