Ceph-osd : No block devices detected using current configuration

It might be worth running juju export-bundle to see how it compares to the openstack-base bundle? That would be just for you though, no need to paste here.

1 Like

Hi, I have a question, if I remove the ceph-osd and ceph-mon, would Openstack still be functional? As per the documentation I want to be able to create an instance. ( https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/configure-openstack.html )

But the last step doesn’t work, the instance returns an error status( when i pass the command: openstack server list), which im guessing is because my ceph-osd charm is in an error/blocked state and ceph-mon is in waiting. Would it work if I maybe removed ceph-osd and ceph-mon.

You only need Ceph if you are using services that are backed by Ceph. In the guide you are following only these services are Ceph-backed:

  • Glance
  • Cinder

There is a service that can potentially use Ceph but it requires a manual adjustment:

  • Nova

So if you are not using Cinder for your test (the guide doesn’t) and if you have not adjusted Nova (via nova-compute charm option libvirt-image-backend) then the only service actually using Ceph is Glance. But if your Ceph cluster isn’t working I don’t know how you could have got as far as you did since Glance is needed to import a boot image:

openstack image create...

And server creation subsequently refers to the image:

openstack server create --image focal-amd64...  

Try querying the cloud for its available images:

openstack image list

What is the output?

The relation that enables Glance-backed Ceph is:

ceph-mon:client glance:ceph

If an image never got imported (expected if Ceph is ill) you can try using local storage for Glance by removing the relation:

juju remove-relation ceph-mon:client glance:ceph

And then retrying the import step (and the subsequent server create step).

Hello. So I have since removed the ceph applications : ceph-osd ceph-mon cinder-ceph and ceph-radosgw

When trying to remove the relations glance:ceph, ceph-mon:client it simply said relation ID glance:ceph invalid/ no such application ceph-mon respectively, i guess since i already removed the application

The output for openstack image list is: ( https://imgur.com/a/9LaXL9r ). This was the case even before I removed ceph, seems to have worked even with ceph.

I removed the server which failed using “openstack server delete [server-ID]” and passed the

openstack server create

commands again along with the FLOATING IP command. It seems to succeed with no error response. When checking the status using the command : openstack server list

It stays in the status “Build”(https://imgur.com/a/mD4i5q3) for a while and then eventually proceeds to the status “Error”( https://imgur.com/a/JY6UzW9 ) again. No entry in the network part of the output though(the same as last time, im guessing because it fails to build).

Also, for additional information,

Any ideas whats causing the server to reach this error state and how I can go about fixing it?

Hi Rohan. Can you describe your MAAS nodes? Are they physical machines, or maybe virtualised with ESXi?

All physical. Basically I’m using

3 Supermicro blades:

  • first where MAAS is set up and where I pass the juju and openstack commands
  • second is where the juju controller node is set up
  • third is the first Openstack node ( OpenstackNode1)

and 3 PC’s: OpenstackNodes2, 3 and 4.

We should rule out the possibility that the cloud nodes that are hosting the hypervisors are simply not able to run VMs. This can be due to CPU issues. Log in (juju ssh <machine-id>) to these nodes and run kvm-ok.

So I think that’s the issue

So I wanted to ask, if 3/4 nodes have it activated, would it work? or does it have to be active on all 4 nodes for the server create command to work? Cause if its the latter I guess I’ll need to start again and exchange that machine for a new one.

Thank you for all your help.

You can try targeting a hypervisor that is expected to work:

openstack --os-compute-api-version 2.74 server create \
   --host <host-name> --hypervisor-hostname <hypervisor-name> ...

See upstream Nova documentation.

So I’m guessing the hostname and hypervisor hostname is “OpenstackNodeX” for me?

I tried :

openstack server create --host OpenstackNode2 --hypervisor-hostname OpenstackNode2 --image focal-amd64 --flavor m1.small --key-name user1 --network user1_net --security-group Allow_SSH focal-1

and I got the output:

–os-compute-api-version 2.74 or greater is required to support the --host option

I guess my version is lower than 2.74…how do I find out what version it is? And how would I upgrade?

Like my previous comment showed, add an option to the command:

openstack --os-compute-api-version 2.74 server create ...

Oops, my bad.

I passed the command :

openstack --os-compute-api-version 2.74 server create --host OpenstackNode2 --hypervisor-hostname OpenstackNode2 --image focal-amd64 --flavor m1.small --key-name user1 --network user1_net --security-group Allow_SSH focal-1

but it returned with the output:

Policy doesn’t allow compute:servers:create:requested_destination to be performed. (HTTP 403) (Request-ID: req-87f77e8e-e52c-45a1-8c16-8bf40188047c)

The command works when im as admin, but responds with :

More than one Network exists with the name ‘user1_net’.

So do I need to delete the user1 config completely and try to create a server with the admin account for this command to work? Is it possible to get the command to work for the user1 I created? The openstack documentation says to use a non admin account so yea wondering if its fine if I do that.

I read online that theres a policy.json file i can edit to get it to work, but im not sure where it is…there is no file at /etc/nova/policy.json in any of my physical nodes

It sounds like you created the same network twice. List them:

openstack network list

First determine how the user’s subnet was created. The idea is to delete the extra network that was not used to create the user subnet. Listing the subnets will show the associated network:

openstack subnet list

To delete the extra network you will need to use its UUID (since you appear to have two with the same name):

openstack network delete <uuid>
1 Like

Hey, yea I had to delete the router and subnets and create a new network again and it worked. Finally.

Thanks for being so patient with me haha. Really appreciate all your help.