Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle the rbd image not found error #204

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kevinzs2048
Copy link
Contributor

Fix #203

When restart rbd-target-api, this service will be blocked by rbdNotFound error. Need to skip it.
All the bug info are listed at issue #203

@kevinzs2048
Copy link
Contributor Author

Please help to review @dillaman @mikechristie
Thanks!

.format(disk_key,
target.error_msg))
except rbd.ImageNotFound:
logger.debug("Rbd image not found: '{}' ".format(image_name))

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know the answer to this, maybe someone more experienced with ceph-iscsi and rbd. From what it looks like. It's grabbing the list of disks from the ceph-iscsi config, and then opening up the pool and searching for the key/object (disk) in ceph. So the question is what is the expected behaviour if the image in the pool is gone?

Do we just log to debug? that seems like it's easily missed, or do be need to do something more noticeable for ops?

I'd assume we'd either have to use:
logger.warning

So it appears in more logs... and might even be colour coded depending on the log analyser.

Or maybe it should throw a CephISCSIError, but I assume that'll stop processing and not actually fix things, minus stop a full blown stacktrace.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The original intention was to fail the service so that it could easily be seen that somehow the configuration is invalid and needs to be resolved. Just hiding it like this will still potentially leave dangling LUNs in the configuration. In this case, the easy "solution" is to just recreate the missing images and remove them from Ceph iSCSI first.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@matthewoliver @dillaman Thanks for clarifying.
Cloud you point me how to recreate missing images when the rbd-target-api is failed?
do you mean that we need to use cephcli to create a rbd image as the ceph-iscsi service is dead.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, just use rbd create --size 1G (??) --image-format exclusive-lock volumes/<image name>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Notfound rbd image will induce rbd-target-api restart failed
3 participants