Openstack has no orchestration service


#1

When I do a refresh on an older Openstack deployment, I run into the following error that causes the whole refresh to fail:

“openstack has no orchestration service”

This error is correct in that I do not have heat setup, but is there a way to avoid having ManageIQ check for this? Perhaps there’s simply a way to disable this as a requirement so the rest of the refresh can still go through?


#2

@Eamnon I believe it should work like this in Capablanca release


#3

@Ladas I’m seeing this in the latest release candidate, Capablanca RC2.


#4

@Eamnon weird, don’t you have it in your ‘keystone endpoint-list’ or ‘keystone catalog’ by accident?

The CI tests for grizzly contains only services: volume, image, compute, ec2, identity. This is the minimal set of services we test with. So it should work, unless you list services in your endpoint-list, that are not working.


#5

@Ladas There is no orchestration service or endpoint setup in keystone. I ran into the same issue in Botvinnik, but with an uglier error. Ended up needing to resolve it by disabling the exception and check for the service inside fog to let the refresh continue.


#6

@Eamnon right, so when there is a missing service in keystone catalog, it throws e.g.

Fog::Errors::NotFound: Could not find service orchestration. Have compute, ec2, identity, image, volume

We can deal with that.

Though your error seems to originate in actual missing code in fog https://github.com/fog/fog-core/blob/d18398c44e9e8d57025874ed43a573434dbd0f95/lib/fog/core/services_mixin.rb#L18 . What version is your fog or what package do you use?


#7

@Ladas Looks like I’m using ‘fog-2.0.0.pre.0’ with ‘fog-core-1.34.0’.


#8

@Eamnon hm, we will try to reproduce, but it seems like a broken fog. This happens when you don’t have the definition in the code, e.g. when you try to load non existent service in Fog. No idea what could cause this, maybe old fog as a system package?

Can you try fog console? What it will return for
OpenStack[:orchestration]
and
OpenStack[:compute]


#9

@Ladas I get the following:

OpenStack[:orchestration] - 'ArgumentError: openstack has no orchestration service’
OpenStack[:compute] - Appears to be valid info about the endpoint, no errors.

Here’s some info from the trace that shows versions being used:

/opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/fog-core-1.34.0/lib/fog/core/services_mixin.rb
/opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/fog-2.0.0.pre.0/lib/fog/bin/openstack.rb

This is all from the latest Release Candidate (manageiq-openstack-capablanca-1-rc2.qc2) taken from http://releases.manageiq.org/ with no changes to package versions.


#10

@Eamnon we will try to reproduce. What is your OpenStack version and what installer you have used?


#11

@Ladas I’d think this would be present in all versions of Openstack as long as there is no Orchestration service set up in the endpoint.


#12

@Eamnon we have tried yesterday with kilo env and I have tests for grizzly env. It all works, so I am not really sure what is wrong.

Though it is not probably related to version of OpenStack, it’s Fog internal error, but I have no idea how to reproduce that bug.

You will need to figure out, why Fog thinks it does not have any code for orchestration. So running this in console:
OpenStack[:orchestration]

Needs to result with:
Fog::Errors::NotFound: Could not find service orchestration. Have compute, ec2, identity, image, volume

How are you running the fog console?


#13

@Ladas It appears there is something going on with the way I have my Openstack environment set up. I tried to reproduce myself using devstack and the same manageiq environment, but the refresh was able to go through fine without an orchestration service set up.

When I run that command in fog console, I get the same error for both: ArgumentError: openstack has no orchestration service. It does seem to be different than the error you are seeing. OpenStack[:compute] works fine.

All leads me to believe that ManageIQ and fog are both set up correctly and the only variable that changes success is my env. I’ll continue to investigate what may be causing it on my end.