Skip to content

Reef: filestore removal#49528

Merged
rzarzynski merged 5 commits intoceph:mainfrom
NitzanMordhai:wip-nitzan-filestore-removal
Feb 23, 2023
Merged

Reef: filestore removal#49528
rzarzynski merged 5 commits intoceph:mainfrom
NitzanMordhai:wip-nitzan-filestore-removal

Conversation

@NitzanMordhai
Copy link
Contributor

@NitzanMordhai NitzanMordhai commented Dec 21, 2022

FileStore depreciation for Reef - Updated or new installed OSDs will no longer be able to start with FileStore.
Since FileStore will be depreciated, we have few tests for FileStore that can be removed and some tools that need to be adjusting to use BlueStore or remove some functionality that no longer needed.

Contribution Guidelines

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox
  • jenkins test windows

filestore xfs extsize: true
osd objectstore: filestore
osd objectstore: bluestore
osd op queue: wpq
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this file should just be removed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That means I can remove also test_alloc_hint.sh ?

StoreTest,
::testing::Values(
"memstore",
"filestore",
Copy link
Contributor

Choose a reason for hiding this comment

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

This change requires shifting of --gtest_filter parametes in
qa/suites/rados/objectstore/backends/* files where ceph_test_objectstore is called.
For example --gtest_filter=*/2:-*SyntheticMatrixC* no longer means bluestore but kstore.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-filestore-removal branch 8 times, most recently from 2697989 to a820161 Compare December 22, 2022 10:27
qa/tasks/ceph.py Outdated
args = [
'sudo',
'egrep', pattern,
'/var/log/ceph/{cluster}.log'.format(cluster=cluster),
Copy link
Contributor

Choose a reason for hiding this comment

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

I doubt we'll have an access the monitor at time when OSD calls ObjectStore::create() – MonClient is instantiated later.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changing to egrep from osds logs

@rzarzynski
Copy link
Contributor

22+k SLOCs removed :-D.

@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-filestore-removal branch 6 times, most recently from 7103f00 to 99e44ea Compare December 25, 2022 08:42
@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-filestore-removal branch 2 times, most recently from 6774a2c to 7323a7c Compare December 25, 2022 10:05
@NitzanMordhai
Copy link
Contributor Author

jenkins test make check

@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-filestore-removal branch 3 times, most recently from b4a4a32 to 0e1f13c Compare January 26, 2023 17:35
@NitzanMordhai NitzanMordhai requested a review from a team as a code owner January 26, 2023 17:35
@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-filestore-removal branch from 0e1f13c to c30fa88 Compare February 5, 2023 11:02
Copy link
Contributor

@idryomov idryomov left a comment

Choose a reason for hiding this comment

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

Some leftovers that I have spotted:

@NitzanMordhai
Copy link
Contributor Author

  • hadoop suite has a dangling filestore-xfs.yaml symlink (not sure if anyone ran this suite in recent years though)

Removed

  • ceph_volume suite has a big number of filestore facets which pass osd_objectstore: "filestore"
    I didn't even notice there are suites over that path! Thanks Removed!

@NitzanMordhai
Copy link
Contributor Author

It looks like the docs will need extra care, how about letting that PR pass and then handle the docs? i'll open new PR for it, if thats ok with you all @idryomov @rzarzynski @idryomov @aclamk @neha-ojha

@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-filestore-removal branch from c30fa88 to 271cccb Compare February 9, 2023 06:01
@NitzanMordhai NitzanMordhai requested a review from a team as a code owner February 9, 2023 06:01
@idryomov
Copy link
Contributor

idryomov commented Feb 9, 2023

It looks like the docs will need extra care, how about letting that PR pass and then handle the docs?

Sure, a separate docs PR to remove all references to Filestore sounds good to me.

BTW there are now over 20 commits in this PR. Please squash all pure code removal commits, if a few lines are adjusted in some test case it doesn't need a separate commit either, etc.

@NitzanMordhai
Copy link
Contributor Author

BTW there are now over 20 commits in this PR. Please squash all pure code removal commits, if a few lines are adjusted in some test case it doesn't need a separate commit either, etc.

Done, thanks!

@idryomov
Copy link
Contributor

idryomov commented Feb 9, 2023

Was "Rados\suites: change all osd objectstore filestore" meant to contain a backslash? I'd rename it to "qa/suites: change all osd objectstore filestore" and squash the ceph-volume commit into it as well (since it's also a suite).

Removing and changing all suites to no longer use filestore

Signed-off-by: Nitzan Mordechai <nmordec@redhat.com>

ceph_volume: remove all filestore tests suites
Since filestore removed, no need to test it

Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
When upgrading osd with filestore to reef, restart should not be possible
the osd won't boot and error message will be showed in the osd log

Signed-off-by: Nitzan Mordechai <nmordec@redhat.com>
…setting

Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
 - test_trans convert FileStore to BlueStore test
 - xattr_bench convert FileStore to BlueStore usage
 - remove test_idempotent_sequence tests
 - remove test_idempotent
 - remove test_filejournal
 - removing filestore tests from store_test
 - remove rep_read_unfound test for filestore only
 - remove osd-dup convert filestore to bluestore
 - osd-scrub-repair start only bluestore osd
 - osd-pool-create remove filestore expected_num_object test
 - Remove chain_xattr and LFNIndex uneeded test

Signed-off-by: Nitzan Mordechai <nmordec@redhat.com>
ObjectStore will no longer create new FileStore object store and OSD
will terminate

dencoder: remove filestore
  remove filestore headers and change some location for other
  non related filestore headers

tools: ceph-objectstore-tool remove filestore functions
  Removing un-needed options after depreciting filestore

tools: Change DBObjectMap location
  change header path after depreciting filestore

FileStore: Delete folders, files and CMake entries from os
  depreciting filestore files and CMake entries

Signed-off-by: Nitzan Mordechai <nmordec@redhat.com>
@NitzanMordhai
Copy link
Contributor Author

Was "Rados\suites: change all osd objectstore filestore" meant to contain a backslash? I'd rename it to "qa/suites: change all osd objectstore filestore" and squash the ceph-volume commit into it as well (since it's also a suite).

Done

@NitzanMordhai
Copy link
Contributor Author

jenkins test api

1 similar comment
@NitzanMordhai
Copy link
Contributor Author

jenkins test api

Copy link
Contributor

@idryomov idryomov left a comment

Choose a reason for hiding this comment

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

Ack from the RBD perspective!

We do have some Filestore-specific bits in librbd such as below but they are staying for a long time to come for handling older OSDs.

// discard_granularity_bytes >= object_size && tail truncation
// is a special case for filestore
bool prune_required = false;
bool length_modified = false;
auto object_size = this->m_image_ctx.layout.object_size;
auto discard_granularity_bytes = std::min(m_discard_granularity_bytes,
object_size);
auto xform_lambda =
[discard_granularity_bytes, object_size, &prune_required, &length_modified]
(LightweightObjectExtent& object_extent) {
auto& offset = object_extent.offset;
auto& length = object_extent.length;
auto next_offset = offset + length;
if ((discard_granularity_bytes < object_size) ||
(next_offset < object_size)) {

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants