[openstack-dev] [devstack] [neutron] How to tell a compute host the control host is running Neutron
mestery at noironetworks.com
Tue Mar 4 13:33:47 UTC 2014
On Mon, Mar 3, 2014 at 10:32 PM, Dean Troyer <dtroyer at gmail.com> wrote:
> On Mon, Mar 3, 2014 at 8:36 PM, Kyle Mestery <mestery at noironetworks.com>wrote:
>> In all cases today with Open Source plugins, Neutron agents have run on
>> the hosts. For OpenDaylight, this is not the case. OpenDaylight integrates
>> with Neutron as a ML2 MechanismDriver. But it has no Neutron code on the
>> compute hosts. OpenDaylight itself communicates directly to those compute
>> hosts to program Open vSwitch.
>> devstack doesn't provide a way for me to express this today. On the
>> compute hosts in the above scenario, there is no "q-*" services enabled, so
>> the "is_neutron_enabled" function returns 1, meaning no neutron.
> True and working as designed.
>> And then devstack sets Nova up to use nova-networking, which fails.
> This only happens if you have enabled nova-network. Since it is on by
> default you must disable it.
I have "disable_all_services" in local.conf for my compute hosts. I then
selectively enable the following services:
enable_service nova n-cpu neutron n-novnc qpid
With that config, nova is setup to use nova networking.
> The patch I have submitted  modifies "is_neutron_enabled" to check for
>> the meta neutron service being enabled, which will then configure nova to
>> use Neutron instead of nova-networking on the hosts. If this sounds wonky
>> and incorrect, I'm open to suggestions on how to make this happen.
> From the review:
> is_neutron_enabled() is doing exactly what it is expected to do, return
> success if it finds any "q-*" service listed in ENABLED_SERVICES. If no
> neutron services are configured on a compute host, then this must not say
> they are.
> Putting 'neutron' in ENABLED_SERVICES does nothing and should do nothing.
> Since you are not implementing the ODS as a Neutron plugin (as far as
> DevStack is concerned) you should then treat it as a system service and
> configure it that way, adding 'opendaylight' to ENABLED_SERVICES whenever
> you want something to know it is being used.
Note: I have another patch  which enables an OpenDaylight service,
>> including configuration of OVS on hosts. But I cannot check if the
>> "opendaylight" service is enabled, because this will only run on a single
>> node, and again, not on each compute host.
> I don't understand this conclusion. in multi-node each node gets its own
> specific ENABLED_SERVICES list, you can check that on each node to
> determine how to configure that node. That is what I'm trying to explain
> in that last paragraph above, maybe not too clearly.
> OK, I understand now. And what I need to do is add support for not only an
"opendaylight" service, but also an "opendaylight-compute" service, as that
is what I need to enable on compute nodes to setup OVS to point at
> Dean Troyer
> dtroyer at gmail.com
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-dev