diff options
author | Bazaah | 2024-08-05 10:45:43 +0000 |
---|---|---|
committer | Bazaah | 2024-08-05 10:45:43 +0000 |
commit | 3c3f9dd124f20b424ff46db8f8fe8f8332067bd8 (patch) | |
tree | 52b9a85483faa9048a05941047933920e01b7654 | |
parent | da44a9ee63653b9a935393051cd8397047e8888b (diff) | |
parent | 2423fcc6d44a7093c1d4532c9f3e6c1b4f5b8f99 (diff) | |
download | aur-3c3f9dd124f20b424ff46db8f8fe8f8332067bd8.tar.gz |
merge: master <--- feature/v18.2.4-1
* HEAD
| \
| * 2423fcc <github@luxolus.com> pkgbuild: pkgver=18.2.4 pkgrel=1
| * b55971a <github@luxolus.com> pkgbuild: update license to use SPDX identifier
| * e432e29 <github@luxolus.com> pkgbuild: add ceph-exporter.service to pkg.ceph-mgr
| * 879e512 <github@luxolus.com> pkgbuild: add pkg.ceph-node-proxy
| * 90b4dfa <github@luxolus.com> pkgbuild: rm included backport (mgr-dashboard-simplify-authentication-protocol)
| * 5d846f6 <github@luxolus.com> pkgbuild: rm included backport (ceph-volume-check-generic-reject-reasons)
| * 335c26f <github@luxolus.com> pkgbuild: rm superseded patch (tox-mypy-false-postive)
| * be62f5b <github@luxolus.com> repo: rm zombie patch (delete-test-librados-asio)
| /
| master
Signed-off-by: Bazaah <github@luxolus.com>
-rw-r--r-- | .SRCINFO | 155 | ||||
-rw-r--r-- | PKGBUILD | 42 | ||||
-rw-r--r-- | ceph-16.2.7-delete-test-librados-asio.patch | 26 | ||||
-rw-r--r-- | ceph-17.2.4-tox-mypy-false-postive.patch | 12 | ||||
-rw-r--r-- | ceph-18.2.2-backport-ceph-volume-check-generic-reject-reasons.patch | 178 | ||||
-rw-r--r-- | ceph-18.2.2-backport-mgr-dashboard-simplify-authentication-protocol.patch | 323 |
6 files changed, 99 insertions, 637 deletions
@@ -1,10 +1,10 @@ pkgbase = ceph pkgdesc = Distributed, fault-tolerant storage platform delivering object, block, and file system - pkgver = 18.2.2 - pkgrel = 4 + pkgver = 18.2.4 + pkgrel = 1 url = https://ceph.com/ arch = x86_64 - license = GPL + license = GPL-2.0-or-later OR LGPL-2.1-or-later OR LGPL-3.0-or-later checkdepends = inetutils checkdepends = xmlstarlet checkdepends = python-nose @@ -85,14 +85,13 @@ pkgbase = ceph makedepends = python-wheel options = emptydirs options = !lto - source = https://download.ceph.com/tarballs/ceph-18.2.2.tar.gz + source = https://download.ceph.com/tarballs/ceph-18.2.4.tar.gz source = ceph.sysusers source = ceph.sudoers source = ceph-13.2.2-dont-install-sysvinit-script.patch source = ceph-disable-empty-readable.sh-test.patch source = ceph-17.2.5-logrotate-ignore-dups.patch source = ceph-17.2.4-tox-flake8-git-ls-files.patch - source = ceph-17.2.4-tox-mypy-false-postive.patch source = ceph-17.2.4-test-bluefs-split.patch source = ceph-17.2.4-pybind-unmock-cythonize.patch source = ceph-17.2.5-fix-iterator-depreciations.patch @@ -103,10 +102,8 @@ pkgbase = ceph source = ceph-18.2.0-fmt10-fixes.patch source = ceph-18.2.0-fix-ecode-shec-test.patch source = ceph-18.2.0-backport-log-runway-expansion.patch - source = ceph-18.2.2-backport-mgr-dashboard-simplify-authentication-protocol.patch source = ceph-18.2.2-mgr-alias-ceph-bcrypt.patch source = ceph-18.2.2-backport-ceph-volume-unbound-var.patch - source = ceph-18.2.2-backport-ceph-volume-check-generic-reject-reasons.patch source = ceph-18.2.2-gcc-14-fixes.patch source = ceph-18.2.2-std-atomic-depreciations.patch source = ceph-18.2.2-test-mempool-shard-select-disable.patch @@ -115,14 +112,13 @@ pkgbase = ceph source = python-bcrypt-4.1.3.tar.gz::https://github.com/pyca/bcrypt/archive/4.1.3.tar.gz source = python-bcrypt-prefix-ceph.patch source = python-bcrypt-allow-subinterpreters.patch - sha512sums = 2fcd3d67512754947adc8780edbbee9498ef666056b804298cdc998a3eb4a2916c8eb7f2635fd19b78a8b98bd74cce30f969fa2ccb6860257880245c6df703fa + sha512sums = a4ebb4e14032e6ab8e1fd8836f39234b771cb0a4b655166e9c69493a2c0d687064af4bb35523d0501629605521854e49f5c53a56279f72810d108c76f4f88c5b sha512sums = 4354001c1abd9a0c385ba7bd529e3638fb6660b6a88d4e49706d4ac21c81b8e829303a20fb5445730bdac18c4865efb10bc809c1cd56d743c12aa9a52e160049 sha512sums = 41dbc1c395cdf9b3edf5c5d91bbc90f416b4338ad964fa3471f26a4312d3ec2a5dcebbc351a1640dc4b047b4f71aa134ac7486747e5f62980092b0176e7567f5 sha512sums = ea069b75b786c22166c609b127b512802cc5c6e9512d792d7b7b34d276f5b86d57c8c35cfc7b5c855a59c0ba87ba1aabe2ca26da72b26bff46b6ba8410ddb27e sha512sums = 2234d005df71b3b6013e6b76ad07a5791e3af7efec5f41c78eb1a9c92a22a67f0be9560be59b52534e90bfe251bcf32c33d5d40163f3f8f7e7420691f0f4a222 sha512sums = b12cabda7184721c494edd22250fd05019694d2bc445722d100cdefab5385bd25c2267a029d2f6053932fa6717e38c4314385afd986969ee2744d745b53c8b58 sha512sums = 31e578b240ceaaf1216b56cdce654661eed6529ef642ecad164a02669e850100a49a85dc70f3d744671e2c5dad10aee64be7d091fa33007cb8fc6788a4336799 - sha512sums = f1f549c5da829db787ee6ee3cf47912d5b48efb2533de05fd9735736e9218a78cf79c5958e1409a2c8adcca51460eb3ae7e73b5c1ec6cf73d4f07670c9934c3b sha512sums = 5b43ba48dde8b7371d4b3976aa3a27ab3ad3a10e110479a101b8f222590bbd6aca318f3ac117f851596fc23daafb53aaa566e055dc9694ab16ab1170e8f77763 sha512sums = 781a01e622a70d56bf1948bdc0b427ffa95a86cec7dd9d26c6007a9ec024a942a8ca55f2acc3d37344862f1d6bf11cae998d8071754cd841a66bfba4ec9c58bf sha512sums = 612faebfb5eec3651832f349ea3c23b50d2386889ff77592b0acff653049efdc5c2254f63c30d88b9a730813bf1f1945dda0d0beab0db7db3e0708ba8d057a40 @@ -133,10 +129,8 @@ pkgbase = ceph sha512sums = 4613232e5a0003c08d233e40fe3ac1cd00e1195d29bdd9892188587b4a782d6979004232927c0a1bff554eabf2fb9b18eb751682b7ad90762292b63891f3b301 sha512sums = 9a1183c08f8799b14235c9271519203cbf93e48ca3a8607d3a0500910efca5379c8a08421c377227f93d8436a850f5ca99784f28aaa920e55f0457c657511f17 sha512sums = e238b326609636bc7dd10cec59290e22898948ef105c49643c38d2621abf16c2efcf9581b0b6bad65066607510c9827d00a7abdb14f2054701cc33b7101ea054 - sha512sums = 965f1174ed682409f5aebfe689ccc870a860f323b00dcd4c9ee079839108ee27ed4d8b42d8b59c7e3cc5fb61d554929d9f779ce224691d20b868acf7f15adb2c sha512sums = 692b9cea0199366fdfbcaff2d9590e3a1e439b948a1a5030215e81fcc8a22ac562b3261e2057470cc8acc20f404869a5a0c4550177788dc2f824523e5267b1eb sha512sums = 11fae8997e4df4b706245f467dc396d84f1fb48db8e569b1665a4963eb77292415a2493cae033bed23765d82269a3cd6a5bf12c1ba52e3700a63db6ad983ca5a - sha512sums = 4e23793539043ea571aee8067e09f8caa4d5509ab2e6e2472a4f2d2fc7934f8e2d97a2993b4534e761af6b8ead90b727e4e9fbd10e28143ea7f6bb01f2eaf68e sha512sums = 3f3a4795dfc58910972fa15a7ca8a4c3206d45351a15db66d8e93da64c7726c5f45256114b20f032d8011ab131ee20d2d8373207ad7e188a2978cf50854e10f1 sha512sums = 2c90c69b3e236622c9fb83214fe7f781c9fcb0de1b372e7837d9963780ead9c2926c347177c03fb94eb05fd838514f3afab42aa50b7c9ac800c34bf59c48b02e sha512sums = 0ed97f2fb764ec8f7e01be45256377a6b2f451c865348b25b12ca9ef70c7120a0bf62321a9402cc4362618fde3a38ccfcd6eec738fe8cc067f17399700c273f3 @@ -148,9 +142,9 @@ pkgbase = ceph pkgname = ceph-common pkgdesc = Ceph Storage common libraries and dependencies - depends = ceph-compressor=18.2.2-4 - depends = ceph-crypto=18.2.2-4 - depends = ceph-erasure=18.2.2-4 + depends = ceph-compressor=18.2.4-1 + depends = ceph-crypto=18.2.4-1 + depends = ceph-erasure=18.2.4-1 depends = boost-libs depends = curl depends = glibc @@ -187,7 +181,7 @@ pkgname = ceph-erasure pkgname = ceph-tools pkgdesc = Ceph Storage miscellaneous tooling and utilities - depends = ceph-base=18.2.2-4 + depends = ceph-base=18.2.4-1 depends = bash depends = boost-libs depends = gperftools @@ -197,7 +191,7 @@ pkgname = ceph-tools pkgname = ceph-test pkgdesc = Ceph Storage tools for benchmarking and testing live clusters - depends = ceph-base=18.2.2-4 + depends = ceph-base=18.2.4-1 depends = libcap depends = libaio depends = boost-libs @@ -207,8 +201,8 @@ pkgname = ceph-test pkgname = ceph-volume pkgdesc = Ceph Storage utility for preparing block devices for use as OSDs - depends = python-ceph-common=18.2.2-4 - depends = ceph-osd=18.2.2-4 + depends = python-ceph-common=18.2.4-1 + depends = ceph-osd=18.2.4-1 depends = python depends = lvm2 depends = python-setuptools @@ -221,24 +215,28 @@ pkgname = ceph-cephadm provides = cephadm conflicts = cephadm +pkgname = ceph-node-proxy + pkgdesc = Ceph Storage daemon for cephadm deployments to collect RedFishAPI hardware metrics + depends = python + pkgname = ceph-rados pkgdesc = Ceph Storage utilities and tools for librados - depends = librados=18.2.2-4 + depends = librados=18.2.4-1 depends = gcc-libs pkgname = ceph-base pkgdesc = Ceph Storage cluster base utilities and configuration - depends = ceph-common=18.2.2-4 - depends = librados=18.2.2-4 - depends = python-ceph-common=18.2.2-4 - depends = python-rados=18.2.2-4 + depends = ceph-common=18.2.4-1 + depends = librados=18.2.4-1 + depends = python-ceph-common=18.2.4-1 + depends = python-rados=18.2.4-1 depends = python backup = etc/logrotate.d/ceph backup = etc/sudoers.d/90-ceph pkgname = ceph-mon pkgdesc = Ceph Storage cluster monitor daemon, for distributed state storage via PAXOS - depends = ceph-base=18.2.2-4 + depends = ceph-base=18.2.4-1 depends = bash depends = boost-libs depends = fmt @@ -247,10 +245,10 @@ pkgname = ceph-mon pkgname = ceph-mgr pkgdesc = Ceph Storage cluster manager daemon, the API gateway for cluster management - depends = ceph-base=18.2.2-4 - depends = python-cephfs=18.2.2-4 - depends = python-rbd=18.2.2-4 - depends = libcephsqlite=18.2.2-4 + depends = ceph-base=18.2.4-1 + depends = python-cephfs=18.2.4-1 + depends = python-rbd=18.2.4-1 + depends = libcephsqlite=18.2.4-1 depends = sqlite depends = python depends = boost-libs @@ -281,7 +279,7 @@ pkgname = ceph-mgr pkgname = ceph-osd pkgdesc = Ceph Storage cluster object storage daemon, for managing block devices - depends = ceph-base=18.2.2-4 + depends = ceph-base=18.2.4-1 depends = fuse3 depends = bash depends = boost-libs @@ -292,20 +290,21 @@ pkgname = ceph-osd depends = systemd-libs depends = python optdepends = ceph-volume: For preparing block devices for OSD daemons + optdepends = ceph-node-proxy: For RedFishAPI hardware metrics optdepends = smartmontools: disk monitoring via S.M.A.R.T optdepends = nvme-cli: disk monitoring for NVMe drives backup = etc/sysctl.d/90-ceph-osd.conf pkgname = ceph-mds pkgdesc = Ceph Storage cluster metadata server, the API gateway for CephFS - depends = ceph-base=18.2.2-4 + depends = ceph-base=18.2.4-1 depends = lua depends = fmt depends = gperftools pkgname = ceph-rbd pkgdesc = Ceph Storage utilities and tooling for librbd - depends = librbd=18.2.2-4 + depends = librbd=18.2.4-1 depends = libnl depends = fmt depends = fuse3 @@ -317,7 +316,7 @@ pkgname = ceph-rbd pkgname = ceph-cephfs pkgdesc = Ceph Storage utilities and tooling for libcephfs - depends = libcephfs=18.2.2-4 + depends = libcephfs=18.2.4-1 depends = fuse3 depends = fmt depends = gperftools @@ -329,7 +328,7 @@ pkgname = ceph-cephfs pkgname = ceph-rgw pkgdesc = Ceph Storage cluster RADOS Object Gateway daemon, for serving RESTful traffic - depends = librgw=18.2.2-4 + depends = librgw=18.2.4-1 depends = gawk depends = oath-toolkit depends = boost-libs @@ -341,7 +340,7 @@ pkgname = ceph-rgw pkgname = librados pkgdesc = Ceph Storage client library to the RADOS distributed object store - depends = ceph-common=18.2.2-4 + depends = ceph-common=18.2.4-1 depends = bash depends = boost-libs depends = fmt @@ -352,13 +351,13 @@ pkgname = librados pkgname = libcephfs pkgdesc = Ceph Storage client library for CephFS, a distributed POSIX filesystem - depends = librados=18.2.2-4 + depends = librados=18.2.4-1 depends = fmt provides = libcephfs.so pkgname = librbd pkgdesc = Ceph Storage client library for RADOS block devices - depends = librados=18.2.2-4 + depends = librados=18.2.4-1 depends = cryptsetup depends = fmt provides = librbd.so @@ -366,7 +365,7 @@ pkgname = librbd pkgname = librgw pkgdesc = Ceph Storage client library to RADOS Object Gateway, a S3 and Swift compatible REST API - depends = librados=18.2.2-4 + depends = librados=18.2.4-1 depends = librabbitmq-c depends = lua depends = librdkafka @@ -377,13 +376,13 @@ pkgname = librgw pkgname = libcephsqlite pkgdesc = Ceph Storage client library for a RADOS backed sqlite3 VFS extension - depends = librados=18.2.2-4 + depends = librados=18.2.4-1 depends = fmt provides = libcephsqlite.so pkgname = python-ceph-common pkgdesc = Ceph Storage python module for common classes, objects and types - depends = ceph-common=18.2.2-4 + depends = ceph-common=18.2.4-1 depends = python depends = python-setuptools depends = python-prettytable @@ -391,81 +390,81 @@ pkgname = python-ceph-common pkgname = python-rados pkgdesc = Ceph Storage python library for librados - depends = python-ceph-common=18.2.2-4 - depends = librados=18.2.2-4 + depends = python-ceph-common=18.2.4-1 + depends = librados=18.2.4-1 depends = libxcrypt pkgname = python-rbd pkgdesc = Ceph Storage python library for librbd - depends = python-ceph-common=18.2.2-4 - depends = python-rados=18.2.2-4 - depends = librbd=18.2.2-4 + depends = python-ceph-common=18.2.4-1 + depends = python-rados=18.2.4-1 + depends = librbd=18.2.4-1 depends = libxcrypt pkgname = python-cephfs pkgdesc = Ceph Storage python library for libcephfs - depends = python-ceph-common=18.2.2-4 - depends = python-rados=18.2.2-4 - depends = libcephfs=18.2.2-4 + depends = python-ceph-common=18.2.4-1 + depends = python-rados=18.2.4-1 + depends = libcephfs=18.2.4-1 depends = libxcrypt pkgname = python-rgw pkgdesc = Ceph Storage python library for librgw - depends = python-ceph-common=18.2.2-4 - depends = python-rados=18.2.2-4 - depends = librgw=18.2.2-4 + depends = python-ceph-common=18.2.4-1 + depends = python-rados=18.2.4-1 + depends = librgw=18.2.4-1 depends = libxcrypt pkgname = cephfs-top pkgdesc = Ceph Storage utility for a top(1) inspired curses TUI for CephFS metrics - depends = python-ceph-common=18.2.2-4 - depends = python-cephfs=18.2.2-4 + depends = python-ceph-common=18.2.4-1 + depends = python-cephfs=18.2.4-1 depends = python pkgname = cephfs-shell pkgdesc = Ceph Storage utility for accessing a CephFS filesystem shell - depends = python-ceph-common=18.2.2-4 - depends = python-cephfs=18.2.2-4 + depends = python-ceph-common=18.2.4-1 + depends = python-cephfs=18.2.4-1 depends = python depends = python-cmd2 depends = python-colorama pkgname = java-cephfs pkgdesc = Ceph Storage JNI bindings for CephFS - depends = libcephfs=18.2.2-4 + depends = libcephfs=18.2.4-1 depends = java-runtime pkgname = ceph pkgdesc = Ceph Storage full install [VIRTUAL] - depends = ceph-libs=18.2.2-4 - depends = ceph-cluster=18.2.2-4 - depends = ceph-rados=18.2.2-4 - depends = ceph-rbd=18.2.2-4 - depends = ceph-cephfs=18.2.2-4 - depends = ceph-tools=18.2.2-4 - depends = ceph-test=18.2.2-4 - depends = python-rados=18.2.2-4 - depends = python-rbd=18.2.2-4 - depends = python-cephfs=18.2.2-4 - depends = python-rgw=18.2.2-4 + depends = ceph-libs=18.2.4-1 + depends = ceph-cluster=18.2.4-1 + depends = ceph-rados=18.2.4-1 + depends = ceph-rbd=18.2.4-1 + depends = ceph-cephfs=18.2.4-1 + depends = ceph-tools=18.2.4-1 + depends = ceph-test=18.2.4-1 + depends = python-rados=18.2.4-1 + depends = python-rbd=18.2.4-1 + depends = python-cephfs=18.2.4-1 + depends = python-rgw=18.2.4-1 pkgname = ceph-libs pkgdesc = Ceph Storage client libraries [VIRTUAL] - depends = librados=18.2.2-4 - depends = librbd=18.2.2-4 - depends = libcephfs=18.2.2-4 - depends = librgw=18.2.2-4 - depends = libcephsqlite=18.2.2-4 + depends = librados=18.2.4-1 + depends = librbd=18.2.4-1 + depends = libcephfs=18.2.4-1 + depends = librgw=18.2.4-1 + depends = libcephsqlite=18.2.4-1 pkgname = ceph-cluster pkgdesc = Ceph Storage cluster daemons and components [VIRTUAL] - depends = ceph-mon=18.2.2-4 - depends = ceph-mgr=18.2.2-4 - depends = ceph-osd=18.2.2-4 - depends = ceph-mds=18.2.2-4 - depends = ceph-rgw=18.2.2-4 - depends = ceph-volume=18.2.2-4 + depends = ceph-mon=18.2.4-1 + depends = ceph-mgr=18.2.4-1 + depends = ceph-osd=18.2.4-1 + depends = ceph-mds=18.2.4-1 + depends = ceph-rgw=18.2.4-1 + depends = ceph-volume=18.2.4-1 pkgname = ceph-cli pkgdesc = Ceph Storage CLI utility [VIRTUAL] - depends = ceph-base=18.2.2-4 + depends = ceph-base=18.2.4-1 @@ -4,13 +4,13 @@ pkgbase='ceph' pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system' -pkgver=18.2.2 -pkgrel=4 +pkgver=18.2.4 +pkgrel=1 url='https://ceph.com/' arch=('x86_64') -license=('GPL') +license=('GPL-2.0-or-later OR LGPL-2.1-or-later OR LGPL-3.0-or-later') pkgname=( - ceph-{common,compressor,crypto,erasure,tools,test,volume,cephadm} + ceph-{common,compressor,crypto,erasure,tools,test,volume,cephadm,node-proxy} ceph-{rados,base,mon,mgr,osd,mds,rbd,cephfs,rgw} lib{rados,cephfs,rbd,rgw,cephsqlite} python-{ceph-common,rados,rbd,cephfs,rgw} @@ -70,10 +70,6 @@ source=( # git repo 'ceph-17.2.4-tox-flake8-git-ls-files.patch' - # A problem with mypy versions <= 0.981 causes a false postive around numpy imports. - # See: https://github.com/python/mypy/issues/13627 - 'ceph-17.2.4-tox-mypy-false-postive.patch' - # Split up a very IO heavy test suite, as otherwise test is liable to timeout # NOTE: this is a very large patchset and will guarrented break if/when the upstream # touches anything in src/test/objectstore @@ -111,20 +107,12 @@ source=( # pattern 'ceph-18.2.0-backport-log-runway-expansion.patch' - # Backport https://github.com/ceph/ceph/pull/55689, removing the mgr dependency on - # python-pyjwt -> python-cryptography (-> pyo3) - # See https://github.com/bazaah/aur-ceph/issues/20 for more - 'ceph-18.2.2-backport-mgr-dashboard-simplify-authentication-protocol.patch' - # Make the mgr import our ceph_bcrypt fork instead of the system bcrypt 'ceph-18.2.2-mgr-alias-ceph-bcrypt.patch' # Backport of https://github.com/ceph/ceph/pull/53327 'ceph-18.2.2-backport-ceph-volume-unbound-var.patch' - # Backport of https://github.com/ceph/ceph/pull/49954 - 'ceph-18.2.2-backport-ceph-volume-check-generic-reject-reasons.patch' - # Fix a few compile errors when using GCC14 'ceph-18.2.2-gcc-14-fixes.patch' @@ -151,14 +139,13 @@ source=( # Use our fork of pyo3, reenabling subinterpreter support 'python-bcrypt-allow-subinterpreters.patch' ) -sha512sums=('2fcd3d67512754947adc8780edbbee9498ef666056b804298cdc998a3eb4a2916c8eb7f2635fd19b78a8b98bd74cce30f969fa2ccb6860257880245c6df703fa' +sha512sums=('a4ebb4e14032e6ab8e1fd8836f39234b771cb0a4b655166e9c69493a2c0d687064af4bb35523d0501629605521854e49f5c53a56279f72810d108c76f4f88c5b' '4354001c1abd9a0c385ba7bd529e3638fb6660b6a88d4e49706d4ac21c81b8e829303a20fb5445730bdac18c4865efb10bc809c1cd56d743c12aa9a52e160049' '41dbc1c395cdf9b3edf5c5d91bbc90f416b4338ad964fa3471f26a4312d3ec2a5dcebbc351a1640dc4b047b4f71aa134ac7486747e5f62980092b0176e7567f5' 'ea069b75b786c22166c609b127b512802cc5c6e9512d792d7b7b34d276f5b86d57c8c35cfc7b5c855a59c0ba87ba1aabe2ca26da72b26bff46b6ba8410ddb27e' '2234d005df71b3b6013e6b76ad07a5791e3af7efec5f41c78eb1a9c92a22a67f0be9560be59b52534e90bfe251bcf32c33d5d40163f3f8f7e7420691f0f4a222' 'b12cabda7184721c494edd22250fd05019694d2bc445722d100cdefab5385bd25c2267a029d2f6053932fa6717e38c4314385afd986969ee2744d745b53c8b58' '31e578b240ceaaf1216b56cdce654661eed6529ef642ecad164a02669e850100a49a85dc70f3d744671e2c5dad10aee64be7d091fa33007cb8fc6788a4336799' - 'f1f549c5da829db787ee6ee3cf47912d5b48efb2533de05fd9735736e9218a78cf79c5958e1409a2c8adcca51460eb3ae7e73b5c1ec6cf73d4f07670c9934c3b' '5b43ba48dde8b7371d4b3976aa3a27ab3ad3a10e110479a101b8f222590bbd6aca318f3ac117f851596fc23daafb53aaa566e055dc9694ab16ab1170e8f77763' '781a01e622a70d56bf1948bdc0b427ffa95a86cec7dd9d26c6007a9ec024a942a8ca55f2acc3d37344862f1d6bf11cae998d8071754cd841a66bfba4ec9c58bf' '612faebfb5eec3651832f349ea3c23b50d2386889ff77592b0acff653049efdc5c2254f63c30d88b9a730813bf1f1945dda0d0beab0db7db3e0708ba8d057a40' @@ -169,10 +156,8 @@ sha512sums=('2fcd3d67512754947adc8780edbbee9498ef666056b804298cdc998a3eb4a2916c8 '4613232e5a0003c08d233e40fe3ac1cd00e1195d29bdd9892188587b4a782d6979004232927c0a1bff554eabf2fb9b18eb751682b7ad90762292b63891f3b301' '9a1183c08f8799b14235c9271519203cbf93e48ca3a8607d3a0500910efca5379c8a08421c377227f93d8436a850f5ca99784f28aaa920e55f0457c657511f17' 'e238b326609636bc7dd10cec59290e22898948ef105c49643c38d2621abf16c2efcf9581b0b6bad65066607510c9827d00a7abdb14f2054701cc33b7101ea054' - '965f1174ed682409f5aebfe689ccc870a860f323b00dcd4c9ee079839108ee27ed4d8b42d8b59c7e3cc5fb61d554929d9f779ce224691d20b868acf7f15adb2c' '692b9cea0199366fdfbcaff2d9590e3a1e439b948a1a5030215e81fcc8a22ac562b3261e2057470cc8acc20f404869a5a0c4550177788dc2f824523e5267b1eb' '11fae8997e4df4b706245f467dc396d84f1fb48db8e569b1665a4963eb77292415a2493cae033bed23765d82269a3cd6a5bf12c1ba52e3700a63db6ad983ca5a' - '4e23793539043ea571aee8067e09f8caa4d5509ab2e6e2472a4f2d2fc7934f8e2d97a2993b4534e761af6b8ead90b727e4e9fbd10e28143ea7f6bb01f2eaf68e' '3f3a4795dfc58910972fa15a7ca8a4c3206d45351a15db66d8e93da64c7726c5f45256114b20f032d8011ab131ee20d2d8373207ad7e188a2978cf50854e10f1' '2c90c69b3e236622c9fb83214fe7f781c9fcb0de1b372e7837d9963780ead9c2926c347177c03fb94eb05fd838514f3afab42aa50b7c9ac800c34bf59c48b02e' '0ed97f2fb764ec8f7e01be45256377a6b2f451c865348b25b12ca9ef70c7120a0bf62321a9402cc4362618fde3a38ccfcd6eec738fe8cc067f17399700c273f3' @@ -485,6 +470,7 @@ _make_ceph_packages() { $bin/ceph-mgr \ $bin/ceph-exporter \ $systemd/ceph-mgr{.target,@.service} \ + $systemd/ceph-exporter.service \ $share/ceph/mgr/* _package ceph-osd \ @@ -572,6 +558,11 @@ _make_ceph_packages() { $bin/cephfs-top \ $python/cephfs_top-* + _package ceph-node-proxy \ + $bin/ceph-node-proxy \ + $python/ceph_node_proxy \ + $python/ceph_node_proxy-*egg-info* + ############################################### # Ceph misc. utils # ############################################### @@ -842,6 +833,7 @@ package_ceph-osd() { ) optdepends=( 'ceph-volume: For preparing block devices for OSD daemons' + 'ceph-node-proxy: For RedFishAPI hardware metrics' 'smartmontools: disk monitoring via S.M.A.R.T' 'nvme-cli: disk monitoring for NVMe drives' ) @@ -1025,6 +1017,16 @@ package_cephfs-top() { _print } +package_ceph-node-proxy() { + pkgdesc='Ceph Storage daemon for cephadm deployments to collect RedFishAPI hardware metrics' + depends=( + 'python' + ) + + mv __pkg__/$pkgname/* "$pkgdir" + _print +} + package_ceph-cephadm() { pkgdesc='Ceph Storage adminstration and configuration utility' provides=('cephadm') diff --git a/ceph-16.2.7-delete-test-librados-asio.patch b/ceph-16.2.7-delete-test-librados-asio.patch deleted file mode 100644 index 62a5874f6f45..000000000000 --- a/ceph-16.2.7-delete-test-librados-asio.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt -index e9338bbd464..f869ca4e821 100644 ---- a/src/test/librados/CMakeLists.txt -+++ b/src/test/librados/CMakeLists.txt -@@ -58,9 +58,9 @@ add_executable(ceph_test_rados_api_aio_pp - target_link_libraries(ceph_test_rados_api_aio_pp - librados ${UNITTEST_LIBS} radostest-cxx) - --add_executable(ceph_test_rados_api_asio asio.cc) --target_link_libraries(ceph_test_rados_api_asio global -- librados ${UNITTEST_LIBS} Boost::coroutine Boost::context) -+#add_executable(ceph_test_rados_api_asio asio.cc) -+#target_link_libraries(ceph_test_rados_api_asio global -+# librados ${UNITTEST_LIBS} Boost::coroutine Boost::context) - - add_executable(ceph_test_rados_api_list - list.cc -@@ -144,7 +144,7 @@ target_link_libraries(ceph_test_rados_api_snapshots_pp - install(TARGETS - ceph_test_rados_api_aio - ceph_test_rados_api_aio_pp -- ceph_test_rados_api_asio -+ #ceph_test_rados_api_asio - ceph_test_rados_api_c_read_operations - ceph_test_rados_api_c_write_operations - ceph_test_rados_api_cmd diff --git a/ceph-17.2.4-tox-mypy-false-postive.patch b/ceph-17.2.4-tox-mypy-false-postive.patch deleted file mode 100644 index 836dbd3f18fd..000000000000 --- a/ceph-17.2.4-tox-mypy-false-postive.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/pybind/mgr/tox.ini b/src/pybind/mgr/tox.ini -index 85e7ae3db11..9a8d009b973 100644 ---- a/src/pybind/mgr/tox.ini -+++ b/src/pybind/mgr/tox.ini -@@ -88,7 +88,6 @@ commands = - -m crash \ - -m dashboard \ - -m devicehealth \ -- -m diskprediction_local \ - -m hello \ - -m influx \ - -m iostat \ diff --git a/ceph-18.2.2-backport-ceph-volume-check-generic-reject-reasons.patch b/ceph-18.2.2-backport-ceph-volume-check-generic-reject-reasons.patch deleted file mode 100644 index e7f401ef21d3..000000000000 --- a/ceph-18.2.2-backport-ceph-volume-check-generic-reject-reasons.patch +++ /dev/null @@ -1,178 +0,0 @@ -From a78e660728c6c0442cdbfa65db776b5856aee933 Mon Sep 17 00:00:00 2001 -From: Kim Minjong <make.dirty.code@gmail.com> -Date: Fri, 3 Feb 2023 11:47:47 +0900 -Subject: [PATCH 1/2] ceph-volume: fix a bug in _check_generic_reject_reasons - -The types of removable and ro are wrong. Here, both filters are not -working at all. Changed this from integer to string and corrected the test -data. - -Delete redundant logic in get_block_devs_sysfs. Given the name of the -function, I think it is correct to judge from _check_generic_reject_reasons, -and in fact it was before v17.2.4. - -Fixes: https://tracker.ceph.com/issues/58591 -Signed-off-by: Kim Minjong <make.dirty.code@gmail.com> ---- - .../ceph_volume/tests/util/test_device.py | 22 +++++++++---------- - src/ceph-volume/ceph_volume/util/device.py | 4 ++-- - src/ceph-volume/ceph_volume/util/disk.py | 2 -- - 3 files changed, 13 insertions(+), 15 deletions(-) - -diff --git a/src/ceph-volume/ceph_volume/tests/util/test_device.py b/src/ceph-volume/ceph_volume/tests/util/test_device.py -index e382981d9232e..e2ea026286f91 100644 ---- a/src/ceph-volume/ceph_volume/tests/util/test_device.py -+++ b/src/ceph-volume/ceph_volume/tests/util/test_device.py -@@ -241,7 +241,7 @@ def test_is_ceph_disk_member_not_available_blkid(self, fake_call, monkeypatch, p - - @patch("ceph_volume.util.disk.has_bluestore_label", lambda x: False) - def test_reject_removable_device(self, fake_call, device_info): -- data = {"/dev/sdb": {"removable": 1}} -+ data = {"/dev/sdb": {"removable": "1"}} - lsblk = {"TYPE": "disk", "NAME": "sdb"} - device_info(devices=data,lsblk=lsblk) - disk = device.Device("/dev/sdb") -@@ -249,7 +249,7 @@ def test_reject_removable_device(self, fake_call, device_info): - - @patch("ceph_volume.util.disk.has_bluestore_label", lambda x: False) - def test_reject_device_with_gpt_headers(self, fake_call, device_info): -- data = {"/dev/sdb": {"removable": 0, "size": 5368709120}} -+ data = {"/dev/sdb": {"removable": "0", "size": 5368709120}} - lsblk = {"TYPE": "disk", "NAME": "sdb"} - blkid= {"PTTYPE": "gpt"} - device_info( -@@ -262,7 +262,7 @@ def test_reject_device_with_gpt_headers(self, fake_call, device_info): - - @patch("ceph_volume.util.disk.has_bluestore_label", lambda x: False) - def test_accept_non_removable_device(self, fake_call, device_info): -- data = {"/dev/sdb": {"removable": 0, "size": 5368709120}} -+ data = {"/dev/sdb": {"removable": "0", "size": 5368709120}} - lsblk = {"TYPE": "disk", "NAME": "sdb"} - device_info(devices=data,lsblk=lsblk) - disk = device.Device("/dev/sdb") -@@ -286,7 +286,7 @@ def test_accept_symlink_to_device(self, - fake_call): - m_os_path_islink.return_value = True - m_os_path_realpath.return_value = '/dev/sdb' -- data = {"/dev/sdb": {"ro": 0, "size": 5368709120}} -+ data = {"/dev/sdb": {"ro": "0", "size": 5368709120}} - lsblk = {"TYPE": "disk"} - device_info(devices=data,lsblk=lsblk) - disk = device.Device("/dev/test_symlink") -@@ -304,7 +304,7 @@ def test_reject_symlink_to_device_mapper(self, - fake_call): - m_os_path_islink.return_value = True - m_os_readlink.return_value = '/dev/dm-0' -- data = {"/dev/mapper/mpatha": {"ro": 0, "size": 5368709120}} -+ data = {"/dev/mapper/mpatha": {"ro": "0", "size": 5368709120}} - lsblk = {"TYPE": "disk"} - device_info(devices=data,lsblk=lsblk) - disk = device.Device("/dev/mapper/mpatha") -@@ -312,7 +312,7 @@ def test_reject_symlink_to_device_mapper(self, - - @patch("ceph_volume.util.disk.has_bluestore_label", lambda x: False) - def test_reject_readonly_device(self, fake_call, device_info): -- data = {"/dev/cdrom": {"ro": 1}} -+ data = {"/dev/cdrom": {"ro": "1"}} - lsblk = {"TYPE": "disk", "NAME": "cdrom"} - device_info(devices=data,lsblk=lsblk) - disk = device.Device("/dev/cdrom") -@@ -328,7 +328,7 @@ def test_reject_smaller_than_5gb(self, fake_call, device_info): - - @patch("ceph_volume.util.disk.has_bluestore_label", lambda x: False) - def test_accept_non_readonly_device(self, fake_call, device_info): -- data = {"/dev/sda": {"ro": 0, "size": 5368709120}} -+ data = {"/dev/sda": {"ro": "0", "size": 5368709120}} - lsblk = {"TYPE": "disk", "NAME": "sda"} - device_info(devices=data,lsblk=lsblk) - disk = device.Device("/dev/sda") -@@ -594,10 +594,10 @@ class TestDeviceOrdering(object): - - def setup_method(self): - self.data = { -- "/dev/sda": {"removable": 0}, -- "/dev/sdb": {"removable": 1}, # invalid -- "/dev/sdc": {"removable": 0}, -- "/dev/sdd": {"removable": 1}, # invalid -+ "/dev/sda": {"removable": "0"}, -+ "/dev/sdb": {"removable": "1"}, # invalid -+ "/dev/sdc": {"removable": "0"}, -+ "/dev/sdd": {"removable": "1"}, # invalid - } - - @patch("ceph_volume.util.disk.has_bluestore_label", lambda x: False) -diff --git a/src/ceph-volume/ceph_volume/util/device.py b/src/ceph-volume/ceph_volume/util/device.py -index d61222afe0a0b..d01d395339d4a 100644 ---- a/src/ceph-volume/ceph_volume/util/device.py -+++ b/src/ceph-volume/ceph_volume/util/device.py -@@ -594,8 +594,8 @@ def has_partitions(self): - - def _check_generic_reject_reasons(self): - reasons = [ -- ('removable', 1, 'removable'), -- ('ro', 1, 'read-only'), -+ ('removable', '1', 'removable'), -+ ('ro', '1', 'read-only'), - ] - rejected = [reason for (k, v, reason) in reasons if - self.sys_api.get(k, '') == v] -diff --git a/src/ceph-volume/ceph_volume/util/disk.py b/src/ceph-volume/ceph_volume/util/disk.py -index a96b0f0a7f84a..fa900e5da0f3a 100644 ---- a/src/ceph-volume/ceph_volume/util/disk.py -+++ b/src/ceph-volume/ceph_volume/util/disk.py -@@ -779,8 +779,6 @@ def holder_inner_loop(): - continue - type_ = 'disk' - holders = os.listdir(os.path.join(_sys_block_path, dev, 'holders')) -- if get_file_contents(os.path.join(_sys_block_path, dev, 'removable')) == "1": -- continue - if holder_inner_loop(): - continue - dm_dir_path = os.path.join(_sys_block_path, dev, 'dm') - -From bd5e1a83495e31e457827f564c56fba23f4da8c9 Mon Sep 17 00:00:00 2001 -From: Kim Minjong <make.dirty.code@gmail.com> -Date: Fri, 3 Feb 2023 13:57:05 +0900 -Subject: [PATCH 2/2] ceph-volume: allow removable devices but exclude USB - -Changed the logic to exclude USB devices to pass hot swap devices that were -passed through before the bug. - -Fixes: https://tracker.ceph.com/issues/57907 -Fixes: https://tracker.ceph.com/issues/58189 -Fixes: https://tracker.ceph.com/issues/58306 -Fixes: https://tracker.ceph.com/issues/58591 -Signed-off-by: Kim Minjong <make.dirty.code@gmail.com> ---- - src/ceph-volume/ceph_volume/util/device.py | 2 +- - src/ceph-volume/ceph_volume/util/disk.py | 4 ++++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/ceph-volume/ceph_volume/util/device.py b/src/ceph-volume/ceph_volume/util/device.py -index d01d395339d4a..bb806292f2c48 100644 ---- a/src/ceph-volume/ceph_volume/util/device.py -+++ b/src/ceph-volume/ceph_volume/util/device.py -@@ -594,7 +594,7 @@ def has_partitions(self): - - def _check_generic_reject_reasons(self): - reasons = [ -- ('removable', '1', 'removable'), -+ ('id_bus', 'usb', 'id_bus'), - ('ro', '1', 'read-only'), - ] - rejected = [reason for (k, v, reason) in reasons if -diff --git a/src/ceph-volume/ceph_volume/util/disk.py b/src/ceph-volume/ceph_volume/util/disk.py -index fa900e5da0f3a..dc1d9b1b79205 100644 ---- a/src/ceph-volume/ceph_volume/util/disk.py -+++ b/src/ceph-volume/ceph_volume/util/disk.py -@@ -916,6 +916,10 @@ def get_devices(_sys_block_path='/sys/block', device=''): - metadata['path'] = diskname - metadata['type'] = block[2] - -+ # some facts from udevadm -+ p = udevadm_property(sysdir) -+ metadata['id_bus'] = p.get('ID_BUS', '') -+ - device_facts[diskname] = metadata - return device_facts - diff --git a/ceph-18.2.2-backport-mgr-dashboard-simplify-authentication-protocol.patch b/ceph-18.2.2-backport-mgr-dashboard-simplify-authentication-protocol.patch deleted file mode 100644 index 2f398465c887..000000000000 --- a/ceph-18.2.2-backport-mgr-dashboard-simplify-authentication-protocol.patch +++ /dev/null @@ -1,323 +0,0 @@ -From fcbd8fdae9d80d9a9bd61838aeaf41b504a5888a Mon Sep 17 00:00:00 2001 -From: Daniel Persson <mailto.woden@gmail.com> -Date: Wed, 29 Nov 2023 09:39:51 +0000 -Subject: [PATCH 1/3] mgr/dashboard: Simplify authentication protocol By - removing the dependency to PyJWT we also remove the dependency to the - cryptographic library which in the dashboard module will create a crash. In - newer implementations of the library PyO3 is used to run rust code in order - to encrypt with Elliptic Curves. This is never used in the dashboard - communication so a much simpler implementation where we only use the hmac - sha256 algorithm to create the signed JWT message could be used. - -Fixes: https://forum.proxmox.com/threads/ceph-warning-post-upgrade-to-v8.129371 -Signed-off-by: Daniel Persson <mailto.woden@gmail.com> -(cherry picked from commit c616a9d017b5fcc85bb5c1556bccf4c77cc3899e) ---- - src/pybind/mgr/dashboard/constraints.txt | 1 - - src/pybind/mgr/dashboard/exceptions.py | 12 ++++ - src/pybind/mgr/dashboard/requirements.txt | 1 - - src/pybind/mgr/dashboard/services/auth.py | 70 ++++++++++++++++++++--- - src/pybind/mgr/dashboard/tox.ini | 1 + - 5 files changed, 74 insertions(+), 11 deletions(-) - -diff --git a/src/pybind/mgr/dashboard/constraints.txt b/src/pybind/mgr/dashboard/constraints.txt -index 55f81c92dec06..fd6141048800a 100644 ---- a/src/pybind/mgr/dashboard/constraints.txt -+++ b/src/pybind/mgr/dashboard/constraints.txt -@@ -1,6 +1,5 @@ - CherryPy~=13.1 - more-itertools~=8.14 --PyJWT~=2.0 - bcrypt~=3.1 - python3-saml~=1.4 - requests~=2.26 -diff --git a/src/pybind/mgr/dashboard/exceptions.py b/src/pybind/mgr/dashboard/exceptions.py -index 96cbc52335613..d396a38d2c3a2 100644 ---- a/src/pybind/mgr/dashboard/exceptions.py -+++ b/src/pybind/mgr/dashboard/exceptions.py -@@ -121,3 +121,15 @@ class GrafanaError(Exception): - - class PasswordPolicyException(Exception): - pass -+ -+ -+class ExpiredSignatureError(Exception): -+ pass -+ -+ -+class InvalidTokenError(Exception): -+ pass -+ -+ -+class InvalidAlgorithmError(Exception): -+ pass -diff --git a/src/pybind/mgr/dashboard/requirements.txt b/src/pybind/mgr/dashboard/requirements.txt -index 8003d62a5523f..292971819c9c6 100644 ---- a/src/pybind/mgr/dashboard/requirements.txt -+++ b/src/pybind/mgr/dashboard/requirements.txt -@@ -1,7 +1,6 @@ - bcrypt - CherryPy - more-itertools --PyJWT - pyopenssl - requests - Routes -diff --git a/src/pybind/mgr/dashboard/services/auth.py b/src/pybind/mgr/dashboard/services/auth.py -index f13963abffdd4..3c6002312524d 100644 ---- a/src/pybind/mgr/dashboard/services/auth.py -+++ b/src/pybind/mgr/dashboard/services/auth.py -@@ -1,17 +1,19 @@ - # -*- coding: utf-8 -*- - -+import base64 -+import hashlib -+import hmac - import json - import logging - import os - import threading - import time - import uuid --from base64 import b64encode - - import cherrypy --import jwt - - from .. import mgr -+from ..exceptions import ExpiredSignatureError, InvalidAlgorithmError, InvalidTokenError - from .access_control import LocalAuthenticator, UserDoesNotExist - - cherrypy.config.update({ -@@ -33,7 +35,7 @@ class JwtManager(object): - @staticmethod - def _gen_secret(): - secret = os.urandom(16) -- return b64encode(secret).decode('utf-8') -+ return base64.b64encode(secret).decode('utf-8') - - @classmethod - def init(cls): -@@ -45,6 +47,54 @@ def init(cls): - mgr.set_store('jwt_secret', secret) - cls._secret = secret - -+ @classmethod -+ def array_to_base64_string(cls, message): -+ jsonstr = json.dumps(message, sort_keys=True).replace(" ", "") -+ string_bytes = base64.urlsafe_b64encode(bytes(jsonstr, 'UTF-8')) -+ return string_bytes.decode('UTF-8').replace("=", "") -+ -+ @classmethod -+ def encode(cls, message, secret): -+ header = {"alg": cls.JWT_ALGORITHM, "typ": "JWT"} -+ base64_header = cls.array_to_base64_string(header) -+ base64_message = cls.array_to_base64_string(message) -+ base64_secret = base64.urlsafe_b64encode(hmac.new( -+ bytes(secret, 'UTF-8'), -+ msg=bytes(base64_header + "." + base64_message, 'UTF-8'), -+ digestmod=hashlib.sha256 -+ ).digest()).decode('UTF-8').replace("=", "") -+ return base64_header + "." + base64_message + "." + base64_secret -+ -+ @classmethod -+ def decode(cls, message, secret): -+ split_message = message.split(".") -+ base64_header = split_message[0] -+ base64_message = split_message[1] -+ base64_secret = split_message[2] -+ -+ decoded_header = json.loads(base64.urlsafe_b64decode(base64_header)) -+ -+ if decoded_header['alg'] != cls.JWT_ALGORITHM: -+ raise InvalidAlgorithmError() -+ -+ incoming_secret = base64.urlsafe_b64encode(hmac.new( -+ bytes(secret, 'UTF-8'), -+ msg=bytes(base64_header + "." + base64_message, 'UTF-8'), -+ digestmod=hashlib.sha256 -+ ).digest()).decode('UTF-8').replace("=", "") -+ -+ if base64_secret != incoming_secret: -+ raise InvalidTokenError() -+ -+ # We add ==== as padding to ignore the requirement to have correct padding in -+ # the urlsafe_b64decode method. -+ decoded_message = json.loads(base64.urlsafe_b64decode(base64_message + "====")) -+ now = int(time.time()) -+ if decoded_message['exp'] < now: -+ raise ExpiredSignatureError() -+ -+ return decoded_message -+ - @classmethod - def gen_token(cls, username): - if not cls._secret: -@@ -59,13 +109,13 @@ def gen_token(cls, username): - 'iat': now, - 'username': username - } -- return jwt.encode(payload, cls._secret, algorithm=cls.JWT_ALGORITHM) # type: ignore -+ return cls.encode(payload, cls._secret) # type: ignore - - @classmethod - def decode_token(cls, token): - if not cls._secret: - cls.init() -- return jwt.decode(token, cls._secret, algorithms=cls.JWT_ALGORITHM) # type: ignore -+ return cls.decode(token, cls._secret) # type: ignore - - @classmethod - def get_token_from_header(cls): -@@ -99,8 +149,8 @@ def get_username(cls): - @classmethod - def get_user(cls, token): - try: -- dtoken = JwtManager.decode_token(token) -- if not JwtManager.is_blocklisted(dtoken['jti']): -+ dtoken = cls.decode_token(token) -+ if not cls.is_blocklisted(dtoken['jti']): - user = AuthManager.get_user(dtoken['username']) - if user.last_update <= dtoken['iat']: - return user -@@ -110,10 +160,12 @@ def get_user(cls, token): - ) - else: - cls.logger.debug('Token is block-listed') # type: ignore -- except jwt.ExpiredSignatureError: -+ except ExpiredSignatureError: - cls.logger.debug("Token has expired") # type: ignore -- except jwt.InvalidTokenError: -+ except InvalidTokenError: - cls.logger.debug("Failed to decode token") # type: ignore -+ except InvalidAlgorithmError: -+ cls.logger.debug("Only the HS256 algorithm is supported.") # type: ignore - except UserDoesNotExist: - cls.logger.debug( # type: ignore - "Invalid token: user %s does not exist", dtoken['username'] -diff --git a/src/pybind/mgr/dashboard/tox.ini b/src/pybind/mgr/dashboard/tox.ini -index 47756e946e125..271df286ec5e8 100644 ---- a/src/pybind/mgr/dashboard/tox.ini -+++ b/src/pybind/mgr/dashboard/tox.ini -@@ -20,6 +20,7 @@ addopts = - deps = - -rrequirements.txt - -cconstraints.txt -+ PyJWT - - [base-test] - deps = - -From d456590743aa26d7d253b20294f5aa33544ab8a7 Mon Sep 17 00:00:00 2001 -From: Daniel Persson <mailto.woden@gmail.com> -Date: Sun, 3 Dec 2023 08:03:47 +0000 -Subject: [PATCH 2/3] mgr/dashboard: Changes suggested after review by - @epuertat. - -Move the JWT requirement to the test requirements file. Also remove JWT from ceph specification and debian build. - -Signed-off-by: Daniel Persson <mailto.woden@gmail.com> -(cherry picked from commit c1ea66fe12f86e7a63681cba860fb91b1ea86e12) ---- - ceph.spec.in | 4 ---- - debian/control | 1 - - src/pybind/mgr/dashboard/requirements-test.txt | 1 + - src/pybind/mgr/dashboard/tox.ini | 1 - - 4 files changed, 1 insertion(+), 6 deletions(-) - -diff --git a/ceph.spec.in b/ceph.spec.in -index ff8aa5aafbff8..c4281abc5bfbb 100644 ---- a/ceph.spec.in -+++ b/ceph.spec.in -@@ -412,7 +412,6 @@ BuildRequires: xmlsec1-nss - BuildRequires: xmlsec1-openssl - BuildRequires: xmlsec1-openssl-devel - BuildRequires: python%{python3_pkgversion}-cherrypy --BuildRequires: python%{python3_pkgversion}-jwt - BuildRequires: python%{python3_pkgversion}-routes - BuildRequires: python%{python3_pkgversion}-scipy - BuildRequires: python%{python3_pkgversion}-werkzeug -@@ -425,7 +424,6 @@ BuildRequires: libxmlsec1-1 - BuildRequires: libxmlsec1-nss1 - BuildRequires: libxmlsec1-openssl1 - BuildRequires: python%{python3_pkgversion}-CherryPy --BuildRequires: python%{python3_pkgversion}-PyJWT - BuildRequires: python%{python3_pkgversion}-Routes - BuildRequires: python%{python3_pkgversion}-Werkzeug - BuildRequires: python%{python3_pkgversion}-numpy-devel -@@ -617,7 +615,6 @@ Requires: ceph-prometheus-alerts = %{_epoch_prefix}%{version}-%{release} - Requires: python%{python3_pkgversion}-setuptools - %if 0%{?fedora} || 0%{?rhel} - Requires: python%{python3_pkgversion}-cherrypy --Requires: python%{python3_pkgversion}-jwt - Requires: python%{python3_pkgversion}-routes - Requires: python%{python3_pkgversion}-werkzeug - %if 0%{?weak_deps} -@@ -626,7 +623,6 @@ Recommends: python%{python3_pkgversion}-saml - %endif - %if 0%{?suse_version} - Requires: python%{python3_pkgversion}-CherryPy --Requires: python%{python3_pkgversion}-PyJWT - Requires: python%{python3_pkgversion}-Routes - Requires: python%{python3_pkgversion}-Werkzeug - Recommends: python%{python3_pkgversion}-python3-saml -diff --git a/debian/control b/debian/control -index 837a55a371670..e7b123ec381e7 100644 ---- a/debian/control -+++ b/debian/control -@@ -91,7 +91,6 @@ Build-Depends: automake, - python3-all-dev, - python3-cherrypy3, - python3-natsort, -- python3-jwt <pkg.ceph.check>, - python3-pecan <pkg.ceph.check>, - python3-bcrypt <pkg.ceph.check>, - tox <pkg.ceph.check>, -diff --git a/src/pybind/mgr/dashboard/requirements-test.txt b/src/pybind/mgr/dashboard/requirements-test.txt -index da283d0b64aaa..aa80b3336b540 100644 ---- a/src/pybind/mgr/dashboard/requirements-test.txt -+++ b/src/pybind/mgr/dashboard/requirements-test.txt -@@ -2,3 +2,4 @@ pytest-cov - pytest-instafail - pyfakefs==4.5.0 --jsonschema -+jsonschema~=4.0 -+PyJWT~=2.0 -diff --git a/src/pybind/mgr/dashboard/tox.ini b/src/pybind/mgr/dashboard/tox.ini -index 271df286ec5e8..47756e946e125 100644 ---- a/src/pybind/mgr/dashboard/tox.ini -+++ b/src/pybind/mgr/dashboard/tox.ini -@@ -20,7 +20,6 @@ addopts = - deps = - -rrequirements.txt - -cconstraints.txt -- PyJWT - - [base-test] - deps = - -From 04b3792228415fa0320eb2e28c60e00fac68d3d8 Mon Sep 17 00:00:00 2001 -From: Daniel Persson <mailto.woden@gmail.com> -Date: Sun, 3 Dec 2023 09:46:56 +0000 -Subject: [PATCH 3/3] mgr/dashboard: Updated test dependencies - -Seemed that the test dependencies was separated in two different requirements files -one for the testing and one for linting. Added the JWT dependency in the linting file -as well. - -Signed-off-by: Daniel Persson <mailto.woden@gmail.com> -(cherry picked from commit 06765e648acb1676d5d563c631b8d8fc08b5323c) ---- - src/pybind/mgr/dashboard/requirements-lint.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/pybind/mgr/dashboard/requirements-lint.txt b/src/pybind/mgr/dashboard/requirements-lint.txt -index 57e5191574083..571c92a4ebfbc 100644 ---- a/src/pybind/mgr/dashboard/requirements-lint.txt -+++ b/src/pybind/mgr/dashboard/requirements-lint.txt -@@ -9,3 +9,4 @@ autopep8==1.5.7 - pyfakefs==4.5.0 - isort==5.5.3 --jsonschema==4.16.0 -+jsonschema~=4.0 -+PyJWT~=2.0 |