Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
855ab60
Konflux Internal p02 update rhceph-container-9-0
Jul 7, 2025
0754d80
konflux: setup release-8.1 pipelines
andrewschoen Jul 11, 2025
4dd0c9e
add Dockerfile for rhceph 8.1
andrewschoen Oct 13, 2025
5d54bac
8.1: add rpm and lockfile setup
andrewschoen Oct 13, 2025
19334bd
rpms.in.yaml: update ganesha_monitoring to gmonitoring
andrewschoen Oct 13, 2025
13d9df7
jenkins: add new compose odcs-4465116-1-20251013.t.0
ibm-ceph-bot Oct 13, 2025
c407db4
konflux: use quay.io/rhceph-ci
andrewschoen Oct 13, 2025
5b22960
konflux: add prefetch-input config for hermeto
andrewschoen Oct 13, 2025
9700668
konflux: update prefetch-dependencies-oci-ta bundle
andrewschoen Oct 13, 2025
1c9e9ad
rpms.in.yaml: add jq
andrewschoen Oct 13, 2025
11f04a7
rpms.lock.yaml: add jq
andrewschoen Oct 13, 2025
568de18
konflux: update service account name for 8.1
andrewschoen Oct 13, 2025
40b5254
fixing typo in push tekton config
Oct 14, 2025
f8b87be
Fix some violations and warnings
Oct 14, 2025
fc72f22
konflux: add all supported build platforms
andrewschoen Oct 14, 2025
e3fd591
jenkins: add new compose odcs-4466775-1-20251014.t.0
ibm-ceph-bot Oct 14, 2025
f8d82ee
konflux: change aarch64 to arm64
andrewschoen Oct 15, 2025
8e57a6f
konflux: allow unsigned rpms from all build platforms
andrewschoen Oct 15, 2025
c7d833d
Dockerfile: add all licenses to /licenses
andrewschoen Oct 15, 2025
a6a34a9
jenkins: add new compose odcs-4469096-1-20251015.t.0
ibm-ceph-bot Oct 15, 2025
f42858b
add tar to rhceph image 8.1
Oct 16, 2025
8adec73
jenkins: add new compose odcs-4472095-1-20251016.t.0
ibm-ceph-bot Oct 17, 2025
e9fb8f1
jenkins: add new compose odcs-4472474-1-20251017.t.0
ibm-ceph-bot Oct 17, 2025
937759c
jenkins: add new compose odcs-4478799-1-20251022.t.0
ibm-ceph-bot Oct 22, 2025
cd8277e
split package list into packages-os.txt and packages-ceph.txt
andrewschoen Oct 16, 2025
a35ba2b
Dockerfile: fix missing packages.txt
andrewschoen Oct 16, 2025
855f3da
packages-ceph: remove libstoragemgmt
andrewschoen Oct 16, 2025
2137c03
Dockerfile: move first line of packages into packages-*.txt files
andrewschoen Oct 16, 2025
7a5f7fd
Dockerfile: cat package list on first line
andrewschoen Oct 16, 2025
f311c7f
Dockerfile: reformat install line
andrewschoen Oct 22, 2025
487293f
Dockerfile: only verify packages-ceph.txt
andrewschoen Oct 22, 2025
ec461e4
jenkins: add new compose odcs-4482323-1-20251027.t.0
ibm-ceph-bot Oct 27, 2025
5e14024
jenkins: add new compose odcs-4485928-1-20251029.t.0
ibm-ceph-bot Oct 30, 2025
7a69346
jenkins: add new compose odcs-4486768-1-20251030.t.0
ibm-ceph-bot Oct 30, 2025
f1ff687
konflux: remove arm64 build platform
andrewschoen Nov 12, 2025
cae2f64
rpms.in.yaml: remove aarch64
andrewschoen Nov 12, 2025
6d3d56f
jenkins: add new compose odcs-4500483-1-20251112.t.0
ibm-ceph-bot Nov 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
675 changes: 675 additions & 0 deletions .tekton/rhceph-container-8-1-pull-request.yaml

Large diffs are not rendered by default.

671 changes: 671 additions & 0 deletions .tekton/rhceph-container-8-1-push.yaml

Large diffs are not rendered by default.

117 changes: 117 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# CEPH DAEMON BASE IMAGE

FROM registry.redhat.io/ubi9/ubi-minimal:latest

ENV I_AM_IN_A_CONTAINER 1
ENV DOWNSTREAM_VERSION="8.1.0"

# Who is the maintainer ?
LABEL maintainer="Guillaume Abrioux <[email protected]>"

# Is a ceph container ?
LABEL ceph="True"

# What is the actual release ? If not defined, this equals the git branch name
LABEL RELEASE="main"

# What was the url of the git repository
LABEL GIT_REPO="https://github.com/ceph/ceph-container.git"

# What was the git branch used to build this container
LABEL GIT_BRANCH="main"

# What was the commit ID of the current HEAD
LABEL GIT_COMMIT="55ad0f204a1d654ee565abf874aecad0cc209d0e"

# Was the repository clean when building ?
LABEL GIT_CLEAN="True"

# What CEPH_POINT_RELEASE has been used ?
LABEL CEPH_POINT_RELEASE=""

ENV CEPH_VERSION squid
ENV CEPH_POINT_RELEASE ""
ENV CEPH_DEVEL false
ENV CEPH_REF squid
ENV OSD_FLAVOR default

# add license information
RUN mkdir /licenses
COPY ./licenses /licenses

#======================================================
# Install ceph and dependencies, and clean up
#======================================================

RUN rm -f /etc/yum.repos.d/ubi.repo

# Editing /etc/redhat-storage-server release file
RUN echo "Red Hat Ceph Storage Server 8 (Container)" > /etc/redhat-storage-release

EXPOSE 6789 6800 6801 6802 6803 6804 6805 80 5000

# Atomic specific labels
LABEL version="8"

# Build specific labels
LABEL com.redhat.component="rhceph-container"
LABEL name="rhceph"
LABEL description="Red Hat Ceph Storage 8"
LABEL summary="Provides the latest Red Hat Ceph Storage 8 on RHEL 9 in a fully featured and supported base image."
LABEL io.k8s.display-name="Red Hat Ceph Storage 8 on RHEL 9"
LABEL io.openshift.tags="rhceph ceph"
LABEL io.k8s.description="Red Hat Ceph Storage 8"

COPY packages-*.txt .

# Escape char after immediately after RUN allows comment in first line
RUN \
# Install all components for the image, whether from packages or web downloads.
# Typical workflow: add new repos; refresh repos; install packages; package-manager clean;
# download and install packages from web, cleaning any files as you go.
# Installs should support install of ganesha for luminous
microdnf update -y --setopt=install_weak_deps=0 --nodocs && \
microdnf install -y --setopt=install_weak_deps=0 --nodocs \
$(cat packages-*.txt) \
&& \
echo '@ceph - memlock 204800' >> /etc/security/limits.conf && \
echo '@root - memlock 204800' >> /etc/security/limits.conf && \
# Clean container, starting with record of current size (strip / from end)
INITIAL_SIZE="$(bash -c 'sz="$(du -sm --exclude=/proc /)" ; echo "${sz%*/}"')" && \
#
#
# Perform any final cleanup actions like package manager cleaning, etc.
echo 'Postinstall cleanup' && \
( microdnf clean all && \
rpm -q \
$(cat packages-ceph.txt) \
&& \
rm -f /etc/profile.d/lang.sh ) && \
# Tweak some configuration files on the container system
# disable sync with udev since the container can not contact udev
echo "About to edit lvm.conf" && \
sed -i -e 's/^\([[:space:]#]*udev_rules =\) 1$/\1 0/' -e 's/^\([[:space:]#]*udev_sync =\) 1$/\1 0/' -e 's/^\([[:space:]#]*obtain_device_list_from_udev =\) 1$/\1 0/' /etc/lvm/lvm.conf && \
echo "About to validate lvm.conf edits" && \
# validate the sed command worked as expected
grep -sqo "udev_sync = 0" /etc/lvm/lvm.conf && \
grep -sqo "udev_rules = 0" /etc/lvm/lvm.conf && \
grep -sqo "obtain_device_list_from_udev = 0" /etc/lvm/lvm.conf && \
echo "Edits validated OK" && \
mkdir -p /var/run/ganesha && \
ln -s /usr/share/ceph/mgr/dashboard/frontend/dist-redhat /usr/share/ceph/mgr/dashboard/frontend/dist && \
# Clean common files like /tmp, /var/lib, etc.
# We don't clean RHEL
find /var/log/ -type f -exec truncate -s 0 {} \; && \
#
#
# Report size savings (strip / from end)
FINAL_SIZE="$(bash -c 'sz="$(du -sm --exclude=/proc /)" ; echo "${sz%*/}"')" && \
REMOVED_SIZE=$((INITIAL_SIZE - FINAL_SIZE)) && \
echo "Cleaning process removed ${REMOVED_SIZE}MB" && \
echo "Dropped container size from ${INITIAL_SIZE}MB to ${FINAL_SIZE}MB" && \
#
# Verify that the packages installed haven't been accidentally cleaned
rpm -q \
$(cat packages-ceph.txt) \
&& echo 'Packages verified successfully'

29 changes: 29 additions & 0 deletions compose.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[rhceph-8-tools-for-rhel-9-$basearch-rpms]
name=rhceph-8-tools-for-rhel-9-rpms
baseurl=http://download-01.beak-001.prod.iad2.dc.redhat.com/odcs/prod/odcs-4500483/compose/Temporary/$basearch/os
type=rpm-md
skip_if_unavailable=False
gpgcheck=0
repo_gpgcheck=0
enabled=1
enabled_metadata=1

[rhceph-8-tools-for-rhel-9-$basearch-debug-rpms]
name=rhceph-8-tools-for-rhel-9-debug-rpms
baseurl=http://download-01.beak-001.prod.iad2.dc.redhat.com/odcs/prod/odcs-4500483/compose/Temporary/$basearch/debug/tree
type=rpm-md
skip_if_unavailable=False
gpgcheck=0
repo_gpgcheck=0
enabled=0
enabled_metadata=1

[rhceph-8-tools-for-rhel-9-$basearch-source-rpms]
name=rhceph-8-tools-for-rhel-9-srpms
baseurl=http://download-01.beak-001.prod.iad2.dc.redhat.com/odcs/prod/odcs-4500483/compose/Temporary/source/tree
type=rpm-md
skip_if_unavailable=False
gpgcheck=0
repo_gpgcheck=0
enabled=0
enabled_metadata=1
249 changes: 249 additions & 0 deletions licenses/COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
Format-Specification: http://anonscm.debian.org/viewvc/dep/web/deps/dep5/copyright-format.xml?revision=279&view=markup
Name: ceph
Maintainer: Sage Weil <[email protected]>
Source: http://ceph.com/

Files: *
Copyright: (c) 2004-2010 by Sage Weil <[email protected]>
License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)

Files: cmake/modules/FindPython*
Copyright:
Copyright 2000-2023 Kitware, Inc. and Contributors
License: BSD 3-clause

Files: cmake/modules/FindLTTngUST.cmake
Copyright:
Copyright 2016 Kitware, Inc.
Copyright 2016 Philippe Proulx <[email protected]>
License: BSD 3-clause

Files: doc/*
Copyright: (c) 2010-2012 New Dream Network and contributors
License: Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)

Files: bin/git-archive-all.sh
License: GPL3

Files: src/mount/canonicalize.c
Copyright: Copyright (C) 1993 Rick Sladkey <[email protected]>
License: LGPL-2 or later

Files: src/include/ceph_hash.cc
Copyright: None
License: Public domain

Files: src/include/rados.h, except ceph_stable_mod(), which is public domain
Copyright: the authors
License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)

Files: src/common/bloom_filter.hpp
Copyright: Copyright (C) 2000 Arash Partow <[email protected]>
License: Boost Software License, Version 1.0

Files: src/common/crc32c_intel*:
Copyright:
Copyright 2012-2013 Intel Corporation All Rights Reserved.
License: BSD 3-clause

Files: src/common/deleter.h
Copyright:
Copyright (C) 2014 Cloudius Systems, Ltd.
License:
Apache-2.0

Files: src/common/sctp_crc32.c:
Copyright:
Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved.
Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
License:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

a) Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

b) Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.

c) Neither the name of Cisco Systems, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.

Files: src/common/sstring.hh
Copyright:
Copyright 2014 Cloudius Systems
License:
Apache-2.0

Files: src/include/cpp-btree
Copyright:
Copyright 2013 Google Inc. All Rights Reserved.
License:
Apache-2.0

Files: src/json_spirit
Copyright:
Copyright John W. Wilkinson 2007 - 2011
License:
The MIT License

Copyright (c) 2007 - 2010 John W. Wilkinson

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Files: src/test/common/Throttle.cc src/test/filestore/chain_xattr.cc
Copyright: Copyright (C) 2013 Cloudwatt <[email protected]>
License: LGPL-2.1 or later

Files: src/osd/ErasureCodePluginJerasure/*.{c,h}
Copyright: Copyright (c) 2011, James S. Plank <[email protected]>
License:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.

- Neither the name of the University of Tennessee nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Packaging:
Copyright (C) 2004-2009 by Sage Weil <[email protected]>
Copyright (C) 2010 Canonical, Ltd.
Licensed under LGPL-2.1 or LGPL-3.0

Files: src/test/perf_local.cc
Copyright:
(c) 2011-2014 Stanford University
(c) 2011 Facebook
License:
The MIT License

File: qa/workunits/erasure-code/jquery.js
Copyright 2012 jQuery Foundation and other contributors
Released under the MIT license
http://jquery.org/license

Files: qa/workunits/erasure-code/jquery.{flot.categories,flot}.js
Copyright (c) 2007-2014 IOLA and Ole Laursen.
Licensed under the MIT license.

Files: src/include/timegm.h
Copyright (C) Copyright Howard Hinnant
Copyright (C) Copyright 2010-2011 Vicente J. Botet Escriba
License: Boost Software License, Version 1.0

Files: src/pybind/mgr/diskprediction_local/models/*
Copyright: None
License: Public domain

Files: src/ceph-volume/plugin/zfs/*
Copyright: 2018, Willem Jan Withagen
License: BSD 3-clause

Files: src/include/function2.hpp
Copyright: 2015-2018, Denis Blank
License: Boost Software License, Version 1.0

Files: src/include/expected.hpp
Copyright: 2017, Simon Brand
License: CC0

Files: src/include/uses_allocator.h
Copyright: 2016, Pablo Halpern <[email protected]>
License: Boost Software License, Version 1.0

Files: src/common/async/bind_allocator.h
Copyright: 2020 Red Hat <[email protected]>
2003-2019 Christopher M. Kohlhoff <[email protected]>
License: Boost Software License, Version 1.0

Files: src/script/backport-create-issue
Copyright: 2015 Red Hat <[email protected]>
2018 SUSE LLC
License: GNU Affero General Public License, Version 3

Files: src/script/backport-resolve-issue
Copyright: 2015 Red Hat <[email protected]>
2018 SUSE LLC
License: GNU Affero General Public License, Version 3

Files: src/common/*s390x*
Copyright: 2024 IBM <[email protected]>
License: Apache License, version 2.0

Files: src/rgw/madler/*
License:
Copyright (C) 2014-2025 Mark Adler

This software is provided 'as-is', without any express or implied warranty.
In no event will the authors be held liable for any damages arising from the
use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim
that you wrote the original software. If you use this software in a
product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

Mark Adler
[email protected]
Loading