While trying to track down why Jenkins was handing out -1's in a Neutron patch,
I was seeing errors in the devstack tests it runs.  When I dug deeper it looked
like it wasn't properly determining that Neutron was enabled - ENABLED_SERVICES
had multiple "q-*" entries, but 'is_service_enabled neutron' was returning 0.

I boiled it down to a simple reproducer based on the many is_*_enabled() 
functions:

#!/usr/bin/env bash
set -x

function is_foo_enabled {
    [[ ,${ENABLED_SERVICES} =~ ,"f-" ]] && return 0
    return 1
}

ENABLED_SERVICES=f-svc

is_foo_enabled

$ ./is_foo_enabled.sh
+ ENABLED_SERVICES=f-svc
+ is_foo_enabled
+ [[ ,f-svc =~ ,f- ]]
+ return 0

So either the return values need to be swapped, or && changed to ||.  I haven't
tested is_service_enabled() but all the is_*_enabled() functions are wrong at 
least.

Is anyone else seeing this besides me?  And/or is someone already working on
fixing it?  Couldn't find a bug for it.

Thanks,

-Brian

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to