From 4e961a5c1376ac0fe2c91fe51e74c418b7b0974df1c0899b71a352cc1c6b6034 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Wed, 18 May 2016 02:57:15 +0000 Subject: [PATCH] Reset link to rev 1 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=26 --- README.packaging.txt | 17 - _constraints | 4 +- _service | 6 +- _servicedata | 3 +- ceph-10.0.2+git.1455914104.0655989.tar.xz | 3 - ceph-10.2.1+git.1463529707.bcd73de.tar.bz2 | 3 + ceph-rpmlintrc | 1 + ceph.changes | 1381 ++++++++++++++++++++ ceph.spec | 1101 +++++++++------- 9 files changed, 1999 insertions(+), 520 deletions(-) delete mode 100644 README.packaging.txt delete mode 100644 ceph-10.0.2+git.1455914104.0655989.tar.xz create mode 100644 ceph-10.2.1+git.1463529707.bcd73de.tar.bz2 diff --git a/README.packaging.txt b/README.packaging.txt deleted file mode 100644 index bbfac3f..0000000 --- a/README.packaging.txt +++ /dev/null @@ -1,17 +0,0 @@ -This package should use just the content of the git tree. If you need -to make changes, you have the following options: -* Make them in git and update the package from git (you can send merge - request if you don't have write access or if you want your patch to be - reviewed) -* Create a patch, add the patch to the package and let one of the - ceph packagers commit it for you - -The online repository is at: -http://github.com/SUSE/ceph - -For building the package from git run the service directly: -osc service disabledrun - -This generates a new tarball from the git branch specified in _service and -extracts ceph.spec (which is itself generated from ceph.spec.in, which is -maintained in git) from it. diff --git a/_constraints b/_constraints index ec3fe51..6a42c61 100644 --- a/_constraints +++ b/_constraints @@ -2,10 +2,10 @@ - 32 + 48 - 8 + 12 kvm diff --git a/_service b/_service index ad4e1c3..d57844c 100644 --- a/_service +++ b/_service @@ -1,8 +1,8 @@ - 10.0.2+git.%ct.%h + 10.2.1+git.%ct.%h git://github.com/SUSE/ceph.git - obs-jewel + ses-10-2-1 ceph git no @@ -11,7 +11,7 @@ - xz + bz2 *.tar diff --git a/_servicedata b/_servicedata index ed8c253..7a409a4 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,5 @@ git://github.com/SUSE/ceph.git - 065598905847d138eaa6fc15451857cc64230b85 \ No newline at end of file + bcd73deb15926f02c6017e3bf21c3620c1020424 + \ No newline at end of file diff --git a/ceph-10.0.2+git.1455914104.0655989.tar.xz b/ceph-10.0.2+git.1455914104.0655989.tar.xz deleted file mode 100644 index ec4aa53..0000000 --- a/ceph-10.0.2+git.1455914104.0655989.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d13596fc767b205be6989568aff5a48c5d167e51f4870c9e54995f18e827fe3 -size 11895708 diff --git a/ceph-10.2.1+git.1463529707.bcd73de.tar.bz2 b/ceph-10.2.1+git.1463529707.bcd73de.tar.bz2 new file mode 100644 index 0000000..01c9432 --- /dev/null +++ b/ceph-10.2.1+git.1463529707.bcd73de.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccc1ad06a257bc8c88b6123781370286b6279b7f4e21ae8cc098459a2d165b88 +size 17372262 diff --git a/ceph-rpmlintrc b/ceph-rpmlintrc index c3a68c2..f66b9cf 100644 --- a/ceph-rpmlintrc +++ b/ceph-rpmlintrc @@ -1 +1,2 @@ # to be used as a last resort +addFilter("shlib-fixed-dependency") diff --git a/ceph.changes b/ceph.changes index 9e1ad84..65b2121 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,1384 @@ +------------------------------------------------------------------- +Wed May 18 00:27:24 UTC 2016 - ddiss@suse.com + +- Update to version 10.2.1+git.1463529707.bcd73de: + + Revert "rbd: update default image features"; (bsc#979169) + + osd: munge cache-pin ops with data into writesame; (bsc#971374) + + ceph osd: add support for new op cmpext + +------------------------------------------------------------------- +Mon May 16 20:19:01 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.1+git.1463429301.dccd759: + + rebase to get rid of a duplicate cherry-pick + +------------------------------------------------------------------- +Mon May 16 14:13:58 UTC 2016 - ncutler@suse.com + +Update to version 10.2.1+git.1463407086.386ad64: + + Rebase to upstream 10.2.1 release: + - cephfs: CephFSVolumeClient should isolate volumes by RADOS namespace + (issue#15400, pr#8787) + - cephfs: handle standby-replay nodes properly in upgrades (issue#15591, pr#8971) + - ceph-{mds,mon,osd} packages need scriptlets with systemd code (issue#14941, + pr#8801) + - ceph_test_keyvaluedb: fix (issue#15435, pr#9051) + - cmake: add missing source file to rbd_mirror/image_replayer (pr#9052) + - cmake: fix rbd compile errors (pr#9076, runsisi) + - journal: incorrectly computed object offset within set (issue#15765, pr#9038) + - librbd: client-side handling for incompatible object map sizes + (issue#15642, pr#9039) + - librbd: constrain size of AioWriteEvent journal entries (issue#15750, pr#9048) + - librbd: does not crash if image header is too short (pr#9044) + - librbd: Errors encountered disabling object-map while flatten is + in-progress (issue#15572, pr#8869) + - librbd: fix get/list mirror image status API (issue#15771, pr#9036) + - librbd: Parent image is closed twice if error encountered while opening + (issue#15574, pr#8867) + - librbd: possible double-free of object map invalidation request upon error + (issue#15643, pr#8865) + - librbd: possible race condition leads to use-after-free (issue#15690, pr#9009) + - librbd: potential concurrent event processing during journal replay + (issue#15755, pr#9040) + - librbd: Potential double free of SetSnapRequest instance (issue#15571, pr#8803) + - librbd: put the validation of image snap context earlier (pr#9046) + - librbd: reduce log level for image format 1 warning (issue#15577, pr#9003) + - mds/MDSAuthCap parse no longer fails on paths with hyphens (issue#15465, + pr#8969) + - mds: MDS incarnation no longer gets lost after remove filesystem + (issue#15399, pr#8970) + - mon/OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 + (issue#15655, pr#9006) + - python: clone operation will fail if config overridden with "rbd default + format = 1" (issue#15685, pr#8972) + - radosgw-admin: add missing –zonegroup-id to usage (issue#15650, pr#9019) + - radosgw-admin: update usage for zone[group] modify (issue#15651, pr#9016) + - radosgw-admin: zonegroup remove command (issue#15684, pr#9015) + - rbd CLI to retrieve rbd mirror state for a pool / specific image + (issue#15144, issue#14420, pr#8868) + - rbd disk-usage CLI command should support calculating full image usage + (issue#14540, pr#8870) + - rbd: helpful error message on map failure (issue#15721, pr#9041) + - rbd: help message distinction between commands and aliases (issue#15521, + pr#9004) + - rbd-mirror: admin socket commands to start/stop/restart mirroring + (issue#15718, pr#9010) + - rbd-mirror can crash if start up is interrupted (issue#15630, pr#8866) + - rbd-mirror: image sync needs to handle snapshot size and protection status + (issue#15110, pr#9050) + - rbd-mirror: lockdep error during bootstrap (issue#15664, pr#9008) + - rbd-nbd: fix rbd-nbd aio callback error handling (issue#15604, pr#9005) + - rgw: add AWS4 completion support for RGW_OP_SET_BUCKET_WEBSITE + (issue#15626, pr#9018) + - rgw admin output (issue#15747, pr#9054) + - rgw: fix issue #15597 (issue#15597, pr#9020) + - rgw: fix printing wrong X-Storage-Url in Swift's TempAuth (issue#15667, + pr#9021) + - rgw: handle stripe transition when flushing final pending_data_bl + (issue#15745, pr#9053) + - rgw: leak fixes (issue#15792, pr#9022) + - rgw: multisite: Issues with Deleting Buckets (issue#15540, pr#8930) + - rgw: period commit fix (issue#15828, pr#9081) + - rgw: period delete fixes (issue#15469, pr#9047) + - rgw: radosgw-admin zone set cuts pool names short if name starts with a + period (issue#15598, pr#9029) + - rgw: segfault at RGWAsyncGetSystemObj (issue#15565, issue#15625, pr#9017) + - several backports (issue#15588, issue#15655, pr#8853) + - systemd: fix typo in preset file (pr#8843) + - tests: make check fails on ext4 (issue#15837, pr#9063) + +------------------------------------------------------------------- +Tue May 10 15:11:33 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.0+git.1462891229.26cbbd7: + + Make SES2 -> SES3 upgrade smoother + + Make systemd-tmpfiles create /var/run/ceph-radosgw at boot + + rpm: fix ownership of logfiles in %pre + + Stop MON from creating keys when it starts + + systemd: drop ceph-create-keys@.service + + Fix RGW memory leaks + + rgw: drop a reference to http op + + rgw: more leaks fixes + + rgw: rest crs, explicitly call cleanup + + rgw: RGWDataSyncStatusManager, cleanup if failing init + + rgw: RGWReadRemoteDataLogShardCR fix destructor + + rgw: RGWReadRESTResourceCR, fix refcounting + + rgw: RGWHTTPManager, can call stop() more than once + + rgw: RGWPeriodPusher, stop http manager explicitly + + rgw: civetweb_callback() refer to store inside lock + + rgw: RGWHTTPManager, avoid referring to req_data->client when completing + + rgw: rados crs, explicit cleanup + + rgw: move around sync_env.init() + + rgw: RGWHTTPClient requests can unregister themselves early + (issue#15794, pr#9022) + + Fix RGW pool name issues + + rgw: fix suffix in RGWZoneParams::fix_pool_names() + (issue#15598, pr#8746) + + rgw: upgrade default zonegroup and set correct zone[group] id + + rgw: code cleanup + (issue#15597, pr#8766) + +------------------------------------------------------------------- +Thu May 05 08:56:32 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.0+git.1462437570.b62163e: + + python-cephfs: use rados namespace for data isolation. + + python_cephfs: rule out empty/None volume_id + + mon/OSDMonitor: max_osds must be > 0 for reweight-by-* + + mon/OSDMonitor: avoid potential expensive grace calculation + + mon/OSDMonitor: improve reweight_by_utilization() logic + + fix deb package /etc/default/ceph location + (update to latest upstream jewel branch) + + + test/ec: build the libs only when 'make check' + (backport pr#8926) + + + ceph osd: add support for new op writesame + + librados: add writesame API + + ceph_test_rados_api_misc: add preliminary writesame tests + + ceph_test_rados_api_aio: add writesame tests + + ceph_test_rados_api_io: ETOBIG tests for writesame + + ceph_test_rados_api_c_write_ops: add writesame test + + TestRados: add writesame support + (backport pr#8568) + + + Drop ceph Resource Agent + (backport pr#8818) + +------------------------------------------------------------------- +Wed May 04 12:40:40 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.0+git.1462365391.c9d3baa: + + ceph-context: add function to set init flags + + global-init: add a path chown wrapper function + + global-init: check init flags and set accordingly + + common-init: chown admin socket after service thread started + + global-init: chown run dir + + global-init: chown pid files + + global-init: fixup inconsistent use of ceph ctx and conf + + admin-socket: use chown instead of fchown + (backport of pr#8702 which fixes issue#15607) + +------------------------------------------------------------------- +Sat Apr 30 14:29:34 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.0+git.1462026398.3f40fbb: + + systemd: fix typo in preset file (bsc#977045) + +------------------------------------------------------------------- +Fri Apr 29 13:47:23 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.0+git.1461937422.7f5da46: + + install-deps.sh: systemd-rpm-macros must be installed on SUSE + (fixes bsc#976860) + + ceph.spec.in: add ExclusiveArch: x86_64 aarch64 + +------------------------------------------------------------------- +Fri Apr 29 12:05:55 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.0+git.1461930761.817a1fd: + +* Important upstream changes since 10.2.0 release + + osd: fix backwards min/max osd utilization + + Drop --setuser/--setgroup from osd prestart (bsc#977836) + + test: Fix ceph-objectstore-tool test to run manually from src non-cmake + + cmake: Added CMAKE_CEPH_*_VIRTUALENV var to fix build + + doc: mutlisite: fix json output for zone create + +* RPM spec file cleanup (drop support for sysvinit) + + rpm: drop python_sitelib/sitearch conditional + + rpm: drop init-ceph.in-fedora.patch + + rpm: drop _with_systemd + + rpm: drop python-argparse dependency + + rpm: drop dead conditionals + + rpm: move unified python-sphinx build dependency + + rpm: move boost-random dependency to appropriate section + + rpm: drop sysvinit-specific dependencies + + rpm: put /sbin/ldconfig into -p + + rpm: put dependencies in alphabetical order + + rpm: global replace $RPM_BUILD_ROOT with %{buildroot} + + rpm: drop udev/95-ceph-osd-alt.rules + + rpm: replace literal paths with RPM macros + + rpm: drop sysvinit bits from relabel_files function + + rpm: do a full make check when --with-tests is given + (pr#8720) + +------------------------------------------------------------------- +Thu Apr 28 08:03:32 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.0+git.1461830249.0f965c8: + + rebase/cherry-pick final upstream version of RPM scriptlet and + *.target unit enablement patches (pr#8714). New commits: + - rpm: Add rpm scripts for ceph-rbd-mirror + - rpm: Start all the targets in %post + (fixes bsc#977430) + +------------------------------------------------------------------- +Tue Apr 26 15:44:00 UTC 2016 - ncutler@suse.com + +- Selected significant upstream changes since 10.1.2: + * debian: start ceph-mon-all and ceph-osd-all on package install (issue#15098, pr#8617) + * doc: rgw adding a very basic multisite doc (issue#15247, pr#8281) + * journal: possible race condition during live replay (issue#15352, pr#8494) + * librbd: IO deadlock when dynamically enabling/disabling features (issue#15102, pr#8511) + * librbd: fix handling of proxied maintenance operations during shut down (issue#15471, issue#15456, pr#8565) + * msg/async: AsyncConnection: avoid is_connected require connection's lock (issue#15440, pr#8520) + * osd/ReplicatedPG: make handle_watch_timeout no-op if !active (issue#15391, pr#8505) + * osd: fix watch reconnect race (issue#15441, pr#8586) + * rgw: aws4: handle UNSIGNED-PAYLOAD under header auth (issue#15499, pr#8601) + * rgw: fix unsafe c_str() usage (issue#15463, pr#8559) + * rgw_admin: improve period update errors (issue#15251, pr#8564) + +------------------------------------------------------------------- +Sun Apr 24 18:30:45 UTC 2016 - ncutler@suse.com + +- Update to version 10.2.0+git.1461522485.84d290f: + + Fix bsc#973981 + - systemd: make Ceph daemon units "want" time-sync.target + - deb: make ceph-base and radosgw recommend time-daemon + - ceph.spec.in: recommend ntp-daemon on SUSE + + Update to upstream 10.2.0 (first "Jewel" point release) + +------------------------------------------------------------------- +Sat Apr 23 19:18:56 UTC 2016 - ncutler@suse.com + +- drop README.packaging.txt because we do not intend to package it + +------------------------------------------------------------------- +Wed Apr 20 17:56:18 UTC 2016 - ncutler@suse.com + +- Update to version 10.1.2+git.1461174653.9677ba8: + + systemd: enable all the ceph .target services by default + + rpm: implement scriptlets for the post-split daemon packages (issue#14941) + + rpm: refrain from installing systemd unit files twice (issue#15549) + +------------------------------------------------------------------- +Tue Apr 19 13:03:36 UTC 2016 - ncutler@suse.com + +- Update to version 10.1.2+git.1461070607.b47df99: + + ceph.spec.in: add libxio runtime dependency to ceph-common + +------------------------------------------------------------------- +Mon Apr 18 17:34:58 UTC 2016 - ncutler@suse.com + +- Update to version 10.1.2+git.1461000657.0b9f782: + + Test-enable XIO messenger and IB/RDMA support (FATE#318905) + + udev: remove 60-ceph-partuuid-workaround-rules (issue#15516, pr#8643) + +------------------------------------------------------------------- +Sat Apr 16 11:55:19 UTC 2016 - ncutler@suse.com + +- Update to version 10.1.2+git.1460807453.90d79d2: + + ceph.spec.in: terminate if statement in %pre scriptlet + +------------------------------------------------------------------- +Sat Apr 16 11:08:05 UTC 2016 - ncutler@suse.com + +- Update to version 10.1.2+git.1460804693.b123cdc: + + ceph.spec.in: replace pwdutils dependency with shadow + +------------------------------------------------------------------- +Sat Apr 16 09:09:49 UTC 2016 - ncutler@suse.com + +- Update to version 10.1.2+git.1460797447.591549b: + +Update to upstream v10.1.1 + + Adding documentation on how to use new dynamic throttle scheme (pr#8069) + + Be more careful about directory fragmentation and scrubbing (issue#15167, pr#8180) + + CMake: For CMake version <= 2.8.11, use LINK_PRIVATE (pr#8422) + + Makefile-env.am: set a default for CEPH_BUILD_VIRTUALENV (part 2) (pr#8320) + + Minor fixes around data scan in some scenarios (pr#8115) + + PG: pg down state blocked by osd.x, lost osd.x cannot solve peering stuck (issue#13531, pr#6317) + + osd/PG: indicate in pg query output whether ignore_history_les would help (pr#8156) + + Striper: reduce assemble_result log level (pr#8426) + + Test exit values on test.sh, fix tier.cc (issue#15165, pr#8266) + + ceph.in: correct dev python path for automake builds (pr#8360) + + osd/OSD: fix build_past_intervals_parallel (pr#8215) + + rgw: sync fixes 4 (pr#8190) + + rgw: Check return code in RGWFileHandle::write (pr#7875) + + build: fix compiling warnings (pr#8366) + + ceph-detect-init/run-tox.sh: FreeBSD: No init detect (pr#8373) + + ceph.in: fix python libpath for automake as well (pr#8362) + + ceph: bash auto complete for CLI based on mon command descriptions (pr#7693) + + cls_journal: fix -EEXIST checking (pr#8413) + + cls_rbd: fix -EEXIST checking in cls::rbd::image_set (pr#8371) + + cls_rbd: mirror_image_list should return global image id (pr#8297) + + cls_rbd: pass WILLNEED fadvise flags during object map update (issue#15332, pr#8380) + + cls_rbd: read_peers: update last_read on next cls_cxx_map_get_vals (pr#8374) + + cmake: Build cython modules and change paths to bin/, lib/ (pr#8351) + + cmake: add FindOpenSSL.cmake (pr#8106) + + cmake: add StandardPolicy.cc to librbd (pr#8368) + + cmake: add missing librbd/MirrorWatcher.cc and librd/ObjectWatcher.cc (pr#8399) + + cmake: fix mrun to handle cmake build structure (pr#8237) + + cmake: fix the build of test_rados_api_list (pr#8438) + + common: fix race during optracker switches between enabled/disabled mode (pr#8330) + + config_opts: disable filestore throttle soft backoff by default (pr#8265) + + configure: Add -D_LARGEFILE64_SOURCE to Linux build. (pr#8402) + + crush: fix error log (pr#8430) + + crushtool: Don't crash when called on a file that isn't a crushmap (issue#8286, pr#8038) + + debian/rules: put init-ceph in /etc/init.d/ceph, not ceph-base (issue#15329, pr#8406) + + doc/dev: add "Deploy a cluster for manual testing" section (issue#15218, pr#8228) + + doc/rados/operations/crush: fix the formatting (pr#8306) + + doc/release-notes: fix indents (pr#8345) + + doc: Fixes headline different font size and type (pr#8328) + + doc: Remove Ceph Monitors do lots of fsync() (issue#15288, pr#8327) + + doc: Updated CloudStack RBD documentation (pr#8308) + + doc: amend Fixes instructions in SubmittingPatches (pr#8312) + + doc: draft notes for jewel (pr#8211) + + doc: fix typo, duplicated content etc. for Jewel release notes (pr#8342) + + doc: fix wrong type of hyphen (pr#8252) + + doc: rgw_region_root_pool option should be in [global] (issue#15244, pr#8271) + + doc: very basic doc on mstart (pr#8207) + + global/global_init: expand metavariables in setuser_match_path (issue#15365, pr#8433) + + global/signal_handler: print thread name in signal handler (pr#8177) + + libcephfs: fix python tests and fix getcwd on missing dir (pr#7901) + + librbd: avoid throwing error if mirroring is unsupported (pr#8417) + + librbd: disable image mirroring when image is removed (issue#15265, pr#8375) + + librbd: send notifications for mirroring status updates (pr#8355) + + mailmap updates (pr#8256) + + makefile: fix rbdmap manpage (pr#8310) + + mds: allow client to request caps when opening file (issue#14360, pr#7952) + + messages/MOSDOp: clear reqid inc for v6 encoding (issue#15230, pr#8299) + + mon/MonClient: fix shutdown race (issue#13992, pr#8335) + + mon: do not send useless pg_create messages for split pgs (pr#8247) + + mon: mark_down_pgs in lockstep with pg_map's osdmap epoch (pr#8208) + + mon: remove remove_legacy_versions() (pr#8324) + + mon: remove unnecessary comment for update_from_paxos (pr#8400) + + mon: remove unused variable (issue#15292, pr#8337) + + mon: show the pool quota info on ceph df detail command (issue#14216, pr#7094) + + monclient: avoid key renew storm on clock skew (issue#12065, pr#8258) + + mrun: update path to cmake binaries (pr#8447) + + msg/async: avoid log spam on throttle (issue#15031, pr#8263) + + msg/async: remove experiment feature (pr#7820) + + os/ObjectStore: add noexcept to ensure move ctor is used (pr#8421) + + os/ObjectStore: fix _update_op for split dest_cid (pr#8364) + + os/ObjectStore: try_move_rename in transaction append and add coverage to store_test (issue#15205, pr#8359) + + os/bluestore: a few fixes (pr#8193) + + os/bluestore: ceph-bluefs-tool fixes (issue#15261, pr#8292) + + osd/ClassHandler: only dlclose() the classes not missing (pr#8354) + + osd/OSD.cc: finish full_map_request every MOSDMap message (issue#15130, pr#8147) + + osd: add 'proxy' cache mode (issue#12814, pr#8210) + + osd: add the support of per pool scrub priority (pr#7062) + + osd: bail out of _committed_osd_maps if we are shutting down (pr#8267) + + osd: duplicated clear for peer_missing (pr#8315) + + osd: fix bugs for omap ops (pr#8230) + + osd: fix dirtying info without correctly setting drity_info field (pr#8275) + + osd: fix dump_ops_in_flight races (issue#8885, pr#8044) + + osd: fix epoch check in handle_pg_create (pr#8382) + + osd: fix failure report handling during ms_handle_connect() (pr#8348) + + osd: fix log info (pr#8273) + + osd: fix reference count, rare race condition etc. (pr#8254) + + osd: fix tick relevant issues (pr#8369) + + osd: more fixes for incorrectly dirtying info; resend reply for duplicated scrub-reserve req (pr#8291) + + osdc/Objecter: dout log after assign tid (pr#8202) + + osdc/Objecter: use full pgid hash in PGNLS ops (pr#8378) + + osdmap: rm nonused variable (pr#8423) + + pybind/Makefile.am: Prevent race creating CYTHON_BUILD_DIR (issue#15276, pr#8356) + + pybind/rados: python3 fix (pr#8331) + + pybind: add flock to libcephfs python bindings (pr#7902) + + qa: update rest test cephfs calls (issue#15309, pr#8372) + + qa: update rest test cephfs calls (part 2) (issue#15309, pr#8393) + + radosgw-admin: 'period commit' supplies user-readable error messages (pr#8264) + + radosgw-admin: fix for 'realm pull' (pr#8404) + + rbd-mirror: asok commands to get status and flush on Mirror and Replayer level (pr#8235) + + rbd-mirror: enabling/disabling pool mirroring should update the mirroring directory (issue#15217, pr#8261) + + rbd-mirror: fix missing increment for iterators (pr#8352) + + rbd-mirror: initial failover / failback support (pr#8287) + + rbd-mirror: prevent enabling/disabling an image's mirroring when not in image mode (issue#15267, pr#8332) + + rbd-mirror: switch fsid over to mirror uuid (issue#15238, pr#8280) + + rbd: allow librados to prune the command-line for config overrides (issue#15250, pr#8282) + + rbdmap: add manpage (issue#15212, pr#8224) + + releases: what is merged where and when ? (pr#8358) + + rgw/rgw_admin:fix bug about list and stats command (pr#8200) + + rgw: Do not send a Content-Type on a '304 Not Modified' response (issue#15119, pr#8253) + + rgw: Multipart ListPartsResult ETag quotes (issue#15334, pr#8387) + + rgw: S3: set EncodingType in ListBucketResult (pr#7712) + + rgw: accept data only at the first time in response to a request (pr#8084) + + rgw: add a few more help options in admin interface (pr#8410) + + rgw: add zone delete to rgw-admin help (pr#8184) + + rgw: convert plain object to versioned (with null version) when removing (issue#15243, pr#8268) + + rgw: fix compiling error (pr#8394) + + rgw: fix lockdep false positive (pr#8284) + + rgw:Use count fn in RGWUserBuckets for quota check (pr#8294) + + rgw_admin: remove unused parent_period arg (pr#8411) + + rgw_file: set owner uid, gid, and Unix mode on new objects (pr#8321) + + rpm: prefer UID/GID 167 when creating ceph user/group (issue#15246, pr#8277) + + script: subscription-manager support (issue#14972, pr#7907) + + set 128MB tcmalloc cache size by bytes (pr#8427) + + systemd: set up environment in rbdmap unit file (issue#14984, pr#8222) + + test/system/*: use dynamically generated pool name (issue#15240, pr#8318) + + test/system/rados_list_parallel: print oid if rados_write fails (issue#15240, pr#8309) + + test/test-erasure-code.sh: disable pg_temp priming (issue#15211, pr#8260) + + test/test_pool_create.sh: fix port (pr#8361) + + test: Fix test to run with btrfs which has snap_### dirs (issue#15347, pr#8420) + + test: TestMirroringWatcher test cases were not closing images (pr#8435) + + test: rbd-mirror: script improvements for manual testing (pr#8325) + + tests: Fixing broken test/cephtool-test-mon.sh test (pr#8429) + + tests: Improving 'make check' execution time (pr#8131) + + unittest_erasure_code_plugin: fix deadlock (Alpine) (pr#8314) + + vstart: fix up cmake paths when VSTART_DEST is given (pr#8363) + + vstart: make -k with optional mon_num. (pr#8251) + + xio: add prefix to xio msgr logs (pr#8148) + + xio: fix compilation against latest accelio (pr#8022) + + xio: xio_init needs to be called before any other xio function (pr#8227) + + ceph.spec.in: disable lttng and babeltrace explicitly (issue#14844, pr#7857) + +- Update to upstream v10.1.2 + + Jewel nfs fixes 3 (pr#8460) + + PG: set epoch_created and parent_split_bits for child pg (issue#15426, pr#8552) + + rgw: signature mismatch with escaped characters in url query portion (issue#15358, pr#8445) + + authtool: update –help and manpage to match code. (pr#8456) + + build: Respect TMPDIR for virtualenv (pr#8457) + + ceph-disk: do not always fail when re-using a partition (pr#8508) + + ceph-fuse: rotate log file (pr#8485) + + ceph-rest-api: fix fs/flag/set (pr#8428) + + check-generated.sh: can't source bash from sh (pr#8521) + + common: buffer: put a guard for stat() syscall during read_file (pr#7956) + + common: fix time_t cast in decode (issue#15330, pr#8419) + + crush: fix typo (pr#8518) + + doc: rgw admin uses "region list" not "regions list" (pr#8517) + + journal: fix final result for JournalTrimmer::C_RemoveSet (pr#8516) + + journal: fix race condition between Future and journal shutdown (issue#15364, pr#8477) + + librados: Revert "rados: Add new field flags for ceph_osd_op.copy_get." (pr#8486) + + librbd: disallow unsafe rbd_op_threads values (issue#15034, pr#8459) + + mailmap update (pr#8522) + + mds: Add cmapv to ESessions default constructor initializer list (pr#8403) + + mds: fix file_layout_t legacy encoding snafu (pr#8455) + + mds: Protect a number of unstable/experimental features behind durable flags (pr#8383) + + mds: Extend the existing pool access checking to include specific RADOS namespace (pr#8444) + + os/ObjectStore: make device uuid probe output something friendly (pr#8418) + + os/bluestore: revamp BlueFS bdev management and add perfcounters (issue#15376, pr#8431) + + os/filestore: force lfn attrs to be written atomically, restructure name length limits (pr#8496) + + osd/ReplicatedPG::_rollback_to: update the OMAP flag (issue#14777, pr#8495) + + osd: clean up temp object if copy-from fails (pr#8487) + + osd: fix two scrub relevant issues (pr#8462) + + osd: fix/clean up full map request handling (pr#8446) + + osdc/Objecter: fix narrow race with tid assignment (issue#14364, pr#7981) + + radosgw-admin: allow (pr#8529) + + rbd-mirror: workaround for intermingled lockdep singletons (pr#8476) + + rbd: journal reset should disable/re-enable journaling feature (issue#15097, pr#8490) + + rgw-admin: remove unused iterator and fix error message (pr#8507) + + rgw: aws4 subdomain calling bugfix (issue#15369, pr#8472) + + rgw: fix a typo in error message (pr#8434) + + rgw: fix problem deleting objects begining with double underscores (issue#15318, pr#8488) + + rgw: retry RGWRemoteMetaLog::read_log_info() while master is down (pr#8453) + + rgw: the map 'headers' is assigned a wrong value (pr#8481) + + rgw_ldap: make ldap.h inclusion conditional (pr#8500) + + systemd: drop any systemd imposed process/thread limits (pr#8450) + + test: fix ut test failure caused by lfn change (issue#15464, pr#8544) + + test: fix valgrind memcheck issues for rbd-mirror test cases (issue#15354, pr#8493) + + tests: add Ubuntu 16.04 xenial dockerfile (pr#8519) + +- Update to latest upstream (patches accepted since 10.1.2 release) + + librbd: gracefully handle blacklisted client in ImageWatcher + + rbd: cleanly fail bench-write upon failure + + librbd: delay invalidation of exclusive lock pointer + + librbd: cancel ops before blocking IO + + radosgw-admin: allow 'period pull --url' without full multisite config + + radosgw-admin: 'realm pull' only accepts --url + + doc: reinstate accidentally removed section header + + journal: possible race condition during live replay + + journal: potential for double-free of context on shut down + + test/encoding/readable: use [ for "test" not (( + + os/bluestore: fix shortened bluefs paths in env mirror case + + journal: race possible when re-watching a journal object + + test: image replayer needs dummy remote mirror peer uuid + + systemd: Use the same restart limits as upstart + + doc: fix dependencies + + release-notes: v10.1.2 release notes (draft) + + release-notes: v10.1.2 release notes + + librbd: dynamically disabling exclusive lock might leave lingering request + + FSMap: guard the ever_enabled_multiple decode + +------------------------------------------------------------------- +Wed Apr 13 11:19:44 UTC 2016 - ncutler@suse.com + +- _constraints: unify with aarch64 and increase disk space to 48G + +------------------------------------------------------------------- +Sun Apr 3 21:44:30 UTC 2016 - ncutler@suse.com + +- _constraints: bump disk space to 36G + +------------------------------------------------------------------- +Sat Apr 02 22:47:22 UTC 2016 - ncutler@suse.com + +- Update to version 10.1.0+git.1459637074.e739ff1a: + + cherry-picked upstream patch to fix SLES12_SP1 build failure: + - pybind/Makefile.am: Prevent race creating CYTHON_BUILD_DIR + + patch will be part of upcoming 10.1.1 release + +------------------------------------------------------------------- +Thu Mar 31 19:37:13 UTC 2016 - ncutler@suse.com + +- Update to version 10.1.0+git.1459452582.182984f: + + update to upstream 10.1.0 release: + - ceph.spec.in: do not install Ceph RA on systemd platforms (issue#14828, + pr#7894) + - mdsa: A few more snapshot fixes, mostly around snapshotted inode/dentry + tracking (pr#7798) + - ceph-disk: Add –setuser and –setgroup options for ceph-disk (pr#7351) + - msg/async: AsyncMessenger: fix valgrind leak (pr#7725) + - doc: Clarify usage on starting single osd/mds/mon (pr#7641) + - common: Deprecate or free up a bunch of feature bits (pr#8214) + - msg/async: Event: fix clock skew problem (pr#7949) + - osd: FileStore: Added O_DSYNC write scheme (pr#7752) + - osd: FileStore: fix initialization order for m_disable_wbthrottle + (pr#8067) + - ceph-disk: Improving 'make check' for ceph-disk (pr#7762) + - rgw: increase verbosity level on RGWObjManifest line (pr#7285) + - build: workaround an automake bug for "make check" (issue#14723, pr#7626) + - ceph-fuse,libcephfs: Fix client handling of "lost" open directories on + shutdown (issue#14996, pr#7994) + - mds: Multi-filesystem support (issue#14952, pr#6953, John Spray, Sage + Weil) + - os/bluestore/NVMEDevice: refactor probe/attach codes and support zero + command (pr#7647, Haomai Wang) + - librados: detect laggy ops with objecter_timeout, not osd_timeout + (pr#7629) + - ceph.spec.in: fix openldap and openssl build dependencies for SUSE + (issue#15138, pr#8120) + - osd: repop and lost-unfound overhaul (pr#7765) + - librbd: Revert "librbd: use task finisher per CephContext" (issue#14780, + pr#7667) + - rgw: Fix subuser harder with tenants (pr#7618) + - rgw: ldap fixes (pr#8168) + - rgw: check the return value when call fe->run() (issue#14585, pr#7457) + - rgw: Revert "rgw ldap" (pr#8075) + - librados: Striper: Fix incorrect push_front -> append_zero change + (pr#7578) + - rgw: build-related fixes (pr#8076) + - mirrors: Updated scripts and documentation for mirrors (pr#7847) + - misc: use make_shared while creating shared_ptr (pr#7769) + - mds: filelock deadlock (pr#7713) + - mds: fix fsmap decode (pr#8063) + - rgw: fix mdlog (pr#8183) + - rgw: highres time stamps (pr#8108) + - rgw: swift versioning disabled (pr#8066) + - rgw: sync fixes 3 (pr#8170) + - msg/xio: fixes (pr#7603) + - ceph-fuse,libcephfs: fix free fds being exhausted eventually because + freed fds are never put back (issue#14798, pr#7685) + - rgw: RGWLib::env is not used so remove it (pr#7874) + - build: a few armhf (32-bit build) fixes (pr#7999) + - osd: add scrub persist/query API (issue#13505, pr#6898) + - rgw: adds the radosgw-admin sync status command that gives a human + readable status of the sync process at a specific zone (pr#8030) + - buffer: add symmetry operator==() and operator!=() (pr#7974) + - buffer: hide iterator_impl symbols (issue#14788, pr#7688) + - buffer: increment history alloc as well in raw_combined (issue#14955, + pr#7910) + - buffer: raw_combined allocations buffer and ref count together (pr#7612) + - ceph-detect-init: add debian/jessie test (pr#8074) + - ceph-detect-init: return correct value on recent SUSE distros + (issue#14770, pr#7909) + - ceph-disk: deactivate / destroy PATH arg are optional (pr#7756) + - ceph-disk: fix prepare –help (pr#7758) + - ceph-disk: flake8 fixes (pr#7646) + - ceph-disk: key management support (issue#14669, pr#7552) + - ceph-disk: make some arguments as required if necessary (pr#7687) + - ceph-disk: s/dmcrpyt/dmcrypt/ (issue#14838, pr#7744) + - ceph-fuse: Fix potential filehandle ref leak at umount (issue#14800, + pr#7686) + - ceph_daemon.py: Resolved ImportError to work with python3 (pr#7937) + - ceph_detect_init/__init__.py: remove shebang (pr#7731) + - ceph_test_msgr: reduce test size to fix memory size (pr#8127) + - ceph_test_rados_misc: shorten mount timeout (pr#8209) + - client: flush kernel pagecache before creating snapshot (issue#10436, + pr#7495) + - client: removed unused Mutex from MetaRequest (pr#7655) + - cls_rbd: fix the test for ceph-dencoder (pr#7793) + - cls_rbd: mirroring directory (issue#14419, pr#7620) + - cls_rbd: protect against excessively large object maps (issue#15121, + pr#8099) + - cmake: Remove duplicate find_package libcurl line (pr#7972) + - cmake: add ErasureCode.cc to jerasure plugins (pr#7808) + - cmake: add common/fs_types.cc to libcommon (pr#7898) + - cmake: add missing librbd image_watcher sources (issue#14823, pr#7717) + - cmake: avoid false-positive LDAP header detect (pr#8100) + - cmake: fix paths to various EC source files (pr#7748) + - common/TrackedOp: fix inaccurate counting for slow requests (issue#14804, + pr#7690) + - common/bit_vector: use hard-coded value for block size (issue#14747, + pr#7610) + - common/obj_bencher.cc: bump the precision of bandwidth field (pr#8021) + - common/obj_bencher.cc: faster object name generation (pr#7863) + - common/obj_bencher.cc: make verify error fatal (issue#14971, pr#7897) + - common/page.cc: _page_mask has too many bits (pr#7588) + - common/strtol.cc: fix the coverity warnings (pr#7967) + - common: Do not use non-portable constants in mutex_debug (pr#7766) + - common: SubProcess: Avoid buffer corruption when calling err() + (issue#15011, pr#8054) + - common: default cluster name to config file prefix (pr#7364) + - common: set thread name from correct thread (pr#7845) + - common: various fixes from SCA runs (pr#7680) + - config: fix osd_crush_initial_weight (pr#7975) + - config: increase default async op threads (pr#7802) + - configure.ac: boost_iostreams is required, not optional (pr#7816) + - configure.ac: update help strings for cython (pr#7856) + - crush/CrushTester: workaround a bug in boost::icl (pr#7560) + - crush: fix cli tests for new crush tunables (pr#8107) + - crush: update tunable docs. change default profile to jewel (pr#7964) + - debian: include cpio in build-requiers (pr#7533) + - debian: package librgw_file* tests (pr#7930) + - doc/dev: expand Ceph Developer Guide (pr#8116, pr#7960, pr#7946, pr#7954) + - doc/rados/api/librados-intro.rst: fix typo (pr#7879) + - doc: add ceph-detect-init(8) source to dist tarball (pr#7933) + - doc: add cinder backend section to rbd-openstack.rst (pr#7923) + - doc: initial draft of RBD mirroring admin documentation (issue#15041, + pr#8169) + - doc: osd-config Add Configuration Options for op queue (pr#7837) + - doc: rgw explain keystone's verify ssl switch (pr#7862) + - ghobject_t: use # instead of ! as a separator (pr#8055) + - include/encoding: do not try to be clever with list encoding (pr#7913) + - init-ceph.in: allow case-insensitive true in osd crush update on start + (pr#7943) + - init-ceph.in: skip ceph-disk if it is not present (issue#10587, pr#7286) + - journal: async methods to (un)register and update client (pr#7832) + - journal: improve commit position tracking (pr#7776) + - journal: prevent race injecting new records into overflowed object + (issue#15202, pr#8220) + - librados: cancel aio notification linger op upon completion (pr#8102) + - librados: check connection state in rados_monitor_log (issue#14499, + pr#7350) + - librados: do not clear handle for aio_watch() (pr#7771) + - librados: fix test failure with new aio watch/unwatch API (pr#7824) + - librados: implement async watch/unwatch (pr#7649) + - librados: mix lock cycle (un)registering asok commands (pr#7581) + - librados: race condition on aio_notify completion handling (pr#7864) + - librados: stat2 with higher time precision (pr#7915) + - librbd: allocate new journal tag after acquiring exclusive lock (pr#7884) + - librbd: block read requests until journal replayed (pr#7627) + - librbd: correct issues discovered via valgrind memcheck (pr#8132) + - librbd: differentiate journal replay flush vs shut down (pr#7698) + - librbd: enable/disable image mirroring automatically for pool mode + (issue#15143, pr#8204) + - librbd: fix state machine race conditions during shut down (pr#7761) + - librbd: handle unregistering the image watcher when disconnected + (pr#8094) + - librbd: integrate journal replay with fsx testing (pr#7583) + - librbd: journal replay needs to support re-executing maintenance ops + (issue#14822, pr#7785) + - librbd: reduce mem copies to user-buffer during read (pr#7548) + - librbd: refresh image if required before replaying journal ops + (issue#14908, pr#7978) + - librbd: remove last synchronous librados calls from open/close state + machine (pr#7839) + - librbd: replaying a journal op post-refresh requires locking (pr#8028) + - librbd: retrieve image name when opening by id (pr#7736) + - librbd: several race conditions discovered under single CPU environment + (pr#7653) + - librbd: truncate does not need to mark the object as existing in the + object map (issue#14789, pr#7772) + - librbd: update of mirror pool mode and mirror peer handling (pr#7718) + - librbd: use async librados notifications (pr#7668) + - log: do not repeat errors to stderr (issue#14616, pr#7983) + - log: fix stack overflow when flushing large log lines (issue#14707, + pr#7599) + - log: segv in a portable way (issue#14856, pr#7790) + - log: use delete[] (pr#7904) + - mds, client: add namespace to file_layout_t (previously ceph_file_layout) + (pr#7098) + - mds: don't double-shutdown the timer when suiciding (issue#14697, + pr#7616) + - mds: fix FSMap upgrade with daemons in the map (pr#8073) + - mds: fix inode_t::compare() (issue#15038, pr#8014) + - mds: fix stray purging in stripe_count > 1 case (issue#15050, pr#8040) + - mds: function parameter 'df' should be passed by reference (pr#7490) + - mon/PGMonitor: reliably mark PGs state (pr#8089) + - mon/pgmonitor: use appropriate forced conversions in get_rule_avail + (pr#7705) + - mon: cleanup set-quota error msg (pr#7371) + - mon: consider pool size when creating pool (issue#14509, pr#7359) + - mon: enable 'mon osd prime pg temp' by default (pr#7838) + - mon: fix calculation of %USED (pr#7881) + - mon: fix keyring permissions (issue#14950, pr#7880) + - mon: initialize last_* timestamps on new pgs to creation time + (issue#14952, pr#7980) + - mon: make clock skew checks sane (issue#14175, pr#7141) + - mon: osd [test-]reweight-by-{pg,utilization} command updates (pr#7890) + - mon: remove 'mds setmap' (issue#15136, pr#8121) + - mon: standardize Ceph removal commands (pr#7939) + - mon: unconfuse object count skew message (pr#7882) + - mon: unregister command on shutdown (pr#7504) + - mount.fuse.ceph: better parsing of arguments passed to mount.fuse.ceph by + mount command (issue#14735, pr#7607) + - msg/async: _try_send trim already sent for outcoming_bl more efficient + (pr#7970) + - msg/async: don't calculate msg header crc when not needed (pr#7815) + - msg/async: smarter MSG_MORE (pr#7625) + - msg: add thread safety for "random" Messenger + fix wrong usage of random + functions (pr#7650) + - msg: async: fix perf counter description and simplify + _send_keepalive_or_ack (pr#8046) + - msg: async: start over after failing to bind a port in specified range + (issue#14928, issue#13002, pr#7852) + - msg: remove duplicated code - local_delivery will now call 'enqueue' + (pr#7948) + - msg: significantly reduce minimal memory usage of connections (pr#7567) + - mstart: start rgw on different ports as well (pr#8167) + - nfs for rgw (Matt Benjamin, Orit Wasserman) (pr#7634) + - os/ObjectStore: implement more efficient get_encoded_bytes() (pr#7775) + - os/bluestore/BlueFS: Before reap ioct, it should wait io complete + (pr#8178) + - os/bluestore/BlueStore: Don't leak trim overlay data before write. + (pr#7895) + - os/bluestore/KernelDevice: force block size (pr#8006) + - os/bluestore/NVMEDevice: make IO thread using dpdk launch (pr#8160) + - os/bluestore: clone overlay data (pr#7860) + - os/bluestore: fix a typo in SPDK path parsing (pr#7601) + - os/bluestore: make bluestore_sync_transaction = true can work. (pr#7674) + - os/bluestore: small fixes in bluestore StupidAllocator (pr#8101) + - os/filestore/FileJournal: set block size via config option (pr#7628) + - os/filestore: fix punch hole usage in _zero (pr#8050) + - os/filestore: fix result handling logic of destroy_collection (pr#7721) + - os/filestore: require offset == length == 0 for full object read; add + test (pr#7957) + - osd/OSDMap: fix typo in summarize_mapping_stats (pr#8088) + - osd/PGLog: fix warning (pr#8057) + - osd/ReplicatedPG: be more careful about calling publish_stats_to_osd() + (issue#14962, pr#8039) + - osd/ReplicatedPG: clear watches on change after applying repops + (issue#15151, pr#8163) + - osd/ScrubStore: remove unused function (pr#8045) + - osd: BlueStore/NVMEDevice: fix compiling and fd leak (pr#7496) + - osd: FileStore: use pwritev instead of lseek+writev (pr#7349) + - osd: OSDMap: reset osd_primary_affinity shared_ptr when deepish_copy_from + (issue#14686, pr#7553) + - osd: Replace snprintf with faster implementation in + eversion_t::get_key_name (pr#7121) + - osd: WeightedPriorityQueue: move to intrusive containers (pr#7654) + - osd: a fix for HeartbeatDispatcher and cleanups (pr#7550) + - osd: avoid FORCE updating digest been overwritten by MAYBE when comparing + scrub map (pr#7051) + - osd: bluefs: fix alignment for odd page sizes (pr#7900) + - osd: bluestore updates, scrub fixes (pr#8035) + - osd: bluestore/blockdevice: use std::mutex et al (pr#7568) + - osd: bluestore: NVMEDevice: fix error handling (pr#7799) + - osd: bluestore: Revert NVMEDevice task cstor and refresh interface + changes (pr#7729) + - osd: bluestore: add 'override' to virtual functions (pr#7886) + - osd: bluestore: allow _dump_onode dynamic accept log level (pr#7995) + - osd: bluestore: fix check for write falling within the same extent + (issue#14954, pr#7892) + - osd: bluestore: for overwrite a extent, allocate new extent on + min_alloc_size write (pr#7996) + - osd: bluestore: improve fs-type verification and tidy up (pr#7651) + - osd: bluestore: misc fixes (pr#7658) + - osd: bluestore: remove unneeded includes (pr#7870) + - osd: clean up CMPXATTR checks (pr#5961) + - osd: consider high/low mode when putting agent to sleep (issue#14752, + pr#7631) + - osd: ensure new osdmaps commit before publishing them to pgs + (issue#15073, pr#8096) + - osd: filejournal: report journal entry count (pr#7643) + - osd: filestore: FALLOC_FL_PUNCH_HOLE must be used with + FALLOC_FL_KEEP_SIZE (pr#7768) + - osd: filestore: fast abort if statfs encounters ENOENT (pr#7703) + - osd: filestore: fix race condition with split vs collection_move_rename + and long object names (issue#14766, pr#8136) + - osd: filestore: fix result code overwritten for clone (issue#14817, + issue#14827, pr#7711) + - osd: filestore: fix wrong scope of result code for error cases during + mkfs (issue#14814, pr#7704) + - osd: filestore: fix wrong scope of result code for error cases during + mount (issue#14815, pr#7707) + - osd: filestore: restructure journal and op queue throttling (pr#7767) + - osd: fix forced prmootion for CALL ops (issue#14745, pr#7617) + - osd: fix fusestore hanging during stop/quit (issue#14786, pr#7677) + - osd: fix inaccurate counter and skip over queueing an empty transaction + (pr#7754) + - osd: fix lack of object unblock when flush fails (issue#14511, pr#7584) + - osd: fix overload of '==' operator for pg_stat_t (issue#14921, pr#7842) + - osd: fix race condition for heartbeat_need_update (issue#14387, pr#7739) + - osd: fix return value from maybe_handle_cache_detail() (pr#7593) + - osd: fix unnecessary object promotion when deleting from cache pool + (issue#13894, pr#7537) + - osd: fix wrong return type of find_osd_on_ip() (issue#14872, pr#7812) + - osd: ghobject_t: use ! instead of @ as a separator (pr#7595) + - osd: handle dup pg_create that races with pg deletion (pr#8033) + - osd: initialize last_recalibrate field at construction (pr#8071) + - osd: kstore: fix a race condition in _txc_finish() (pr#7804) + - osd: kstore: latency breakdown (pr#7850) + - osd: kstore: sync up kstore with recent bluestore updates (pr#7681) + - osd: memstore: fix alignment of Page for test_pageset (pr#7587) + - osd: min_write_recency_for_promote & min_read_recency_for_promote are + tiering only (pr#8081) + - osd: probabilistic cache tier promotion throttling (pr#7465) + - osd: remove up_thru_pending field, which is never used (pr#7991) + - osd: replicatedpg: break out loop if we encounter fatal error during + do_pg_op() (issue#14922, pr#7844) + - osd: resolve boot vs NOUP set + clear race (pr#7483) + - packaging: make infernalis -> jewel upgrade work (issue#15047, pr#8034) + - packaging: move cephfs repair tools to ceph-common (issue#15145, pr#8133) + - pybind/rados: fix object lifetime issues and other bugs in aio (pr#7778) + - pybind/rados: use __dealloc__ since __del__ is ignored by cython + (pr#7692) + - pybind: Ensure correct python flags are passed (pr#7663) + - pybind: flag an RBD image as closed regardless of result code (pr#8005) + - pybind: move cephfs to Cython (pr#7745) + - pybind: remove next() on iterators (pr#7706) + - pybind: replace __del__ with __dealloc__ for rbd (pr#7708) + - pybind: use correct subdir for rados install-exec rule (pr#7684) + - python binding of librados with cython (pr#7621) + - python: use pip instead of python setup.py (pr#7605) + - qa/workunits/cephtool/test.sh: wait longer in ceph_watch_start() + (issue#14910, pr#7861) + - qa/workunits/rados/test.sh: capture stderr too (pr#8004) + - qa/workunits/rados/test.sh: test tmap_migrate (pr#8114) + - qa/workunits/rbd: do not use object map during read flag testing + (pr#8104) + - qa/workunits/rbd: new online maintenance op tests (pr#8216) + - qa/workunits/rbd: use POSIX function definition (issue#15104, pr#8068) + - qa/workunits/rest/test.py: add confirmation to 'mds setmap' (issue#14606, + pr#7982) + - qa/workunits/rest/test.py: don't use newfs (pr#8191) + - qa: add workunit to run ceph_test_rbd_mirror (pr#8221) + - rados: add ceph:: namespace to bufferlist type (pr#8059) + - rados: fix bug for write bench (pr#7851) + - rbd-mirror: ImageReplayer async start/stop (pr#7944) + - rbd-mirror: ImageReplayer improvements (pr#7759) + - rbd-mirror: fix image replay test failures (pr#8158) + - rbd-mirror: fix long termination due to 30sec wait in main loop (pr#8185) + - rbd-mirror: implement ImageReplayer (pr#7614) + - rbd-mirror: integrate with image sync state machine (pr#8079) + - rbd-mirror: minor fix-ups for initial skeleton implementation (pr#7958) + - rbd-mirror: remote to local cluster image sync (pr#7979) + - rbd-mirror: use pool/image names in asok commands (pr#8159) + - rbd-mirror: use the mirroring directory to detect candidate images + (issue#15142, pr#8162) + - rbd/run_cli_tests.sh: Reflect test failures (issue#14825, pr#7781) + - rbd: add support for mirror image promotion/demotion/resync (pr#8138) + - rbd: clone operation should default to image format 2 (pr#8119) + - rbd: deprecate image format 1 (pr#7841) + - rbd: support for enabling/disabling mirroring on specific images + (issue#13296, pr#8056) + - rgw: ldap (Matt Benjamin) (pr#7985) + - rgw: multisite fixes (pr#8013) + - rgw: support for aws authentication v4 (issue#10333, pr#7720) + - rgw sync fixes (pr#8095) + - rgw/rgw_common.h: fix the RGWBucketInfo decoding (pr#8165) + - rgw/rgw_common.h: fix the RGWBucketInfo decoding (pr#8154) + - rgw/rgw_orphan: check the return value of save_state (pr#7544) + - rgw: Allow an implicit tenant in case of Keystone (pr#8139) + - rgw: Drop unused usage_exit from rgw_admin.cc (pr#7632) + - rgw: RGWZoneParams::create should not handle -EEXIST error (pr#7927) + - rgw: add bucket request payment feature usage statistics integration + (issue#13834, pr#6656) + - rgw: add support for caching of Keystone admin token (pr#7630) + - rgw: add support for metadata upload during PUT on Swift container + (pr#8002) + - rgw: add support for system requests over Swift API (pr#7666) + - rgw: adjust the request_uri to support absoluteURI of http request + (issue#12917, pr#7675) + - rgw: admin api for retrieving usage info (Ji Chen) (pr#8031) + - rgw: allow authentication keystone with self signed certs (issue#14853, + issue#13422, pr#7777) + - rgw: approximate AmazonS3 HostId error field. (pr#7444) + - rgw: calculate payload hash in RGWPutObj_ObjStore only when necessary + (pr#7869) + - rgw: cleanups to comments and messages (pr#7633) + - rgw: don't use s->bucket for metadata api path entry (issue#14549, + pr#7408) + - rgw: drop permissions of rgw/civetweb after startup (issue#13600, + pr#8019) + - rgw: fcgi should include acconfig (pr#7760) + - rgw: fix wrong handling of limit=0 during listing of Swift account + (issue#14903, pr#7821) + - rgw: fixes for per-period metadata logs (pr#7827) + - rgw: improve error handling in S3/Keystone integration (pr#7597) + - rgw: link civetweb with openssl (pr#7825) + - rgw: link payer info to usage logging (pr#7918) + - rgw: move signal.h dependency from rgw_front.h (pr#7678) + - rgw: multiple Swift API compliance improvements for TempURL (issue#14806, + issue#11163, pr#7891) + - rgw: multiple improvements regarding etag calculation for SLO/DLO of + Swift API (pr#7764) + - rgw: remove duplicated code in RGWRados::get_bucket_info() (pr#7413) + - rgw: reset return code in when iterating over the bucket the objects + (issue#14826, pr#7803) + - rgw: store system object meta in cache when creating it (issue#14678, + pr#7615) + - rgw: support json format for admin policy API (Dunrong Huang) + (issue#14090, pr#8036) + - rgw: try to parse Keystone token in order appropriate to configuration. + (pr#7822) + - rgw: use pimpl pattern for RGWPeriodHistory (pr#7809) + - rgw: user quota may not adjust on bucket removal (issue#14507, pr#7586) + - rgw:bucket link now set the bucket.instance acl (bug fix) (issue#11076, + pr#8037) + - rpm,deb: remove conditional BuildRequires for btrfs-progs (issue#15042, + pr#8016) + - rpm: remove sub-package dependencies on "ceph" (issue#15146, pr#8137) + - script: add missing stop_rgw variable to stop.sh script (pr#7959) + - selinux: Update policy to grant additional access (issue#14870, pr#7971) + - selinux: allow log files to be located in /var/log/radosgw (pr#7604) + - sstring.hh: return type from str_len(...) need not be const (pr#7679) + - submodules: revert an accidental change (pr#7929) + - systemd: correctly escape block device paths (issue#14706, pr#7579) + - test/TestPGLog: fix the FTBFS (issue#14930, pr#7855) + - test/bufferlist: Avoid false-positive tests (pr#7955) + - test/cli-integration/rbd: disable progress output (issue#14931, pr#7858) + - test/osd: Relax the timing intervals in osd-markdown.sh (pr#7899) + - test/pybind/test_ceph_argparse: fix reweight-by-utilization tests + (pr#8027) + - test/radosgw-admin: update the expected usage outputs (pr#7723) + - test/rgw: add multisite test for meta sync across periods (pr#7887) + - test/time: no need to abs(uint64_t) for comparing (pr#7726) + - test: add missing shut_down mock method (pr#8125) + - test: correct librbd errors discovered with unoptimized cmake build + (pr#7914) + - test: create pools for rbd tests with different prefix (pr#7738) + - test: enable test for bug #2339 which has been resolved. (pr#7743) + - test: fix issues discovered via the rbd permissions test case (pr#8129) + - test: fixup and improvements for rbd-mirror test (pr#8090) + - test: handle exception thrown from close during rbd lock test (pr#8124) + - test: more debug logging for TestWatchNotify (pr#7737) + - test: new librbd flatten test case (pr#7609) + - test: rbd-mirror: add "switch to the next tag" test (pr#8149) + - test: rbd-mirror: compare positions using all fields (pr#8172) + - test: reproducer for writeback CoW deadlock (pr#8009) + - test: update rbd integration cram tests for new default features + (pr#8001) + - test_pool_create.sh: put test files in the test dir so they are cleaned + up (pr#8219) + - tests: ceph-disk.sh: should use "readlink -f" instead (pr#7594) + - tests: ceph-disk.sh: use "readlink -f" instead for fullpath (pr#7606) + - tests: sync ceph-erasure-code-corpus for mktemp -d (pr#7596) + - tests: test_pidfile.sh lingering processes (issue#14834, pr#7734) + - tools/cephfs: add tmap_upgrade (pr#7003) + - tools/cephfs: fix tmap_upgrade (issue#15135, pr#8128) + - tools/rados: reduce "rados put" memory usage by op_size (pr#7928) + - unittest_compression_zlib: do not assume buffer will be null terminated + (pr#8064) + - unittest_osdmap: default crush tunables now firefly (pr#8098) + - vstart.sh: avoid race condition starting rgw via vstart.sh (issue#14829, + pr#7727) + - vstart.sh: silence a harmless msg where btrfs is not found (pr#7640) + - xio: fix incorrect ip being assigned in case of multiple RDMA ports + (pr#7747) + - xio: remove duplicate assignment of peer addr (pr#8025) + - xio: remove redundant magic methods (pr#7773) + - xio: remove unused variable (pr#8023) + - xxhash: use clone of xxhash.git; add .gitignore (pr#7986) + - rbd: update default image features (pr#7846) + - rbd-mirror: make remote context respect env and argv config params + (pr#8182) + - journal: re-use common threads between journalers (pr#7906) + - client: add option to control how directory size is calculated (pr#7323) + - rgw: keystone v3 (pr#7719) + - rgw: new multisite merge (issue#14549, pr#7709) + - rgw: adjust error code when bucket does not exist in copy operation + (issue#14975, pr#7916) + - rgw: indexless (pr#7786) + +------------------------------------------------------------------- +Wed Mar 16 14:54:47 UTC 2016 - ncutler@suse.com + +- Update to version 10.0.5+git.1458139756.77fbb0e: + + update to upstream 10.0.5 release: + - admin/build-doc: depend on zlib1g-dev and graphviz (pr#7522) + - buffer: use move construct to append/push_back/push_front (pr#7455) + - build: allow jemalloc with rocksdb-static (pr#7368) + - build: fix the autotools and cmake build (the new fusestore needs + libfuse) (pr#7393) + - build: fix warnings (pr#7197, pr#7315, pr#7397) + - build: move libexec scripts to standardize across distros (issue#14687, + issue#14705, issue#14723, pr#7636) + - build: Refrain from versioning and packaging EC testing plugins + (issue#14756, issue#14723, pr#7637) + - build: spdk submodule; cmake (pr#7503) + - ceph-disk: support bluestore (issue#13422, pr#7218) + - ceph-disk/test: fix test_prepare.py::TestPrepare tests (pr#7549) + - cleanup: remove misc dead code (pr#7201) + - cls/cls_rbd: pass string by reference (pr#7232) + - cmake: Added new unittests to make check (pr#7572) + - cmake: add KernelDevice.cc to libos_srcs (pr#7507) + - cmake: check for libsnappy in default path also (pr#7366) + - cmake: feb5 (pr#7541) + - cmake: For CMake version <= 2.8.11, use LINK_PRIVATE and LINK_PUBLIC + (pr#7474) + - cmake: let ceph-client-debug link with tcmalloc (pr#7314) + - cmake: support ccache via a WITH_CCACHE build option (pr#6875) + - common: add zlib compression plugin (pr#7437) + - common: admin socket commands for tcmalloc heap get/set operations + (pr#7512) + - common: ake ceph_time clocks work under BSD (pr#7340) + - common: Allow OPT_INT settings with negative values (issue#13829, + pr#7390) + - common/buffer: replace RWLock with spinlocks (pr#7294) + - common: change the type of counter total/unhealthy_workers (pr#7254) + - common: snappy decompressor may assert when handling segmented input + bufferlist (issue#14400, pr#7268) + - common/str_map: cleanup: replaced get_str_map() function overloading by + using default parameters for delimiters (pr#7266) + - common: time: have skewing-now call non-skewing now (pr#7466) + - common: unit test for interval_set implementations + - config: add $data_dir/config to config search path (pr#7377) + - configure.ac: make “–with-librocksdb-static” default to ‘check’ + (issue#14463, pr#7317) + - crush: add safety assert (issue#14496, pr#7344, songbaisen) + - crush: reply quickly from get_immediate_parent (issue#14334, pr#7181) + - debian: packaging fixes for jewel (pr#7807) + - debian/rpm split servers (issue#10587, pr#7746) + - doc: add orphans commands to radosgw-admin(8) (issue#14637, pr#7518) + - doc: amend the rados.8 (pr#7251) + - doc: Fixes a CRUSH map step take argument (pr#7327) + - doc: fixing image in section ERASURE CODING (pr#7298) + - doc: fix misleading configuration guide on cache tiering (pr#7000) + - doc: fix S3 C# example (pr#7027) + - doc: remove redundant space in ceph-authtool/monmaptool doc (pr#7244) + - doc: revise SubmittingPatches (pr#7292) + - doc: rgw: port changes from downstream to upstream (pr#7264) + - doc: script and guidelines for mirroring Ceph (pr#7384) + - doc: use ‘ceph auth get-or-create’ for creating RGW keyring (pr#6930) + - global: do not start two daemons with a single pid-file (issue#13422, + pr#7075) + - global: do not start two daemons with a single pid-file (part 2) + (issue#13422, pr#7463) + - journal: flush commit position on metadata shutdown (pr#7385) + - journal: reset commit_position_task_ctx pointer after task complete + (pr#7480) + - libcephfs: update LIBCEPHFS_VERSION to indicate the interface was changed + (pr#7551) + - librados: move to c++11 concurrency types (pr#5931) + - librados: remove duplicate definitions for rados pool_stat_t and + cluster_stat_t (pr#7330) + - librados: shutdown finisher in a more graceful way (pr#7519) + - librados_test_stub: protect against notify/unwatch race (pr#7540) + - librbd: API: async open and close (issue#14264, pr#7259) + - librbd: Avoid create two threads per image (pr#7400) + - librbd: block maintenance ops until after journal is ready (issue#14510, + pr#7382) + - librbd: fix internal handling of dynamic feature updates (pr#7299) + - librbd: journal framework for tracking exclusive lock transitions + (issue#13298, pr#7529) + - librbd: journal shut down flush race condition (issue#14434, pr#7302) + - librbd: remove canceled tasks from timer thread (issue#14476, pr#7329) + - makefile: remove libedit from libclient.la (pr#7284) + - mds, client: fix locking around handle_conf_change (issue#14365, + issue#14374, pr#7312) + - mds: judgment added to avoid the risk of visiting the NULL pointer + (pr#7358) + - mon: add an independent option for max election time (pr#7245) + - mon: compact full epochs also (issue#14537, pr#7396) + - mon: consider the pool size when setting pool crush rule (issue#14495, + pr#7341) + - mon: drop useless rank init assignment (issue#14508, pr#7321) + - mon: fix locking in preinit error paths (issue#14473, pr#7353) + - mon: fix monmap creation stamp (pr#7459) + - mon: fix sync of config-key data (pr#7363) + - mon: go into ERR state if multiple PGs are stuck inactive (issue#13923, + pr#7253) + - mon/MDSMonitor.cc: properly note beacon when health metrics changes + (issue#14684, pr#7757) + - mon/MonClient: avoid null pointer error when configured incorrectly + (issue#14405, pr#7276) + - mon: PG Monitor should report waiting for backfill (issue#12744, pr#7398) + - mon: reduce CPU and memory manager pressure of pg health check (pr#7482) + - mon: some cleanup in MonmapMonitor.cc (pr#7418) + - mon: warn if pg(s) not scrubbed (issue#13142, pr#6440) + - msg/async: AsyncConnection: avoid debug log in cleanup_handler (pr#7547) + - msg/async: bunch of fixes (pr#7379) + - msg/async: fix array boundary (pr#7451) + - msg/async: fix potential race condition (pr#7453) + - msg/async: fix send closed local_connection message problem (pr#7255) + - msg/async: reduce extra tcp packet for message ack (pr#7380) + - msg/xio: fix compilation (pr#7479) + - organizationmap: modify org mail info (pr#7240) + - os/bluestore: fix assert (issue#14436, pr#7293) + - os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7342) + - os/bluestore: insert new onode to the front position of onode LRU + (pr#7492) + - os/bluestore: use intrusive_ptr for Dir (pr#7247) + - osd: blockdevice: avoid implicit cast and add guard (pr#7460) + - osd: bluestore/BlueFS: initialize super block_size earlier in mkfs + (pr#7535) + - osd: BlueStore: fix fsck and blockdevice read-relevant issue (pr#7362) + - osd: BlueStore: fix null pointer access (issue#14561, pr#7435) + - osd: bluestore, kstore: fix nid overwritten logic (issue#14407, + issue#14433, pr#7283) + - osd: bluestore: use btree_map for allocator (pr#7269) + - osd: drop fiemap len=0 logic (pr#7267, Sage Weil) + - osd: FileStore: add error check for object_map->sync() (pr#7281) + - osd: FileStore: cleanup: remove obsolete option + “filestore_xattr_use_omap” (issue#14356, pr#7217) + - osd: FileStore: modify the format of colon (pr#7333) + - osd: FileStore: print file name before osd assert if read file failed + (pr#7111) + - osd: fix invalid list traversal in process_copy_chunk (pr#7511) + - osd, mon: fix exit issue (pr#7420) + - osd: PG::activate(): handle unexpected cached_removed_snaps more + gracefully (issue#14428, pr#7309) + - os/fs: fix io_getevents argument (pr#7355, Jingkai Yuan) + - os/fusestore: add error handling (pr#7395, xie xingguo) + - os/keyvaluestore: kill KeyValueStore (pr#7320, Haomai Wang) + - os/kstore: insert new onode to the front position of onode LRU (pr#7505) + - os/ObjectStore: add custom move operations for ObjectStore::Transaction + (pr#7303) + - rgw: Bug fix for mtime anomalies in RadosGW and other places (pr#7328) + - rpm: move %post(un) ldconfig calls to ceph-base (issue#14940, pr#7867) + - rpm: move runtime dependencies to ceph-base and fix other packaging + issues (issue#14864, pr#7826) + - test: ceph_test_rados: use less CPU (pr#7513) + + fix bnc#968766 for SES3 + - ceph_disk.main: s/get_dev_size/get_free_partition_size/ + - ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/ + - ceph_disk tests/test_get_free_partition_size: New unit tests + - ceph_disk tox.ini: add tests/test_get_free_partition_size.py + +------------------------------------------------------------------- +Fri Mar 04 12:30:19 UTC 2016 - ncutler@suse.com + +- Update to version 10.0.3+git.1457093498.1ce475a: + + ceph.spec.in: remove vim hints line + +------------------------------------------------------------------- +Thu Mar 03 03:34:17 UTC 2016 - ncutler@suse.com + +- Update to version 10.0.3+git.1456975858.23181c3: + + rebase to latest upstream jewel + +------------------------------------------------------------------- +Tue Mar 01 21:34:10 UTC 2016 - ncutler@suse.com + +- Update to version 10.0.3+git.1456867872.8d4d332: + + RPM: move scriptlets from ceph to ceph-base + +------------------------------------------------------------------- +Mon Feb 29 16:47:42 UTC 2016 - ncutler@suse.com + +- Update to version 10.0.3+git.1456764140.63f0782: + + packaging: rados-classes libraries in ceph-base + + RPM: drop duplicate udev rules from ceph-base + + RPM: drop duplicate /var/lib/ceph/* directories + +------------------------------------------------------------------- +Sun Feb 28 21:23:35 UTC 2016 - ncutler@suse.com + +- Rebase to upstream 10.0.3 release: + + bluestore: latest and greatest (issue#14210, issue#13801, pr#6896) + + buffer: fix internal iterator invalidation on rebuild, get_contiguous (pr#6962) + + build: fix a few warnings (pr#6847) + + build: misc make check fixes (pr#7153) + + ceph-detect-init: fix py3 test (pr#7025) + + ceph-disk: add -f flag for btrfs mkfs (pr#7222) + + ceph-disk: ceph-disk list fails on /dev/cciss!c0d0 (issue#13970, issue#14233, issue#14230, pr#6879) + + ceph-disk: fix failures when preparing disks with udev > 214 (issue#14080, issue#14094, pr#6926) + + ceph-disk: Fix trivial typo (pr#7472) + + ceph-disk: warn for prepare partitions with bad GUIDs (issue#13943, pr#6760) + + ceph-fuse: fix double decreasing the count to trim caps (issue#14319, pr#7229) + + ceph-fuse: fix double free of args (pr#7015) + + ceph-fuse: fix fsync() (pr#6388) + + ceph-fuse:print usage information when no parameter specified (pr#6868) + + ceph: improve the error message (issue#11101, pr#7106) + + ceph.in: avoid a broken pipe error when use ceph command (issue#14354, pr#7212) + + ceph.spec.in: add copyright notice and license declaration (issue#14694, pr#7569, pr#7574) + + ceph_test_libcephfs: tolerate duplicated entries in readdir (issue#14377, pr#7246) + + client: check if Fh is readable when processing a read (issue#11517, pr#7209) + + client: properly trim unlinked inode (issue#13903, pr#7297) + + cls_rbd: add guards for error cases (issue#14316, issue#14317, pr#7165) + + cls_rbd: enable object map checksums for object_map_save (issue#14280, pr#7149) + + cmake: various fixes (pr#7171, pr#7270, pr#7103, pr#7126, pr#7099, pr#7249, pr#7131, pr#6959, pr#7300) + + common/address_help.cc: fix the leak in entity_addr_from_url() (issue#14132, pr#6987) + + common: add thread names (pr#5882) + + common: assert: abort() rather than throw (pr#6804) + + common: buffer/assert minor fixes (pr#6990) + + common/Formatter: avoid newline if there is no output (pr#5351) + + common: improve shared_cache and simple_cache efficiency with hash table (pr#6909) + + common/lockdep: increase max lock names (pr#6961) + + common: new timekeeping common code, and Objecter conversion (pr#5782) + + common: signal_handler: added support for using reentrant strsignal() + implementations vs. sys_siglist[] (pr#6796) + + config: complains when a setting is not tracked (issue#11692, pr#7085) + + configure: detect bz2 and lz4 (issue#13850, issue#13981, pr#7030) + + correct radosgw-admin command (pr#7006) + + crush: add chooseleaf_stable tunable (pr#6572) + + crush: clean up whitespace removal (issue#14302, pr#7157) + + crush/CrushTester: check for overlapped rules (pr#7139) + + crushtool: improve usage/tip messages (pr#7142) + + crushtool: set type 0 name “device” for –build option (pr#6824) + + doc: various fixes (pr#7020, pr#7119, pr#6955, pr#7023, pr#7164, pr#7004, issue#12899, pr#5900) + + fs: be more careful about the “mds setmap” command to prevent breakage (issue#14380, pr#7262) + + helgrind: additional race conditionslibrbd: journal replay should honor inter-event dependencies (pr#7274) + + helgrind: fix real (and imaginary) race conditions (issue#14163, pr#7208) + + kv: implement value_as_ptr() and use it in .get() (pr#7052) + + librados: add c++ style osd/pg command interface (pr#6893) + + librados: fix several flaws introduced by the enumeration_objects API + (issue#14299, issue#14301, issue#14300, pr#7156) + + librados: new style (sharded) object listing (pr#6405) + + librados: potential null pointer access in list_(n)objects (issue#13822, pr#6639) + + librbd: exit if parent’s snap is gone during clone (issue#14118, pr#6968) + + librbd: fix potential memory leak (issue#14332, issue#14333, pr#7174) + + librbd: fix snap_exists API return code overflow (issue#14129, pr#6986) + + librbd: journal replay should honor inter-event dependencies (pr#7019) + + librbd: return error if we fail to delete object_map head object (issue#14098, pr#6958) + + librbd: small fixes for error messages and readahead counter (issue#14127, pr#6983) + + librbd: uninitialized state in snap remove state machine (pr#6982) + + man: document listwatchers cmd in “rados” manpage (pr#7021) + + mds: advance clientreplay when replying (issue#14357, pr#7216) + + mds: expose state of recovery to status ASOK command (issue#14146, pr#7068) + + mds: fix client cap/message replay order on restart (issue#14254, issue#13546, pr#7199) + + mds: fix standby replay thread creation (issue#14144, pr#7132) + + mds: we should wait messenger when MDSDaemon suicide (pr#6996) + + mon: add osd blacklist clear (pr#6945) + + mon: add RAW USED column to ceph df detail (pr#7087) + + mon: degrade a log message to level 2 (pr#6929) + + mon: fix coding-style on PG related Monitor files (pr#6881) + + mon: fixes related to mondbstore->get() changes (pr#6564) + + mon: fix reuse of osd ids (clear osd info on osd deletion) (issue#13988, pr#6900) + + mon: fix the can’t change subscribe level bug in monitoring log (pr#7031) + + mon/MDSMonitor: add confirmation to “ceph mds rmfailed” (issue#14379, pr#7248) + + mon: modify a dout level in OSDMonitor.cc (pr#6928) + + mon: MonmapMonitor: don’t expose uncommitted state to client (pr#6854) + + mon/OSDMonitor: osdmap laggy set a maximum limit for interval (pr#7109) + + mon: paxos is_recovering calc error (pr#7227) + + mon/PGMap: show rd/wr iops separately in status reports (pr#7072) + + mon: PGMonitor: acting primary diff with cur_stat, should not set pg to stale (pr#7083) + + msg: add override to virutal methods (pr#6977) + + msg/async: cleanup dead connection and misc things (pr#7158) + + msg/async: don’t use shared_ptr to manage EventCallback (pr#7028) + + msg: filter out lo addr when bind osd addr (pr#7012) + + msg: removed unneeded includes from Dispatcher (pr#6814) + + msg: remove unneeded inline (pr#6989) + + msgr: fix large message data content length causing overflow (pr#6809) + + msg/simple: pipe: memory leak when signature check failed (pr#7096 Yang) + + msg/simple: remove unneeded friend declarations (pr#6924) + + objecter: avoid recursive lock of Objecter::rwlock (pr#7343) + + os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7419) + + osd: add cache hint when pushing raw clone during recovery (pr#7069 Wang) + + osd: avoid debug std::string initialization in PG::get/put (pr#7117) + + osd: avoid osd_op_thread suicide because osd_scrub_sleep (pr#7009) + + osd: bluestore: bluefs: fix several small bugs (issue#14344, issue#14343, pr#7200) + + osd: bluestore: don’t include when building without libaio (issue#14207, pr#7169) + + osd: bluestore: fix bluestore onode_t attr leak (pr#7125) + + osd: bluestore: fix bluestore_wal_transaction_t encoding test (pr#7168) + + osd: bluestore: fix several bugs (issue#14259, issue#14353, issue#14260, issue#14261, pr#7122) + + osd: bluestore: fix space rebalancing, collection split, buffered reads (pr#7196) + + osd: bluestore: more fixes (pr#7130) + + osd: cache tier: add config option for eviction check list size (pr#6997) + + osdc: Fix race condition with tick_event and shutdown (issue#14256, pr#7151) + + osd: check health state before pre_booting (issue#14181, pr#7053) + + osd: clear pg_stat_queue after stopping pgs (issue#14212, pr#7091) + + osd: delay populating in-memory PG log hashmaps (pr#6425) + + osd: disable filestore_xfs_extsize by default (issue#14397, pr#7265) + + osd: do not keep ref of old osdmap in pg (issue#13990, pr#7007) + + osd: drop deprecated removal pg type (pr#6970) + + osd: FileJournal: fix return code of create method (issue#14134, pr#6988) + + osd: FileJournal: support batch peak and pop from writeq (pr#6701) + + osd: FileStore: conditional collection of drive metadata (pr#6956) + + osd: FileStore:: optimize lfn_unlink (pr#6649) + + osd: fix null pointer access and race condition (issue#14072, pr#6916) + + osd: fix scrub start hobject (pr#7467) + + osd: fix sparse-read result code checking logic (issue#14151, pr#7016) + + osd: fix temp object removal after upgrade (issue#13862, pr#6976) + + osd: fix wip (l_osd_op_wip) perf counter and remove repop_map (pr#7077) + + osd: fix wrongly placed assert and some cleanups (pr#6766) + + osd: KeyValueStore: fix return code of mkfs (pr#7036) + + osd: KeyValueStore: fix wrongly placed assert (issue#14176, issue#14178, pr#7047) + + osd: kstore: several small fixes (issue#14351, issue#14352, pr#7213) + + osd: kstore: small fixes to kstore (issue#14204, pr#7095) + + osd: make list_missing query missing_loc.needs_recovery_map (pr#6298) + + osdmap: remove unused local variables (pr#6864) + + osd: memstore: fix two bugs (pr#6963) + + osd: misc FileStore fixes (issue#14192, issue#14188, issue#14194, + issue#14187, issue#14186, pr#7059) + + osd: misc optimization for map utilization (pr#6950) + + osd,mon: log leveldb and rocksdb to ceph log (pr#6921) + + osd: Omap small bugs adapted (pr#6669) + + osd: optimize the session_handle_reset function (issue#14182, pr#7054) + + osd: OSDService: Fix typo in osdmap comment (pr#7275) + + osd: os: skip checking pg_meta object existance in FileStore (pr#6870) + + osd: PGLog: clean up read_log (pr#7092) + + osd: prevent osd_recovery_sleep from causing recovery-thread suicide (pr#7065) + + osd: reduce string use in coll_t::calc_str() (pr#6505) + + osd: release related sources when scrub is interrupted (pr#6744) + + osd: remove unused OSDMap::set_weightf() (issue#14369, pr#7231) + + osd: ReplicatedPG: clean up unused function (pr#7211) + + osd/ReplicatedPG: fix promotion recency logic (issue#14320, pr#6702) + + osd: several small cleanups (pr#7055) + + osd: shut down if we flap too many times in a short period (pr#6708) + + osd: skip promote for writefull w/ FADVISE_DONTNEED/NOCACHE (pr#7010) + + osd: small fixes to memstore (issue#14228, issue#14229, issue#14227, pr#7107) + + osd: try evicting after flushing is done (pr#5630) + + osd: use atomic to generate ceph_tid (pr#7017) + + osd: use optimized is_zero in object_stat_sum_t.is_zero() (pr#7203) + + osd: utime_t, eversion_t, osd_stat_sum_t encoding optimization (pr#6902) + + pybind: add ceph_volume_client interface for Manila and similar frameworks (pr#6205) + + pybind: fix build failure, remove extraneous semicolon in method (issue#14371, pr#7235) + + pybind/test_rbd: fix test_create_defaults (issue#14279, pr#7155) + + qa: disable rbd/qemu-iotests test case 055 on RHEL/CentOSlibrbd: journal + replay should honor inter-event dependencies (issue#14385, pr#7272) + + qa/workunits: merge_diff shouldn’t attempt to use striping (issue#14165, pr#7041) + + qa/workunits/snaps: move snap tests into fs sub-directory (pr#6496) + + rados: implement rm –force option to force remove when full (pr#6202) + + rbd: additional validation for striping parameters (pr#6914) + + rbd: add pool name to disambiguate rbd admin socket commands (pr#6904) + + rbd: correct an output string for merge-diff (pr#7046) + + rbd: fix static initialization ordering issues (pr#6978) + + rbd-fuse: image name can not include snap name (pr#7044) + + rbd-fuse: implement mv operation (pr#6938) + + rbd: must specify both of stripe-unit and stripe-count when specifying stripingv2 feature (pr#7026) + + rbd-nbd: add copyright (pr#7166) + + rbd-nbd: fix up return code handling (pr#7215) + + rbd-nbd: small improvements in logging and forking (pr#7127) + + rbd: rbd order will be place in 22, when set to 0 in the config_opt (issue#14139, issue#14047, pr#6886) + + rbd: striping parameters should support 64bit integers (pr#6942) + + rbd: use default order from configuration when not specified (pr#6965) + + rgw: add a method to purge all associate keys when removing a subuser (issue#12890, pr#6002) + + rgw: add missing error code for admin op API (pr#7037) + + rgw: add support for "end_marker" parameter for GET on Swift account (issue#10682, pr#4216) + + rgw_admin: orphans finish segfaults (pr#6652) + + rgw: content length (issue#13582, pr#6975) + + rgw: delete default zone (pr#7005) + + rgw: do not abort radowgw server when using admin op API with bad parameters + (issue#14190, issue#14191, pr#7063) + + rgw: Drop a debugging message (pr#7280) + + rgw: fix a typo in init-radosgw (pr#6817) + + rgw: fix compilation warning (pr#7160) + + rgw: fix wrong check for parse() return (pr#6797) + + rgw: let radosgw-admin bucket stats return a standard josn (pr#7029) + + rgw: modify command stucking when operating radosgw-admin metadata list user (pr#7032) + + rgw: modify documents and help infos descriptions to the usage of option + date when executing command "log show" (pr#6080) + + rgw: Parse –subuser better (pr#7279) + + rgw: radosgw-admin bucket check –fix not work (pr#7093) + + rgw: warn on suspicious civetweb frontend parameters (pr#6944) + + rocksdb: remove rdb sources from dist tarball (issue#13554, pr#7105) + + stringify outputted error code and fix unmatched parentheses. (pr#6998) + + test/librbd/fsx: Use c++11 std::mt19937 generator instead of random_r() (pr#6332) + + test/mon/osd-erasure-code-profile: pick new mon port (pr#7161) + + tests: add const for ec test (pr#6911) + + tests: configure with rocksdb by default (issue#14220, pr#7100) + + tests: Fix for make check. (pr#7102) + + tests: notification slave needs to wait for master (issue#13810, pr#7220) + + tests: snap rename and rebuild object map in client update test (pr#7224) + + tests: unittest_bufferlist: fix hexdump test (pr#7152) + + tests: unittest_ipaddr: fix segv (pr#7154) + + tools: ceph_monstore_tool: add inflate-pgmap command (issue#14217, pr#7097) + + tools: monstore: add ‘show-versions’ command (pr#7073) + +- Update to version 10.0.3+git.1456694378.081fbf0: + + packaging: add lsb-release dependency for SUSE and Debian (bnc#968466) + + RPM: align runtime dependencies with Debian packaging + + packaging: move python-flask runtime dependency to ceph-mon, radosgw + + ceph.spec.in: drop support for ancient SUSE versions + + ceph.spec.in: move ceph-disk runtime dependency to ceph-osd + + packaging: pkg_resources.py runtime dependency + +------------------------------------------------------------------- +Sun Feb 28 10:01:25 UTC 2016 - ncutler@suse.com + +- Update to version 10.0.2+git.1456653469.6e2bf67: + + ceph.spec.in: use %{_prefix} for ocf instead of hardcoding /usr + + ceph.spec.in: do not install Ceph RA on systemd platforms + (bnc#966645) + ------------------------------------------------------------------- Fri Feb 19 19:05:48 UTC 2016 - ncutler@suse.com diff --git a/ceph.spec b/ceph.spec index 03025c3..3f868ed 100644 --- a/ceph.spec +++ b/ceph.spec @@ -1,4 +1,3 @@ -# vim: set noexpandtab ts=8 sw=8 : # # spec file for package ceph # @@ -17,6 +16,7 @@ %bcond_with ocf %bcond_without cephfs_java %bcond_with tests +%bcond_with xio %bcond_without tcmalloc %bcond_without libs_compat %bcond_with lowmem_builder @@ -28,44 +28,18 @@ %bcond_with selinux %endif - -%if (0%{?el5} || (0%{?rhel_version} >= 500 && 0%{?rhel_version} <= 600)) -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} -%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} +# LTTng-UST enabled on Fedora, RHEL 6+, and SLES 12 +%if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version} == 1315 +%bcond_without lttng %endif -%if 0%{with selinux} +%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)} - -%define relabel_files() \ -restorecon -R /usr/bin/ceph-mon > /dev/null 2>&1; \ -restorecon -R /usr/bin/ceph-osd > /dev/null 2>&1; \ -restorecon -R /usr/bin/ceph-mds > /dev/null 2>&1; \ -restorecon -R /usr/bin/radosgw > /dev/null 2>&1; \ -restorecon -R /etc/rc\.d/init\.d/ceph > /dev/null 2>&1; \ -restorecon -R /etc/rc\.d/init\.d/radosgw > /dev/null 2>&1; \ -restorecon -R /var/run/ceph > /dev/null 2>&1; \ -restorecon -R /var/lib/ceph > /dev/null 2>&1; \ -restorecon -R /var/log/ceph > /dev/null 2>&1; %endif %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} - -# Use systemd files on RHEL 7 and above and in SUSE/openSUSE. -# Note: We don't install unit files for the services yet. For now, -# the _with_systemd variable only implies that we'll install -# /etc/tmpfiles.d/ceph.conf in order to set up the socket directory in -# /var/run/ceph. -%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1210 -%global _with_systemd 1 %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} -%endif - -# LTTng-UST enabled on Fedora, RHEL 6, and SLES 12 -%if 0%{?fedora} || 0%{?rhel} == 6 || 0%{?suse_version} == 1315 -%global _with_lttng 1 -%endif # unify libexec for all targets %global _libexecdir %{_exec_prefix}/lib @@ -75,40 +49,23 @@ restorecon -R /var/log/ceph > /dev/null 2>&1; # common ################################################################################# Name: ceph -Version: 10.0.2+git.1455914104.0655989 -Release: 0 +Version: 10.2.1+git.1463529707.bcd73de +Release: 0%{?dist} Summary: User space components of the Ceph file system License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT %if 0%{?suse_version} Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{name}-%{version}.tar.xz +Source0: %{name}-%{version}.tar.bz2 Source99: ceph-rpmlintrc +ExclusiveArch: x86_64 aarch64 ################################################################################# # dependencies that apply across all distro families ################################################################################# -Requires: librbd1 = %{version}-%{release} -Requires: librados2 = %{version}-%{release} -Requires: libcephfs1 = %{version}-%{release} -Requires: ceph-common = %{version}-%{release} -%if 0%{with selinux} -Requires: ceph-selinux = %{version}-%{release} -%endif -Requires: python-rados = %{version}-%{release} -Requires: python-rbd = %{version}-%{release} -Requires: python-cephfs = %{version}-%{release} -Requires: python -Requires: python-requests -Requires: grep -Requires: xfsprogs -Requires: logrotate -Requires: parted -Requires: util-linux -Requires: hdparm -Requires: cryptsetup -Requires: findutils -Requires: which +Requires: ceph-osd = %{version}-%{release} +Requires: ceph-mds = %{version}-%{release} +Requires: ceph-mon = %{version}-%{release} Requires(post): binutils %if 0%{with cephfs_java} BuildRequires: java-devel @@ -119,26 +76,20 @@ BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: /usr/share/selinux/devel/policyhelp %endif -BuildRequires: gcc-c++ BuildRequires: boost-devel BuildRequires: cmake BuildRequires: cryptsetup BuildRequires: fuse-devel -%if 0%{?suse_version} -BuildRequires: python-Cython -%else -BuildRequires: Cython -%endif +BuildRequires: gcc-c++ BuildRequires: gdbm BuildRequires: hdparm BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel -BuildRequires: libcurl-devel -BuildRequires: libedit-devel -BuildRequires: libxml2-devel BuildRequires: libblkid-devel >= 2.17 +BuildRequires: libcurl-devel BuildRequires: libudev-devel BuildRequires: libtool +BuildRequires: libxml2-devel BuildRequires: make BuildRequires: parted BuildRequires: perl @@ -147,9 +98,11 @@ BuildRequires: python BuildRequires: python-devel BuildRequires: python-nose BuildRequires: python-requests +BuildRequires: python-sphinx BuildRequires: python-virtualenv BuildRequires: snappy-devel BuildRequires: util-linux +BuildRequires: valgrind-devel BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet @@ -159,53 +112,40 @@ BuildRequires: yasm # distro-conditional dependencies ################################################################################# %if 0%{?suse_version} -%if 0%{?_with_systemd} BuildRequires: pkgconfig(systemd) BuildRequires: systemd-rpm-macros BuildRequires: systemd %{?systemd_requires} -%endif PreReq: %fillup_prereq -Requires: python-Flask BuildRequires: net-tools BuildRequires: libbz2-devel -%if 0%{?suse_version} > 1210 -Requires: gptfdisk %if 0%{with tcmalloc} BuildRequires: gperftools-devel %endif -%else -Requires: scsirastools -BuildRequires: google-perftools-devel -%endif +BuildRequires: btrfsprogs BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel BuildRequires: libatomic-ops-devel -%else -%if 0%{?_with_systemd} -Requires: systemd +BuildRequires: libopenssl-devel +BuildRequires: lsb-release +BuildRequires: openldap2-devel +BuildRequires: python-Cython %endif -BuildRequires: bzip2-devel +%if 0%{?fedora} || 0%{?rhel} +Requires: systemd +BuildRequires: boost-random +BuildRequires: btrfs-progs BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libatomic_ops-devel -Requires: gdisk -Requires(post): chkconfig -Requires(preun): chkconfig -Requires(preun): initscripts BuildRequires: gperftools-devel -Requires: python-flask -%endif -# boost -%if 0%{?fedora} || 0%{?rhel} -BuildRequires: boost-random -%endif -# python-argparse for distros with Python 2.6 or lower -%if (0%{?rhel} && 0%{?rhel} <= 6) || (0%{?suse_version} && 0%{?suse_version} <= 1110) -BuildRequires: python-argparse +BuildRequires: openldap-devel +BuildRequires: openssl-devel +BuildRequires: redhat-lsb-core +BuildRequires: Cython %endif # lttng and babeltrace for rbd-replay-prep -%if 0%{?_with_lttng} +%if %{with lttng} %if 0%{?fedora} || 0%{?rhel} BuildRequires: lttng-ust-devel BuildRequires: libbabeltrace-devel @@ -224,12 +164,13 @@ BuildRequires: FastCGI-devel BuildRequires: expat-devel BuildRequires: fcgi-devel %endif -# python-sphinx -%if 0%{?rhel} > 0 && 0%{?rhel} < 7 -BuildRequires: python-sphinx10 +#hardened-cc1 +%if 0%{?fedora} || 0%{?rhel} +BuildRequires: redhat-rpm-config %endif -%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 7 -BuildRequires: python-sphinx +# Accelio IB/RDMA +%if 0%{with xio} +BuildRequires: libxio-devel %endif %description @@ -240,49 +181,116 @@ on commodity hardware and delivers object, block and file system storage. ################################################################################# # packages ################################################################################# +%package base +Summary: Ceph Base Package +Group: System Environment/Base +Requires: ceph-common = %{version}-%{release} +Requires: librbd1 = %{version}-%{release} +Requires: librados2 = %{version}-%{release} +Requires: libcephfs1 = %{version}-%{release} +Requires: librgw2 = %{version}-%{release} +%if 0%{with selinux} +Requires: ceph-selinux = %{version}-%{release} +%endif +Requires: python +Requires: python-requests +Requires: python-setuptools +Requires: grep +Requires: xfsprogs +Requires: logrotate +Requires: parted +Requires: util-linux +Requires: hdparm +Requires: cryptsetup +Requires: findutils +Requires: which +%if 0%{?suse_version} +Requires: lsb-release +Recommends: ntp-daemon +%endif +%if 0%{?fedora} || 0%{?rhel} +Requires: redhat-lsb-core +%endif +%if 0%{with xio} +Requires: libxio +%endif +%description base +Base is the package that includes all the files shared amongst ceph servers + %package -n ceph-common Summary: Ceph Common Group: System Environment/Base Requires: librbd1 = %{version}-%{release} Requires: librados2 = %{version}-%{release} +Requires: libcephfs1 = %{version}-%{release} Requires: python-rados = %{version}-%{release} Requires: python-rbd = %{version}-%{release} Requires: python-cephfs = %{version}-%{release} Requires: python-requests -%if 0%{?_with_systemd} %{?systemd_requires} -%endif %if 0%{?suse_version} PreReq: permissions -Requires(pre): pwdutils +Requires(pre): shadow %endif -# python-argparse is only needed in distros with Python 2.6 or lower -%if (0%{?rhel} && 0%{?rhel} <= 6) || (0%{?suse_version} && 0%{?suse_version} <= 1110) -Requires: python-argparse +%if 0%{with xio} +Requires: libxio %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 +Group: System Environment/Base +Requires: ceph-base = %{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 +Group: System Environment/Base +Requires: ceph-base = %{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 fuse Summary: Ceph fuse-based client Group: System Environment/Base -Requires: %{name} %description fuse FUSE based client for Ceph distributed network file system %package -n rbd-fuse Summary: Ceph fuse-based client Group: System Environment/Base -Requires: %{name} Requires: librados2 = %{version}-%{release} Requires: librbd1 = %{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 +Group: System Environment/Base +Requires: ceph-common = %{version}-%{release} +Requires: librados2 = %{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 Group: System Environment/Base -Requires: %{name} Requires: librados2 = %{version}-%{release} Requires: librbd1 = %{version}-%{release} %description -n rbd-nbd @@ -296,20 +304,28 @@ Requires: ceph-common = %{version}-%{release} Requires: ceph-selinux = %{version}-%{release} %endif Requires: librados2 = %{version}-%{release} +Requires: librgw2 = %{version}-%{release} %if 0%{?rhel} || 0%{?fedora} Requires: mailcap +# python-flask for powerdns +Requires: python-flask +%endif +%if 0%{?suse_version} +# python-Flask for powerdns +Requires: python-Flask %endif %description radosgw -This package is an S3 HTTP REST gateway for the RADOS object store. It -is implemented as a FastCGI module using libfcgi, and can be used in -conjunction with any FastCGI capable web server. +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 0%{with ocf} +%if %{with ocf} %package resource-agents Summary: OCF-compliant resource agents for Ceph daemons Group: System Environment/Base License: LGPL-2.0 -Requires: %{name} = %{version} +Requires: ceph-base = %{version} Requires: resource-agents %description resource-agents Resource agents for monitoring and managing Ceph daemons @@ -317,11 +333,29 @@ under Open Cluster Framework (OCF) compliant resource managers such as Pacemaker. %endif +%package osd +Summary: Ceph Object Storage Daemon +Group: System Environment/Base +Requires: ceph-base = %{version}-%{release} +# for sgdisk, used by ceph-disk +%if 0%{?fedora} || 0%{?rhel} +Requires: gdisk +%endif +%if 0%{?suse_version} +Requires: gptfdisk +%endif +%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 Group: System Environment/Libraries License: LGPL-2.0 +%if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{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 @@ -338,6 +372,24 @@ Obsoletes: ceph-devel < %{version}-%{release} This package contains libraries and headers needed to develop programs that use RADOS object store. +%package -n librgw2 +Summary: RADOS gateway client library +Group: System Environment/Libraries +License: LGPL-2.0 +Requires: librados2 = %{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 librgw2-devel +Summary: RADOS gateway client library +Group: Development/Libraries +License: LGPL-2.0 +Requires: librados2 = %{version}-%{release} +%description -n librgw2-devel +This package contains libraries and headers needed to develop programs +that use RADOS gateway client library. + %package -n python-rados Summary: Python libraries for the RADOS object store Group: System Environment/Libraries @@ -352,6 +404,7 @@ object store. Summary: RADOS striping interface Group: System Environment/Libraries License: LGPL-2.0 +Requires: librados2 = %{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 @@ -372,7 +425,10 @@ that use RADOS striping interface. Summary: RADOS block device client library Group: System Environment/Libraries License: LGPL-2.0 +Requires: librados2 = %{version}-%{release} +%if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{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 @@ -405,8 +461,10 @@ block device. Summary: Ceph distributed file system client library Group: System Environment/Libraries License: LGPL-2.0 +%if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{version}-%{release} Obsoletes: ceph-libcephfs +%endif %description -n libcephfs1 Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library @@ -473,13 +531,8 @@ Group: System Environment/Libraries License: LGPL-2.0 Requires: java Requires: libcephfs_jni1 = %{version}-%{release} -%if 0%{?el6} -Requires: junit4 -BuildRequires: junit4 -%else Requires: junit BuildRequires: junit -%endif %description -n cephfs-java This package contains the Java libraries for the Ceph File System. @@ -490,7 +543,7 @@ This package contains the Java libraries for the Ceph File System. %package selinux Summary: SELinux support for Ceph MON, OSD and MDS Group: System Environment/Base -Requires: %{name} +Requires: ceph-base = %{version}-%{release} Requires: policycoreutils, libselinux-utils Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk Requires(postun): policycoreutils @@ -527,7 +580,6 @@ Summary: Compatibility package for Ceph headers Group: Development/Libraries License: LGPL-2.0 Obsoletes: ceph-devel -Requires: %{name} = %{version}-%{release} Requires: librados2-devel = %{version}-%{release} Requires: libradosstriper1-devel = %{version}-%{release} Requires: librbd1-devel = %{version}-%{release} @@ -562,9 +614,6 @@ python-cephfs instead. ################################################################################# %prep %setup -q -%if 0%{?fedora} || 0%{?rhel} -%patch0 -p1 -b .init -%endif %build %if 0%{with cephfs_java} @@ -576,7 +625,7 @@ done ./autogen.sh -%if 0%{with lowmem_builder} +%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/'` @@ -584,11 +633,12 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` %{configure} CPPFLAGS="$java_inc" \ --prefix=/usr \ --libexecdir=%{_libexecdir} \ - --localstatedir=/var \ - --sysconfdir=/etc \ -%if 0%{?_with_systemd} - --with-systemdsystemunitdir=%_unitdir \ + --localstatedir=%{_localstatedir} \ + --sysconfdir=%{_sysconfdir} \ +%if 0%{?rhel} && ! 0%{?centos} + --enable-subman \ %endif + --with-systemdsystemunitdir=%_unitdir \ --docdir=%{_docdir}/ceph \ --with-man-pages \ --mandir="%_mandir" \ @@ -598,18 +648,21 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` %if 0%{with cephfs_java} --enable-cephfs-java \ %endif +%if 0%{with xio} + --enable-xio \ +%endif %if 0%{with selinux} --with-selinux \ %endif --with-librocksdb-static=check \ --with-radosgw \ +%if %{without lttng} + --without-lttng \ + --without-babeltrace \ +%endif $CEPH_EXTRA_CONFIGURE_ARGS \ -%if 0%{with ocf} - --with-ocf \ -%endif -%if ! 0%{with tcmalloc} - --without-tcmalloc \ -%endif + %{?_with_ocf} \ + %{?_with_tcmalloc} \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" %if %{with lowmem_builder} && ! %{with lowmem_builder_override} @@ -620,67 +673,30 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` make %{?_smp_mflags} - %if 0%{with tests} %check # run in-tree unittests -make CHECK_ULIMIT=false %{?_smp_mflags} check-local - +make CHECK_ULIMIT=false %{?_smp_mflags} check %endif - - %install -make DESTDIR=$RPM_BUILD_ROOT install -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_example.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_fail_to_initialize.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_fail_to_register.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_hangs.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_missing_entry_point.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_missing_version.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_test_jerasure_generic.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_test_jerasure_neon.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_test_jerasure_sse3.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_test_jerasure_sse4.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_test_shec_generic.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_test_shec_neon.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_test_shec_sse3.so -rm -f $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/libec_test_shec_sse4.so -find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' -find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';' -install -D src/etc-rbdmap $RPM_BUILD_ROOT%{_sysconfdir}/ceph/rbdmap +make DESTDIR=%{buildroot} install +find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' +find %{buildroot} -type f -name "*.a" -exec rm -f {} ';' +install -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap %if 0%{?fedora} || 0%{?rhel} -install -m 0644 -D etc/sysconfig/ceph $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ceph +install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph %endif %if 0%{?suse_version} -install -m 0644 -D etc/sysconfig/ceph $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.%{name} +install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name} %endif -%if 0%{?_with_systemd} - install -m 0644 -D systemd/ceph.tmpfiles.d $RPM_BUILD_ROOT%{_tmpfilesdir}/ceph-common.conf - install -m 0644 -D systemd/rbdmap.service $RPM_BUILD_ROOT%{_unitdir}/rbdmap.service - install -m 0644 -D systemd/ceph-osd@.service $RPM_BUILD_ROOT%{_unitdir}/ceph-osd@.service - install -m 0644 -D systemd/ceph-mon@.service $RPM_BUILD_ROOT%{_unitdir}/ceph-mon@.service - install -m 0644 -D systemd/ceph-create-keys@.service $RPM_BUILD_ROOT%{_unitdir}/ceph-create-keys@.service - install -m 0644 -D systemd/ceph-mds@.service $RPM_BUILD_ROOT%{_unitdir}/ceph-mds@.service - install -m 0644 -D systemd/ceph-radosgw@.service $RPM_BUILD_ROOT%{_unitdir}/ceph-radosgw@.service - install -m 0644 -D systemd/ceph.target $RPM_BUILD_ROOT%{_unitdir}/ceph.target - install -m 0644 -D systemd/ceph-osd.target $RPM_BUILD_ROOT%{_unitdir}/ceph-osd.target - install -m 0644 -D systemd/ceph-mon.target $RPM_BUILD_ROOT%{_unitdir}/ceph-mon.target - install -m 0644 -D systemd/ceph-mds.target $RPM_BUILD_ROOT%{_unitdir}/ceph-mds.target - install -m 0644 -D systemd/ceph-radosgw.target $RPM_BUILD_ROOT%{_unitdir}/ceph-radosgw.target - install -m 0644 -D systemd/ceph-disk@.service $RPM_BUILD_ROOT%{_unitdir}/ceph-disk@.service - install -m 0755 -D systemd/ceph $RPM_BUILD_ROOT%{_sbindir}/rcceph -%else - install -D src/init-rbdmap $RPM_BUILD_ROOT%{_initrddir}/rbdmap - install -D src/init-ceph $RPM_BUILD_ROOT%{_initrddir}/ceph - install -D src/init-radosgw $RPM_BUILD_ROOT%{_initrddir}/ceph-radosgw - ln -sf ../../etc/init.d/ceph %{buildroot}/%{_sbindir}/rcceph - ln -sf ../../etc/init.d/ceph-radosgw %{buildroot}/%{_sbindir}/rcceph-radosgw -%endif -mkdir -p $RPM_BUILD_ROOT%{_sbindir} -install -m 0644 -D src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph -chmod 0644 $RPM_BUILD_ROOT%{_docdir}/ceph/sample.ceph.conf -chmod 0644 $RPM_BUILD_ROOT%{_docdir}/ceph/sample.fetch_config +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 +chmod 0644 %{buildroot}%{_docdir}/ceph/sample.fetch_config # firewall templates %if 0%{?suse_version} @@ -689,196 +705,62 @@ install -m 0644 -D etc/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %{buildro %endif # udev rules -install -m 0644 -D udev/50-rbd.rules $RPM_BUILD_ROOT%{_udevrulesdir}/50-rbd.rules -install -m 0644 -D udev/60-ceph-partuuid-workaround.rules $RPM_BUILD_ROOT%{_udevrulesdir}/60-ceph-partuuid-workaround.rules - -%if (0%{?rhel} && 0%{?rhel} < 7) -install -m 0644 -D udev/95-ceph-osd-alt.rules $RPM_BUILD_ROOT/lib/udev/rules.d/95-ceph-osd.rules -%else -install -m 0644 -D udev/95-ceph-osd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/95-ceph-osd.rules -%endif - -%if 0%{?rhel} >= 7 || 0%{?fedora} || 0%{?suse_version} -mv $RPM_BUILD_ROOT/lib/udev/rules.d/95-ceph-osd.rules $RPM_BUILD_ROOT/usr/lib/udev/rules.d/95-ceph-osd.rules -mv $RPM_BUILD_ROOT/sbin/mount.ceph $RPM_BUILD_ROOT/usr/sbin/mount.ceph -mv $RPM_BUILD_ROOT/sbin/mount.fuse.ceph $RPM_BUILD_ROOT/usr/sbin/mount.fuse.ceph -%endif +install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules +install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules +mv %{buildroot}/sbin/mount.ceph %{buildroot}/usr/sbin/mount.ceph +mv %{buildroot}/sbin/mount.fuse.ceph %{buildroot}/usr/sbin/mount.fuse.ceph #set up placeholder directories -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ceph -%if ! 0%{?_with_systemd} -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/ceph -%endif -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/tmp -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/mon -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/osd -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/mds -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/radosgw -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/bootstrap-osd -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/bootstrap-mds -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/bootstrap-rgw +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/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 %clean -rm -rf $RPM_BUILD_ROOT - -%pre -%if 0%{?_with_systemd} - %if 0%{?suse_version} - # service_add_pre and friends don't work with parameterized systemd service - # instances, only with single services or targets, so we always pass - # ceph.target to these macros - %service_add_pre ceph.target - %endif -%endif - - -%post -/sbin/ldconfig -%if 0%{?_with_systemd} - %if 0%{?suse_version} - %fillup_only - %service_add_post ceph.target - %endif -%else - /sbin/chkconfig --add ceph -%endif - -%preun -%if 0%{?_with_systemd} - %if 0%{?suse_version} - %service_del_preun ceph.target - %endif - # Disable and stop on removal. - if [ $1 = 0 ] ; then - SERVICE_LIST=$(systemctl | grep -E '^ceph-mon@|^ceph-create-keys@|^ceph-osd@|^ceph-mds@|^ceph-disk-' | cut -d' ' -f1) - if [ -n "$SERVICE_LIST" ]; then - for SERVICE in $SERVICE_LIST; do - /usr/bin/systemctl --no-reload disable $SERVICE > /dev/null 2>&1 || : - /usr/bin/systemctl stop $SERVICE > /dev/null 2>&1 || : - done - fi - fi -%else - %if 0%{?rhel} || 0%{?fedora} - if [ $1 = 0 ] ; then - /sbin/service ceph stop >/dev/null 2>&1 - /sbin/chkconfig --del ceph - fi - %endif -%endif - -%postun -/sbin/ldconfig -%if 0%{?_with_systemd} - if [ $1 = 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=/etc/sysconfig/ceph - if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then - source $SYSCONF_CEPH - fi - if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then - SERVICE_LIST=$(systemctl | grep -E '^ceph-mon@|^ceph-create-keys@|^ceph-osd@|^ceph-mds@|^ceph-disk-' | cut -d' ' -f1) - if [ -n "$SERVICE_LIST" ]; then - for SERVICE in $SERVICE_LIST; do - /usr/bin/systemctl try-restart $SERVICE > /dev/null 2>&1 || : - done - fi - fi - fi -%endif +rm -rf %{buildroot} ################################################################################# -# files +# files and systemd scriptlets ################################################################################# %files + +%files base %defattr(-,root,root,-) %docdir %{_docdir} %dir %{_docdir}/ceph %{_docdir}/ceph/sample.ceph.conf %{_docdir}/ceph/sample.fetch_config -%{_bindir}/cephfs -%{_bindir}/ceph-clsinfo -%{_bindir}/ceph-rest-api -%{python_sitelib}/ceph_rest_api.py* %{_bindir}/crushtool %{_bindir}/monmaptool %{_bindir}/osdmaptool %{_bindir}/ceph-run -%{_bindir}/ceph-mon -%{_bindir}/ceph-mds -%{_bindir}/ceph-objectstore-tool -%{_bindir}/ceph-osd %{_bindir}/ceph-detect-init -%{_bindir}/librados-config %{_bindir}/ceph-client-debug -%{_bindir}/cephfs-journal-tool -%{_bindir}/cephfs-table-tool -%{_bindir}/cephfs-data-scan -%{_bindir}/ceph-debugpack -%{_bindir}/ceph-coverage -%if 0%{?_with_systemd} -%{_unitdir}/ceph-mds@.service -%{_unitdir}/ceph-mon@.service -%{_unitdir}/ceph-create-keys@.service -%{_unitdir}/ceph-osd@.service -%{_unitdir}/ceph-radosgw@.service -%{_unitdir}/ceph-disk@.service -%{_unitdir}/ceph.target -%{_unitdir}/ceph-osd.target -%{_unitdir}/ceph-mon.target -%{_unitdir}/ceph-mds.target -%{_unitdir}/ceph-radosgw.target -%else -%{_initrddir}/ceph -%endif -%{_sbindir}/ceph-disk -%{_sbindir}/ceph-disk-udev +%{_bindir}/cephfs +%{_libexecdir}/systemd/system-preset/50-ceph.preset %{_sbindir}/ceph-create-keys %{_sbindir}/rcceph -%if 0%{?rhel} >= 7 || 0%{?fedora} || 0%{?suse_version} %{_sbindir}/mount.ceph -%else -/sbin/mount.ceph -%endif %dir %{_libexecdir}/ceph %{_libexecdir}/ceph/ceph_common.sh -%{_libexecdir}/ceph/ceph-osd-prestart.sh %dir %{_libdir}/rados-classes -%{_libdir}/rados-classes/libcls_cephfs.so* -%{_libdir}/rados-classes/libcls_rbd.so* -%{_libdir}/rados-classes/libcls_hello.so* -%{_libdir}/rados-classes/libcls_numops.so* -%{_libdir}/rados-classes/libcls_rgw.so* -%{_libdir}/rados-classes/libcls_lock.so* -%{_libdir}/rados-classes/libcls_kvs.so* -%{_libdir}/rados-classes/libcls_refcount.so* -%{_libdir}/rados-classes/libcls_log.so* -%{_libdir}/rados-classes/libcls_replica_log.so* -%{_libdir}/rados-classes/libcls_statelog.so* -%{_libdir}/rados-classes/libcls_timeindex.so* -%{_libdir}/rados-classes/libcls_user.so* -%{_libdir}/rados-classes/libcls_version.so* -%{_libdir}/rados-classes/libcls_journal.so* +%{_libdir}/rados-classes/* %dir %{_libdir}/ceph %dir %{_libdir}/ceph/erasure-code -%{_libdir}/ceph/erasure-code/libec_isa.so -%{_libdir}/ceph/erasure-code/libec_jerasure.so -%{_libdir}/ceph/erasure-code/libec_jerasure_generic.so -%{_libdir}/ceph/erasure-code/libec_jerasure_sse3.so -%{_libdir}/ceph/erasure-code/libec_jerasure_sse4.so -%{_libdir}/ceph/erasure-code/libec_lrc.so -%{_libdir}/ceph/erasure-code/libec_shec.so -%{_libdir}/ceph/erasure-code/libec_shec_generic.so -%{_libdir}/ceph/erasure-code/libec_shec_sse3.so -%{_libdir}/ceph/erasure-code/libec_shec_sse4.so -%if 0%{?_with_lttng} +%{_libdir}/ceph/erasure-code/libec_*.so* +%dir %{_libdir}/ceph/compressor +%{_libdir}/ceph/compressor/libceph_*.so* +%if %{with lttng} %{_libdir}/libos_tp.so* %{_libdir}/libosd_tp.so* %endif -%{_udevrulesdir}/60-ceph-partuuid-workaround.rules -%{_udevrulesdir}/95-ceph-osd.rules %config %{_sysconfdir}/bash_completion.d/ceph %config(noreplace) %{_sysconfdir}/logrotate.d/ceph %if 0%{?fedora} || 0%{?rhel} @@ -889,38 +771,57 @@ rm -rf $RPM_BUILD_ROOT %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %endif +%{_unitdir}/ceph.target %{python_sitelib}/ceph_detect_init* +%{python_sitelib}/ceph_disk* %{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-detect-init.8* -%{_mandir}/man8/ceph-disk.8* %{_mandir}/man8/ceph-create-keys.8* -%{_mandir}/man8/ceph-mon.8* -%{_mandir}/man8/ceph-mds.8* -%{_mandir}/man8/ceph-osd.8* %{_mandir}/man8/ceph-run.8* -%{_mandir}/man8/ceph-rest-api.8* %{_mandir}/man8/crushtool.8* %{_mandir}/man8/osdmaptool.8* %{_mandir}/man8/monmaptool.8* %{_mandir}/man8/cephfs.8* %{_mandir}/man8/mount.ceph.8* -%{_mandir}/man8/ceph-debugpack.8* -%{_mandir}/man8/ceph-clsinfo.8* -%{_mandir}/man8/librados-config.8* #set up placeholder directories %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp -%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon -%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd -%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mds %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 -%if ! 0%{?_with_systemd} -%attr(770,ceph,ceph) %dir %{_localstatedir}/run/ceph + +%post base +/sbin/ldconfig +%if 0%{?suse_version} +%fillup_only +if [ $1 -ge 1 ] ; then + /usr/bin/systemctl preset ceph.target >/dev/null 2>&1 || : +fi +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_post ceph.target +%endif +/usr/bin/systemctl start ceph.target >/dev/null 2>&1 || : + +%preun base +%if 0%{?suse_version} +%service_del_preun ceph.target +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_preun ceph.target +%endif + +%postun base +/sbin/ldconfig +%if 0%{?suse_version} +DISABLE_RESTART_ON_UPDATE="yes" +%service_del_postun ceph.target +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_postun ceph.target %endif ################################################################################# -%files -n ceph-common +%files common %defattr(-,root,root,-) %{_bindir}/ceph %{_bindir}/ceph-authtool @@ -929,19 +830,20 @@ rm -rf $RPM_BUILD_ROOT %{_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}/rbd %{_bindir}/rbd-replay %{_bindir}/rbd-replay-many %{_bindir}/rbdmap -%if 0%{?_with_lttng} +%if %{with lttng} %{_bindir}/rbd-replay-prep %endif %{_bindir}/ceph-post-file %{_bindir}/ceph-brag -%if 0%{?_with_systemd} %{_tmpfilesdir}/ceph-common.conf -%endif %{_mandir}/man8/ceph-authtool.8* %{_mandir}/man8/ceph-conf.8* %{_mandir}/man8/ceph-dencoder.8* @@ -951,6 +853,7 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man8/ceph.8* %{_mandir}/man8/rados.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* @@ -962,44 +865,146 @@ rm -rf $RPM_BUILD_ROOT %config %{_sysconfdir}/bash_completion.d/rados %config %{_sysconfdir}/bash_completion.d/rbd %config(noreplace) %{_sysconfdir}/ceph/rbdmap -%if 0%{?_with_systemd} %{_unitdir}/rbdmap.service -%else -%{_initrddir}/rbdmap -%endif %{python_sitelib}/ceph_argparse.py* %{python_sitelib}/ceph_daemon.py* %{_udevrulesdir}/50-rbd.rules %attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/ %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/ -%pre -n ceph-common -CEPH_GROUP_ID="" -CEPH_USER_ID="" +%pre common +CEPH_GROUP_ID=167 +CEPH_USER_ID=167 %if 0%{?rhel} || 0%{?fedora} -CEPH_GROUP_ID="-g 167" -CEPH_USER_ID="-u 167" -%endif -%if 0%{?rhel} || 0%{?fedora} -%{_sbindir}/groupadd ceph $CEPH_GROUP_ID -o -r 2>/dev/null || : -%{_sbindir}/useradd ceph $CEPH_USER_ID -o -r -g ceph -s /sbin/nologin -c "Ceph daemons" -d %{_localstatedir}/lib/ceph 2> /dev/null || : +/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} -getent group ceph >/dev/null || groupadd -r ceph -getent passwd ceph >/dev/null || useradd -r -g ceph -d %{_localstatedir}/lib/ceph -s /sbin/nologin -c "Ceph daemons" ceph +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 -c "Ceph daemons" -d %{_localstatedir}/lib/ceph 2>/dev/null || : +fi +# fix ownership of log files +[ -d /var/log/ceph ] || exit 0 +[ "$(stat -c %U /var/log/ceph)" = "ceph" ] && exit 0 +find /var/log/ceph -type f -name '*.log' -exec chown ceph.ceph {} \; +chown ceph.ceph /var/log/ceph %endif exit 0 -%post -n ceph-common -%if 0%{?_with_systemd} +%post common %tmpfiles_create %{_tmpfilesdir}/ceph-common.conf -%endif -%postun -n ceph-common +%postun common # Package removal cleanup if [ "$1" -eq "0" ] ; then - rm -rf /var/log/ceph - rm -rf /etc/ceph + 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 -ge 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 +/usr/bin/systemctl start ceph-mds.target >/dev/null 2>&1 || : + +%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 mon +%{_bindir}/ceph-mon +%{_bindir}/ceph-rest-api +%{_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 -ge 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 +/usr/bin/systemctl start ceph-mon.target >/dev/null 2>&1 || : + +%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 ################################################################################# @@ -1007,11 +1012,7 @@ fi %defattr(-,root,root,-) %{_bindir}/ceph-fuse %{_mandir}/man8/ceph-fuse.8* -%if 0%{?rhel} >= 7 || 0%{?fedora} || 0%{?suse_version} %{_sbindir}/mount.fuse.ceph -%else -/sbin/mount.fuse.ceph -%endif ################################################################################# %files -n rbd-fuse @@ -1019,6 +1020,54 @@ fi %{_bindir}/rbd-fuse %{_mandir}/man8/rbd-fuse.8* +################################################################################# +%files -n rbd-mirror +%defattr(-,root,root,-) +%{_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 -ge 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 +/usr/bin/systemctl start ceph-rbd-mirror.target >/dev/null 2>&1 || : + +%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 %defattr(-,root,root,-) @@ -1030,84 +1079,149 @@ fi %defattr(-,root,root,-) %{_bindir}/radosgw %{_bindir}/radosgw-admin +%{_bindir}/radosgw-token %{_bindir}/radosgw-object-expirer %{_mandir}/man8/radosgw.8* %{_mandir}/man8/radosgw-admin.8* %config %{_sysconfdir}/bash_completion.d/radosgw-admin %dir %{_localstatedir}/lib/ceph/radosgw -%if 0%{?_with_systemd} -%else -%{_initrddir}/ceph-radosgw -%{_sbindir}/rcceph-radosgw +%{_unitdir}/ceph-radosgw@.service +%{_unitdir}/ceph-radosgw.target + +%pre radosgw +%if 0%{?suse_version} +# fix ownership of log files +[ -d /var/log/ceph-radosgw ] || exit 0 +[ "$(stat -c %U /var/log/ceph-radosgw)" = "ceph" ] && exit 0 +find /var/log/ceph-radosgw -type f -name '*.log' -exec chown ceph.ceph {} \; +chown ceph.ceph /var/log/ceph-radosgw %endif %post radosgw -/sbin/ldconfig %if 0%{?suse_version} - # explicit systemctl daemon-reload (that's the only relevant bit of - # service_add_post; the rest is all sysvinit --> systemd migration which - # isn't applicable in this context (see above comment). - /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 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 +/usr/bin/systemctl start ceph-radosgw.target >/dev/null 2>&1 || : %preun radosgw -%if 0%{?_with_systemd} - # Disable and stop on removal. - if [ $1 = 0 ] ; then - SERVICE_LIST=$(systemctl | grep -E '^ceph-radosgw@' | cut -d' ' -f1) - if [ -n "$SERVICE_LIST" ]; then - for SERVICE in $SERVICE_LIST; do - /usr/bin/systemctl --no-reload disable $SERVICE > /dev/null 2>&1 || : - /usr/bin/systemctl stop $SERVICE > /dev/null 2>&1 || : - done - fi - fi +%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 -/sbin/ldconfig -%if 0%{?_with_systemd} - if [ $1 = 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=/etc/sysconfig/ceph - if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then - source $SYSCONF_CEPH - fi - if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then - SERVICE_LIST=$(systemctl | grep -E '^ceph-radosgw@' | cut -d' ' -f1) - if [ -n "$SERVICE_LIST" ]; then - for SERVICE in $SERVICE_LIST; do - /usr/bin/systemctl try-restart $SERVICE > /dev/null 2>&1 || : - done - fi - fi - fi +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 ################################################################################# -%if 0%{with ocf} +%files osd +%{_bindir}/ceph-clsinfo +%{_bindir}/ceph-bluefs-tool +%{_bindir}/ceph-objectstore-tool +%{_bindir}/ceph-osd +%{_sbindir}/ceph-disk +%{_sbindir}/ceph-disk-udev +%{_libexecdir}/ceph/ceph-osd-prestart.sh +%{_udevrulesdir}/95-ceph-osd.rules +%{_mandir}/man8/ceph-clsinfo.8* +%{_mandir}/man8/ceph-disk.8* +%{_mandir}/man8/ceph-osd.8* +%if 0%{?rhel} && ! 0%{?centos} +%{_sysconfdir}/cron.hourly/subman +%endif +%{_unitdir}/ceph-osd@.service +%{_unitdir}/ceph-osd.target +%{_unitdir}/ceph-disk@.service +%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd + +%post osd +%if 0%{?suse_version} +if [ $1 -ge 1 ] ; then + /usr/bin/systemctl preset ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target >/dev/null 2>&1 || : +fi +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_post ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target +%endif +/usr/bin/systemctl start ceph-osd.target >/dev/null 2>&1 || : + +%preun osd +%if 0%{?suse_version} +%service_del_preun ceph-disk@\*.service ceph-osd@\*.service ceph-osd.target +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_preun ceph-disk@\*.service ceph-osd@\*.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-disk@\*.service ceph-osd@\*.service ceph-osd.target +%endif +%if 0%{?fedora} || 0%{?rhel} +%systemd_postun ceph-disk@\*.service ceph-osd@\*.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-disk@\*.service ceph-osd@\*.service > /dev/null 2>&1 || : + fi +fi + +################################################################################# +%if %{with ocf} + %files resource-agents %defattr(0755,root,root,-) -%dir /usr/lib/ocf -%dir /usr/lib/ocf/resource.d -%dir /usr/lib/ocf/resource.d/ceph -/usr/lib/ocf/resource.d/%{name}/* +# N.B. src/ocf/Makefile.am uses $(prefix)/lib +%dir %{_prefix}/lib/ocf +%dir %{_prefix}/lib/ocf/resource.d +%dir %{_prefix}/lib/ocf/resource.d/ceph +%{_prefix}/lib/ocf/resource.d/ceph/rbd + %endif ################################################################################# %files -n librados2 %defattr(-,root,root,-) %{_libdir}/librados.so.* -%if 0%{?_with_lttng} +%if %{with lttng} %{_libdir}/librados_tp.so.* %endif -%post -n librados2 -/sbin/ldconfig +%post -n librados2 -p /sbin/ldconfig -%postun -n librados2 -/sbin/ldconfig +%postun -n librados2 -p /sbin/ldconfig ################################################################################# %files -n librados2-devel @@ -1123,25 +1237,26 @@ fi %{_includedir}/rados/rados_types.hpp %{_includedir}/rados/memory.h %{_libdir}/librados.so -%if 0%{?_with_lttng} +%if %{with lttng} %{_libdir}/librados_tp.so %endif +%{_bindir}/librados-config +%{_mandir}/man8/librados-config.8* ################################################################################# %files -n python-rados %defattr(-,root,root,-) -%{python_sitelib}/rados.py* +%{python_sitearch}/rados.so +%{python_sitearch}/rados-*.egg-info ################################################################################# %files -n libradosstriper1 %defattr(-,root,root,-) %{_libdir}/libradosstriper.so.* -%post -n libradosstriper1 -/sbin/ldconfig +%post -n libradosstriper1 -p /sbin/ldconfig -%postun -n libradosstriper1 -/sbin/ldconfig +%postun -n libradosstriper1 -p /sbin/ldconfig ################################################################################# %files -n libradosstriper1-devel @@ -1155,7 +1270,7 @@ fi %files -n librbd1 %defattr(-,root,root,-) %{_libdir}/librbd.so.* -%if 0%{?_with_lttng} +%if %{with lttng} %{_libdir}/librbd_tp.so.* %endif @@ -1164,8 +1279,7 @@ fi mkdir -p /usr/lib64/qemu/ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 -%postun -n librbd1 -/sbin/ldconfig +%postun -n librbd1 -p /sbin/ldconfig ################################################################################# %files -n librbd1-devel @@ -1175,10 +1289,27 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 %{_includedir}/rbd/librbd.hpp %{_includedir}/rbd/features.h %{_libdir}/librbd.so -%if 0%{?_with_lttng} +%if %{with lttng} %{_libdir}/librbd_tp.so %endif +################################################################################# +%files -n librgw2 +%defattr(-,root,root,-) +%{_libdir}/librgw.so.* + +%post -n librgw2 -p /sbin/ldconfig + +%postun -n librgw2 -p /sbin/ldconfig + +################################################################################# +%files -n librgw2-devel +%defattr(-,root,root,-) +%dir %{_includedir}/rados +%{_includedir}/rados/librgw.h +%{_includedir}/rados/rgw_file.h +%{_libdir}/librgw.so + ################################################################################# %files -n python-rbd %defattr(-,root,root,-) @@ -1190,11 +1321,9 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 %defattr(-,root,root,-) %{_libdir}/libcephfs.so.* -%post -n libcephfs1 -/sbin/ldconfig +%post -n libcephfs1 -p /sbin/ldconfig -%postun -n libcephfs1 -/sbin/ldconfig +%postun -n libcephfs1 -p /sbin/ldconfig ################################################################################# %files -n libcephfs1-devel @@ -1206,7 +1335,9 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 ################################################################################# %files -n python-cephfs %defattr(-,root,root,-) -%{python_sitelib}/cephfs.py* +%{python_sitearch}/cephfs.so +%{python_sitearch}/cephfs-*.egg-info +%{python_sitelib}/ceph_volume_client.py* ################################################################################# %files -n ceph-test @@ -1232,13 +1363,16 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 %{_bindir}/ceph_smalliobenchdumb %{_bindir}/ceph_smalliobenchfs %{_bindir}/ceph_smalliobenchrbd -%{_bindir}/ceph_streamtest %{_bindir}/ceph_test_* +%{_bindir}/librgw_file* %{_bindir}/ceph_tpbench %{_bindir}/ceph_xattr_bench +%{_bindir}/ceph-coverage %{_bindir}/ceph-monstore-tool %{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-kvstore-tool +%{_bindir}/ceph-debugpack +%{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh @@ -1248,11 +1382,9 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 %defattr(-,root,root,-) %{_libdir}/libcephfs_jni.so.* -%post -n libcephfs_jni1 -/sbin/ldconfig +%post -n libcephfs_jni1 -p /sbin/ldconfig -%postun -n libcephfs_jni1 -/sbin/ldconfig +%postun -n libcephfs_jni1 -p /sbin/ldconfig ################################################################################# %files -n libcephfs_jni1-devel @@ -1275,95 +1407,75 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1 %{_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 -OLD_POLVER=$(%{_sbindir}/semodule -l | grep -P '^ceph[\t ]' | awk '{print $2}') -%{_sbindir}/semodule -n -i %{_datadir}/selinux/packages/ceph.pp -NEW_POLVER=$(%{_sbindir}/semodule -l | grep -P '^ceph[\t ]' | awk '{print $2}') +/usr/sbin/semodule -i %{_datadir}/selinux/packages/ceph.pp # Load the policy if SELinux is enabled -if %{_sbindir}/selinuxenabled; then - %{_sbindir}/load_policy -else +if ! /usr/sbin/selinuxenabled; then # Do not relabel if selinux is not enabled exit 0 fi -if test "$OLD_POLVER" == "$NEW_POLVER"; then - # Do not relabel if policy version did not change +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 -%if 0%{?_with_systemd} - /usr/bin/systemctl status ceph.target > /dev/null 2>&1 -%else - /sbin/service ceph status >/dev/null 2>&1 -%endif +/usr/bin/systemctl status ceph.target > /dev/null 2>&1 STATUS=$? # Stop the daemons if they were running if test $STATUS -eq 0; then -%if 0%{?_with_systemd} /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 -%else - /sbin/service ceph stop >/dev/null 2>&1 -%endif fi # Now, relabel the files -%relabel_files +/usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null +rm -f ${FILE_CONTEXT}.pre # Start the daemons iff they were running before if test $STATUS -eq 0; then -%if 0%{?_with_systemd} /usr/bin/systemctl start ceph.target > /dev/null 2>&1 || : -%else - /sbin/service ceph start >/dev/null 2>&1 || : -%endif 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 - %{_sbindir}/semodule -n -r ceph + /usr/sbin/semodule -n -r ceph # Reload the policy if SELinux is enabled - if %{_sbindir}/selinuxenabled ; then - %{_sbindir}/load_policy - else + if ! /usr/sbin/selinuxenabled ; then # Do not relabel if SELinux is not enabled exit 0 fi # Check whether the daemons are running - %if 0%{?_with_systemd} - /usr/bin/systemctl status ceph.target > /dev/null 2>&1 - %else - /sbin/service ceph status >/dev/null 2>&1 - %endif + /usr/bin/systemctl status ceph.target > /dev/null 2>&1 STATUS=$? # Stop the daemons if they were running if test $STATUS -eq 0; then - %if 0%{?_with_systemd} /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 - %else - /sbin/service ceph stop >/dev/null 2>&1 - %endif fi - # Now, relabel the files - %relabel_files + /usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null + rm -f ${FILE_CONTEXT}.pre # Start the daemons if they were running before if test $STATUS -eq 0; then - %if 0%{?_with_systemd} /usr/bin/systemctl start ceph.target > /dev/null 2>&1 || : - %else - /sbin/service ceph start >/dev/null 2>&1 || : - %endif fi fi exit 0 @@ -1387,4 +1499,5 @@ exit 0 # We need an empty %%files list for python-ceph-compat, to tell rpmbuild to # actually build this meta package. + %changelog