Merge lp://qastaging/~xfactor973/charms/trusty/ceph-osd/sysctl-perf into lp://qastaging/~openstack-charmers-archive/charms/trusty/ceph-osd/next
Status: | Needs review |
---|---|
Proposed branch: | lp://qastaging/~xfactor973/charms/trusty/ceph-osd/sysctl-perf |
Merge into: | lp://qastaging/~openstack-charmers-archive/charms/trusty/ceph-osd/next |
Diff against target: |
2895 lines (+2241/-11) (has conflicts) 36 files modified
.bzrignore (+3/-0) .coveragerc (+7/-0) .testr.conf (+8/-0) Makefile (+3/-0) charm-helpers-hooks.yaml (+1/-1) charm-helpers-tests.yaml (+1/-1) config.yaml (+10/-1) hooks/ceph.py (+241/-3) hooks/ceph_hooks.py (+279/-0) hooks/charmhelpers/cli/__init__.py (+191/-0) hooks/charmhelpers/cli/benchmark.py (+36/-0) hooks/charmhelpers/cli/commands.py (+32/-0) hooks/charmhelpers/cli/hookenv.py (+23/-0) hooks/charmhelpers/cli/host.py (+31/-0) hooks/charmhelpers/cli/unitdata.py (+39/-0) hooks/charmhelpers/core/files.py (+45/-0) hooks/charmhelpers/core/hookenv.py (+238/-0) hooks/charmhelpers/core/host.py (+92/-0) hooks/charmhelpers/core/hugepage.py (+62/-0) hooks/charmhelpers/core/services/helpers.py (+26/-0) hooks/charmhelpers/fetch/__init__.py (+29/-0) hooks/charmhelpers/fetch/giturl.py (+17/-0) hooks/install (+23/-0) requirements.txt (+11/-0) setup.cfg (+5/-0) templates/ceph.conf (+5/-0) test-requirements.txt (+9/-0) tests/README (+25/-0) tests/basic_deployment.py (+15/-5) tests/charmhelpers/contrib/amulet/utils.py (+194/-0) tests/charmhelpers/contrib/openstack/amulet/deployment.py (+41/-0) tests/charmhelpers/contrib/openstack/amulet/utils.py (+273/-0) tests/tests.yaml (+20/-0) tox.ini (+29/-0) unit_tests/test_status.py (+56/-0) unit_tests/test_utils.py (+121/-0) Conflict adding file .coveragerc. Moved existing file to .coveragerc.moved. Conflict adding file .testr.conf. Moved existing file to .testr.conf.moved. Text conflict in Makefile Text conflict in hooks/ceph.py Path conflict: hooks/ceph_hooks.py / <deleted> Conflict adding file hooks/ceph_hooks.py. Moved existing file to hooks/ceph_hooks.py.moved. Conflict adding file hooks/charmhelpers/cli. Moved existing file to hooks/charmhelpers/cli.moved. Conflict adding file hooks/charmhelpers/core/files.py. Moved existing file to hooks/charmhelpers/core/files.py.moved. Text conflict in hooks/charmhelpers/core/hookenv.py Text conflict in hooks/charmhelpers/core/host.py Conflict adding file hooks/charmhelpers/core/hugepage.py. Moved existing file to hooks/charmhelpers/core/hugepage.py.moved. Text conflict in hooks/charmhelpers/core/services/helpers.py Text conflict in hooks/charmhelpers/fetch/__init__.py Text conflict in hooks/charmhelpers/fetch/giturl.py Text conflict in hooks/install Conflict adding file hooks/install.real. Moved existing file to hooks/install.real.moved. Conflict adding file hooks/update-status. Moved existing file to hooks/update-status.moved. Conflict adding file requirements.txt. Moved existing file to requirements.txt.moved. Conflict adding file setup.cfg. Moved existing file to setup.cfg.moved. Conflict adding file test-requirements.txt. Moved existing file to test-requirements.txt.moved. Text conflict in tests/README Text conflict in tests/basic_deployment.py Text conflict in tests/charmhelpers/contrib/amulet/utils.py Text conflict in tests/charmhelpers/contrib/openstack/amulet/deployment.py Text conflict in tests/charmhelpers/contrib/openstack/amulet/utils.py Conflict adding file tests/tests.yaml. Moved existing file to tests/tests.yaml.moved. Conflict adding file tox.ini. Moved existing file to tox.ini.moved. Conflict adding file unit_tests/test_status.py. Moved existing file to unit_tests/test_status.py.moved. Conflict adding file unit_tests/test_utils.py. Moved existing file to unit_tests/test_utils.py.moved. |
To merge this branch: | bzr merge lp://qastaging/~xfactor973/charms/trusty/ceph-osd/sysctl-perf |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
James Page | Pending | ||
Review via email: mp+286492@code.qastaging.launchpad.net |
This proposal supersedes a proposal from 2016-01-26.
Description of the change
This branch adds some HDD and network adapter sysctl tuning. Lots of potential performance has been left on the table with our out of the box ceph setup. This aims to recapture some of that.
For the HDD portion: Linux has set very conservative settings when it comes to HDDs. While this is great for desktop responsiveness it isn't so kind to storage servers. I have exposed a configuration option if an administrator knows they have a RAID card with a lot of cache onboard. In a future patch set I will add some SSD tuning to take advantage of its unique characteristics.
Testing this has proven challenging. While it doesn't break anything on AWS that doesn't really prove anything either. If anyone has access to physical hardware to test this I would really appreciate it.
Unmerged revisions
- 56. By Chris Holcombe
-
Removed enum dependency
- 55. By Chris Holcombe
-
Pull in the tox files from next
- 54. By Chris Holcombe
-
Persist the changes for reboots. Also catch IOError in all the posix operations
- 53. By Chris Holcombe
-
Address the lint issues and try to solve the python-enum34 package missing with the unit tests
- 52. By Chris Holcombe
-
Change over to using network link speed as the key to sysctl tuning instead of the driver name. This is a more generic approach because most 10Gb links need roughly the same set of sysctls
- 51. By Chris Holcombe
-
Lint spacing
- 50. By Chris Holcombe
-
Add a status notification to the network adapter tuning section
- 49. By Chris Holcombe
-
Added possible network adapter sysctl tuning
- 48. By Chris Holcombe
-
Add a config flag and a function to tune the read and write sectors for each osd block device
- 47. By Chris Holcombe
-
Sysctl and performance tweaks for ceph
See comment on network interfaces. I'd also like to see some validation on varied hardware (SSD / HDD) that this doesn't break things either way.