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

contrib/ceph: Add BlueStore Compression support #497

Merged
merged 9 commits into from
Aug 7, 2020

Conversation

fnordahl
Copy link
Contributor

@fnordahl fnordahl commented Jul 28, 2020

Please review this commit by commit, and please DO NOT squash on merge!

@fnordahl fnordahl force-pushed the ceph-bluestore-compression branch 5 times, most recently from 8950dcf to 5943c6a Compare July 29, 2020 10:26
@fnordahl fnordahl marked this pull request as ready for review July 29, 2020 10:32
@fnordahl fnordahl force-pushed the ceph-bluestore-compression branch 3 times, most recently from 656435d to 6eb9628 Compare July 29, 2020 12:37
@fnordahl fnordahl changed the title contrib/ceph: Tidy up long lines and update docstring format contrib/ceph: Share post pool creation code, Tidy long lines docstring Jul 29, 2020
Comment on lines +587 to +663
call(['ceph', '--id', 'admin', 'osd', 'pool',
'set', 'test', 'target_size_ratio', '1.0']),
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Note that this was called after creation of erasure coded pools before the change too, but the order has now changed which means we need to include it in the check.

@fnordahl fnordahl requested a review from javacruft July 29, 2020 12:51
@fnordahl fnordahl force-pushed the ceph-bluestore-compression branch 3 times, most recently from e97e722 to 143f172 Compare July 31, 2020 07:15
@fnordahl fnordahl marked this pull request as draft July 31, 2020 10:48
@fnordahl fnordahl force-pushed the ceph-bluestore-compression branch 5 times, most recently from 5bf7bc3 to 86cc9b0 Compare August 3, 2020 14:53
@fnordahl fnordahl changed the title contrib/ceph: Share post pool creation code, Tidy long lines docstring contrib/ceph: Add BlueStore Compression support Aug 3, 2020
@fnordahl fnordahl marked this pull request as ready for review August 3, 2020 19:31
@fnordahl fnordahl force-pushed the ceph-bluestore-compression branch 3 times, most recently from 1cc7663 to a97b448 Compare August 4, 2020 13:56
@fnordahl fnordahl changed the base branch from master to tidy-long-lines-docstring-contrib-ceph August 6, 2020 13:17
@fnordahl fnordahl changed the base branch from tidy-long-lines-docstring-contrib-ceph to master August 6, 2020 14:35
Deprecate the current ``Pool`` class and replace it with a
``BasePool`` class to keep compatibility with any external
consumers.

The new class moves the create and post-create steps into the
private ``_create`` and ``_post_create`` methods that the pool
type specific children override.

This allows for common post-creation steps to be shared.
Adds missing support for specifying group namespace for Erasure
Coded pools.

Adds missing test for raising an error when both 'pg_num' and
'weight' is specified for Replicated pools.
The `ceph osd pool set {pool-name}` command line tool takes
exactly one key value pair [0]. Update the helper and
documentation to reflect this and add unit tests.

0: https://docs.ceph.com/docs/master/rados/operations/pools/#set-pool-values
Some pool properties should be allowed adjusted after a pool is
created.

The Pool quota property is already handled ad-hoc in the
`charms.ceph` broker handling code, let's bring it over here
along with the handling of the compression properties.
Validate op before performing create and update operations.

Instantiate pool and call the validation method on call to
CephBrokerRq add_op_* methods.

This way we will have validation of data both on data entry from
consuming charm side and after deserializing on the executing ceph
charm side.
@javacruft javacruft merged commit 06e1207 into juju:master Aug 7, 2020
openstack-mirroring pushed a commit to openstack/charms.ceph that referenced this pull request Aug 27, 2020
Use the Pool classes ability to initialize themselves from op.

Some pool properties should be allowed adjusted after a pool is
created.

The Pool quota property is already handled ad-hoc in the
`charms.ceph` broker handling code, let's bring it over to the
pool objects along with the handling of the compression properties.

Move some missing unit tests here from ceph-mon charm.

Merge after juju/charm-helpers#497

Change-Id: Ibec4e3221387199adbc1a920e130975d7b25343c
openstack-mirroring pushed a commit to openstack/openstack that referenced this pull request Aug 27, 2020
* Update charms.ceph from branch 'master'
  - Use common pool create/update handling code
    
    Use the Pool classes ability to initialize themselves from op.
    
    Some pool properties should be allowed adjusted after a pool is
    created.
    
    The Pool quota property is already handled ad-hoc in the
    `charms.ceph` broker handling code, let's bring it over to the
    pool objects along with the handling of the compression properties.
    
    Move some missing unit tests here from ceph-mon charm.
    
    Merge after juju/charm-helpers#497
    
    Change-Id: Ibec4e3221387199adbc1a920e130975d7b25343c
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.

2 participants