# vim: set noexpandtab ts=8 sw=8 : # # spec file for package ceph # # Copyright (C) 2004-2017 The Ceph Project Developers. See COPYING file # at the top-level directory of this distribution and at # https://github.com/ceph/ceph/blob/master/COPYING # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. # # This file is under the GNU Lesser General Public License, version 2.1 # # Please submit bugfixes or comments via http://tracker.ceph.com/ # %bcond_without ocf %bcond_without cephfs_java %if 0%{?suse_version} %bcond_with ceph_test_package %else %bcond_without ceph_test_package %endif %bcond_with make_check %ifarch s390 s390x %bcond_with tcmalloc %else %bcond_without tcmalloc %endif %bcond_with lowmem_builder %if 0%{?fedora} || 0%{?rhel} %bcond_without selinux %endif %if 0%{?suse_version} %bcond_with selinux %endif # LTTng-UST enabled on Fedora, RHEL 6+, and SLE (not openSUSE) %if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version} %if ! 0%{?is_opensuse} %bcond_without lttng %endif %endif %if %{with selinux} # get selinux policy version %{!?_selinux_policy_version: %global _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp 2>/dev/null || echo 0.0.0)} %endif %global _hardened_build 1 %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?python3_pkgversion: %global python3_pkgversion 3} # unify libexec for all targets %global _libexecdir %{_exec_prefix}/lib ################################################################################# # main package definition ################################################################################# Name: ceph Version: 12.2.8 Release: 89%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif # define _epoch_prefix macro which will expand to the empty string if epoch is # undefined %global _epoch_prefix %{?epoch:%{epoch}:} Summary: User space components of the Ceph file system License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT %if 0%{?suse_version} Group: System/Filesystems %endif URL: http://ceph.com/ Source0: https://download.ceph.com/tarballs/%{name}-%{version}.tar.gz Patch0001: 0001-rgw-Cache-notify-fault-injection.patch Patch0002: 0002-rgw-Robustly-notify.patch Patch0003: 0003-rgw-admin-support-for-processing-all-gc-objects-incl.patch Patch0004: 0004-rgw-use-aio-for-gc-processing.patch Patch0005: 0005-rgw-use-a-single-gc-io-manager-for-all-shards.patch Patch0006: 0006-rgw-trim-gc-index-using-aio.patch Patch0007: 0007-rgw-make-gc-concurrenct-io-size-configurable.patch Patch0008: 0008-rgw-gc-aio-replace-lists-with-other-types.patch Patch0009: 0009-rgw-use-vector-for-remove_tags-in-gc-aio.patch Patch0010: 0010-prometheus-Fix-prometheus-shutdown-restart.patch Patch0011: 0011-doc-prometheus-Mention-the-long-running-avg-types.patch Patch0012: 0012-test-rgw-test-incremental-sync-of-acls-on-versioned-.patch Patch0013: 0013-rgw-Object-Write-_do_write_meta-takes-optional-olh-e.patch Patch0014: 0014-rgw-fetch_remote_obj-takes-optional-olh-epoch.patch Patch0015: 0015-rgw-fetch_remote_obj-applies-olh-even-if-object-is-c.patch Patch0016: 0016-rgw-SyncModule-sync_object-takes-optional-olh-epoch.patch Patch0017: 0017-rgw-bucket-sync-only-provides-an-epoch-for-olh-opera.patch Patch0018: 0018-rgw-bucket-sync-doesn-t-squash-over-olh-entries.patch Patch0019: 0019-rgw-bucket-sync-allows-OP_ADD-on-versioned-objects.patch Patch0020: 0020-rgw-CompleteMultipart-applies-its-olh_epoch.patch Patch0021: 0021-rgw-bucket-sync-updates-high-marker-for-squashed-ent.patch Patch0022: 0022-rgw-bucket-sync-only-allows-one-olh-op-at-a-time.patch Patch0023: 0023-rgw-Silence-maybe-uninitialized-false-positives.patch Patch0024: 0024-prometheus-Fix-metric-resets.patch Patch0025: 0025-prometheus-Make-the-cache-timeout-configurable.patch Patch0026: 0026-prometheus-Use-instance-instead-of-inst-variable.patch Patch0027: 0027-prometheus-Optimize-metrics-formatting.patch Patch0028: 0028-prometheus-Remove-the-Metrics-class.patch Patch0029: 0029-prometheus-Format-metrics-in-the-collect-function.patch Patch0030: 0030-prometheus-Reset-the-time-the-data-was-captured.patch Patch0031: 0031-prometheus-Set-the-response-header-for-cached-respon.patch Patch0032: 0032-rgw-add-option-for-relaxed-region-enforcement.patch Patch0033: 0033-rgw-change-default-rgw_thread_pool_size-to-512.patch Patch0034: 0034-radosgw-admin-sync-error-trim-loops-until-complete.patch Patch0035: 0035-rgw-set-default-objecter_inflight_ops-24576.patch Patch0036: 0036-mon-OSDMonitor-Warn-when-expected_num_objects-will-h.patch Patch0037: 0037-mon-OSDMonitor-Warn-if-missing-expected_num_objects.patch Patch0038: 0038-rgw-raise-default-rgw_curl_low_speed_time-to-300-sec.patch Patch0039: 0039-rgw-fix-injectargs-for-objecter_inflight_ops.patch Patch0040: 0040-ceph-volume-tests-functional-add-CentOS7-filestore-m.patch Patch0041: 0041-ceph-volume-tests-functional-add-CentOS7-bluestore-m.patch Patch0042: 0042-ceph-volume-tests-functional-add-mixed-type-scenario.patch Patch0043: 0043-ceph-volume-tests-functional-create-a-noop-playbook-.patch Patch0044: 0044-ceph-volume-tests-functional-single-test-playbook-to.patch Patch0045: 0045-ceph-volume-tests-functional-remove-duplicate-test-p.patch Patch0046: 0046-ceph-volume-lvm.api-use-double-f-flags-when-calling-.patch Patch0047: 0047-ceph-volume-lvm.batch-use-ceph-as-the-cluster-name-w.patch Patch0048: 0048-ceph-volume-lvm.batch-make-sure-data-devices-don-t-h.patch Patch0049: 0049-ceph-volume-lvm.batch.filestore-capture-SizeAllocati.patch Patch0050: 0050-ceph-volume-lvm.batch.bluestore-validation-and-repor.patch Patch0051: 0051-ceph-volume-lvm.batch-fix-error-reporting-Device-obj.patch Patch0052: 0052-f-ceph-volume-lvm.batch.bluestore-validation-and-rep.patch Patch0053: 0053-ceph-volume-lvm.batch.bluestore-add-TODOs-for-custom.patch Patch0054: 0054-ceph-volume-util.prepare-add-a-helper-to-get-block.d.patch Patch0055: 0055-ceph-volume-util.disk-fix-an-issue-where-Disk-object.patch Patch0056: 0056-ceph-volume-tests.util-verify-Disk-objects-don-t-cha.patch Patch0057: 0057-ceph-volume-lvm.batch-add-osds-per-device-flag-defau.patch Patch0058: 0058-ceph-volume-lvm.batch.bluestore-allow-osds-per-devic.patch Patch0059: 0059-ceph-volume-lvm.batch.bluestore-allow-osds-per-devic.patch Patch0060: 0060-ceph-volume-lvm.batch.validators-account-for-osds-pe.patch Patch0061: 0061-ceph-volume-lvm.batch.filestore-allow-osds-per-devic.patch Patch0062: 0062-ceph-volume-tests-verify-strategy-validators-for-min.patch Patch0063: 0063-ceph-volume-tests.devices.lvm-add-bluestore-strategy.patch Patch0064: 0064-ceph-volume-lvm.tests-conftest-fixtures-for-custom-v.patch Patch0065: 0065-ceph-volume-tests.lvm.strategies-initial-filestore-v.patch Patch0066: 0066-ceph-volume-lvm.zap-use-remove_pv-only-for-physical-.patch Patch0067: 0067-ceph-volume-tests.functional-use-destroy-when-zappin.patch Patch0068: 0068-ceph-volume-tests.functional-comment-why-not-use-des.patch Patch0069: 0069-osd-make-calc_trim_to-independent-of-min_last_comple.patch Patch0070: 0070-osd-print-pg-log-length-and-trim_to.patch Patch0071: 0071-osd-handle-trim-during-backfill.patch Patch0072: 0072-osd-allow-trim-to-proceed-when-there-are-missing-ite.patch Patch0073: 0073-osd-reset-complete_to-when-trimming-the-log-past-it.patch Patch0074: 0074-osd-PGLog-allow-pg-log-trim-when-complete_to-is-less.patch Patch0075: 0075-osd-PGLog.cc-use-lgeneric_subdout-instead-of-generic.patch Patch0076: 0076-src-osd-PG.cc-remove-redundant-call-to-trim_log.patch Patch0077: 0077-osd-PGLog.cc-check-if-complete_to-points-to-log.end.patch Patch0078: 0078-osd-PrimaryLogPG.cc-limit-trimming-at-can_rollback_t.patch Patch0079: 0079-osd-PrimaryLogPG-avoid-dereferencing-invalid-complet.patch Patch0080: 0080-tools-ceph-objectstore-tool-Allow-target-level-as-fi.patch Patch0081: 0081-common-PriorityCache-First-pass-at-prototype.patch Patch0082: 0082-os-bluestore-Fix-potential-uint64_t-to-int-conversio.patch Patch0083: 0083-src-kv-Initial-import-of-a-custom-RocksDB-cache.patch Patch0084: 0084-kv-rocksdb_cache-BinnedLRUCache-Don-t-promote-data-t.patch Patch0085: 0085-kv-RocksDBStore-Handle-nullptr-if-clock-cache-is-cho.patch Patch0086: 0086-os-bluestore-limit-OSD-memory-usage-by-tuning-the-ca.patch Patch0087: 0087-mds-mark-beacons-as-high-priority.patch Patch0088: 0088-mds-use-fast-dispatch-to-handle-MDSBeacon.patch Patch0089: 0089-MDSMonitor-note-beacons-and-cluster-changes-at-low-d.patch Patch0090: 0090-mds-report-lagginess-at-lower-debug.patch Patch0091: 0091-mon-test-if-gid-exists-in-pending-for-prepare_beacon.patch Patch0092: 0092-mds-print-is_laggy-message-once.patch Patch0093: 0093-osd-mon-increase-mon_max_pg_per_osd-to-250.patch Patch0094: 0094-mds-hold-slave-request-refernce-when-dumping-MDReque.patch Patch0095: 0095-mds-don-t-modify-filepath-when-printing.patch Patch0096: 0096-mds-cleanup-CDir-freezing-frozen-tree-check.patch Patch0097: 0097-mds-more-description-for-failed-authpin.patch Patch0098: 0098-client-check-for-unmounted-condition-before-printing.patch Patch0099: 0099-ceph_volume_client-add-delay-for-MDSMap-to-be-distri.patch Patch0100: 0100-mds-avoid-using-g_conf-get_val-.-.-in-hot-path.patch Patch0101: 0101-mds-health-warning-for-slow-metadata-IO.patch Patch0102: 0102-mds-cleanup-MDSRank-evict_client.patch Patch0103: 0103-librbd-fix-refuse-to-release-lock-when-cookie-is-the.patch Patch0104: 0104-rgw-raise-debug-level-on-redundant-data-sync-error-m.patch Patch0105: 0105-rgw-optimize-function-abort_bucket_multiparts.patch Patch0106: 0106-rgw-abort_bucket_multiparts-ignores-individual-NoSuc.patch Patch0107: 0107-msg-set-O_NONBLOCK-on-file-status-flags.patch Patch0108: 0108-set-missing-CLOEXEC-on-opened-fds.patch Patch0109: 0109-client-retry-remount-on-dcache-invalidation-failure.patch Patch0110: 0110-rgw-fix-chunked-encoding-for-chunks-1MiB.patch Patch0111: 0111-rgw-enable-override-of-tcmalloc-linkage.patch Patch0112: 0112-rgw-RGWBucket-link-supports-tenant.patch Patch0113: 0113-Add-several-types-to-ceph-dencoder.patch Patch0114: 0114-Add-bucket-new-name-option-to-radosgw-admin.patch Patch0115: 0115-rgw-bucket-link-Add-ability-to-name-bucket-w-differe.patch Patch0116: 0116-rgw-bucket-link-simplify-use-of-get-bucket-info.patch Patch0117: 0117-rgw-bucket-link-use-data-from-bucket_info-to-rewrite.patch Patch0118: 0118-rearrange-simplify-RGWBucket-link-logic-start-bucket.patch Patch0119: 0119-rgw-bucket-link-base-bucket-move-tenant-id-only.patch Patch0120: 0120-rgw-bucket-link-bucket-move-handle-bucket-names-too.patch Patch0121: 0121-rgw-bucket-link-bucket-move-documentation-changes.patch Patch0122: 0122-osd-PrimaryLogPG-fix-potential-pg-log-overtrimming.patch Patch0123: 0123-rgw-policy-refactor-has_conditional.patch Patch0124: 0124-rgw-Added-code-for-STS-AssumeRole.patch Patch0125: 0125-rgw-Adding-manager-handler-etc-for-STS.patch Patch0126: 0126-rgw-Added-max_session_duration-and-policy-parsing-to.patch Patch0127: 0127-sts-qualify-encode-decode-as.patch Patch0128: 0128-rgw-Added-code-to-determine-token-expiration-time-us.patch Patch0129: 0129-rgw-Minor-Fixes.patch Patch0130: 0130-rgw-Added-code-to-store-arn-and-policy-passed-as-par.patch Patch0131: 0131-rgw-Renamed-STS-related-files.patch Patch0132: 0132-rgw-Incorporating-review-comments.patch Patch0133: 0133-rgw-Changed-session-token-format.patch Patch0134: 0134-rgw-Code-for-making-STS-Key-configurable.patch Patch0135: 0135-rgw-Added-code-for-auth-using-temp-credentials-retur.patch Patch0136: 0136-rgw-STS-authentication-correction.patch Patch0137: 0137-rgw-Perm-mask.patch Patch0138: 0138-rgw-Code-for-GetSessionToken-REST-API.patch Patch0139: 0139-rgw-STS-auth-changes-to-make-sure-that-other-engines.patch Patch0140: 0140-rgw-STS-auth-failures-will-return-reject.patch Patch0141: 0141-rgw-Proper-result-for-XML-formatting.patch Patch0142: 0142-rgw-Adding-ops-for-V4-authentication.patch Patch0143: 0143-rgw-Adding-documentation-for-STS-Lite.patch Patch0144: 0144-rgw-Code-to-make-S3-and-STS-co-exist-in-same-namespa.patch Patch0145: 0145-rgw-POST-request-handling-for-boto-compliance.patch Patch0146: 0146-rgw-Check-for-Access-Key-during-STS-Auth.patch Patch0147: 0147-STS-remove-c-17-isms.patch Patch0148: 0148-rgw-Correcting-the-default-value-of-sts-max-session-.patch Patch0149: 0149-rgw-Changing-default-s3-auth-order.patch Patch0150: 0150-rgw-copy-actual-stats-from-the-source-shards-during-.patch Patch0151: 0151-mds-simplify-beacon-init.patch Patch0152: 0152-mds-use-monotonic-clock-in-beacon.patch Patch0153: 0153-mds-use-monotonic-waits-in-Beacon.patch Patch0154: 0154-mds-improve-mds-perf-counters-can-statistics-filesys.patch Patch0155: 0155-mds-add-perf-counters-to-track-current-open-stale-se.patch Patch0156: 0156-mds-decay-counter-for-tracking-request-load-average.patch Patch0157: 0157-mds-allow-request-load-average-decay-rate-configurab.patch Patch0158: 0158-mds-show-session-load-average-in-dump-session.patch Patch0159: 0159-mds-reorganize-and-curate-perf-log-counters.patch Patch0160: 0160-ceph-fuse-add-to-selinux-profile.patch Patch0161: 0161-mds-pass-timeout-argument-for-fetching-late-clients.patch Patch0162: 0162-mds-evict-clients-that-do-not-respond-to-cap-revoke-.patch Patch0163: 0163-mds-add-counter-for-tracking-cap-non-responding-clie.patch Patch0164: 0164-test-validate-client-eviction-for-cap-revoke-non-res.patch Patch0165: 0165-doc-document-cap-revoke-non-responders-client-evicti.patch Patch0166: 0166-qa-whitelist-cap-revoke-warning.patch Patch0167: 0167-qa-add-qa-helper-methods-from-master.patch Patch0168: 0168-qa-remove-check-using-method-from-master.patch Patch0169: 0169-ceph-volume-client-add-py3-compatibility.patch Patch0170: 0170-cephfs.pyx-add-py3-compatibility.patch Patch0171: 0171-qa-ceph-volume-allow-executing-python-pyloads-using-.patch Patch0172: 0172-qa-make-test_volume_client.py-py3-compatible.patch Patch0173: 0173-qa-test-py2-and-py3-for-volume-client.patch Patch0174: 0174-packages.yaml-install-py3-compatible-cephfs-and-rado.patch Patch0175: 0175-ceph_volume_client-use-integer-division-for-pg_num.patch Patch0176: 0176-ceph-volume-client-allow-atomic-updates-for-RADOS-ob.patch Patch0177: 0177-qa-ceph-volume-add-a-test-for-put_object_versioned.patch Patch0178: 0178-mds-cleanup-some-asok-commands.patch Patch0179: 0179-mds-implement-journal-flush-as-asynchronous-context-.patch Patch0180: 0180-mds-command-to-trim-mds-cache-and-client-caps.patch Patch0181: 0181-test-add-test-for-mds-drop-cache-command.patch Patch0182: 0182-rgw-Correct-permission-evaluation-to-allow-only-admi.patch Patch0183: 0183-rgw-remove-redundant-quota-logic-from-admin-user-api.patch Patch0184: 0184-rgw-add-helper-functions-to-apply-configured-default.patch Patch0185: 0185-rgw-RemoteApplier-create_account-applies-default-quo.patch Patch0186: 0186-ceph-volume-configuration-be-able-to-set-conf.ceph.patch Patch0187: 0187-ceph-volume-lvm.activate-load-the-config-always-by-r.patch Patch0188: 0188-ceph-volume-tests.functional-add-custom-cluster-name.patch Patch0189: 0189-ceph-volume-tests-reset-the-cluster-name-after-every.patch Patch0190: 0190-ceph-volume-tests.devices-patch-configuration.load-t.patch Patch0191: 0191-ceph-volume-main-move-out-the-load_ceph_conf_path-to.patch Patch0192: 0192-ceph-volume-tests-functional-update-playbooks-to-use.patch Patch0193: 0193-ceph-volume-tests-functional-lvm-update-tests-to-use.patch Patch0194: 0194-ceph-volume-tests-functional-batch-update-tests-to-u.patch Patch0195: 0195-ceph-volume-tests-functional-update-dmcrypt-test-pla.patch Patch0196: 0196-rgw-fix-radosgw-linkage-with-WITH_RADOSGW_BEAST_FRON.patch Patch0197: 0197-rgw-switch-beast-frontend-back-to-stackful-coroutine.patch Patch0198: 0198-rgw-factor-the-tcp-socket-out-of-ClientIO.patch Patch0199: 0199-rgw-add-ssl-support-to-beast-frontend.patch Patch0200: 0200-rgw-beast-frontend-calls-shutdown-before-closing-con.patch Patch0201: 0201-rbd-mirror-instantiate-the-status-formatter-before-c.patch Patch0202: 0202-rbd-mirror-always-attempt-to-restart-canceled-status.patch Patch0203: 0203-ceph-volume-when-using-batch-report-return-journal-d.patch Patch0204: 0204-ceph-volume-fail-fast-during-tests.patch Patch0205: 0205-ceph-volume-only-run-ceph-common-once-during-tests.patch Patch0206: 0206-ceph-volume-util.disk-expand-blkid-s-API-calls.patch Patch0207: 0207-ceph-volume-tests.util-verify-new-blkid-API-calls.patch Patch0208: 0208-ceph-volume-util.device-add-a-ceph-disk-device-objec.patch Patch0209: 0209-ceph-volume-tests.conftest-add-blkid-patching-to-dev.patch Patch0210: 0210-ceph-volume-tests.util-verify-CephDiskDevice-behavio.patch Patch0211: 0211-ceph-volume-simple.scan-better-detection-for-ceph-di.patch Patch0212: 0212-ceph-volume-tests.lvm-verify-activate-works-with-aut.patch Patch0213: 0213-ceph-volume-lvm.activate-pass-no_systemd-args-when-d.patch Patch0214: 0214-ceph-volume-tests.util-verify-devices-that-don-t-exi.patch Patch0215: 0215-ceph-volume-util.disk-when-there-are-no-devices-mapp.patch Patch0216: 0216-doc-ceph-volume-document-multipath-support.patch Patch0217: 0217-ceph-volume-lvm.create-simplify-help-menu-with-blues.patch Patch0218: 0218-ceph-volume-lvm.prepare-simplify-help-menu-with-blue.patch Patch0219: 0219-fix-typo-in-ceph-volume-lvm-prepare-help.patch Patch0220: 0220-ceph-volume-lvm.prepare-update-help-to-indicate-part.patch Patch0221: 0221-ceph-volume-lvm.prepare-update-help-to-remove-old-ba.patch Patch0222: 0222-ceph-volume-lvm.batch-add-sizing-flags-for-journal-a.patch Patch0223: 0223-ceph-volume-lvm.batch.bluestore-consume-block-db-siz.patch Patch0224: 0224-ceph-volume-lvm.batch.filestore-consume-journal-size.patch Patch0225: 0225-ceph-volume-tests.devices-update-fixture-to-include-.patch Patch0226: 0226-doc-man-ceph-volume-update-batch-command-with-new-si.patch Patch0227: 0227-ceph-volume-add-vg_name-to-the-Device-class.patch Patch0228: 0228-ceph-volume-adds-a-lvs-property-to-the-Device-class.patch Patch0229: 0229-ceph-volume-adds-a-used_by_ceph-property-to-the-Devi.patch Patch0230: 0230-ceph-volume-adds-used_by_ceph-to-filestore-singletyp.patch Patch0231: 0231-ceph-volume-adds-a-changed-key-to-lvm-batch-report.patch Patch0232: 0232-ceph-volume-pick-strategy-for-batch-with-only-the-un.patch Patch0233: 0233-ceph-volume-add-filtered_devices-and-used_by_ceph-to.patch Patch0234: 0234-ceph-volume-consider-block-and-data-devices-used_by_.patch Patch0235: 0235-ceph-volume-update-tests-to-account-for-filtered_dev.patch Patch0236: 0236-ceph-volume-add-tests-for-util.device.Device.used_by.patch Patch0237: 0237-ceph-volume-add-functional-tests-to-ensure-lvm-batch.patch Patch0238: 0238-ceph-volume-raise-a-non-zero-exit-code-if-strategy-c.patch Patch0239: 0239-ceph-volume-fix-strategy-comparison-in-lvm-batch.patch Patch0240: 0240-ceph-volume-ignore-failure-to-load-ceph-configuratio.patch Patch0241: 0241-ceph-volume-fix-bluestore-strategy-json-reporting-an.patch Patch0242: 0242-ceph-volume-fix-idempotency-checks-for-lvm-batch-tes.patch Patch0243: 0243-ceph-volume-remove-the-used_by_ceph-key-in-the-json-.patch Patch0244: 0244-ceph-volume-add-info-about-filtered-devices-to-batch.patch Patch0245: 0245-ceph-volume-add-rotational-property-to-Device-class.patch Patch0246: 0246-ceph-volume-filter-devices-used-by-journals-block.db.patch Patch0247: 0247-ceph-volume-when-all-devices-are-filtered-exit-grace.patch Patch0248: 0248-ceph-volume-failing-to-get-block-db-size-from-conf-l.patch Patch0249: 0249-ceph-volume-extracts-batch.filter_devices-from-Batch.patch Patch0250: 0250-ceph-volume-api.lvm-do-not-spit-out-errors-on-the-te.patch Patch0251: 0251-ceph-volume-tests-allow-kw-when-monkeypatching.patch Patch0252: 0252-ceph-volume-tests.api-update-monkeypatching-to-use-k.patch Patch0253: 0253-ceph-volume-adds-a-prepare-flag-to-ceph-volume-lvm-b.patch Patch0254: 0254-ceph-volume-when-prepare-is-added-to-batch-the-OSDs-.patch Patch0255: 0255-ceph-volume-docs-for-prepare-flag-of-lvm-batch.patch Patch0256: 0256-ceph-volume-update-man-page-for-batch-prepare.patch Patch0257: 0257-rgw-beast-drop-privileges-after-binding-ports.patch Patch0258: 0258-rgw-rgw_user_sync_all_stats-uses-bucket-entrypoint.patch Patch0259: 0259-rgw-cls_user_set_buckets_info-can-update-bucket-id.patch Patch0260: 0260-cls-user-cls_user_remove_bucket-writes-modified-head.patch Patch0261: 0261-rgw-renew-resharding-lock-during-bucket-resharding.patch Patch0262: 0262-rgw-use-the-same-lock-when-resharding.patch Patch0263: 0263-cls-add-semantics-for-cls-locks-to-require-renewal-w.patch Patch0264: 0264-rgw-renew-resharding-locks-to-prevent-expiration.patch Patch0265: 0265-cls-add-exclusive-ephemeral-locks-that-auto-clean.patch Patch0266: 0266-rgw-change-the-bucket-reshard-lock-to-exclusive-ephe.patch Patch0267: 0267-rgw-failed-resharding-clears-resharding-status-from-.patch Patch0268: 0268-rgw-move-RGWReshardBucket-lock-to-its-own-separate-c.patch Patch0269: 0269-rgw-recover-from-incomplete-reshard-attempt.patch Patch0270: 0270-rbd-mirror-update-mirror-status-when-stopping.patch Patch0271: 0271-osd-Separate-removal-and-recovery-thread-pools.patch Patch0272: 0272-osd-New-configuration-option-osd_delete_sleep.patch Patch0273: 0273-Revert-osd-PrimaryLogPG-fix-potential-pg-log-overtri.patch Patch0274: 0274-Revert-osd-PrimaryLogPG-avoid-dereferencing-invalid-.patch Patch0275: 0275-Revert-osd-PrimaryLogPG.cc-limit-trimming-at-can_rol.patch Patch0276: 0276-Revert-osd-PGLog.cc-check-if-complete_to-points-to-l.patch Patch0277: 0277-Revert-src-osd-PG.cc-remove-redundant-call-to-trim_l.patch Patch0278: 0278-Revert-osd-PGLog.cc-use-lgeneric_subdout-instead-of-.patch Patch0279: 0279-Revert-osd-PGLog-allow-pg-log-trim-when-complete_to-.patch Patch0280: 0280-Revert-osd-reset-complete_to-when-trimming-the-log-p.patch Patch0281: 0281-Revert-osd-allow-trim-to-proceed-when-there-are-miss.patch Patch0282: 0282-Revert-osd-handle-trim-during-backfill.patch Patch0283: 0283-Revert-osd-print-pg-log-length-and-trim_to.patch Patch0284: 0284-Revert-osd-make-calc_trim_to-independent-of-min_last.patch Patch0285: 0285-doc-make-note-of-pg-log-hard-limit-upgrade-bug-in-Pe.patch Patch0286: 0286-mgr-restful-Fix-deep-scrub-typo.patch Patch0287: 0287-rgw-Fix-for-buffer-overflow-in-STS-op_post.patch Patch0288: 0288-rgw-Fixes-to-STS-Lite-documentation.patch Patch0289: 0289-rgw-Minor-fixes-to-AssumeRole-for-boto-compliance.patch Patch0290: 0290-rgw-Minor-fixes-to-radosgw-admin-commands-for-a-role.patch Patch0291: 0291-rgw-Adding-documentation-for-Roles.patch Patch0292: 0292-rgw-move-keystone-secrets-from-ceph.conf-to-files.patch Patch0293: 0293-rgw-move-keystone-secrets-from-ceph.conf-to-files.patch Patch0294: 0294-ceph-volume-util.encryption-robust-blkid-lsblk-detec.patch Patch0295: 0295-rgw-beast-frontend-uses-default-port-443-for-ssl_end.patch Patch0296: 0296-rgw-beast-frontend-parses-ipv6-addrs.patch Patch0297: 0297-common-add-config-option-rgw_trust_forwarded_https.patch Patch0298: 0298-rgw-add-helper-function-rgw_transport_is_secure.patch Patch0299: 0299-rgw-SSE-operations-check-rgw_transport_is_secure.patch Patch0300: 0300-rgw-aws-SecureTransport-uses-rgw_transport_is_secure.patch Patch0301: 0301-ceph-volume-simple.trigger-replace-systemd-with-from.patch Patch0302: 0302-ceph-volume-simple.activate-allow-a-no-systemd-flag-.patch Patch0303: 0303-ceph-volume-tests-ensure-activate-behavior-with-syst.patch Patch0304: 0304-ceph-volume-simple.activate-factor-out-systemd-inter.patch Patch0305: 0305-ceph-volume-main-raise-sys.exit-to-prevent-garbage-i.patch Patch0306: 0306-ceph-volume-api.lvm-allow-passing-a-Volume-object-to.patch Patch0307: 0307-ceph-volume-tests.functional.lvm-test-full-removal-o.patch Patch0308: 0308-ceph-volume-tests.api-verify-that-Volume-object-can-.patch Patch0309: 0309-ceph-volume-tests-update-tests-to-handle-new-SystemE.patch Patch0310: 0310-ceph-volume-lvm.zap-remove-vgs-lvs-when-destroy-is-u.patch Patch0311: 0311-rgw-Initial-commit-for-User-Policy-REST-APIs.patch Patch0312: 0312-rgw-User-Policy-evaluation-for-bucket-object-user-pe.patch Patch0313: 0313-rgw-Permission-evaluation-for-User-Policies.patch Patch0314: 0314-rgw-Permission-evaluation-for-Roles.patch Patch0315: 0315-rgw-Using-bitset-for-Actions-to-allow-for-more-actio.patch Patch0316: 0316-rgw-Fixing-error-codes-while-user-policy-is-parsed.patch Patch0317: 0317-rgw-Adding-unittests-for-User-policies.patch Patch0318: 0318-rgw-Corrected-code-for-ARNs-for-entities-that-have-a.patch Patch0319: 0319-rgw-Policy-code-for-STS.patch Patch0320: 0320-rgw-Fixes-to-User-Policy-code-for-CreateBucket-and-L.patch Patch0321: 0321-rgw-Fixing-user-perm-evaluation-when-no-policy-is-su.patch Patch0322: 0322-rgw-Fix-verify_user_permission-for-user-policy-evalu.patch Patch0323: 0323-rgw-Correcting-permission-evaluation-for-Roles.patch Patch0324: 0324-rgw-Correcting-perm-evaluation-when-a-bucket-policy-.patch Patch0325: 0325-rgw-Don-t-check-for-Principal-in-User-Policies.patch Patch0326: 0326-rgw-fix-bug-in-error-codes-returned.patch Patch0327: 0327-rgw-rename-function-for-clarity.patch Patch0328: 0328-rgw-remove-never-called-RGWRados-member-function.patch Patch0329: 0329-rgw-a-little-code-clean-up-by-adding-const.patch Patch0330: 0330-rgw-clean-up-unused-bucket-index-shards.patch Patch0331: 0331-rgw-perf-remove-bucket-shards-asynchronously-rather-.patch Patch0332: 0332-STS-remove-c-17-isms.patch Patch0333: 0333-rgw-properly-avoid-accessing-null-user_acl.patch Patch0334: 0334-librados-NObjectIteratorImpl-get_next-throws-std-sys.patch Patch0335: 0335-rgw-pool_iterate-_begin-catches-NObjectIterator-exce.patch Patch0336: 0336-rgw-list_buckets_-catches-NObjectIterator-exceptions.patch Patch0337: 0337-rgw-bucket-trim-restarts-if-list_keys_init-returns-E.patch Patch0338: 0338-librados_cxx-document-which-nobjects-interfaces-thro.patch Patch0339: 0339-rgw-implement-listing-stale-instances-from-a-reshard.patch Patch0340: 0340-cli-use-rgw-admin-reshard-stale-instances-list-delet.patch Patch0341: 0341-rgw-batch-and-process-bucket-instances.patch Patch0342: 0342-rgw-Replacing-std-regex-with-boost-regex.patch Patch0343: 0343-rgw-Fix-for-permission-evaluation-for-anonymous-user.patch Patch0344: 0344-rgw-data-sync-accepts-ERR_PRECONDITION_FAILED-on-rem.patch Patch0345: 0345-rgw-Fix-for-role-permission-evaluation-based-on-TYPE.patch Patch0346: 0346-rgw-fix-bad-versioned-bucket-stats-after-reshard.patch Patch0347: 0347-rgw-minor-clean-up-convert-enum-BIIndexType-to-enum-.patch Patch0348: 0348-ceph-volume-lvm-skip-empty-vg_name-removals.patch Patch0349: 0349-rgw-reshard-improvements.patch Patch0350: 0350-rgw-move-all-reshard-config-options-out-of-legacy_co.patch Patch0351: 0351-rgw-fix-bad-user-stats-on-versioned-bucket-after-res.patch Patch0352: 0352-ceph-volume-client-allow-setting-mode-of-CephFS-volu.patch Patch0353: 0353-rgw-feature-log-successful-bucket-resharding-events.patch Patch0354: 0354-rgw_lc-support-for-object-tagging-in-LC-policies.patch Patch0355: 0355-rgw_tag-implement-emplace-empty-clear-methods.patch Patch0356: 0356-rgw-rgw_tag_s3-make-dump_xml-a-const-member-function.patch Patch0357: 0357-rgw-lifcycle-don-t-reject-compound-rules-with-empty-.patch Patch0358: 0358-librgw-export-multitenancy-support.patch Patch0359: 0359-rgw_file-deep-stat-handling.patch Patch0360: 0360-MDSMonitor-allow-beacons-from-stopping-MDS-that-was-.patch Patch0361: 0361-mds-use-uniform-write-handler-for-PQ.patch Patch0362: 0362-mds-disallow-dumping-huge-caches-to-formatter.patch Patch0363: 0363-mds-prevent-rctime-from-going-back.patch Patch0364: 0364-client-two-ceph-fuse-client-one-can-not-list-out-fil.patch Patch0365: 0365-client-update-ctime-when-modifying-file-content.patch Patch0366: 0366-mds-fix-mds-damaged-due-to-unexpected-journal-length.patch Patch0367: 0367-osdc-reduce-ObjectCacher-s-memory-fragments.patch Patch0368: 0368-osdc-Journaler-make-try_read_entry-store-data-in-con.patch Patch0369: 0369-cephfs-journal-tool-dump-to-per-rank-output-file-whe.patch Patch0370: 0370-cephfs-journal-tool-pass-local-arg-vector-for-Journa.patch Patch0371: 0371-cephfs-journal-tool-make-rank-argument-mandatory.patch Patch0372: 0372-test-make-rank-argument-mandatory-when-running-journ.patch Patch0373: 0373-PendingReleaseNotes-add-release-notes-for-cephfs-jou.patch Patch0374: 0374-mds-obsolete-MDSMap-option-configs.patch Patch0375: 0375-libcephfs-expose-CEPH_SETATTR_MTIME_NOW-and-CEPH_SET.patch Patch0376: 0376-mds-queue-inodes-into-MDCache-export_pin_queue-after.patch Patch0377: 0377-mds-don-t-exclude-disallowed-caps-when-recording-wan.patch Patch0378: 0378-client-don-t-update-importing-caps-mseq-when-handing.patch Patch0379: 0379-mds-make-timeout-parameter-optional-for-cache-drop.patch Patch0380: 0380-mds-fix-infinite-loop-in-OpTracker-check_ops_in_flig.patch Patch0381: 0381-msg-lower-verbosity-on-normal-event.patch Patch0382: 0382-mds-log-evicted-clients-to-clog-dbg.patch Patch0383: 0383-mds-handle-state-change-race.patch Patch0384: 0384-mds-don-t-cap-log-when-there-are-replicated-objects.patch Patch0385: 0385-mds-use-MDlog-trim_all-to-trim-log-when-deactivating.patch Patch0386: 0386-mds-flush-dirty-dirfrags-that-weren-t-logged-when-de.patch Patch0387: 0387-mds-handle-fragment-notify-race.patch Patch0388: 0388-mds-bump-mds-protocol-version.patch Patch0389: 0389-config-drop-config_proxy-lock-when-invoking-config-o.patch Patch0390: 0390-wherever-guard-handle_conf_change-from-concurrent-ex.patch Patch0391: 0391-osd-use-unlock_guard-for-unlock-osd-temporarily.patch Patch0392: 0392-osd-unlock-osd_lock-when-tweaking-osd-settings.patch Patch0393: 0393-mds-use-mono_clock-for-reconnect-timeout.patch Patch0394: 0394-mds-renew-client-session-when-receiving-any-message.patch Patch0395: 0395-mds-extend-reconnect-period-when-mds-is-busy.patch Patch0396: 0396-mgr-restful-fix-py-got-exception-when-get-osd-info.patch Patch0397: 0397-mgr-fix-crash-due-to-multiple-sessions-from-daemons-.patch Patch0398: 0398-rgw-check-for-non-existent-bucket-in-RGWGetACLs.patch Patch0399: 0399-rgw-Fix-log-level-of-gc_iterate_entries.patch Patch0400: 0400-rgw-fetch_remote_obj-filters-out-olh-attrs.patch Patch0401: 0401-test-rgw-add-multisite-test_version_suspended_increm.patch Patch0402: 0402-rgw-add-BucketShard-init-overload-for-bucket_info-ob.patch Patch0403: 0403-rgw-bi_get-takes-bucket_info.patch Patch0404: 0404-rgw-add-RGWRados-bi_get_olh-to-read-decode-olh-entry.patch Patch0405: 0405-rgw-add-RGWRados-repair_olh-to-reconstruct-olh-attrs.patch Patch0406: 0406-test-rgw-check_bucket_eq-supports-delete-markers.patch Patch0407: 0407-test-rgw-check_bucket_eq-uses-bucket.list_versions.patch Patch0408: 0408-test-rgw-add-multisite-test_delete_marker_full_sync.patch Patch0409: 0409-test-rgw-add-multisite-test_suspended_delete_marker_.patch Patch0410: 0410-rgw-bucket-full-sync-handles-delete-markers.patch Patch0411: 0411-rgw-only-update-last_trim-marker-on-ENODATA.patch Patch0412: 0412-mon-MDSMonitor-no_reply-on-MMDSLoadTargets.patch Patch0413: 0413-osd-print-offset-and-length-to-track-trimtrunc.patch Patch0414: 0414-osd-PrimaryLogPG.cc-reassign-size-only-when-object-s.patch Patch0415: 0415-osd-OSD.cc-log-slow-requests-in-OSD-logs.patch Patch0416: 0416-osd-make-calc_trim_to-independent-of-min_last_comple.patch Patch0417: 0417-osd-print-pg-log-length-and-trim_to.patch Patch0418: 0418-osd-handle-trim-during-backfill.patch Patch0419: 0419-osd-allow-trim-to-proceed-when-there-are-missing-ite.patch Patch0420: 0420-osd-reset-complete_to-when-trimming-the-log-past-it.patch Patch0421: 0421-osd-PGLog-allow-pg-log-trim-when-complete_to-is-less.patch Patch0422: 0422-osd-PGLog.cc-use-lgeneric_subdout-instead-of-generic.patch Patch0423: 0423-src-osd-PG.cc-remove-redundant-call-to-trim_log.patch Patch0424: 0424-osd-PGLog.cc-check-if-complete_to-points-to-log.end.patch Patch0425: 0425-osd-PrimaryLogPG.cc-limit-trimming-at-can_rollback_t.patch Patch0426: 0426-osd-PrimaryLogPG-avoid-dereferencing-invalid-complet.patch Patch0427: 0427-osd-PrimaryLogPG-fix-potential-pg-log-overtrimming.patch Patch0428: 0428-osd-bring-back-old-calc_trim_to-and-rename-new-metho.patch Patch0429: 0429-osd-mon-fix-upgrades-for-pg-log-hard-limit.patch Patch0430: 0430-mon-add-and-use-OSD_PGLOG_HARDLIMIT-feature-bit.patch Patch0431: 0431-mon-OSDMonitor.cc-make-a-note-about-reusing-jewel-fe.patch Patch0432: 0432-qa-suites-upgrade-jewel-x-add-pg-log-settings.patch Patch0433: 0433-qa-suites-upgrade-luminous-p2p-stress-split-add-spli.patch Patch0434: 0434-include-rados.h-hide-CEPH_OSDMAP_PGLOG_HARDLIMIT-fro.patch Patch0435: 0435-qa-suites-upgrade-jewel-x-stress-split-require-osd-r.patch Patch0436: 0436-doc-pglog_hardlimit-flag-recommendations.patch Patch0437: 0437-rgw-radosgw-admin-bucket-rm-.-purge-objects-can-hang.patch Patch0438: 0438-pybind-rbd-added-missing-RBD_FLAG_FAST_DIFF_INVALID-.patch Patch0439: 0439-librbd-reset-snaps-in-rbd_snap_list.patch Patch0440: 0440-librbd-journaling-unable-request-can-not-be-sent-to-.patch Patch0441: 0441-librbd-potential-race-in-RewatchRequest-when-resetti.patch Patch0442: 0442-librbd-fix-rbd-close-race-with-rewatch.patch Patch0443: 0443-librbd-ensure-managed-lock-can-shut-down-if-stuck-wa.patch Patch0444: 0444-rbd-mirror-attempt-to-re-acquire-leader-lock-if-watc.patch Patch0445: 0445-librbd-attempt-to-recover-lost-image-watcher-upon-al.patch Patch0446: 0446-librbd-watcher-should-internally-track-blacklisted-s.patch Patch0447: 0447-librbd-assume-lock-is-unlocked-if-blacklisted-or-obj.patch Patch0448: 0448-librbd-reacquire-lock-should-properly-handle-failed-.patch Patch0449: 0449-librbd-helper-to-retrieve-the-correct-error-code-for.patch Patch0450: 0450-librbd-use-the-correct-error-code-when-the-exclusive.patch Patch0451: 0451-mds-log-session-open-stats.patch Patch0452: 0452-mds-clean-up-log-level-2-messages.patch Patch0453: 0453-mds-do-not-log-internal-journal-error.patch Patch0454: 0454-mds-trim-cache-after-journal-flush.patch Patch0455: 0455-client-flush-cap-release-on-session-flush.patch Patch0456: 0456-mds-cleanup-Session-init.patch Patch0457: 0457-mds-cleanup-SessionMap-init.patch Patch0458: 0458-mds-add-throttle-for-trimming-MDCache.patch Patch0459: 0459-mds-adapt-drop-cache-for-incremental-trim.patch Patch0460: 0460-mds-recall-caps-incrementally.patch Patch0461: 0461-mds-adapt-drop-cache-for-incremental-recall.patch Patch0462: 0462-mds-limit-maximum-number-of-caps-held-by-session.patch Patch0463: 0463-qa-test-mds_max_caps_per_client-conf.patch Patch0464: 0464-mds-add-extra-details-for-cache-drop-output.patch Patch0465: 0465-mds-simplify-recall-warnings.patch Patch0466: 0466-test-mds-fix-Session-cons-call.patch Patch0467: 0467-mds-handle-negative-decay-counter.patch Patch0468: 0468-mgr-DaemonServer-log-pgmap-usage-to-cluster-log.patch Patch0469: 0469-rgw-cleanup-for-RGWDeleteObj-verify_permission.patch Patch0470: 0470-rgw-fix-obj-can-still-be-deleted-even-if-deleteobjec.patch Patch0471: 0471-rgw-ldap-move-conditional-LDAPEngine-init-into-it-s-.patch Patch0472: 0472-rgw-Don-t-treat-colons-specially-in-resource-part-of.patch Patch0473: 0473-restful-Fix-regression-when-traversing-leaf-nodes.patch Patch0474: 0474-rgw-fix-cls_bucket_head-result-order-consistency.patch Patch0475: 0475-rgw-bug-in-versioning-concurrent-list-and-get-have-c.patch Patch0476: 0476-rgw-resolve-bug-where-marker-was-not-advanced-during.patch Patch0477: 0477-rgw-lifecycle-alternate-solution-to-prefix_map-confl.patch Patch0478: 0478-rgw-admin-add-a-new-lc-get-command.patch Patch0479: 0479-ceph-dencoder-add-support-for-RGWLifecycleConfigurat.patch Patch0480: 0480-RGWLC-debug-tags-in-rgwlc_s3_expiration_header.patch Patch0481: 0481-rgw-complete-expiration-header-object-tags.patch Patch0482: 0482-rgw-fix-rgw_data_sync_info-json_decode.patch Patch0483: 0483-rgw-add-datalog-autotrim-admin-command.patch Patch0484: 0484-test-rgw_multi-add-test_datalog_autotrim.patch Patch0485: 0485-rgw-lifecycle-backport-add-fmt-format-format-inl-cor.patch Patch0486: 0486-rgw-resolve-bugs-and-clean-up-garbage-collection-cod.patch Patch0487: 0487-rgw-lifecycle-fix-RGWLifecycleConfiguration-valid.patch Patch0488: 0488-rgw-data-sync-drains-lease-stack-on-lease-failure.patch Patch0489: 0489-rgw-lifecycle-fix-object-iteration-for-1-same-prefix.patch %if 0%{?suse_version} %if 0%{?is_opensuse} ExclusiveArch: x86_64 aarch64 ppc64 ppc64le %else ExclusiveArch: x86_64 aarch64 ppc64le s390x %endif %endif ################################################################################# # dependencies that apply across all distro families ################################################################################# Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release} Requires(post): binutils %if 0%{with cephfs_java} BuildRequires: java-devel BuildRequires: sharutils %endif %if 0%{with selinux} BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: /usr/share/selinux/devel/policyhelp %endif %if 0%{with make_check} %if 0%{?fedora} || 0%{?rhel} BuildRequires: python-cherrypy BuildRequires: python-werkzeug %endif %if 0%{?suse_version} BuildRequires: python-CherryPy BuildRequires: python-Werkzeug BuildRequires: python-numpy-devel %endif BuildRequires: python-coverage BuildRequires: python-pecan BuildRequires: socat %endif BuildRequires: bc BuildRequires: gperf BuildRequires: cmake BuildRequires: cryptsetup BuildRequires: fuse-devel BuildRequires: gcc-c++ BuildRequires: gdbm %if 0%{with tcmalloc} BuildRequires: gperftools-devel >= 2.4 %endif BuildRequires: jq BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libudev-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: make BuildRequires: parted BuildRequires: perl BuildRequires: pkgconfig BuildRequires: python BuildRequires: python-devel BuildRequires: python-nose BuildRequires: python-requests BuildRequires: python-six BuildRequires: python-virtualenv BuildRequires: snappy-devel BuildRequires: udev BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet BuildRequires: yasm ################################################################################# # distro-conditional dependencies ################################################################################# %if 0%{?suse_version} BuildRequires: pkgconfig(systemd) BuildRequires: systemd-rpm-macros BuildRequires: systemd %{?systemd_requires} PreReq: %fillup_prereq BuildRequires: net-tools BuildRequires: libbz2-devel BuildRequires: btrfsprogs BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: lsb-release BuildRequires: openldap2-devel BuildRequires: python-Cython BuildRequires: python-PrettyTable BuildRequires: python-Sphinx BuildRequires: rdma-core-devel %endif %if 0%{?fedora} || 0%{?rhel} Requires: systemd BuildRequires: boost-random BuildRequires: btrfs-progs BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libibverbs-devel BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: redhat-lsb-core BuildRequires: Cython BuildRequires: python-prettytable BuildRequires: python-sphinx %endif # python34-... for RHEL, python3-... for all other supported distros # no py3 in RH Ceph Storage %if 0%{?rhel} #BuildRequires: python34-devel #BuildRequires: python34-setuptools #BuildRequires: python34-Cython %else BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-Cython %endif # lttng and babeltrace for rbd-replay-prep %if %{with lttng} %if 0%{?fedora} || 0%{?rhel} BuildRequires: lttng-ust-devel BuildRequires: libbabeltrace-devel %endif %if 0%{?suse_version} BuildRequires: lttng-ust-devel BuildRequires: babeltrace-devel %endif %endif %if 0%{?suse_version} BuildRequires: libexpat-devel %endif %if 0%{?rhel} || 0%{?fedora} BuildRequires: expat-devel %endif #hardened-cc1 %if 0%{?fedora} || 0%{?rhel} BuildRequires: redhat-rpm-config %endif %description Ceph is a massively scalable, open-source, distributed storage system that runs on commodity hardware and delivers object, block and file system storage. ################################################################################# # subpackages ################################################################################# %package base Summary: Ceph Base Package %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif Requires: python Requires: python-requests Requires: python-setuptools Requires: grep Requires: xfsprogs Requires: logrotate Requires: util-linux Requires: cryptsetup Requires: findutils Requires: psmisc Requires: which %if 0%{?suse_version} Recommends: ntp-daemon %endif %description base Base is the package that includes all the files shared amongst ceph servers %package -n ceph-common Summary: Ceph Common %if 0%{?suse_version} Group: System/Filesystems %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} Requires: python-prettytable %endif %if 0%{?suse_version} Requires: python-PrettyTable %endif Requires: python-requests %if 0%{with tcmalloc} Requires: gperftools-libs >= 2.4-8.el7 %endif %{?systemd_requires} %if 0%{?suse_version} Requires(pre): pwdutils %endif %description -n ceph-common Common utilities to mount and interact with a ceph storage cluster. Comprised of files that are common to Ceph clients and servers. %package mds Summary: Ceph Metadata Server Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %description mds ceph-mds is the metadata server daemon for the Ceph distributed file system. One or more instances of ceph-mds collectively manage the file system namespace, coordinating access to the shared OSD cluster. %package mon Summary: Ceph Monitor Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} # For ceph-rest-api %if 0%{?fedora} || 0%{?rhel} Requires: python-flask %endif %if 0%{?suse_version} Requires: python-Flask %endif %description mon ceph-mon is the cluster monitor daemon for the Ceph distributed file system. One or more instances of ceph-mon form a Paxos part-time parliament cluster that provides extremely reliable and durable storage of cluster membership, configuration, and state. %package mgr Summary: Ceph Manager Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: python-six %if 0%{?fedora} || 0%{?rhel} Requires: python-cherrypy Requires: python-jinja2 Requires: python-werkzeug Requires: pyOpenSSL %endif %if 0%{?suse_version} Requires: python-CherryPy Requires: python-Jinja2 Requires: python-Werkzeug Requires: python-pyOpenSSL %endif Requires: python-pecan %description mgr ceph-mgr enables python modules that provide services (such as the REST module derived from Calamari) and expose CLI hooks. ceph-mgr gathers the cluster maps, the daemon metadata, and performance counters, and exposes all these to the python modules. %package fuse Summary: Ceph fuse-based client %if 0%{?suse_version} Group: System/Filesystems %endif Requires: fuse %description fuse FUSE based client for Ceph distributed network file system %package -n rbd-fuse Summary: Ceph fuse-based client %if 0%{?suse_version} Group: System/Filesystems %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-fuse FUSE based client to map Ceph rbd images to files %package -n rbd-mirror Summary: Ceph daemon for mirroring RBD images %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-mirror Daemon for mirroring RBD images between Ceph clusters, streaming changes asynchronously. %package -n rbd-nbd Summary: Ceph RBD client base on NBD %if 0%{?suse_version} Group: System/Filesystems %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-nbd NBD based client to map Ceph rbd images to local device %package radosgw Summary: Rados REST gateway %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?rhel} || 0%{?fedora} Requires: mailcap %endif %description radosgw RADOS is a distributed object store used by the Ceph distributed storage system. This package provides a REST gateway to the object store that aims to implement a superset of Amazon's S3 service as well as the OpenStack Object Storage ("Swift") API. %if %{with ocf} %package resource-agents Summary: OCF-compliant resource agents for Ceph daemons %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version} Requires: resource-agents %description resource-agents Resource agents for monitoring and managing Ceph daemons under Open Cluster Framework (OCF) compliant resource managers such as Pacemaker. %endif %package osd Summary: Ceph Object Storage Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} # for sgdisk, used by ceph-disk %if 0%{?fedora} || 0%{?rhel} Requires: gdisk %endif %if 0%{?suse_version} Requires: gptfdisk %endif Requires: parted >= 3.1-26 Requires: lvm2 %description osd ceph-osd is the object storage daemon for the Ceph distributed file system. It is responsible for storing objects on a local file system and providing access to them over the network. %package -n librados2 Summary: RADOS distributed object store client library %if 0%{?suse_version} Group: System/Libraries %endif %if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librados2 RADOS is a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to access the distributed object store using a simple file-like interface. %package -n librados-devel Summary: RADOS headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: librados2-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: librados2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librados-devel This package contains libraries and headers needed to develop programs that use RADOS object store. %package -n librgw2 Summary: RADOS gateway client library %if 0%{?suse_version} Group: System/Libraries %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n librgw2 This package provides a library implementation of the RADOS gateway (distributed object store with S3 and Swift personalities). %package -n librgw-devel Summary: RADOS gateway client library %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Provides: librgw2-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librgw-devel This package contains libraries and headers needed to develop programs that use RADOS gateway client library. %package -n python-rgw Summary: Python 2 libraries for the RADOS gateway %if 0%{?suse_version} Group: Development/Languages/Python %endif Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rgw This package contains Python 2 libraries for interacting with Cephs RADOS gateway. %package -n python-rados Summary: Python 2 libraries for the RADOS object store %if 0%{?suse_version} Group: Development/Languages/Python %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rados This package contains Python 2 libraries for interacting with Cephs RADOS object store. %package -n libradosstriper1 Summary: RADOS striping interface %if 0%{?suse_version} Group: System/Libraries %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper1 Striping interface built on top of the rados library, allowing to stripe bigger objects onto several standard rados objects using an interface very similar to the rados one. %package -n libradosstriper-devel Summary: RADOS striping interface headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libradosstriper1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libradosstriper1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper-devel This package contains libraries and headers needed to develop programs that use RADOS striping interface. %package -n librbd1 Summary: RADOS block device client library %if 0%{?suse_version} Group: System/Libraries %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires(post): coreutils %endif %if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librbd1 RBD is a block device striped across multiple distributed objects in RADOS, a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to manage these block devices. %package -n librbd-devel Summary: RADOS block device headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: librbd1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release} %description -n librbd-devel This package contains libraries and headers needed to develop programs that use RADOS block device. %package -n python-rbd Summary: Python 2 libraries for the RADOS block device %if 0%{?suse_version} Group: Development/Languages/Python %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rbd This package contains Python 2 libraries for interacting with Cephs RADOS block device. %package -n libcephfs2 Summary: Ceph distributed file system client library %if 0%{?suse_version} Group: System/Libraries %endif Obsoletes: libcephfs1 %if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-libcephfs %endif %description -n libcephfs2 Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a POSIX-like interface. %package -n libcephfs-devel Summary: Ceph distributed file system headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libcephfs2-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs-devel This package contains libraries and headers needed to develop programs that use Cephs distributed file system. %package -n python-cephfs Summary: Python 2 libraries for Ceph distributed file system %if 0%{?suse_version} Group: Development/Languages/Python %endif Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Recommends: python-rados = %{_epoch_prefix}%{version}-%{release} %endif Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-cephfs This package contains Python 2 libraries for interacting with Cephs distributed file system. %if 0%{with ceph_test_package} %package -n ceph-test Summary: Ceph benchmarks and test tools %if 0%{?suse_version} Group: System/Benchmark %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: xmlstarlet Requires: jq Requires: socat %description -n ceph-test This package contains Ceph benchmarks and test tools. %endif %if 0%{with cephfs_java} %package -n libcephfs_jni1 Summary: Java Native Interface library for CephFS Java bindings %if 0%{?suse_version} Group: System/Libraries %endif Requires: java Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni1 This package contains the Java Native Interface library for CephFS Java bindings. %package -n libcephfs_jni-devel Summary: Development files for CephFS Java Native Interface library %if 0%{?suse_version} Group: Development/Libraries/Java %endif Requires: java Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libcephfs_jni1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libcephfs_jni1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni-devel This package contains the development files for CephFS Java Native Interface library. %package -n cephfs-java Summary: Java libraries for the Ceph File System %if 0%{?suse_version} Group: System/Libraries %endif Requires: java Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} Requires: junit BuildRequires: junit %description -n cephfs-java This package contains the Java libraries for the Ceph File System. %endif %package -n rados-objclass-devel Summary: RADOS object class development kit Group: Development/Libraries Requires: librados2-devel = %{_epoch_prefix}%{version}-%{release} %description -n rados-objclass-devel This package contains libraries and headers needed to develop RADOS object class plugins. %if 0%{with selinux} %package selinux Summary: SELinux support for Ceph MON, OSD and MDS %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: policycoreutils, libselinux-utils Requires(post): ceph-base = %{_epoch_prefix}%{version}-%{release} Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk Requires(postun): policycoreutils %description selinux This package contains SELinux support for Ceph MON, OSD and MDS. The package also performs file-system relabelling which can take a long time on heavily populated file-systems. %endif %package -n python-ceph-compat Summary: Compatibility package for Cephs python libraries %if 0%{?suse_version} Group: Development/Languages/Python %endif Obsoletes: python-ceph Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} Provides: python-ceph %description -n python-ceph-compat This is a compatibility package to accommodate python-ceph split into python-rados, python-rbd, python-rgw and python-cephfs. Packages still depending on python-ceph should be fixed to depend on python-rados, python-rbd, python-rgw or python-cephfs instead. ################################################################################# # common ################################################################################# %prep %autosetup -p1 # Rewrite .git_version file. # `rdopkg update-patches` will automatically update this macro: %global commit 2f66ab2fa63b2879913db6d6cf314572a83fd1f0 # and then the macro gets written into .git_version: echo %{commit} > src/.git_version echo v%{version}-%{release} >> src/.git_version %build %if 0%{with cephfs_java} # Find jni.h for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do [ -d $i ] && java_inc="$java_inc -I$i" done %endif %if %{with lowmem_builder} RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" %endif export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` export CPPFLAGS="$java_inc" export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" env | sort %if %{with lowmem_builder} %if 0%{?jobs} > 8 %define _smp_mflags -j8 %endif %endif # unlimit _smp_mflags in system macro if not set above # Brew cannot handle -j24 here %define _smp_ncpus_max 16 # extract the number of processors for use with cmake %define _smp_ncpus %(echo %{_smp_mflags} | sed 's/-j//') mkdir build cd build cmake .. \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ -DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \ -DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} \ -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ -DCMAKE_INSTALL_MANDIR=%{_mandir} \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=OFF \ -DWITH_SYSTEMD=ON \ %if 0%{?rhel} && ! 0%{?centos} -DWITH_SUBMAN=ON \ %endif %if 0%{without ceph_test_package} -DWITH_TESTS=OFF \ %endif %if 0%{with cephfs_java} -DWITH_CEPHFS_JAVA=ON \ %endif %if 0%{with selinux} -DWITH_SELINUX=ON \ %endif %if %{with lttng} -DWITH_LTTNG=ON \ -DWITH_BABELTRACE=ON \ %else -DWITH_LTTNG=OFF \ -DWITH_BABELTRACE=OFF \ %endif $CEPH_EXTRA_CMAKE_ARGS \ %if 0%{with ocf} -DWITH_OCF=ON \ %endif %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 -DWITH_BOOST_CONTEXT=ON \ %else -DWITH_BOOST_CONTEXT=OFF \ %endif -DBOOST_J=%{_smp_ncpus} make %{?_smp_mflags} %if 0%{with make_check} %check # run in-tree unittests cd build ctest %{?_smp_mflags} %endif %install pushd build make DESTDIR=%{buildroot} install # we have dropped sysvinit bits rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph popd install -m 0644 -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap %if 0%{?fedora} || 0%{?rhel} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph %endif %if 0%{?suse_version} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name} %endif install -m 0644 -D systemd/ceph.tmpfiles.d %{buildroot}%{_tmpfilesdir}/ceph-common.conf install -m 0755 -D systemd/ceph %{buildroot}%{_sbindir}/rcceph install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset mkdir -p %{buildroot}%{_sbindir} install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING install -m 0644 -D etc/sysctl/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} install -m 0644 -D etc/sysconfig/SuSEfirewall2.d/services/ceph-mon %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon install -m 0644 -D etc/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds mkdir -p %{buildroot}/sbin ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph %endif # udev rules install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules install -m 0644 -D udev/60-ceph-by-parttypeuuid.rules %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules #set up placeholder directories mkdir -p %{buildroot}%{_sysconfdir}/ceph mkdir -p %{buildroot}%{_localstatedir}/run/ceph mkdir -p %{buildroot}%{_localstatedir}/log/ceph mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/tmp mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd %if 0%{?suse_version} # create __pycache__ directories and their contents %py3_compile %{buildroot}%{python3_sitelib} %endif %clean rm -rf %{buildroot} ################################################################################# # files and systemd scriptlets ################################################################################# %files %files base %{_bindir}/crushtool %{_bindir}/monmaptool %{_bindir}/osdmaptool %{_bindir}/ceph-kvstore-tool %{_bindir}/ceph-run %{_bindir}/ceph-detect-init %{_libexecdir}/systemd/system-preset/50-ceph.preset %{_sbindir}/ceph-create-keys %{_sbindir}/ceph-disk %{_sbindir}/rcceph %dir %{_libexecdir}/ceph %{_libexecdir}/ceph/ceph_common.sh %dir %{_libdir}/rados-classes %{_libdir}/rados-classes/* %dir %{_libdir}/ceph %dir %{_libdir}/ceph/erasure-code %{_libdir}/ceph/erasure-code/libec_*.so* %dir %{_libdir}/ceph/compressor %{_libdir}/ceph/compressor/libceph_*.so* %ifarch x86_64 %dir %{_libdir}/ceph/crypto %{_libdir}/ceph/crypto/libceph_*.so* %endif %if %{with lttng} %{_libdir}/libos_tp.so* %{_libdir}/libosd_tp.so* %endif %config(noreplace) %{_sysconfdir}/logrotate.d/ceph %if 0%{?fedora} || 0%{?rhel} %config(noreplace) %{_sysconfdir}/sysconfig/ceph %endif %if 0%{?suse_version} %{_localstatedir}/adm/fillup-templates/sysconfig.* %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %endif %{_unitdir}/ceph-disk@.service %{_unitdir}/ceph.target %{python_sitelib}/ceph_detect_init* %{python_sitelib}/ceph_disk* %dir %{python_sitelib}/ceph_volume %{python_sitelib}/ceph_volume/* %{python_sitelib}/ceph_volume-* %{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-detect-init.8* %{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-disk.8* %{_mandir}/man8/ceph-run.8* %{_mandir}/man8/crushtool.8* %{_mandir}/man8/osdmaptool.8* %{_mandir}/man8/monmaptool.8* %{_mandir}/man8/ceph-kvstore-tool.8* #set up placeholder directories %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-osd %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mds %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rgw %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mgr %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rbd %post base /sbin/ldconfig %if 0%{?suse_version} %fillup_only if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-disk@\*.service ceph.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-disk@\*.service ceph.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph.target >/dev/null 2>&1 || : fi %preun base %if 0%{?suse_version} %service_del_preun ceph-disk@\*.service ceph.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-disk@\*.service ceph.target %endif %postun base /sbin/ldconfig test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-disk@\*.service ceph.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-disk@\*.service ceph.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-disk@\*.service > /dev/null 2>&1 || : fi fi %files common %dir %{_docdir}/ceph %doc %{_docdir}/ceph/sample.ceph.conf %doc %{_docdir}/ceph/COPYING %{_bindir}/ceph %{_bindir}/ceph-authtool %{_bindir}/ceph-conf %{_bindir}/ceph-dencoder %{_bindir}/ceph-rbdnamer %{_bindir}/ceph-syn %{_bindir}/ceph-crush-location %{_bindir}/cephfs-data-scan %{_bindir}/cephfs-journal-tool %{_bindir}/cephfs-table-tool %{_bindir}/rados %{_bindir}/radosgw-admin %{_bindir}/rbd %{_bindir}/rbd-replay %{_bindir}/rbd-replay-many %{_bindir}/rbdmap %{_sbindir}/mount.ceph %if 0%{?suse_version} /sbin/mount.ceph %endif %if %{with lttng} %{_bindir}/rbd-replay-prep %endif %{_bindir}/ceph-post-file %{_bindir}/ceph-brag %{_tmpfilesdir}/ceph-common.conf %{_mandir}/man8/ceph-authtool.8* %{_mandir}/man8/ceph-conf.8* %{_mandir}/man8/ceph-dencoder.8* %{_mandir}/man8/ceph-rbdnamer.8* %{_mandir}/man8/ceph-syn.8* %{_mandir}/man8/ceph-post-file.8* %{_mandir}/man8/ceph.8* %{_mandir}/man8/mount.ceph.8* %{_mandir}/man8/rados.8* %{_mandir}/man8/radosgw-admin.8* %{_mandir}/man8/rbd.8* %{_mandir}/man8/rbdmap.8* %{_mandir}/man8/rbd-replay.8* %{_mandir}/man8/rbd-replay-many.8* %{_mandir}/man8/rbd-replay-prep.8* %dir %{_datadir}/ceph/ %{_datadir}/ceph/known_hosts_drop.ceph.com %{_datadir}/ceph/id_rsa_drop.ceph.com %{_datadir}/ceph/id_rsa_drop.ceph.com.pub %dir %{_sysconfdir}/ceph/ %config %{_sysconfdir}/bash_completion.d/ceph %config %{_sysconfdir}/bash_completion.d/rados %config %{_sysconfdir}/bash_completion.d/rbd %config %{_sysconfdir}/bash_completion.d/radosgw-admin %config(noreplace) %{_sysconfdir}/ceph/rbdmap %{_unitdir}/rbdmap.service %{python_sitelib}/ceph_argparse.py* %{python_sitelib}/ceph_daemon.py* %dir %{_udevrulesdir} %{_udevrulesdir}/50-rbd.rules %attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/ %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/ %pre common CEPH_GROUP_ID=167 CEPH_USER_ID=167 %if 0%{?rhel} || 0%{?fedora} /usr/sbin/groupadd ceph -g $CEPH_GROUP_ID -o -r 2>/dev/null || : /usr/sbin/useradd ceph -u $CEPH_USER_ID -o -r -g ceph -s /sbin/nologin -c "Ceph daemons" -d %{_localstatedir}/lib/ceph 2>/dev/null || : %endif %if 0%{?suse_version} if ! getent group ceph >/dev/null ; then CEPH_GROUP_ID_OPTION="" getent group $CEPH_GROUP_ID >/dev/null || CEPH_GROUP_ID_OPTION="-g $CEPH_GROUP_ID" groupadd ceph $CEPH_GROUP_ID_OPTION -r 2>/dev/null || : fi if ! getent passwd ceph >/dev/null ; then CEPH_USER_ID_OPTION="" getent passwd $CEPH_USER_ID >/dev/null || CEPH_USER_ID_OPTION="-u $CEPH_USER_ID" useradd ceph $CEPH_USER_ID_OPTION -r -g ceph -s /sbin/nologin 2>/dev/null || : fi usermod -c "Ceph storage service" \ -d %{_localstatedir}/lib/ceph \ -g ceph \ -s /sbin/nologin \ ceph %endif exit 0 %post common %tmpfiles_create %{_tmpfilesdir}/ceph-common.conf %postun common # Package removal cleanup if [ "$1" -eq "0" ] ; then rm -rf %{_localstatedir}/log/ceph rm -rf %{_sysconfdir}/ceph fi %files mds %{_bindir}/ceph-mds %{_mandir}/man8/ceph-mds.8* %{_unitdir}/ceph-mds@.service %{_unitdir}/ceph-mds.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mds %post mds %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mds@\*.service ceph-mds.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-mds@\*.service ceph-mds.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mds.target >/dev/null 2>&1 || : fi %preun mds %if 0%{?suse_version} %service_del_preun ceph-mds@\*.service ceph-mds.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-mds@\*.service ceph-mds.target %endif %postun mds test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-mds@\*.service ceph-mds.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-mds@\*.service ceph-mds.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mds@\*.service > /dev/null 2>&1 || : fi fi %files mgr %{_bindir}/ceph-mgr %{_libdir}/ceph/mgr %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr %post mgr %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mgr@\*.service ceph-mgr.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-mgr@\*.service ceph-mgr.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mgr.target >/dev/null 2>&1 || : fi %preun mgr %if 0%{?suse_version} %service_del_preun ceph-mgr@\*.service ceph-mgr.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-mgr@\*.service ceph-mgr.target %endif %postun mgr test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-mgr@\*.service ceph-mgr.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-mgr@\*.service ceph-mgr.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mgr@\*.service > /dev/null 2>&1 || : fi fi %files mon %{_bindir}/ceph-mon %{_bindir}/ceph-rest-api %{_bindir}/ceph-monstore-tool %{_mandir}/man8/ceph-mon.8* %{_mandir}/man8/ceph-rest-api.8* %{python_sitelib}/ceph_rest_api.py* %{_unitdir}/ceph-mon@.service %{_unitdir}/ceph-mon.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon %post mon %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mon@\*.service ceph-mon.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-mon@\*.service ceph-mon.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mon.target >/dev/null 2>&1 || : fi %preun mon %if 0%{?suse_version} %service_del_preun ceph-mon@\*.service ceph-mon.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-mon@\*.service ceph-mon.target %endif %postun mon test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-mon@\*.service ceph-mon.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-mon@\*.service ceph-mon.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mon@\*.service > /dev/null 2>&1 || : fi fi %files fuse %{_bindir}/ceph-fuse %{_mandir}/man8/ceph-fuse.8* %{_sbindir}/mount.fuse.ceph %{_unitdir}/ceph-fuse@.service %{_unitdir}/ceph-fuse.target %files -n rbd-fuse %{_bindir}/rbd-fuse %{_mandir}/man8/rbd-fuse.8* %files -n rbd-mirror %{_bindir}/rbd-mirror %{_mandir}/man8/rbd-mirror.8* %{_unitdir}/ceph-rbd-mirror@.service %{_unitdir}/ceph-rbd-mirror.target %post -n rbd-mirror %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-rbd-mirror@\*.service ceph-rbd-mirror.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-rbd-mirror.target >/dev/null 2>&1 || : fi %preun -n rbd-mirror %if 0%{?suse_version} %service_del_preun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif %postun -n rbd-mirror test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-rbd-mirror@\*.service > /dev/null 2>&1 || : fi fi %files -n rbd-nbd %{_bindir}/rbd-nbd %{_mandir}/man8/rbd-nbd.8* %files radosgw %{_bindir}/radosgw %{_bindir}/radosgw-token %{_bindir}/radosgw-es %{_bindir}/radosgw-object-expirer %{_mandir}/man8/radosgw.8* %dir %{_localstatedir}/lib/ceph/radosgw %{_unitdir}/ceph-radosgw@.service %{_unitdir}/ceph-radosgw.target %post radosgw %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-radosgw@\*.service ceph-radosgw.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-radosgw.target >/dev/null 2>&1 || : fi %preun radosgw %if 0%{?suse_version} %service_del_preun ceph-radosgw@\*.service ceph-radosgw.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-radosgw@\*.service ceph-radosgw.target %endif %postun radosgw test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-radosgw@\*.service ceph-radosgw.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-radosgw@\*.service ceph-radosgw.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-radosgw@\*.service > /dev/null 2>&1 || : fi fi %files osd %{_bindir}/ceph-clsinfo %{_bindir}/ceph-bluestore-tool %{_bindir}/ceph-objectstore-tool %{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-osd %{_libexecdir}/ceph/ceph-osd-prestart.sh %{_sbindir}/ceph-volume %{_sbindir}/ceph-volume-systemd %dir %{_udevrulesdir} %{_udevrulesdir}/60-ceph-by-parttypeuuid.rules %{_udevrulesdir}/95-ceph-osd.rules %{_mandir}/man8/ceph-clsinfo.8* %{_mandir}/man8/ceph-osd.8* %{_mandir}/man8/ceph-bluestore-tool.8* %{_mandir}/man8/ceph-volume.8* %{_mandir}/man8/ceph-volume-systemd.8* %if 0%{?rhel} && ! 0%{?centos} %attr(0755,-,-) %{_sysconfdir}/cron.hourly/subman %endif %{_unitdir}/ceph-osd@.service %{_unitdir}/ceph-osd.target %{_unitdir}/ceph-volume@.service %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd %config(noreplace) %{_sysctldir}/90-ceph-osd.conf %post osd %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-osd.target >/dev/null 2>&1 || : fi %if 0%{?sysctl_apply} %sysctl_apply 90-ceph-osd.conf %else /usr/lib/systemd/systemd-sysctl %{_sysctldir}/90-ceph-osd.conf > /dev/null 2>&1 || : %endif # work around https://tracker.ceph.com/issues/24903 chown -f -h ceph:ceph /var/lib/ceph/osd/*/block* 2>&1 > /dev/null || : %preun osd %if 0%{?suse_version} %service_del_preun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif %postun osd test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-osd@\*.service ceph-volume@\*.service > /dev/null 2>&1 || : fi fi %if %{with ocf} %files resource-agents %dir %{_prefix}/lib/ocf %dir %{_prefix}/lib/ocf/resource.d %dir %{_prefix}/lib/ocf/resource.d/ceph %attr(0755,-,-) %{_prefix}/lib/ocf/resource.d/ceph/rbd %endif %files -n librados2 %{_libdir}/librados.so.* %dir %{_libdir}/ceph %{_libdir}/ceph/libceph-common.so* %if %{with lttng} %{_libdir}/librados_tp.so.* %endif %post -n librados2 -p /sbin/ldconfig %postun -n librados2 -p /sbin/ldconfig %files -n librados-devel %dir %{_includedir}/rados %{_includedir}/rados/librados.h %{_includedir}/rados/librados.hpp %{_includedir}/rados/buffer.h %{_includedir}/rados/buffer_fwd.h %{_includedir}/rados/inline_memory.h %{_includedir}/rados/page.h %{_includedir}/rados/crc32c.h %{_includedir}/rados/rados_types.h %{_includedir}/rados/rados_types.hpp %{_includedir}/rados/memory.h %{_libdir}/librados.so %if %{with lttng} %{_libdir}/librados_tp.so %endif %{_bindir}/librados-config %{_mandir}/man8/librados-config.8* %files -n python-rados %{python_sitearch}/rados.so %{python_sitearch}/rados-*.egg-info %files -n libradosstriper1 %{_libdir}/libradosstriper.so.* %post -n libradosstriper1 -p /sbin/ldconfig %postun -n libradosstriper1 -p /sbin/ldconfig %files -n libradosstriper-devel %dir %{_includedir}/radosstriper %{_includedir}/radosstriper/libradosstriper.h %{_includedir}/radosstriper/libradosstriper.hpp %{_libdir}/libradosstriper.so %files -n librbd1 %{_libdir}/librbd.so.* %if %{with lttng} %{_libdir}/librbd_tp.so.* %endif %post -n librbd1 -p /sbin/ldconfig %postun -n librbd1 -p /sbin/ldconfig %files -n librbd-devel %dir %{_includedir}/rbd %{_includedir}/rbd/librbd.h %{_includedir}/rbd/librbd.hpp %{_includedir}/rbd/features.h %{_libdir}/librbd.so %if %{with lttng} %{_libdir}/librbd_tp.so %endif %files -n librgw2 %{_libdir}/librgw.so.* %post -n librgw2 -p /sbin/ldconfig %postun -n librgw2 -p /sbin/ldconfig %files -n librgw-devel %dir %{_includedir}/rados %{_includedir}/rados/librgw.h %{_includedir}/rados/rgw_file.h %{_libdir}/librgw.so %files -n python-rgw %{python_sitearch}/rgw.so %{python_sitearch}/rgw-*.egg-info %files -n python-rbd %{python_sitearch}/rbd.so %{python_sitearch}/rbd-*.egg-info %files -n libcephfs2 %{_libdir}/libcephfs.so.* %post -n libcephfs2 -p /sbin/ldconfig %postun -n libcephfs2 -p /sbin/ldconfig %files -n libcephfs-devel %dir %{_includedir}/cephfs %{_includedir}/cephfs/libcephfs.h %{_includedir}/cephfs/ceph_statx.h %{_libdir}/libcephfs.so %files -n python-cephfs %{python_sitearch}/cephfs.so %{python_sitearch}/cephfs-*.egg-info %{python_sitelib}/ceph_volume_client.py* %if 0%{with ceph_test_package} %files -n ceph-test %{_bindir}/ceph-client-debug %{_bindir}/ceph_bench_log %{_bindir}/ceph_kvstorebench %{_bindir}/ceph_multi_stress_watch %{_bindir}/ceph_erasure_code %{_bindir}/ceph_erasure_code_benchmark %{_bindir}/ceph_omapbench %{_bindir}/ceph_objectstore_bench %{_bindir}/ceph_perf_objectstore %{_bindir}/ceph_perf_local %{_bindir}/ceph_perf_msgr_client %{_bindir}/ceph_perf_msgr_server %{_bindir}/ceph_psim %{_bindir}/ceph_radosacl %{_bindir}/ceph_rgw_jsonparser %{_bindir}/ceph_rgw_multiparser %{_bindir}/ceph_scratchtool %{_bindir}/ceph_scratchtoolpp %{_bindir}/ceph_smalliobench %{_bindir}/ceph_smalliobenchdumb %{_bindir}/ceph_smalliobenchfs %{_bindir}/ceph_smalliobenchrbd %{_bindir}/ceph_test_* %{_bindir}/ceph_tpbench %{_bindir}/ceph_xattr_bench %{_bindir}/ceph-coverage %{_bindir}/ceph-debugpack %{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh %endif %if 0%{with cephfs_java} %files -n libcephfs_jni1 %{_libdir}/libcephfs_jni.so.* %post -n libcephfs_jni1 -p /sbin/ldconfig %postun -n libcephfs_jni1 -p /sbin/ldconfig %files -n libcephfs_jni-devel %{_libdir}/libcephfs_jni.so %files -n cephfs-java %{_javadir}/libcephfs.jar %{_javadir}/libcephfs-test.jar %endif %files -n rados-objclass-devel %dir %{_includedir}/rados %{_includedir}/rados/objclass.h %if 0%{with selinux} %files selinux %attr(0600,root,root) %{_datadir}/selinux/packages/ceph.pp %{_datadir}/selinux/devel/include/contrib/ceph.if %{_mandir}/man8/ceph_selinux.8* %post selinux # backup file_contexts before update . /etc/selinux/config FILE_CONTEXT=/etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts cp ${FILE_CONTEXT} ${FILE_CONTEXT}.pre # Install the policy /usr/sbin/semodule -i %{_datadir}/selinux/packages/ceph.pp # Load the policy if SELinux is enabled if ! /usr/sbin/selinuxenabled; then # Do not relabel if selinux is not enabled exit 0 fi if diff ${FILE_CONTEXT} ${FILE_CONTEXT}.pre > /dev/null 2>&1; then # Do not relabel if file contexts did not change exit 0 fi # Check whether the daemons are running /usr/bin/systemctl status ceph.target > /dev/null 2>&1 STATUS=$? # Stop the daemons if they were running if test $STATUS -eq 0; then /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 fi # Relabel the files # Use ceph-disk fix for first package install and fixfiles otherwise if [ "$1" = "1" ]; then /usr/sbin/ceph-disk fix --selinux else /usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null fi rm -f ${FILE_CONTEXT}.pre # The fixfiles command won't fix label for /var/run/ceph /usr/sbin/restorecon -R /var/run/ceph > /dev/null 2>&1 # Start the daemons iff they were running before if test $STATUS -eq 0; then /usr/bin/systemctl start ceph.target > /dev/null 2>&1 || : fi exit 0 %postun selinux if [ $1 -eq 0 ]; then # backup file_contexts before update . /etc/selinux/config FILE_CONTEXT=/etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts cp ${FILE_CONTEXT} ${FILE_CONTEXT}.pre # Remove the module /usr/sbin/semodule -n -r ceph > /dev/null 2>&1 # Reload the policy if SELinux is enabled if ! /usr/sbin/selinuxenabled ; then # Do not relabel if SELinux is not enabled exit 0 fi # Check whether the daemons are running /usr/bin/systemctl status ceph.target > /dev/null 2>&1 STATUS=$? # Stop the daemons if they were running if test $STATUS -eq 0; then /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 fi /usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null rm -f ${FILE_CONTEXT}.pre # The fixfiles command won't fix label for /var/run/ceph /usr/sbin/restorecon -R /var/run/ceph > /dev/null 2>&1 # Start the daemons if they were running before if test $STATUS -eq 0; then /usr/bin/systemctl start ceph.target > /dev/null 2>&1 || : fi fi exit 0 %endif # with selinux %files -n python-ceph-compat # We need an empty %%files list for python-ceph-compat, to tell rpmbuild to # actually build this meta package. %changelog * Thu Feb 28 2019 Thomas Serlin 2:12.2.8-89 - Update patches * Wed Feb 27 2019 Ken Dreyer 2:12.2.8-88 - rgw: lifecycle: fix object iteration for >1 same-prefix rules (rhbz#1666910) * Tue Feb 26 2019 Ken Dreyer 2:12.2.8-87 - rgw: data sync drains lease stack on lease failure (rhbz#1657392) * Mon Feb 25 2019 Ken Dreyer 2:12.2.8-86 - rgw: lifecycle: fix RGWLifecycleConfiguration::valid() (rhbz#1654588) * Mon Feb 25 2019 Ken Dreyer 2:12.2.8-85 - rgw: resolve bugs and clean up garbage collection code (rhbz#1674436 rhbz#1674436) * Thu Feb 21 2019 Ken Dreyer 2:12.2.8-84 - rgw: lifecycle: backport: add fmt/{format,format-inl,core}.h (rhbz#1666910) * Wed Feb 20 2019 Thomas Serlin 2:12.2.8-83 - Update patches * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-82 - test/rgw_multi: add test_datalog_autotrim() (rhbz#1662353) - rgw: add 'datalog autotrim' admin command (rhbz#1662353) - rgw: fix rgw_data_sync_info::json_decode() (rhbz#1662353) * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-81 - rgw: complete expiration header (object tags) (rhbz#1666910) - RGWLC: debug tags in rgwlc_s3_expiration_header (rhbz#1666910) - ceph-dencoder: add support for RGWLifecycleConfiguration (rhbz#1654588) - rgw-admin: add a new lc get command (rhbz#1654588) - rgw: lifecycle: alternate solution to prefix_map conflict (rhbz#1654588 rhbz#1666910) * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-80 - rgw: resolve bug where marker was not advanced during garbage collection (rhbz#1674436) * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-79 - rgw: bug in versioning concurrent, list and get have consistency issue (rhbz#1678871) * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-78 - rgw: fix cls_bucket_head result order consistency (rhbz#1664897) * Thu Feb 14 2019 Ken Dreyer 2:12.2.8-77 - restful: Fix regression when traversing leaf nodes (rhbz#1594746) * Tue Feb 05 2019 Ken Dreyer 2:12.2.8-76 - rgw: Don't treat colons specially in resource part of ARN (rhbz#1650674) * Tue Feb 05 2019 Ken Dreyer 2:12.2.8-75 - rgw ldap: move conditional LDAPEngine init into it's ctor (rhbz#1663566) * Tue Feb 05 2019 Ken Dreyer 2:12.2.8-74 - rgw: fix obj can still be deleted even if deleteobject policy is set (rhbz#1654694) - rgw: cleanup for RGWDeleteObj::verify_permission() (rhbz#1654694) * Mon Feb 04 2019 Ken Dreyer 2:12.2.8-73 - mgr/DaemonServer: log pgmap usage to cluster log (rhbz#1664440) * Mon Feb 04 2019 Ken Dreyer 2:12.2.8-72 - mds: handle negative decay counter (rhbz#1664468) - test/mds: fix Session cons call (rhbz#1664468) - mds: simplify recall warnings (rhbz#1664468) - mds: add extra details for cache drop output (rhbz#1664468) - qa: test mds_max_caps_per_client conf (rhbz#1669628) - mds: limit maximum number of caps held by session (rhbz#1669628) - mds: adapt drop cache for incremental recall (rhbz#1664468) - mds: recall caps incrementally (rhbz#1664468) - mds: adapt drop cache for incremental trim (rhbz#1664468) - mds: add throttle for trimming MDCache (rhbz#1664468) - mds: cleanup SessionMap init (rhbz#1664468) - mds: cleanup Session init (rhbz#1664468) - client: flush cap release on session flush (rhbz#1664468) - mds: trim cache after journal flush (rhbz#1664468) * Sun Feb 03 2019 Ken Dreyer 2:12.2.8-71 - mds: do not log internal journal error (rhbz#1645693) - mds: clean up log level 2 messages (rhbz#1645693) - mds: log session open stats (rhbz#1645693) * Fri Feb 01 2019 Ken Dreyer 2:12.2.8-70 - librbd: use the correct error code when the exclusive lock isn't locked (rhbz#1624093) - librbd: helper to retrieve the correct error code for read-only op (rhbz#1624093) - librbd: reacquire lock should properly handle failed watcher (rhbz#1624093) - librbd: assume lock is unlocked if blacklisted or object deleted (rhbz#1624093) - librbd: watcher should internally track blacklisted state (rhbz#1624093) - librbd: attempt to recover lost image watcher upon all failures (rhbz#1624093) - rbd-mirror: attempt to re-acquire leader lock if watcher recovered (rhbz#1624093) - librbd: ensure managed lock can shut down if stuck waiting for register (rhbz#1624093) - librbd: fix rbd close race with rewatch (rhbz#1624093) - librbd: potential race in RewatchRequest when resetting watch_handle (rhbz#1624093) - librbd: journaling unable request can not be sent to remote lock owner (rhbz#1624093) * Fri Feb 01 2019 Ken Dreyer 2:12.2.8-69 - librbd: reset snaps in rbd_snap_list() (rhbz#1655681) * Fri Feb 01 2019 Ken Dreyer 2:12.2.8-68 - pybind/rbd: added missing RBD_FLAG_FAST_DIFF_INVALID constant (rhbz#1639724) * Fri Feb 01 2019 Ken Dreyer 2:12.2.8-67 - rgw: `radosgw-admin bucket rm ... --purge-objects` can hang... (rhbz#1658308) * Thu Jan 31 2019 Ken Dreyer 2:12.2.8-66 - doc: pglog_hardlimit flag recommendations (rhbz#1608060) - qa/suites/upgrade/jewel-x/stress-split*: require-osd-release luminous after upgrade (rhbz#1608060) - include/rados.h: hide CEPH_OSDMAP_PGLOG_HARDLIMIT from ceph -s (rhbz#1608060) - qa/suites/upgrade/luminous-p2p-stress-split: add split scenario (rhbz#1608060) - qa/suites/upgrade/jewel-x: add pg log settings (rhbz#1608060) - mon/OSDMonitor.cc: make a note about reusing jewel feature bit (rhbz#1608060) - mon: add and use OSD_PGLOG_HARDLIMIT feature bit (rhbz#1608060) - osd/mon: fix upgrades for pg log hard limit (rhbz#1608060) - osd: bring back old calc_trim_to and rename new method (rhbz#1608060) - osd/PGLog: allow pg log trim when complete_to is less than trim_to (rhbz#1608060) - osd: make calc_trim_to() independent of min_last_complete_ondisk (rhbz#1608060) - osd/OSD.cc: log slow requests in OSD logs (rhbz#1659156) - osd/PrimaryLogPG.cc: reassign size only when object size > truncate_size (rhbz#1667619) - osd: print offset and length to track trimtrunc (rhbz#1667619) - mon/MDSMonitor: no_reply on MMDSLoadTargets (rhbz#1667605) - rgw: only update last_trim marker on ENODATA (rhbz#1662353) * Thu Jan 31 2019 Ken Dreyer 2:12.2.8-65 - rgw: bucket full sync handles delete markers (rhbz#1658308) - test/rgw: add multisite test_suspended_delete_marker_full_sync() (rhbz#1658308) - test/rgw: add multisite test_delete_marker_full_sync() (rhbz#1658308) - test/rgw: check_bucket_eq() uses bucket.list_versions() (rhbz#1658308) - test/rgw: check_bucket_eq() supports delete markers (rhbz#1658308) - rgw: add RGWRados::repair_olh() to reconstruct olh attrs (rhbz#1663570) - rgw: add RGWRados::bi_get_olh() to read/decode olh entry (rhbz#1663570) - rgw: bi_get() takes bucket_info (rhbz#1663570) - rgw: add BucketShard::init overload for bucket_info,obj (rhbz#1663570) - test/rgw: add multisite test_version_suspended_incremental_sync (rhbz#1663570) - rgw: fetch_remote_obj filters out olh attrs (rhbz#1663570) * Wed Jan 30 2019 Ken Dreyer 2:12.2.8-64 - rgw: Fix log level of gc_iterate_entries (rhbz#1671169) * Wed Jan 30 2019 Ken Dreyer 2:12.2.8-63 - rgw: check for non-existent bucket in RGWGetACLs (rhbz#1667142) * Wed Jan 30 2019 Ken Dreyer 2:12.2.8-62 - mgr: fix crash due to multiple sessions from daemons with same name (rhbz#1670781) - mgr/restful: fix py got exception when get osd info (rhbz#1594746) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-61 - mds: extend reconnect period when mds is busy (rhbz#1656969) - mds: renew client session when receiving any message (rhbz#1656969) - mds: use mono_clock for reconnect timeout (rhbz#1656969) - osd: unlock osd_lock when tweaking osd settings (rhbz#1651777) - osd: use unlock_guard for unlock osd temporarily (rhbz#1651777) - wherever: guard handle_conf_change() from concurrent execution (rhbz#1651777) - config: drop config_proxy::lock when invoking config observer (rhbz#1651777) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-60 - mds: bump mds protocol version (rhbz#1659206) - mds: handle fragment notify race (rhbz#1659206) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-59 - mds: flush dirty dirfrags that weren't logged when deactivating mds (rhbz#1659207) - mds: use MDlog::trim_all() to trim log when deactivating mds (rhbz#1659207) - mds: don't cap log when there are replicated objects (rhbz#1659207) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-58 - mds: handle state change race (rhbz#1663342) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-57 - mds: log evicted clients to clog/dbg (rhbz#1643995) - msg: lower verbosity on normal event (rhbz#1665591) - mds: fix infinite loop in OpTracker::check_ops_in_flight (rhbz#1667829) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-56 - mds: make timeout parameter optional for "cache drop" (rhbz#1646949) - client: don't update importing caps' mseq when handing cap export (rhbz#1660205) - mds: don't exclude disallowed caps when recording wanted caps (rhbz#1660205) - mds: queue inodes into MDCache::export_pin_queue after setattr is journaled (rhbz#1660206) - libcephfs: expose CEPH_SETATTR_MTIME_NOW and CEPH_SETATTR_ATIME_NOW (rhbz#1636628) - mds: obsolete MDSMap option configs (rhbz#1657022) - PendingReleaseNotes: add release notes for cephfs-journal-tool changes (rhbz#1636627) - test: make rank argument mandatory when running journal_tool (rhbz#1636627) - cephfs-journal-tool: make "--rank" argument mandatory (rhbz#1636627) - cephfs-journal-tool: pass local arg vector for Journal actions (rhbz#1636627) - cephfs-journal-tool: dump to per rank output file wherever necessary (rhbz#1636627) - osdc/Journaler: make try_read_entry store data in contiguous memory (rhbz#1659213) - osdc: reduce ObjectCacher's memory fragments (rhbz#1659210) - mds: fix mds damaged due to unexpected journal length (rhbz#1636629) - client: update ctime when modifying file content (rhbz#1632509) - client:two ceph-fuse client, one can not list out files created by another. (rhbz#1630023) - mds: prevent rctime from going back (rhbz#1632506) - mds: disallow dumping huge caches to formatter (rhbz#1636037) - mds: use uniform write handler for PQ (rhbz#1652464) - MDSMonitor: allow beacons from stopping MDS that was laggy (rhbz#1663344) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-55 - rgw_file: deep stat handling (rhbz#1670516) * Tue Jan 15 2019 Ken Dreyer 2:12.2.8-54 - librgw: export multitenancy support (rhbz#1661882) * Fri Jan 11 2019 Ken Dreyer 2:12.2.8-53 - rgw: rgw_tag_s3: make dump_xml a const member function (rhbz#1654588) - rgw_tag: implement emplace, empty & clear methods (rhbz#1654588) - rgw: lifcycle: don't reject compound rules with empty prefix (rhbz#1654588) - rgw_lc: support for object tagging in LC policies (rhbz#1654588) * Wed Dec 12 2018 Ken Dreyer 2:12.2.8-52 - rgw: feature -- log successful bucket resharding events (rhbz#1658760) * Tue Dec 11 2018 Ken Dreyer 2:12.2.8-51 - ceph-volume-client: allow setting mode of CephFS volumes (rhbz#1644421) * Thu Dec 06 2018 Ken Dreyer 2:12.2.8-50 - rgw: fix bad user stats on versioned bucket after reshard (rhbz#1653314 rhbz#1655842) * Mon Dec 03 2018 Ken Dreyer 2:12.2.8-49 - rgw: move all reshard config options out of legacy_config_options (rhbz#1655705) - rgw: reshard improvements (rhbz#1655705) * Fri Nov 30 2018 Ken Dreyer 2:12.2.8-48 - ceph-volume lvm skip empty vg_name removals (rhbz#1655171) * Fri Nov 30 2018 Ken Dreyer 2:12.2.8-47 - rgw: minor clean-up -- convert enum BIIndexType to enum class (rhbz#1653314) - rgw: fix bad versioned bucket stats after reshard (rhbz#1653314) * Fri Nov 30 2018 Ken Dreyer 2:12.2.8-46 - rgw: Fix for role permission evaluation based on TYPE_ROLE. (rhbz#1653580) * Fri Nov 30 2018 Ken Dreyer 2:12.2.8-45 - rgw: data sync accepts ERR_PRECONDITION_FAILED on remove_object() (rhbz#1642144) * Thu Nov 29 2018 Ken Dreyer 2:12.2.8-44 - rgw: Fix for permission evaluation for anonymous users. (rhbz#1653580) - rgw: Replacing std::regex with boost::regex. (rhbz#1650405) * Tue Nov 27 2018 Ken Dreyer 2:12.2.8-43 - rgw: batch and process bucket instances (rhbz#1653830) - cli: use rgw-admin reshard stale-instances list/delete (rhbz#1653830) - rgw: implement listing stale instances from a reshard (rhbz#1653830) * Tue Nov 27 2018 Ken Dreyer 2:12.2.8-42 - librados_cxx: document which nobjects interfaces throw (rhbz#1649484) - rgw: bucket trim restarts if list_keys_init() returns EINVAL (rhbz#1649484) - rgw: list_buckets_* catches NObjectIterator exceptions (rhbz#1649484) - rgw: pool_iterate[_begin] catches NObjectIterator exceptions (rhbz#1649484) - librados: NObjectIteratorImpl::get_next() throws std::system_error (rhbz#1649484) * Tue Nov 27 2018 Ken Dreyer 2:12.2.8-41 - rgw: properly avoid accessing null user_acl (rhbz#1653580) * Mon Nov 26 2018 Ken Dreyer 2:12.2.8-40 - rgw: perf -- remove bucket shards asynchronously rather than synchronously (rhbz#1627562) - rgw: Correcting perm evaluation when a bucket policy is not attached, but a user policy is. (rhbz#1471626) - rgw: Fixing user perm evaluation when no policy is supplied to a role. (rhbz#1471626) - rgw: Fixes to User Policy code for CreateBucket and ListAllBuckets. (rhbz#1471626) - rgw: Using bitset for Actions to allow for more action op codes. (rhbz#1471626) - rgw: User Policy evaluation for bucket/object/user permission. (rhbz#1471626) - ceph-volume tests update tests to handle new SystemExit exceptions in main (rhbz#1644828) - ceph-volume tests.api verify that Volume object can be removed (rhbz#1644828) - ceph-volume api.lvm allow passing a Volume object to remove_lv (rhbz#1644828) - ceph-volume simple.activate factor out systemd interactions for easier testing (rhbz#1644610) - ceph-volume tests ensure activate behavior with systemd disabling (rhbz#1644610) - ceph-volume simple.activate allow a --no-systemd flag to skip systemctl actions (rhbz#1644610) - ceph-volume simple.trigger replace systemd with from_trigger keyword argument (rhbz#1644610) - ceph-volume util.encryption robust blkid+lsblk detection of lockbox (rhbz#1644265) - doc: make note of pg log hard limit upgrade bug in PendingReleaseNotes (rhbz#1608060) - Revert "osd: make calc_trim_to() independent of min_last_complete_ondisk" (rhbz#1608060) - Revert "osd: allow trim() to proceed when there are missing items" (rhbz#1608060) - Revert "osd/PGLog: allow pg log trim when complete_to is less than trim_to" (rhbz#1608060) - Revert "osd/PGLog.cc: use lgeneric_subdout instead of generic_dout" (rhbz#1608060) - Revert "osd/PGLog.cc: check if complete_to points to log.end()" (rhbz#1608060) - Revert "osd/PrimaryLogPG.cc: limit trimming at can_rollback_to" (rhbz#1608060) - Revert "osd/PrimaryLogPG: avoid dereferencing invalid complete_to" (rhbz#1608060) - rgw: failed resharding clears resharding status from shard heads (rhbz#1611763) - cls: add semantics for cls locks to require renewal without expiring (rhbz#1611763) - ceph-volume: when --prepare is added to batch the OSDs are only prepared (rhbz#1541415) - ceph-volume api.lvm: do not spit out errors on the terminal from LVM (rhbz#1640086) - ceph-volume: extracts batch.filter_devices from Batch._get_strategy (rhbz#1640086) - ceph-volume: failing to get block db size from conf logs an exception (rhbz#1640086) - ceph-volume: add info about filtered devices to batch pretty reports (rhbz#1640086) - ceph-volume: ignore failure to load ceph configuration for block.db size (rhbz#1640086) - ceph-volume: raise a non zero exit code if strategy changes with batch (rhbz#1640086) - ceph-volume: add functional tests to ensure lvm batch is idempotent (rhbz#1640086) - ceph-volume: update tests to account for filtered_devices in batch (rhbz#1640086) - ceph-volume: add filtered_devices and used_by_ceph to all batch reports (rhbz#1640086) - ceph-volume: pick strategy for batch with only the unused devices (rhbz#1640086) - ceph-volume: adds used_by_ceph to filestore singletype batch report (rhbz#1640086) - doc/man/ceph-volume update batch command with new sizing flags (rhbz#1640086) - ceph-volume tests.devices update fixture to include new size flags for strategies (rhbz#1640086) - ceph-volume lvm.batch add sizing flags for journal and block.db LVs (rhbz#1640086) - ceph-volume lvm.prepare update help to remove old basic usage example (rhbz#1640086) - ceph-volume lvm.prepare update help to indicate partitions are needed, not devices (rhbz#1640086) - ceph-volume lvm.prepare simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume lvm.create simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume util.disk when there are no devices mapped, skip to the next one (rhbz#1640086) - ceph-volume tests.util verify devices that don't exist don't break get_devices (rhbz#1640086) - ceph-volume lvm.activate pass no_systemd args when detecting objectstore (rhbz#1640086) - ceph-volume tests.lvm verify activate works with --auto-detect-objectstore (rhbz#1640086) - ceph-volume simple.scan better detection for ceph-disk data devices (rhbz#1640086) - ceph-volume tests.conftest add blkid patching to device_info fixture (rhbz#1640086) - ceph-volume util.device add a ceph-disk device object to detect types (rhbz#1640086) - ceph-volume: when using batch --report return journal/data size as ints (rhbz#1640086) - rbd-mirror: always attempt to restart canceled status update task (rhbz#1640262) - rbd-mirror: instantiate the status formatter before changing state (rhbz#1640262) - ceph-volume tests/functional update dmcrypt test playbooks to use --cluster (rhbz#1621901) - ceph-volume tests/functional/batch update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional/lvm update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional update playbooks to use --cluster (rhbz#1621901) - ceph-volume main move out the load_ceph_conf_path to the configuration module (rhbz#1621901) - ceph-volume tests.devices patch configuration.load to avoid raising non-existing ceph.conf (rhbz#1621901) - ceph-volume tests reset the cluster name after every unit test (rhbz#1621901) - ceph-volume tests.functional add custom cluster name to centos7-filestore-create (rhbz#1621901) - ceph-volume lvm.activate load the config always by reading the cluster name from the LV (rhbz#1621901) - rgw: RemoteApplier::create_account() applies default quota config (rhbz#1630870) - rgw: Correct permission evaluation to allow only admin users to work with Roles. (rhbz#1638219) - mds: implement journal flush as asynchronous context execution (rhbz#1589967) - packages.yaml: install py3 compatible cephfs and rados bindings... (rhbz#1579247) - mds: allow request load average decay rate configurable via admin socket (rhbz#1618523) - mds:improve mds perf counters can statistics filesystem operations number and latency (rhbz#1618523) - rgw: Correcting the default value of sts max session duration. (rhbz#1471626) - rgw: STS auth changes to make sure that other engines are not aware of session token. (rhbz#1471626) - rgw: Added code for auth using temp credentials returned by STS. (rhbz#1471626) - rgw: Added code to store arn and policy passed as part of assume role. (rhbz#1471626) - rgw: Added code to determine token expiration time using role. (rhbz#1471626) - rgw: Added max_session_duration and policy parsing to RGW Roles. (rhbz#1471626) - rearrange / simplify RGWBucket::link logic - start bucket move support (rhbz#1595379) - rgw: bucket link: use data from bucket_info to rewrite bucket_endpoint. (rhbz#1595379) - rgw: bucket link: Add ability to name bucket w/ different tenant. (rhbz#1595379) - rgw: abort_bucket_multiparts() ignores individual NoSuchUpload errors (rhbz#1628055) - librbd: fix refuse to release lock when cookie is the same at rewatch (rhbz#1622697) - client: check for unmounted condition before printing debug output (rhbz#1615394) - os/bluestore: limit OSD memory usage by tuning the cache size. (rhbz#1611850) - kv/rocksdb_cache/BinnedLRUCache: Don't promote data to the high pri pool. (rhbz#1611850) - tools: ceph-objectstore-tool: Allow target level as first positional param (rhbz#1599442) - osd/PGLog: allow pg log trim when complete_to is less than trim_to (rhbz#1608060) - osd: make calc_trim_to() independent of min_last_complete_ondisk (rhbz#1608060) - ceph-volume tests.functional comment why not use --destroy when zapping lvs in filestore (rhbz#1628734) - ceph-volume tests.functional use --destroy when zapping lvs in bluestore (rhbz#1628734) - ceph-volume lvm.batch.validators account for osds per device, include collocation (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with MixedType (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with SingleType (rhbz#1541415) - ceph-volume lvm.batch add --osds-per-device flag, defaulting to 1 (rhbz#1541415) - ceph-volume tests.util verify Disk objects don't change state with divisions (rhbz#1619812) - ceph-volume util.disk fix an issue where Disk objects would mutate on div operations (rhbz#1619812) - ceph-volume util.prepare add a helper to get block.db sizes from ceph.conf (rhbz#1619812) - ceph-volume lvm.batch.bluestore add TODOs for custom fast/slow devices (rhbz#1619812) - -f ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch fix error reporting, Device objects aren't strings (rhbz#1619812) - ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch make sure data devices don't have existing LVs on bluestore (rhbz#1619812) - ceph-volume lvm.batch use 'ceph' as the cluster name with filestore (rhbz#1619812) - ceph-volume tests/functional single (test) playbook to zap and redeploy batch operations (rhbz#1619812) - ceph-volume tests/functional create a noop playbook to allow symlinking always to setup.yml (rhbz#1619812) - ceph-volume tests/functional add mixed-type scenarios to tox.ini (rhbz#1619812) - ceph-volume tests/functional add CentOS7 bluestore mixed-type scenarios (rhbz#1619812) - ceph-volume tests/functional add CentOS7 filestore mixed-type scenarios (rhbz#1619812) - mon/OSDMonitor: Warn when expected_num_objects will have no effect (rhbz#1592497) * Wed Nov 21 2018 Thomas Serlin 2:12.2.8-39 - Update patches * Wed Nov 21 2018 Ken Dreyer 2:12.2.8-38 - rgw: perf -- remove bucket shards asynchronously rather than synchronously (rhbz#1627562) - rgw: clean up unused bucket index shards (rhbz#1627562) - rgw: a little code clean-up by adding const (rhbz#1627562) - rgw: remove never-called RGWRados member function (rhbz#1627562) - rgw: rename function for clarity (rhbz#1627562) - rgw: fix bug in error codes returned (rhbz#1627562) * Wed Nov 21 2018 Ken Dreyer 2:12.2.8-37 - rgw: Don't check for Principal in User Policies. (rhbz#1471626) - rgw: Correcting perm evaluation when a bucket policy is not attached, but a user policy is. (rhbz#1471626) - rgw: Correcting permission evaluation for Roles. (rhbz#1471626) - rgw: Fix verify_user_permission for user policy evaluation. (rhbz#1471626) - rgw: Fixing user perm evaluation when no policy is supplied to a role. (rhbz#1471626) - rgw: Fixes to User Policy code for CreateBucket and ListAllBuckets. (rhbz#1471626) - rgw: Policy code for STS. (rhbz#1471626) - rgw: Corrected code for ARNs for entities that have a path. (rhbz#1471626) - rgw: Adding unittests for User policies. (rhbz#1471626) - rgw: Fixing error codes while user policy is parsed. (rhbz#1471626) - rgw: Using bitset for Actions to allow for more action op codes. (rhbz#1471626) - rgw: Permission evaluation for Roles. (rhbz#1471626) - rgw: Permission evaluation for User Policies. (rhbz#1471626) - rgw: User Policy evaluation for bucket/object/user permission. (rhbz#1471626) - rgw: Initial commit for User Policy REST APIs. (rhbz#1471626) * Thu Nov 15 2018 Ken Dreyer 2:12.2.8-36 - ceph-volume lvm.zap remove vgs|lvs when --destroy is used (rhbz#1644828) - ceph-volume tests update tests to handle new SystemExit exceptions in main (rhbz#1644828) - ceph-volume tests.api verify that Volume object can be removed (rhbz#1644828) - ceph-volume tests.functional.lvm test full removal of LVs (rhbz#1644828) - ceph-volume api.lvm allow passing a Volume object to remove_lv (rhbz#1644828) - ceph-volume main raise sys.exit to prevent garbage in help (rhbz#1644828) * Wed Nov 14 2018 Ken Dreyer 2:12.2.8-35 - ceph-volume simple.activate factor out systemd interactions for easier testing (rhbz#1644610) - ceph-volume tests ensure activate behavior with systemd disabling (rhbz#1644610) - ceph-volume simple.activate allow a --no-systemd flag to skip systemctl actions (rhbz#1644610) - ceph-volume simple.trigger replace systemd with from_trigger keyword argument (rhbz#1644610) * Thu Nov 08 2018 Ken Dreyer 2:12.2.8-34 - rgw: aws:SecureTransport uses rgw_transport_is_secure() (rhbz#1641808) - rgw: SSE operations check rgw_transport_is_secure() (rhbz#1641808) - rgw: add helper function rgw_transport_is_secure() (rhbz#1641808) - common: add config option rgw_trust_forwarded_https (rhbz#1641808) * Thu Nov 08 2018 Ken Dreyer 2:12.2.8-33 - rgw: beast frontend parses ipv6 addrs (rhbz#1644840) - rgw: beast frontend uses default port 443 for ssl_endpoint (rhbz#1644840) * Thu Nov 08 2018 Ken Dreyer 2:12.2.8-32 - ceph-volume util.encryption robust blkid+lsblk detection of lockbox (rhbz#1644265) - rgw: move keystone secrets from ceph.conf to files (rhbz#1637529) - rgw: move keystone secrets from ceph.conf to files (rhbz#1637529) * Wed Nov 07 2018 Ken Dreyer 2:12.2.8-31 - rgw: Adding documentation for Roles. (rhbz#1471626) - rgw: Minor fixes to radosgw-admin commands for a role. (rhbz#1471626) - rgw: Minor fixes to AssumeRole for boto compliance. (rhbz#1471626) - rgw: Fixes to STS Lite documentation. (rhbz#1471626) - rgw: Fix for buffer overflow in STS op_post(). (rhbz#1471626) * Wed Nov 07 2018 Ken Dreyer 2:12.2.8-30 - mgr/restful: Fix deep-scrub typo (rhbz#1641681) * Mon Nov 05 2018 Ken Dreyer 2:12.2.8-29 - doc: make note of pg log hard limit upgrade bug in PendingReleaseNotes (rhbz#1608060) - Revert "osd: make calc_trim_to() independent of min_last_complete_ondisk" (rhbz#1608060) - Revert "osd: print pg log length and trim_to" (rhbz#1608060) - Revert "osd: handle trim() during backfill" (rhbz#1608060) - Revert "osd: allow trim() to proceed when there are missing items" (rhbz#1608060) - Revert "osd: reset complete_to when trimming the log past it" (rhbz#1608060) - Revert "osd/PGLog: allow pg log trim when complete_to is less than trim_to" (rhbz#1608060) - Revert "osd/PGLog.cc: use lgeneric_subdout instead of generic_dout" (rhbz#1608060) - Revert "src/osd/PG.cc: remove redundant call to trim_log()" (rhbz#1608060) - Revert "osd/PGLog.cc: check if complete_to points to log.end()" (rhbz#1608060) - Revert "osd/PrimaryLogPG.cc: limit trimming at can_rollback_to" (rhbz#1608060) - Revert "osd/PrimaryLogPG: avoid dereferencing invalid complete_to" (rhbz#1608060) - Revert "osd/PrimaryLogPG: fix potential pg-log overtrimming" (rhbz#1608060) * Mon Nov 05 2018 Ken Dreyer 2:12.2.8-28 - osd: New configuration option osd_delete_sleep (rhbz#1636267) - osd: Separate removal and recovery thread pools (rhbz#1636267) * Thu Nov 01 2018 Ken Dreyer 2:12.2.8-27 - rbd-mirror: update mirror status when stopping (rhbz#1640262) * Wed Oct 31 2018 Ken Dreyer 2:12.2.8-26 - rgw: recover from incomplete reshard attempt (rhbz#1611763) - rgw: move RGWReshardBucket lock to its own separate class (rhbz#1611763) - rgw: failed resharding clears resharding status from shard heads (rhbz#1611763) - rgw: change the bucket reshard lock to exclusive-ephemeral (rhbz#1611763) - cls: add exclusive ephemeral locks that auto-clean (rhbz#1611763) - rgw: renew resharding locks to prevent expiration (rhbz#1611763) - cls: add semantics for cls locks to require renewal without expiring (rhbz#1611763) - rgw: use the same lock when resharding (rhbz#1611763) - rgw: renew resharding lock during bucket resharding (rhbz#1611763) * Wed Oct 31 2018 Ken Dreyer 2:12.2.8-25 - cls/user: cls_user_remove_bucket writes modified header (rhbz#1639368) - rgw: cls_user_set_buckets_info can update bucket id (rhbz#1639368) - rgw: rgw_user_sync_all_stats uses bucket entrypoint (rhbz#1639368) * Tue Oct 30 2018 Ken Dreyer 2:12.2.8-24 - rgw/beast: drop privileges after binding ports (rhbz#1644394) * Fri Oct 26 2018 Ken Dreyer 2:12.2.8-23 - ceph-volume: update man page for batch --prepare (rhbz#1541415) - ceph-volume: docs for --prepare flag of lvm batch (rhbz#1541415) - ceph-volume: when --prepare is added to batch the OSDs are only prepared (rhbz#1541415) - ceph-volume: adds a --prepare flag to ceph-volume lvm batch (rhbz#1541415) * Wed Oct 24 2018 Ken Dreyer 2:12.2.8-22 - ceph-volume api.lvm: do not spit out errors on the terminal from LVM (rhbz#1640086) - ceph-volume: extracts batch.filter_devices from Batch._get_strategy (rhbz#1640086) - ceph-volume: failing to get block db size from conf logs an exception (rhbz#1640086) - ceph-volume: add info about filtered devices to batch pretty reports (rhbz#1640086) - ceph-volume: ignore failure to load ceph configuration for block.db size (rhbz#1640086) - ceph-volume: raise a non zero exit code if strategy changes with batch (rhbz#1640086) - ceph-volume: add functional tests to ensure lvm batch is idempotent (rhbz#1640086) - ceph-volume: update tests to account for filtered_devices in batch (rhbz#1640086) - ceph-volume: add filtered_devices and used_by_ceph to all batch reports (rhbz#1640086) - ceph-volume: pick strategy for batch with only the unused devices (rhbz#1640086) - ceph-volume: adds used_by_ceph to filestore singletype batch report (rhbz#1640086) - doc/man/ceph-volume update batch command with new sizing flags (rhbz#1640086) - ceph-volume tests.devices update fixture to include new size flags for strategies (rhbz#1640086) - ceph-volume lvm.batch add sizing flags for journal and block.db LVs (rhbz#1640086) - ceph-volume lvm.prepare update help to remove old basic usage example (rhbz#1640086) - ceph-volume lvm.prepare update help to indicate partitions are needed, not devices (rhbz#1640086) - ceph-volume lvm.prepare simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume lvm.create simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume util.disk when there are no devices mapped, skip to the next one (rhbz#1640086) - ceph-volume tests.util verify devices that don't exist don't break get_devices (rhbz#1640086) - ceph-volume lvm.activate pass no_systemd args when detecting objectstore (rhbz#1640086) - ceph-volume tests.lvm verify activate works with --auto-detect-objectstore (rhbz#1640086) - ceph-volume simple.scan better detection for ceph-disk data devices (rhbz#1640086) - ceph-volume tests.conftest add blkid patching to device_info fixture (rhbz#1640086) - ceph-volume util.device add a ceph-disk device object to detect types (rhbz#1640086) - ceph-volume: when using batch --report return journal/data size as ints (rhbz#1640086) - rbd-mirror: always attempt to restart canceled status update task (rhbz#1640262) - rbd-mirror: instantiate the status formatter before changing state (rhbz#1640262) - ceph-volume tests/functional update dmcrypt test playbooks to use --cluster (rhbz#1621901) - ceph-volume tests/functional/batch update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional/lvm update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional update playbooks to use --cluster (rhbz#1621901) - ceph-volume main move out the load_ceph_conf_path to the configuration module (rhbz#1621901) - ceph-volume tests.devices patch configuration.load to avoid raising non-existing ceph.conf (rhbz#1621901) - ceph-volume tests reset the cluster name after every unit test (rhbz#1621901) - ceph-volume tests.functional add custom cluster name to centos7-filestore-create (rhbz#1621901) - ceph-volume lvm.activate load the config always by reading the cluster name from the LV (rhbz#1621901) - rgw: RemoteApplier::create_account() applies default quota config (rhbz#1630870) - rgw: Correct permission evaluation to allow only admin users to work with Roles. (rhbz#1638219) - mds: implement journal flush as asynchronous context execution (rhbz#1589967) - packages.yaml: install py3 compatible cephfs and rados bindings... (rhbz#1579247) - mds: allow request load average decay rate configurable via admin socket (rhbz#1618523) - mds:improve mds perf counters can statistics filesystem operations number and latency (rhbz#1618523) - rgw: Correcting the default value of sts max session duration. (rhbz#1471626) - rgw: STS auth changes to make sure that other engines are not aware of session token. (rhbz#1471626) - rgw: Added code for auth using temp credentials returned by STS. (rhbz#1471626) - rgw: Added code to store arn and policy passed as part of assume role. (rhbz#1471626) - rgw: Added code to determine token expiration time using role. (rhbz#1471626) - rgw: Added max_session_duration and policy parsing to RGW Roles. (rhbz#1471626) - rearrange / simplify RGWBucket::link logic - start bucket move support (rhbz#1595379) - rgw: bucket link: use data from bucket_info to rewrite bucket_endpoint. (rhbz#1595379) - rgw: bucket link: Add ability to name bucket w/ different tenant. (rhbz#1595379) - rgw: abort_bucket_multiparts() ignores individual NoSuchUpload errors (rhbz#1628055) - librbd: fix refuse to release lock when cookie is the same at rewatch (rhbz#1622697) - client: check for unmounted condition before printing debug output (rhbz#1615394) - os/bluestore: limit OSD memory usage by tuning the cache size. (rhbz#1611850) - kv/rocksdb_cache/BinnedLRUCache: Don't promote data to the high pri pool. (rhbz#1611850) - tools: ceph-objectstore-tool: Allow target level as first positional param (rhbz#1599442) - osd/PGLog: allow pg log trim when complete_to is less than trim_to (rhbz#1608060) - osd: make calc_trim_to() independent of min_last_complete_ondisk (rhbz#1608060) - ceph-volume tests.functional comment why not use --destroy when zapping lvs in filestore (rhbz#1628734) - ceph-volume tests.functional use --destroy when zapping lvs in bluestore (rhbz#1628734) - ceph-volume lvm.batch.validators account for osds per device, include collocation (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with MixedType (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with SingleType (rhbz#1541415) - ceph-volume lvm.batch add --osds-per-device flag, defaulting to 1 (rhbz#1541415) - ceph-volume tests.util verify Disk objects don't change state with divisions (rhbz#1619812) - ceph-volume util.disk fix an issue where Disk objects would mutate on div operations (rhbz#1619812) - ceph-volume util.prepare add a helper to get block.db sizes from ceph.conf (rhbz#1619812) - ceph-volume lvm.batch.bluestore add TODOs for custom fast/slow devices (rhbz#1619812) - -f ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch fix error reporting, Device objects aren't strings (rhbz#1619812) - ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch make sure data devices don't have existing LVs on bluestore (rhbz#1619812) - ceph-volume lvm.batch use 'ceph' as the cluster name with filestore (rhbz#1619812) - ceph-volume tests/functional single (test) playbook to zap and redeploy batch operations (rhbz#1619812) - ceph-volume tests/functional create a noop playbook to allow symlinking always to setup.yml (rhbz#1619812) - ceph-volume tests/functional add mixed-type scenarios to tox.ini (rhbz#1619812) - ceph-volume tests/functional add CentOS7 bluestore mixed-type scenarios (rhbz#1619812) - ceph-volume tests/functional add CentOS7 filestore mixed-type scenarios (rhbz#1619812) - mon/OSDMonitor: Warn when expected_num_objects will have no effect (rhbz#1592497) - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) * Wed Oct 24 2018 Ken Dreyer 2:12.2.8-21 - ceph-volume tests.api update monkeypatching to use **kw (rhbz#1640086) - ceph-volume tests allow **kw when monkeypatching (rhbz#1640086) - ceph-volume api.lvm: do not spit out errors on the terminal from LVM (rhbz#1640086) * Tue Oct 23 2018 Ken Dreyer 2:12.2.8-20 - ceph-volume: extracts batch.filter_devices from Batch._get_strategy (rhbz#1640086) - ceph-volume: failing to get block db size from conf logs an exception (rhbz#1640086) - ceph-volume: when all devices are filtered exit gracefully (rhbz#1640086) - ceph-volume: filter devices used by journals/block.db (rhbz#1640086) - ceph-volume: add rotational property to Device class (rhbz#1640086) - ceph-volume: add info about filtered devices to batch pretty reports (rhbz#1640086) - ceph-volume: remove the used_by_ceph key in the json output (rhbz#1640086) - ceph-volume: fix idempotency checks for lvm batch tests (rhbz#1640086) - ceph-volume: fix bluestore strategy json reporting and type (rhbz#1640086) - ceph-volume: ignore failure to load ceph configuration for block.db size (rhbz#1640086) - ceph-volume: fix strategy comparison in 'lvm batch' (rhbz#1640086) - ceph-volume: raise a non zero exit code if strategy changes with batch (rhbz#1640086) - ceph-volume: add functional tests to ensure lvm batch is idempotent (rhbz#1640086) - ceph-volume: add tests for util.device.Device.used_by_ceph (rhbz#1640086) - ceph-volume: update tests to account for filtered_devices in batch (rhbz#1640086) - ceph-volume: consider block and data devices used_by_ceph (rhbz#1640086) - ceph-volume: add filtered_devices and used_by_ceph to all batch reports (rhbz#1640086) - ceph-volume: pick strategy for batch with only the unused devices (rhbz#1640086) - ceph-volume: adds a 'changed' key to lvm batch --report (rhbz#1640086) - ceph-volume: adds used_by_ceph to filestore singletype batch report (rhbz#1640086) - ceph-volume: adds a used_by_ceph property to the Device class (rhbz#1640086) - ceph-volume: adds a lvs property to the Device class (rhbz#1640086) - ceph-volume: add vg_name to the Device class (rhbz#1640086) - doc/man/ceph-volume update batch command with new sizing flags (rhbz#1640086) - ceph-volume tests.devices update fixture to include new size flags for strategies (rhbz#1640086) - ceph-volume lvm.batch.filestore consume --journal-size (rhbz#1640086) - ceph-volume lvm.batch.bluestore consume --block-db-size (rhbz#1640086) - ceph-volume lvm.batch add sizing flags for journal and block.db LVs (rhbz#1640086) - ceph-volume lvm.prepare update help to remove old basic usage example (rhbz#1640086) - ceph-volume lvm.prepare update help to indicate partitions are needed, not devices (rhbz#1640086) - fix typo in ceph-volume lvm prepare help (rhbz#1640086) - ceph-volume lvm.prepare simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume lvm.create simplify help menu with bluestore default flags (rhbz#1640086) - doc/ceph-volume document multipath support (rhbz#1640086) - ceph-volume util.disk when there are no devices mapped, skip to the next one (rhbz#1640086) - ceph-volume tests.util verify devices that don't exist don't break get_devices (rhbz#1640086) - ceph-volume lvm.activate pass no_systemd args when detecting objectstore (rhbz#1640086) - ceph-volume tests.lvm verify activate works with --auto-detect-objectstore (rhbz#1640086) - ceph-volume simple.scan better detection for ceph-disk data devices (rhbz#1640086) - ceph-volume tests.util verify CephDiskDevice behavior (rhbz#1640086) - ceph-volume tests.conftest add blkid patching to device_info fixture (rhbz#1640086) - ceph-volume util.device add a ceph-disk device object to detect types (rhbz#1640086) - ceph-volume tests.util verify new blkid API calls (rhbz#1640086) - ceph-volume util.disk expand blkid's API calls (rhbz#1640086) - ceph-volume: only run ceph-common once during tests (rhbz#1640086) - ceph-volume: fail fast during tests (rhbz#1640086) - ceph-volume: when using batch --report return journal/data size as ints (rhbz#1640086) * Thu Oct 18 2018 Ken Dreyer 2:12.2.8-19 - rbd-mirror: always attempt to restart canceled status update task (rhbz#1640262) - rbd-mirror: instantiate the status formatter before changing state (rhbz#1640262) * Wed Oct 17 2018 Ken Dreyer 2:12.2.8-18 - rgw: beast frontend calls shutdown before closing connections (rhbz#1639968) - rgw: add ssl support to beast frontend (rhbz#1639968) - rgw: factor the tcp::socket out of ClientIO (rhbz#1639968) - rgw: switch beast frontend back to stackful coroutine (rhbz#1639968) - rgw: fix radosgw linkage with WITH_RADOSGW_BEAST_FRONTEND=OFF (rhbz#1639968) * Wed Oct 17 2018 Ken Dreyer 2:12.2.8-17 - ceph-volume tests/functional update dmcrypt test playbooks to use --cluster (rhbz#1621901) - ceph-volume tests/functional/batch update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional/lvm update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional update playbooks to use --cluster (rhbz#1621901) - ceph-volume main move out the load_ceph_conf_path to the configuration module (rhbz#1621901) - ceph-volume tests.devices patch configuration.load to avoid raising non-existing ceph.conf (rhbz#1621901) - ceph-volume tests reset the cluster name after every unit test (rhbz#1621901) - ceph-volume tests.functional add custom cluster name to centos7-filestore-create (rhbz#1621901) - ceph-volume lvm.activate load the config always by reading the cluster name from the LV (rhbz#1621901) - ceph-volume configuration be able to set conf.ceph (rhbz#1621901) * Fri Oct 12 2018 Ken Dreyer 2:12.2.8-16 - rgw: RemoteApplier::create_account() applies default quota config (rhbz#1630870) - rgw: add helper functions to apply configured default quotas (rhbz#1630870) - rgw: remove redundant quota logic from admin/user api (rhbz#1630870) * Thu Oct 11 2018 Ken Dreyer 2:12.2.8-15 - rgw: Correct permission evaluation to allow only admin users to work with Roles. (rhbz#1638219) * Mon Oct 08 2018 Ken Dreyer 2:12.2.8-14 - test: add test for mds drop cache command (rhbz#1589967) - mds: command to trim mds cache and client caps (rhbz#1589967) - mds: implement journal flush as asynchronous context execution (rhbz#1589967) - mds: cleanup some asok commands (rhbz#1589967) * Fri Oct 05 2018 Ken Dreyer 2:12.2.8-13 - qa/ceph-volume: add a test for put_object_versioned() (rhbz#1600068) - ceph-volume-client: allow atomic updates for RADOS objects (rhbz#1600068) * Fri Oct 05 2018 Ken Dreyer 2:12.2.8-12 - ceph_volume_client: use integer division for pg_num (rhbz#1579247) - packages.yaml: install py3 compatible cephfs and rados bindings... (rhbz#1579247) - qa: test py2 and py3 for volume client (rhbz#1579247) - qa: make test_volume_client.py py3 compatible (rhbz#1579247) - qa/ceph-volume: allow executing python pyloads using python3 (rhbz#1579247) - cephfs.pyx: add py3 compatibility (rhbz#1579247) - ceph-volume-client: add py3 compatibility (rhbz#1579247) - qa: remove check using method from master (rhbz#1602165) - qa: add qa helper methods from master (rhbz#1602165) - qa: whitelist cap revoke warning (rhbz#1602165) - doc: document cap revoke non-responders client eviction (rhbz#1602165) - test: validate client eviction for cap revoke non-responders (rhbz#1602165) - mds: add counter for tracking cap non-responding clients (rhbz#1602165) - mds: evict clients that do not respond to cap revoke by MDS (rhbz#1602165) - mds: pass timeout argument for fetching late clients (rhbz#1602165) - ceph-fuse: add to selinux profile (rhbz#1631493) - mds: reorganize and curate perf log counters (rhbz#1618523) - mds: show session load average in dump session (rhbz#1618523) - mds: allow request load average decay rate configurable via admin socket (rhbz#1618523) - mds: decay counter for tracking request load average (rhbz#1618523) - mds: add perf counters to track current open/stale sessions (rhbz#1618523) - mds:improve mds perf counters can statistics filesystem operations number and latency (rhbz#1618523) - mds: use monotonic waits in Beacon (rhbz#1628307) - mds: use monotonic clock in beacon (rhbz#1628307) - mds: simplify beacon init (rhbz#1628307) * Fri Oct 05 2018 Ken Dreyer 2:12.2.8-11 - rgw: copy actual stats from the source shards during reshard (rhbz#1636562) * Fri Oct 05 2018 Ken Dreyer 2:12.2.8-10 - rgw: Changing default s3 auth order. (rhbz#1471626) - rgw: Correcting the default value of sts max session duration. (rhbz#1471626) - STS: remove c++17 isms (rhbz#1471626) - rgw: Check for Access Key during STS Auth. (rhbz#1471626) - rgw: POST request handling for boto compliance. (rhbz#1471626) - rgw: Code to make S3 and STS co-exist in same namespace. (rhbz#1471626) - rgw: Adding documentation for STS Lite. (rhbz#1471626) - rgw: Adding ops for V4 authentication. (rhbz#1471626) - rgw: Proper result for XML formatting. (rhbz#1471626) - rgw: STS auth failures will return reject. (rhbz#1471626) - rgw: STS auth changes to make sure that other engines are not aware of session token. (rhbz#1471626) - rgw: Code for GetSessionToken REST API. (rhbz#1471626) - rgw: Perm mask. (rhbz#1471626) - rgw: STS authentication correction. (rhbz#1471626) - rgw: Added code for auth using temp credentials returned by STS. (rhbz#1471626) - rgw: Code for making STS Key configurable. (rhbz#1471626) - rgw: Changed session token format. (rhbz#1471626) - rgw: Incorporating review comments (rhbz#1471626) - rgw: Renamed STS related files. (rhbz#1471626) - rgw: Added code to store arn and policy passed as part of assume role. (rhbz#1471626) - rgw: Minor Fixes. (rhbz#1471626) - rgw: Added code to determine token expiration time using role. (rhbz#1471626) - sts: qualify encode/decode as :: (rhbz#1471626) - rgw: Added max_session_duration and policy parsing to RGW Roles. (rhbz#1471626) - rgw: Adding manager, handler etc for STS. (rhbz#1471626) - rgw: Added code for STS AssumeRole. (rhbz#1471626) - rgw: policy: refactor has_conditional (rhbz#1471626) * Thu Oct 04 2018 Ken Dreyer 2:12.2.8-9 - osd/PrimaryLogPG: fix potential pg-log overtrimming (rhbz#1608060) * Wed Oct 03 2018 Ken Dreyer 2:12.2.8-8 - rgw: bucket link: "bucket move" documentation changes (rhbz#1595379) - rgw: bucket link: "bucket move"; handle bucket names too. (rhbz#1595379) - rgw: bucket link: base "bucket move" (tenant id only) (rhbz#1595379) - rearrange / simplify RGWBucket::link logic - start bucket move support (rhbz#1595379) - rgw: bucket link: use data from bucket_info to rewrite bucket_endpoint. (rhbz#1595379) - rgw: bucket link: simplify use of get bucket info. (rhbz#1595379) - rgw: bucket link: Add ability to name bucket w/ different tenant. (rhbz#1595379) - Add "--bucket-new-name" option to radosgw-admin. (rhbz#1595379) - Add several types to ceph-dencoder. (rhbz#1595379) - rgw: RGWBucket::link supports tenant (rhbz#1595379) * Wed Oct 03 2018 Ken Dreyer 2:12.2.8-7 - rgw: enable override of tcmalloc linkage (rhbz#1635805) * Wed Oct 03 2018 Ken Dreyer 2:12.2.8-6 - rgw: fix chunked-encoding for chunks >1MiB (rhbz#1635259) * Tue Oct 02 2018 Ken Dreyer 2:12.2.8-5 - client: retry remount on dcache invalidation failure (rhbz#1614780) - *: set missing CLOEXEC on opened fds (rhbz#1627553) - msg: set O_NONBLOCK on file status flags (rhbz#1627553) * Tue Oct 02 2018 Ken Dreyer 2:12.2.8-4 - rgw: abort_bucket_multiparts() ignores individual NoSuchUpload errors (rhbz#1628055) - rgw: optimize function abort_bucket_multiparts (rhbz#1628055) - rgw: raise debug level on redundant data sync error messages (rhbz#1626239) * Mon Oct 01 2018 Ken Dreyer 2:12.2.8-3 - librbd: fix refuse to release lock when cookie is the same at rewatch (rhbz#1622697) - mds: cleanup MDSRank::evict_client (rhbz#1623264) - mds: health warning for slow metadata IO (rhbz#1607590) - mds: avoid using g_conf->get_val<...>(...) in hot path (rhbz#1607595) - ceph_volume_client: add delay for MDSMap to be distributed (rhbz#1612378) - client: check for unmounted condition before printing debug output (rhbz#1615394) - mds: more description for failed authpin (rhbz#1628312) - mds: cleanup CDir freezing/frozen tree check (rhbz#1628312) - mds: don't modify filepath when printing (rhbz#1628314) - mds: hold slave request refernce when dumping MDRequestImpl (rhbz#1628314) - osd,mon: increase mon_max_pg_per_osd to 250 (rhbz#1633426) - mds: print is_laggy message once (rhbz#1624527) - mon: test if gid exists in pending for prepare_beacon (rhbz#1624527) - mds: report lagginess at lower debug (rhbz#1614526) - MDSMonitor: note beacons and cluster changes at low dbg level (rhbz#1614526) - mds: use fast dispatch to handle MDSBeacon (rhbz#1614526) - mds: mark beacons as high priority (rhbz#1614526) * Fri Sep 21 2018 Ken Dreyer 2:12.2.8-2 - os/bluestore: limit OSD memory usage by tuning the cache size. (rhbz#1611850) - kv/RocksDBStore: Handle nullptr if clock cache is chosen. (rhbz#1611850) - kv/rocksdb_cache/BinnedLRUCache: Don't promote data to the high pri pool. (rhbz#1611850) - src/kv: Initial import of a custom RocksDB cache. (rhbz#1611850) - os/bluestore: Fix potential uint64_t to int conversion issue. (rhbz#1611850) - common/PriorityCache: First pass at prototype. (rhbz#1611850) - tools: ceph-objectstore-tool: Allow target level as first positional param (rhbz#1599442) - osd/PrimaryLogPG: avoid dereferencing invalid complete_to (rhbz#1608060) - osd/PrimaryLogPG.cc: limit trimming at can_rollback_to (rhbz#1608060) - osd/PGLog.cc: check if complete_to points to log.end() (rhbz#1608060) - src/osd/PG.cc: remove redundant call to trim_log() (rhbz#1608060) - osd/PGLog.cc: use lgeneric_subdout instead of generic_dout (rhbz#1608060) - osd/PGLog: allow pg log trim when complete_to is less than trim_to (rhbz#1608060) - osd: reset complete_to when trimming the log past it (rhbz#1608060) - osd: allow trim() to proceed when there are missing items (rhbz#1608060) - osd: handle trim() during backfill (rhbz#1608060) - osd: print pg log length and trim_to (rhbz#1608060) - osd: make calc_trim_to() independent of min_last_complete_ondisk (rhbz#1608060) - ceph-volume tests.functional comment why not use --destroy when zapping lvs in filestore (rhbz#1628734) - ceph-volume tests.functional use --destroy when zapping lvs in bluestore (rhbz#1628734) - ceph-volume lvm.zap use remove_pv only for physical devices (rhbz#1628734) - ceph-volume tests.lvm.strategies initial filestore validation (rhbz#1541415) - ceph-volume lvm.tests conftest fixtures for custom vgs (rhbz#1541415) - ceph-volume tests.devices.lvm add bluestore strategy cases (rhbz#1541415) - ceph-volume tests verify strategy validators for minimum size (rhbz#1541415) - ceph-volume lvm.batch.filestore allow osds-per-device (rhbz#1541415) - ceph-volume lvm.batch.validators account for osds per device, include collocation (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with MixedType (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with SingleType (rhbz#1541415) - ceph-volume lvm.batch add --osds-per-device flag, defaulting to 1 (rhbz#1541415) - ceph-volume tests.util verify Disk objects don't change state with divisions (rhbz#1619812) - ceph-volume util.disk fix an issue where Disk objects would mutate on div operations (rhbz#1619812) - ceph-volume util.prepare add a helper to get block.db sizes from ceph.conf (rhbz#1619812) - ceph-volume lvm.batch.bluestore add TODOs for custom fast/slow devices (rhbz#1619812) - -f ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch fix error reporting, Device objects aren't strings (rhbz#1619812) - ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch.filestore capture SizeAllocationErrors (rhbz#1619812) - ceph-volume lvm.batch make sure data devices don't have existing LVs on bluestore (rhbz#1619812) - ceph-volume lvm.batch use 'ceph' as the cluster name with filestore (rhbz#1619812) - ceph-volume tests/functional update filestore xenial test vars (rhbz#1619812) - ceph-volume tests/functional update bluestore xenial test vars (rhbz#1619812) - ceph-volume tests/functional update filestore centos7 test vars (rhbz#1619812) - ceph-volume tests/functional update bluestore centos7 test vars (rhbz#1619812) - ceph-volume lvm.api use double -f flags when calling pvremove (rhbz#1619812) - ceph-volume tests/functional remove duplicate test playbooks (rhbz#1619812) - ceph-volume tests/functional setup playbook for nvme devices (rhbz#1619812) - ceph-volume tests/functional single (test) playbook to zap and redeploy batch operations (rhbz#1619812) - ceph-volume tests/functional create a noop playbook to allow symlinking always to setup.yml (rhbz#1619812) - ceph-volume tests/functional add mixed-type scenarios to tox.ini (rhbz#1619812) - ceph-volume tests/functional add CentOS7 bluestore mixed-type scenarios (rhbz#1619812) - ceph-volume tests/functional add CentOS7 filestore mixed-type scenarios (rhbz#1619812) * Mon Sep 10 2018 Ken Dreyer - 2:12.2.8-1 - Update to v12.2.8 (rhbz#1595879) * Thu Aug 30 2018 Ken Dreyer 2:12.2.5-42 - rgw: fix injectargs for objecter_inflight_ops (rhbz#1591877) * Tue Aug 28 2018 Ken Dreyer 2:12.2.5-41 - rgw: raise default rgw_curl_low_speed_time to 300 seconds (rhbz#1619189) * Thu Aug 23 2018 Ken Dreyer 2:12.2.5-40 - luminous: mgr/MgrClient: Protect daemon_health_metrics (rhbz#1580300) * Mon Aug 13 2018 Ken Dreyer 2:12.2.5-39 - mds: update MDSRank::cluster_degraded before handling mds failure (rhbz#1611056) - qa/tasks/cephfs: add test for discontinuous mdsmap (rhbz#1601138) - mds: handle discontinuous mdsmap (rhbz#1601138) - mds: introduce MDSMap::get_mds_set_lower_bound() (rhbz#1601138) - mds: avoid traversing all dirfrags when trying to get wrlocks (rhbz#1607583) - mds: increase debug level for dropped client cap msg (rhbz#1607596) - mds: dump recent events on respawn (rhbz#1607601) - mds: print mdsmap processed at low debug level (rhbz#1607606) * Tue Jul 31 2018 Ken Dreyer 2:12.2.5-38 - mon/OSDMonitor: Warn if missing expected_num_objects (rhbz#1592497) - mon/OSDMonitor: Warn when expected_num_objects will have no effect (rhbz#1592497) * Fri Jul 27 2018 Ken Dreyer 2:12.2.5-37 - ceph-volume: Restore SELinux context (rhbz#1609427) * Fri Jul 27 2018 Ken Dreyer 2:12.2.5-36 - rgw: continue enoent index in dir_suggest (rhbz#1609030) - rgw: fix index update in dir_suggest_changes (rhbz#1609030) * Wed Jul 25 2018 Ken Dreyer 2:12.2.5-35 - rgw: set default objecter_inflight_ops = 24576 (rhbz#1591877) - rgw: fix gc may cause a large number of read traffic (rhbz#1601068) - rgw: add curl_low_speed_limit and curl_low_speed_time config to avoid the thread hangs in data sync. (rhbz#1589545) - radosgw-admin: 'sync error trim' loops until complete (rhbz#1600702) - rgw: do not ignore EEXIST in RGWPutObj::execute (rhbz#1537737) - rgw: change default rgw_thread_pool_size to 512 (rhbz#1591822) - rgw: add option for relaxed region enforcement (rhbz#1585307) * Mon Jul 23 2018 Ken Dreyer 2:12.2.5-34 - prometheus: Set the response header for cached response (rhbz#1537505) - prometheus: Reset the time the data was captured (rhbz#1537505) - prometheus: Format metrics in the collect function (rhbz#1537505) - prometheus: Remove the Metrics class (rhbz#1537505) - prometheus: Optimize metrics formatting (rhbz#1537505) - prometheus: Use instance instead of inst variable (rhbz#1537505) - prometheus: Make the cache timeout configurable (rhbz#1537505) - prometheus: Fix metric resets (rhbz#1537505) * Wed Jul 18 2018 Ken Dreyer 2:12.2.5-33 - Allow swift acls to be deleted. (rhbz#1590450) * Thu Jul 12 2018 Ken Dreyer 2:12.2.5-32 - ceph-disk: revise the help message for "prepare" command (rhbz#1572722) * Wed Jul 11 2018 Ken Dreyer 2:12.2.5-31 - client: update inode fields according to issued caps (rhbz#1594283) - mds: fix occasional dir rstat inconsistency between multi-MDSes (rhbz#1594283) - mds: don't report slow request for blocked filelock request (rhbz#1594674) - mds: send cap export message when exporting non-auth caps to auth mds (rhbz#1594457) - common/DecayCounter: set last_decay to current time when decoding decay counter (rhbz#1593322) - mds: include nfiles/nsubdirs of directory inode in MClientCaps (rhbz#1594741) - mds: fix leak of MDSCacheObject::waiting (rhbz#1594307) - mds: fix some memory leak (rhbz#1594307) - mds: properly trim log segments after scrub repairs something (rhbz#1593093) * Wed Jul 11 2018 Ken Dreyer 2:12.2.5-30 - client: fix issue of revoking non-auth caps (rhbz#1594868) - qa/tasks/cephfs: add timeout parameter to kclient umount_wait (rhbz#1594323) - mds: reply session reject for open request from blacklisted client (rhbz#1594323) - mds: set could_consume to false when no purge queue item actually executed (rhbz#1593311) - qa/tasks/cephfs: add test for renewing stale session (rhbz#1593123) - client: invalidate caps and leases when session becomes stale (rhbz#1593123) - client: fix race in concurrent readdir (rhbz#1593123) - mds: properly reconnect client caps after loading inodes (rhbz#1593100) - mds: filter out blacklisted clients when importing caps (rhbz#1593100) - mds: don't add blacklisted clients to reconnect gather set (rhbz#1593100) - mds: combine MDCache::{cap_exports,cap_export_targets} (rhbz#1593100) - mon/MDSMonitor: do not send redundant MDS health messages to cluster log (rhbz#1593031) * Wed Jul 11 2018 Ken Dreyer 2:12.2.5-29 - osd/PrimaryLogPG: rebuild attrs from clients (rhbz#1599859) * Wed Jul 11 2018 Ken Dreyer 2:12.2.5-28 - osd/filestore: Change default filestore_merge_threshold to -10 (rhbz#1591873) * Thu Jun 28 2018 Ken Dreyer 2:12.2.5-27 - qa/workunits/rados: test pool op permissions (rhbz#1593594) - qa/workunits/rbd: test self-managed snapshot create/remove permissions (rhbz#1593594) - pybind/rados: new methods for manipulating self-managed snapshots (rhbz#1593594) - mon/OSDMonitor: enforce caps for all remaining pool ops (rhbz#1593594) - mon/OSDMonitor: enforce caps when creating/deleting unmanaged snapshots (rhbz#1593594) * Tue Jun 26 2018 Ken Dreyer 2:12.2.5-26 - rgw: Silence maybe-uninitialized false positives (rhbz#1580497) - rgw: bucket sync only allows one olh op at a time (rhbz#1580497) - rgw: bucket sync updates high marker for squashed entries (rhbz#1580497) - rgw: CompleteMultipart applies its olh_epoch (rhbz#1580497) - rgw: bucket sync allows OP_ADD on versioned objects (rhbz#1580497) - rgw: bucket sync doesn't squash over olh entries (rhbz#1580497) - rgw: bucket sync only provides an epoch for olh operations (rhbz#1580497) - rgw: SyncModule::sync_object() takes optional olh epoch (rhbz#1580497) - rgw: fetch_remote_obj() applies olh even if object is current (rhbz#1580497) - rgw: fetch_remote_obj() takes optional olh epoch (rhbz#1580497) - rgw: Object::Write::_do_write_meta() takes optional olh epoch (rhbz#1580497) - test/rgw: test incremental sync of acls on versioned object (rhbz#1580497) * Tue Jun 05 2018 Ken Dreyer 2:12.2.5-25 - mgr: expose avg data for long running avgs (rhbz#1554281) * Tue Jun 05 2018 Ken Dreyer 2:12.2.5-24 - rgw: aws4 auth supports PutBucketRequestPayment (rhbz#1569694) * Mon Jun 04 2018 Ken Dreyer 2:12.2.5-23 - rgw: update ObjectCacheInfo::time_added on overwrite (rhbz#1585750) - rgw: ObjectCache::put avoids separate find + insert (rhbz#1585750) * Fri Jun 01 2018 Ken Dreyer 2:12.2.5-22 - librbd: commit IO as safe when complete if writeback cache is disabled (rhbz#1585192) * Fri Jun 01 2018 Ken Dreyer 2:12.2.5-21 - librbd: commit IO as safe when complete if writeback cache is disabled (rhbz#1585192) * Fri Jun 01 2018 Ken Dreyer 2:12.2.5-20 - client: delay dentry trimming until after cap traversal (rhbz#1585031) - qa: test for trim_caps segfault for trimmed dentries (rhbz#1585031) - client: avoid freeing inode when it contains TX buffer heads (rhbz#1585029) - osdc/ObjectCacher: allow discard to complete in-flight writeback (rhbz#1585029) - mds: tighten conditions of calling rejoin_gather_finish() (rhbz#1585023) - mds: avoid calling rejoin_gather_finish() two times successively (rhbz#1585023) * Wed May 30 2018 Ken Dreyer 2:12.2.5-19 - Modified mgr_module-Deal-with-long-running-avgs-properly.patch (rhbz#1554281) * Wed May 30 2018 Ken Dreyer 2:12.2.5-18 - doc/prometheus: Mention the long running avg types (rhbz#1554281) - prometheus: Expose sum/count pairs for avgs (rhbz#1554281) - mgr_module: Deal with long running avgs properly (rhbz#1554281) - mgr: Expose avgcount for long running avgs (rhbz#1554281) - filestore: Raise the priority of two counters (rhbz#1554281) - rgw: add configurable AWS-compat invalid range get behavior (rhbz#1583835) * Wed May 30 2018 Ken Dreyer 2:12.2.5-17 - auth/cephx/CephxProtocol: better random - cephx: update docs - auth/cephx: add authorizer challenge (CVE-2018-1128) - mon,msg: implement cephx_*_require_version options - auth/cephx/CephxSessionHandler: implement CEPHX_V2 calculation mode (CVE-2018-1129) - include/ceph_features: define CEPHX2 feature - msg/async,simple: include MGR as service when applying cephx settings * Fri May 25 2018 Ken Dreyer 2:12.2.5-16 - osd/osd_types: fix object_stat_sum_t decode (rhbz#1581564) * Wed May 23 2018 Ken Dreyer 2:12.2.5-15 - rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (rhbz#1573657) - mds: properly check auth subtree count in MDCache::shutdown_pass() (rhbz#1578142) - mds: don't discover inode/dirfrag when mds is in 'starting' state (rhbz#1578142) * Wed May 23 2018 Ken Dreyer 2:12.2.5-14 - rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (rhbz#1573657) - mds: properly check auth subtree count in MDCache::shutdown_pass() (rhbz#1566016) - mds: don't discover inode/dirfrag when mds is in 'starting' state (rhbz#1566016) * Tue May 22 2018 Ken Dreyer 2:12.2.5-13 - selinux: Allow ceph to block suspend (rhbz#1565416) - selinux: Allow ceph to execute ldconfig (rhbz#1565416) - prometheus: Fix order of occupation values (rhbz#1554281) * Mon May 21 2018 Ken Dreyer 2:12.2.5-12 - rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (rhbz#1573657) * Mon May 21 2018 Ken Dreyer 2:12.2.5-11 - rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (rhbz#1573656) * Tue May 15 2018 Ken Dreyer 2:12.2.5-10 - qa/cephfs: test if evicted client unmounts without hanging (rhbz#1576861) - qa/tasks: allow custom timeout for umount_wait() (rhbz#1576861) - client: don't hang when MDS sessions are evicted (rhbz#1576861) * Tue May 15 2018 Ken Dreyer 2:12.2.5-9 - mds: kick rdlock if waiting for dirfragtreelock (rhbz#1566016) - mds: properly check auth subtree count in MDCache::shutdown_pass() (rhbz#1566016) - mds: don't discover inode/dirfrag when mds is in 'starting' state (rhbz#1566016) - qa: get status to handle older api (rhbz#1572555) - qa: backport helper functions (rhbz#1572555) - mds: handle imported session race (rhbz#1572555) - mds: check for session import race (rhbz#1572555) * Mon May 14 2018 Ken Dreyer 2:12.2.5-8 - doc/mgr/prometheus: add instructions to correlate metrics (rhbz#1554281) - pybind/mgr/prometheus: unify label names, move away from "id" (rhbz#1554281) - prometheus: Expose number of degraded/misplaced/unfound objects (rhbz#1554281) - mgr: Expose pg_sum in pg_summary (rhbz#1554281) - prometheus: Handle the TIME perf counter type metrics (rhbz#1554281) - prometheus: Fix prometheus shutdown/restart (rhbz#1554281) * Fri May 11 2018 Ken Dreyer 2:12.2.5-7 - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) - radosgw-admin: rename 'bucket sync status' to 'bucket sync markers' (rhbz#1466956) - doc: update radosgw-admin.rst and help.t about data sync status (rhbz#1466956) - rgw: display data sync recovering shards in radosgw-admin sync status (rhbz#1466956) - rgw: add RGWReadDataSyncRecoveringShardsCR to read recovering shards (rhbz#1466956) - qa/workunits/rados/test_large_omap_detection: Scrub pgs instead of OSDs (rhbz#1569192) * Thu May 10 2018 Ken Dreyer 2:12.2.5-6 - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) - radosgw-admin: rename 'bucket sync status' to 'bucket sync markers' (rhbz#1466956) - doc: update radosgw-admin.rst and help.t about data sync status (rhbz#1466956) * Thu May 10 2018 Ken Dreyer 2:12.2.5-5 - restful: Fix jsonification (rhbz#1506102) - restful: Set the value of the argument (rhbz#1506102) - restful: Support auid pool argument (rhbz#1506102) - qa/restful: Test pg_num/pgp_num modifications (rhbz#1506102) * Wed May 09 2018 Ken Dreyer 2:12.2.5-4 - rgw: use vector for remove_tags in gc aio (rhbz#1548564) - rgw: gc aio, replace lists with other types (rhbz#1548564) - rgw: make gc concurrenct io size configurable (rhbz#1548564) - rgw: trim gc index using aio (rhbz#1548564) - rgw: use a single gc io manager for all shards (rhbz#1548564) - rgw: use aio for gc processing (rhbz#1548564) - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) * Wed May 09 2018 Ken Dreyer 2:12.2.5-3 - radosgw-admin: add pretty 'bucket sync status' command (rhbz#1466956) - rgw: expose struct bucket_index_marker_info in header (rhbz#1466956) - rgw: rgw_bucket_sync_status takes bucket info (rhbz#1466956) - radosgw-admin: rename 'bucket sync status' to 'bucket sync markers' (rhbz#1466956) - rgw: translate the state in rgw_data_sync_marker (rhbz#1466956) - doc: update radosgw-admin.rst and help.t about data sync status (rhbz#1466956) - rgw: add --shard-id for data sync status (rhbz#1466956) - rgw: read behind bucket shards of a specified data log shard (rhbz#1466956) - rgw: display data sync recovering shards in radosgw-admin sync status (rhbz#1466956) - rgw: add RGWReadDataSyncRecoveringShardsCR to read recovering shards (rhbz#1466956) - rgw: display errors of object sync failed in sync error list (rhbz#1466956) - rgw: add lagging shard ids in rgw sync status (rhbz#1466956) - rgw: RGWRadosGetOmapKeysCR uses omap_get_keys2 (rhbz#1466956) - rgw: RGWRadosGetOmapKeysCR uses completion return code (rhbz#1466956) - qa: ignore version in auth metadata comp (rhbz#1566194) - ceph_volume_client: allow volumes without namespace isolation (rhbz#1566194) - mon/PGMap: Summarise OSDs in blocked/stuck requests (rhbz#1576204) - qa/workunits/rados/test_large_omap_detection: Scrub pgs instead of OSDs (rhbz#1569192) - osd: Add a flag to ScrubMap to signal check needed (rhbz#1569192) - osd: Warn about objects with too many omap entries (rhbz#1569192) - osd: Move creation of 'master_set' to scrub_compare_maps (rhbz#1569192) * Wed May 09 2018 Ken Dreyer - 2:12.2.5-2 - Drop ExclusiveArch x86_64 (rhbz#1563510) * Tue May 08 2018 Ken Dreyer 2:12.2.5-1 - Update to v12.2.5 (rhbz#1571353) - rgw: ability to list bucket contents in unsorted order for efficiency (rhbz#1548563) - rgw: consolidate code that implements hashing algorithms (rhbz#1548563) - rgw: add buffering filter to compression for fetch_remote_obj (rhbz#1501380) - ceph-disk: default to --filestore (rhbz#1572722) * Wed May 02 2018 Ken Dreyer 2:12.2.4-10 - rgw: raise log level on coroutine shutdown errors (rhbz#1499324) - rgw: fix bi_list to reset is_truncated flag if it skips entires (rhbz#1554221) - rgw: fix use of libcurl with empty header values (rhbz#1561531) * Thu Apr 26 2018 Ken Dreyer 2:12.2.4-9 - fuse: wire up fuse_ll_access (rhbz#1560575) - client: remove getgroups_cb (rhbz#1560575) - client: remove _getgrouplist (rhbz#1560575) - client: have init_gids just set alloced_gids to true (rhbz#1560575) - client: remove init_groups (rhbz#1560575) - fuse: handle errors appropriately when getting group list (rhbz#1560575) * Thu Apr 26 2018 Ken Dreyer 2:12.2.4-8 - client: flush the mdlog in _fsync before waiting on unstable reqs (rhbz#1566467) - mds: don't try exporting subdir if dirfrag is already being exported (rhbz#1554593) - mds: always pass current time to MDBalancer::{hit_inode,hit_dir} (rhbz#1554593) - Make MDS evaluates the overload situation with the same criterion (rhbz#1554593) - discard the mdsload clear after prep_rebalance in case we want to export it for debugging (rhbz#1554593) - make sure that MDBalancer uses heartbeat info from the same epoch (rhbz#1554593) - mds: don't cleanup request that has pending remote authpin/wrlock/xlock (rhbz#1559749) * Thu Apr 26 2018 Ken Dreyer 2:12.2.4-7 - client: flush the mdlog in _fsync before waiting on unstable reqs (rhbz#1566467) - client: add ceph_ll_sync_inode (rhbz#1566467) - mds: limit run time of load balancer (rhbz#1554593) - mds: add list to track recently used sub-directories (rhbz#1554593) - mds: calculate other mds' last_epoch_under locally (rhbz#1554593) - mds: cleanup mds_load map access/update (rhbz#1554593) - mds: check export pin when choosing dirfrags for exporting (rhbz#1554593) - mds: optimize MDBalancer::find_exports() (rhbz#1554593) - mds: avoid creating unnecessary subtrees during load balance (rhbz#1554593) - mds: mds: optimize MDBalancer::try_rebalance() (rhbz#1554593) - mds: don't try exporting subdir if dirfrag is already being exported (rhbz#1554593) - mds: don't try exporting dirfrags under mds's own mdsdir (rhbz#1554593) - mds: cleanup MDBalancer::try_rebalance() (rhbz#1554593) - mds: always pass current time to MDBalancer::{hit_inode,hit_dir} (rhbz#1554593) - mds: remove unused MDBalancer::export_empties() (rhbz#1554593) - mds: adjust subtree popularity after rename (rhbz#1554593) - mds: fix request rate calculation (rhbz#1554593) - simplify mds overload judgement logic (rhbz#1554593) - Make MDS evaluates the overload situation with the same criterion (rhbz#1554593) - mds: add asok command that dumps metadata popularity (rhbz#1554593) - discard the mdsload clear after prep_rebalance in case we want to export it for debugging (rhbz#1554593) - make sure that MDBalancer uses heartbeat info from the same epoch (rhbz#1554593) - make popular counter decay at proper rate (rhbz#1554593) - mds: various fixes for backport (rhbz#1531679) - mds: convert to boost::string_view (rhbz#1531679) - test/encoding: refactor to avoid escaping shell magic (rhbz#1531679) - mds: minor refactor of SimpleLock (rhbz#1531679) - mds: track Capability in mempool (rhbz#1531679) - mds: move CInode container members to mempool (rhbz#1531679) - mds: move CDentry container members to mempool (rhbz#1531679) - mds: move CDir container members to mempool (rhbz#1531679) - mds: put MDSCacheObject compact_map in mempool (rhbz#1531679) - common: use size_t for object size (rhbz#1531679) - mds: convert to allocator agnostic string_view (rhbz#1531679) - mds: simplify initialization (rhbz#1531679) - compact_*: support mempool allocated containers (rhbz#1531679) - mds: always handle SESSION_REQUEST_RENEWCAPS messages (rhbz#1559749) - mds: don't cleanup request that has pending remote authpin/wrlock/xlock (rhbz#1559749) - mds: reset connection's priv when marking down connection (rhbz#1559749) - mds: fix session reference leak (rhbz#1559749) - fuse: wire up fuse_ll_access (rhbz#1560575) * Thu Apr 05 2018 Ken Dreyer 2:12.2.4-6 - Drop patch that reverted PR #18782 (rhbz#1550026) * Thu Apr 05 2018 Ken Dreyer 2:12.2.4-5 - mds: bump mds_log_max_segments for trim buffer (rhbz#1507629) * Mon Mar 19 2018 Ken Dreyer 2:12.2.4-4 - qa: ignore bad backtrace cluster wrn (rhbz#1518730) - qa/cephfs: Add tests to validate scrub functionality (rhbz#1518730) - cephfs: Add option to load invalid metadata from disk (rhbz#1518730) - cephfs: Reset scrub data when inodes move (rhbz#1518730) * Thu Mar 15 2018 Ken Dreyer 2:12.2.4-3 - Revert "Merge pull request #18782 from ukernel/luminous-21985" (rhbz#1550026) * Wed Mar 14 2018 Ken Dreyer 2:12.2.4-2 - PrimaryLogPG: only trim up to osd_pg_log_trim_max entries at once (rhbz#1554544) - PG, PrimaryLogPG: trim log and rollback info for error log entries (rhbz#1554544) - tools: Add pg log trim command to ceph-objectstore-tool (rhbz#1552094) * Mon Mar 12 2018 Ken Dreyer 2:12.2.4-1 - Update to v12.2.4 (rhbz#1548067 rhbz#1325322 rhbz#1489866 rhbz#1493418 rhbz#1506438 rhbz#1507136 rhbz#1507629 rhbz#1538317 rhbz#1541424 rhbz#1543879 rhbz#1544680) * Thu Mar 08 2018 Ken Dreyer 2:12.2.1-46 - rgw: make init env methods return an error (rhbz#1547673) * Tue Feb 27 2018 Ken Dreyer 2:12.2.1-45 - osd: Only scan for omap corruption once (rhbz#1549293) - tools: Add --backend option to ceph-osdomap-tool default to rocksdb (rhbz#1549293) - osd, mds, tools: drop the invalid comment and some unused variables (rhbz#1549293) - tools: Add the ability to reset state to v2 (rhbz#1549293) - tools: Show DB state information (rhbz#1549293) * Wed Jan 24 2018 Ken Dreyer 2:12.2.1-44 - rgw: Fix swift object expiry not deleting objects (rhbz#1530673) * Thu Jan 11 2018 Ken Dreyer 2:12.2.1-43 - config: lower default omap entries recovered at once (rhbz#1505559) * Wed Jan 10 2018 Ken Dreyer 2:12.2.1-42 - rgw: dont log EBUSY errors in 'sync error list' (rhbz#1530665) * Mon Jan 08 2018 Ken Dreyer 2:12.2.1-41 - rgw: put bucket policy panics RGW process (rhbz#1531673) - rgw: Plumb refresh logic into object cache (rhbz#1530801) - rgw: Add expiration in the object cache (rhbz#1530801) - rgw: retry CORS put/delete operations on ECANCELLED (rhbz#1530801) - rgw: Expire entries in bucket info cache (rhbz#1530801) - rgw: Handle stale bucket info in RGWDeleteBucketPolicy (rhbz#1530801) - rgw: Handle stale bucket info in RGWPutBucketPolicy (rhbz#1530801) - rgw: Handle stale bucket info in RGWDeleteBucketWebsite (rhbz#1530801) - rgw: Handle stale bucket info in RGWSetBucketWebsite (rhbz#1530801) - rgw: Handle stale bucket info in RGWSetBucketVersioning (rhbz#1530801) - rgw: Handle stale bucket info in RGWPutMetadataBucket (rhbz#1530801) - rgw: Add retry_raced_bucket_write (rhbz#1530801) - rgw: Add try_refresh_bucket_info function (rhbz#1530801) - rgw: fix rewrite a versioning object create a new object bug (rhbz#1531279) - rgw: fix chained cache invalidation to prevent cache size growth above the rgw_cache_lru_size limit (rhbz#1530670) - RGW: S3 POST policy should not require Content-Type (rhbz#1530775) - rgw: fix BZ 1500904, Stale bucket index entry remains after object deletion (rhbz#1530784) - ceph.in: pass RADOS inst to LibCephFS (rhbz#1491170) * Wed Nov 22 2017 Ken Dreyer 2:12.2.1-40 - rgw: set num_shards on 'radosgw-admin data sync init' (rhbz#1512092) - dencoder/rgw: expose rgw sync status types (rhbz#1512092) * Thu Nov 02 2017 Ken Dreyer 2:12.2.1-39 - Revert "rgw_file: disable FLAG_EXACT_MATCH enforcement" (rhbz#1509035) * Thu Nov 02 2017 Ken Dreyer 2:12.2.1-38 - rgw: add missing current_history initialization (rhbz#1508322) - rgw: init oldest period after setting run_sync_thread (rhbz#1508322) * Wed Nov 01 2017 Ken Dreyer 2:12.2.1-37 - rgw:fix list objects with marker when bucket is enable versioning (rhbz#1508615) * Wed Nov 01 2017 Ken Dreyer 2:12.2.1-36 - rgw: remove placement_rule from cls_user_bucket_entry (rhbz#1506239) - rgw: remove placement_rule from rgw_link_bucket() (rhbz#1506239) - rgw: take placement_rule from bucket info in update_containers_stats (rhbz#1506239) - cmake/cls: add install() for ceph_test_cls_log (rhbz#1507650) - qa: add ceph_test_cls_log to cls workunit (rhbz#1507650) - osd: add processed_subop_count for cls_cxx_subop_version() (rhbz#1507650) * Tue Oct 31 2017 Ken Dreyer 2:12.2.1-35 - rgw: fix extra_data_len handling in PutObj filters (rhbz#1505485) * Mon Oct 30 2017 Ken Dreyer 2:12.2.1-34 - rgw_file: set s->obj_size from bytes_written (rhbz#1507128) * Mon Oct 30 2017 Ken Dreyer 2:12.2.1-33 - rgw: Fix dereference of empty optional (rhbz#1503280) * Fri Oct 27 2017 Ken Dreyer 2:12.2.1-32 - Update "cls/journal: fixed possible infinite loop in expire_tags" patch (rhbz#1501374) * Fri Oct 27 2017 Ken Dreyer 2:12.2.1-31 - cls/journal: fixed possible infinite loop in expire_tags (rhbz#1501374) * Thu Oct 26 2017 Ken Dreyer 2:12.2.1-30 - rgw: include SSE-KMS headers in encrypted upload response (rhbz#1496460) * Wed Oct 25 2017 Ken Dreyer 2:12.2.1-29 - rgw: dont reuse stale RGWObjectCtx for get_bucket_info() (rhbz#1506239) * Wed Oct 25 2017 Ken Dreyer 2:12.2.1-28 - Drop "radosgw: fix awsv4 header line sort order." (rhbz#1498323) * Wed Oct 25 2017 Ken Dreyer 2:12.2.1-27 - You can find the problem do like this: (rhbz#1505504) * Tue Oct 24 2017 Ken Dreyer 2:12.2.1-26 - rbd-mirror: strip environment/CLI overrides for remote cluster (rhbz#1505496) * Mon Oct 23 2017 Ken Dreyer 2:12.2.1-25 - buffer: remove list _mempool member (rhbz#1505460) - buffer: allow mempool to be passed into raw* ctors and create methods (rhbz#1505460) - messages/MOSDMap: do compat reencode of crush map, too (rhbz#1505365) * Mon Oct 23 2017 Ken Dreyer 2:12.2.1-24 - osdc/Objecter: skip sparse-read result decode if bufferlist is empty (rhbz#1496674) - osdc/Objecter: delay initialization of hobject_t in _send_op (rhbz#1496674) - common/common_init: disable ms subsystem log gathering for clients (rhbz#1496674) * Thu Oct 19 2017 Ken Dreyer 2:12.2.1-23 - rgw_file: disable FLAG_EXACT_MATCH enforcement (rhbz#1489452) - rgw_file: implement variant offset readdir processing (rhbz#1489452) * Thu Oct 19 2017 Ken Dreyer 2:12.2.1-22 - os/bluestore: move several buffer{ptr,list}s into cache_other mempool (rhbz#1504179) - os/bluestore: put new attrs in correct mempool too (rhbz#1504179) - os/bluestore: put attrs in mempool (rhbz#1504179) - buffer: add ptr::[try_]reassign_to_mempool (rhbz#1504179) - os/bluestore: add bluestore_bluefs_min_free (rhbz#1504179) - os/bluestore/BlueFS: crash on enospc (rhbz#1504179) - os/bluestore: use normal Context for async deferred_try_submit (rhbz#1504179) - os/bluestore: wake kv thread when blocking on deferred_bytes (rhbz#1504179) - osd: make shutdown debug conditional (and off by default) (rhbz#1504179) - osd: debug_bluestore on shutdown (rhbz#1504179) - os/bluestore: dump stray cache content on shutdown (rhbz#1504179) - os/bluestore: ignore 0x2000~2000 extent oddity from luminous upgrade (rhbz#1504179) - os/bluestore: use min_alloc_size for freelist resolution (rhbz#1504179) - os/bluestore: align bluefs_extents to min_alloc_size (rhbz#1504179) - os/bluestore/FreelistManager: create: accept min alloc size (rhbz#1504179) - os/bluestore: mkfs: choose min_alloc_size earlier (rhbz#1504179) - os/bluestore: require that bluefs_alloc_size be multiple of min_alloc_size (rhbz#1504179) - os/bluestore: allocate entire write in one go (rhbz#1504179) - ceph-bluestore-tool: better default logging; --log-file and --log-level options (rhbz#1504179) - ceph-bluestore-tool: add 'bluefs-bdev-expand' to expand wal or db usage (rhbz#1504179) - ceph-bluestore-tool: add 'bluefs-bdev-sizes' command (rhbz#1504179) - os/ObjectStore: add repair interface (rhbz#1504179) - ceph-objectstore-tool: Make pg removal require --force (rhbz#1504179) - ceph-bluestore-tool: factor out bluefs mount (rhbz#1504179) - os/bluestore: repair 21089 on freelist init (rhbz#1504179) - os/bluestore: fsck: remove fsck repair for 21089 (rhbz#1504179) - os/bluestore/KernelDevice: hack to inject bad device size (rhbz#1504179) - osd: make the PG's SORTBITWISE assert a more generous shutdown (rhbz#1504177) - src/messages/MOSDMap: reencode OSDMap for older clients (rhbz#1504172) - mon/MgrMonitor: read cmd descs if empty on update_from_paxos() (rhbz#1504171) - mon/MgrMonitor: populate on-disk cmd descs if empty on upgrade (rhbz#1504171) - rbd-mirorr: does not start on reboot (rhbz#1504166) * Wed Oct 18 2017 Ken Dreyer 2:12.2.1-21 - rgw_file: explicit NFSv3 open() emulation (rhbz#1492582) * Tue Oct 17 2017 Ken Dreyer 2:12.2.1-20 - rgw: Remove assertions in IAM Policy (rhbz#1503280) * Tue Oct 17 2017 Ken Dreyer 2:12.2.1-19 - rgw: disable dynamic resharding in multisite environment (rhbz#1498474) - cls/rgw: increment header version to avoid overwriting bilog entries (rhbz#1501408) * Tue Oct 17 2017 Ken Dreyer 2:12.2.1-18 - test/rgw: add test_multipart_object_sync (rhbz#1501408) - cls/rgw: increment header version to avoid overwriting bilog entries (rhbz#1501408) * Mon Oct 16 2017 Ken Dreyer 2:12.2.1-17 - cls/journal: fixed possible infinite loop which could kill the OSD (rhbz#1501374) - test: ceph_test_cls_journal was dropped when converting to cmake (rhbz#1501374) * Mon Oct 16 2017 Ken Dreyer 2:12.2.1-16 - mds: prevent trim count from underflowing (rhbz#1502178) - common/options: enable multiple rocksdb compaction threads for filestore (rhbz#1502763) - common/options.cc: Set Filestore rocksdb compaction readahead option. (rhbz#1502763) - doc/rados/operations/health-checks: fix TOO_MANY_PGS discussion (rhbz#1489064) - mon: rename mon_pg_warn_max_per_osd -> mon_max_pg_per_osd (rhbz#1489064) - qa/standalong/mon/osd-pool-create: fewer pgs in test (rhbz#1489064) - mon/OSDMonitor: assume a minimum cluster size of 3 (rhbz#1489064) - mon/OSDMonitor: prevent pg_num from exceeding mon_pg_warn_max_per_osd (rhbz#1489064) - common/options: reduce mon_pg_warn_max_per_osd to 200 (rhbz#1489064) - rgw: calculate and print Swift's X-Account-Storage-Policy-* headers. (rhbz#1436386) - rgw: bucket linking stores also the info about a placement rule. (rhbz#1436386) - rgw: convey placement rule in RGWBucketEnt and cls_user_bucket_entry. (rhbz#1436386) - rgw: clean-up around and implement the move semantics in RGWBucketEnt. (rhbz#1436386) - rgw: enforce the std::move semantic across the path of RGWUserBuckets. (rhbz#1436386) - rgw: {end_}marker params are handled during Swift's reversed account listing. (rhbz#1436386) - rgw: add basic support for Swift's reversed account listings. (rhbz#1436386) - rgw: abstract partial data processing in RGWListBuckets. (rhbz#1436386) - rgw: rename the configurables for metadata limits to start with rgw_. (rhbz#1436386) - rgw: return proper message when deleting non-empty Swift's container. (rhbz#1436386) - rgw: seed::get_torrent_file returns errors in the usual way. (rhbz#1436386) - rgw: add support for max_meta_count of Swift API's /info. (rhbz#1436386) - rgw: Swift API returns 400 Bad Request on too long container names. (rhbz#1436386) - rgw: honor custom rgw_err::message in Swift's error handling. (rhbz#1436386) - rgw: add support for max_meta_value_length of Swift API's /info. (rhbz#1436386) - rgw: refactor rgw_get_request_metadata to reduce the number of dynallocs. (rhbz#1436386) - rgw: add support for max_meta_name_length of Swift API's /info. (rhbz#1436386) - rgw: list_objects() honors end_marker regardless of namespace. (rhbz#1436386) - osdc/ObjectCacher: limit memory usage of BufferHead (rhbz#1490814) - mds: keep CInode::STATE_QUEUEDEXPORTPIN state when exporting inode (rhbz#1500874) * Fri Oct 13 2017 Ken Dreyer 2:12.2.1-15 - rgw: 'zone placement' commands validate compression type (rhbz#1501389) * Wed Oct 11 2017 Ken Dreyer 2:12.2.1-14 - rgw: RGWUser::init no longer overwrites user_id (rhbz#1489391) * Wed Oct 11 2017 Ken Dreyer 2:12.2.1-13 - ceph-disk: retry on OSError (rhbz#1494543) - ceph-disk: factor out the retry logic into a decorator (rhbz#1494543) * Tue Oct 10 2017 Ken Dreyer 2:12.2.1-12 - rgw: encryption add exception handling for from_base64 on bad input (rhbz#1496460) - rgw: encryption fix the issue when not provide encryption mode (rhbz#1496460) - rgw: encryption SSE-KMS add the details of error msg in response (rhbz#1496460) - rgw: encryption SSE-C add the details of error msg in response (rhbz#1496460) * Tue Oct 10 2017 Ken Dreyer 2:12.2.1-11 - librbd: refresh image after applying new/removing old metadata (rhbz#1493977) * Thu Oct 05 2017 Ken Dreyer 2:12.2.1-10 - osd: additional protection for out-of-bounds EC reads (rhbz#1498611) - RGW: Multipart upload may double the quota (rhbz#1498668) - RGW: fix a bug about inconsistent unit of comparison (rhbz#1498668) - rgw: release cls lock if taken in RGWCompleteMultipart (rhbz#1497853) - librbd: avoid dynamically refreshing non-atomic configuration settings (rhbz#1493977) - librbd: notify watcher when updating image metadata (rhbz#1493977) - rbd-mirror: sync image metadata when transfering remote image (rhbz#1493977) - librbd: snapshots should be created/removed against data pool (rhbz#1497332) - radosgw: fix awsv4 header line sort order. (rhbz#1498323) * Mon Oct 02 2017 Ken Dreyer 2:12.2.1-9 - selinux: Allow getattr on lnk sysfs files (rhbz#1493750) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-8 - rbd: mirror "get" actions now have cleaner error messages (rhbz#1492785) - cls/rbd: avoid recursively listing the watchers on rbd_mirroring object (rhbz#1492785) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-7 - rbd-mirror: ensure forced-failover cannot result in sync state (rhbz#1495521) - rbd-mirror: forced-promotion should interrupt replay delay to shut down (rhbz#1495521) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-6 - rgw: Check payment operations in policy (rhbz#1490278) - rgw: Check bucket versioning operations in policy (rhbz#1490278) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-5 - rgw: Check bucket GetBucketLocation in policy (rhbz#1493934) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-4 - rgw: Check bucket Website operations in policy (rhbz#1493896) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-3 - rgw: Check bucket CORS operations in policy (rhbz#1494140) - ceph_volume_client: perform snapshot operations in (rhbz#1494980) * Wed Sep 27 2017 Ken Dreyer 2:12.2.1-2 - rgw_file: fix write error when the write offset overlaps. (rhbz#1496585) * Wed Sep 27 2017 Ken Dreyer - 2:12.2.1-1 - Update to v12.2.1 (rhbz#1472464 rhbz#1472465 rhbz#1477311 rhbz#1464976 rhbz#1492865 rhbz#1489461 rhbz#1480182 rhbz#1485783 rhbz#1468031) * Wed Sep 06 2017 Ken Dreyer 2:12.2.0-2 - ceph-volume tests add new ceph_* ansible dev variables required (centos) (rhbz#1485011) - ceph-volume tests add new ceph_* ansible dev variables required (xenial) (rhbz#1485011) - ceph-volume util create a disk utility for blkid operations (rhbz#1485011) - ceph-volume lvm.prepare store the blkid uuid of a partition journal (rhbz#1485011) - ceph-volume lvm.activate use the partuuid of a partition to link the journal (rhbz#1485011) - ceph-volume tests update the ansible version for functional/tox.ini (rhbz#1485011) - ceph-volume tests add pv* related unit tests (rhbz#1485011) - ceph-volume lvm.api include lv_uuid as output fields (rhbz#1485011) - ceph-volume lvm.activate always update the link to the journal (rhbz#1485011) - ceph-volume lvm.activate retrieve the journal uuid if journal is a device (rhbz#1485011) - ceph-volume exceptions create a specifc error for multiple pvs (rhbz#1485011) - ceph-volume lvm.prepare make a journal a pv, use uuids always (rhbz#1485011) - ceph-volume lvm.api create the PVolumes class and helpers (rhbz#1485011) - ceph-volume lvm.api create the PVolume class (rhbz#1485011) - ceph-volume lvm.api add a helper to create pvs (rhbz#1485011) * Tue Aug 29 2017 Ken Dreyer - 2:12.2.0-1 - Update to v12.2.0 (rhbz#1484002 rhbz#1478599) * Mon Aug 21 2017 Ken Dreyer - 2:12.1.4-2 - ceph-fuse depends on fuse (rhbz#1479138) * Tue Aug 15 2017 Ken Dreyer - 2:12.1.4-1 - latest luminous rc (rhbz#1479797 rhbz#1464955 rhbz#1461041 rhbz#1451936 rhbz#1455711 rhbz#1305670 rhbz#1464981 rhbz#1332083 rhbz#1470837) * Wed Aug 02 2017 Ken Dreyer - 2:12.1.2-1 - latest luminous rc (rhbz#1473386) * Thu Jul 20 2017 Ken Dreyer 2:12.1.1-2 - rgw_file: permit dirent offset computation (rhbz#1473386) * Tue Jul 18 2017 Ken Dreyer - 2:12.1.1-1 - luminous rc2 (rhbz#1470865) * Thu Jul 06 2017 Ken Dreyer - 1:12.1.0-1 - luminous rc1 * Fri May 19 2017 Ken Dreyer - 1:12.0.3-1 - initial luminous pre-release package