]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-build.git/commitdiff
Cleanup "crimson" flavor
authorMatan Breizman <mbreizma@redhat.com>
Sun, 23 Nov 2025 12:18:11 +0000 (14:18 +0200)
committerMatan Breizman <mbreizma@redhat.com>
Thu, 18 Dec 2025 09:44:59 +0000 (11:44 +0200)
With https://github.com/ceph/ceph/pull/66229 merged,
Crimson is now included (though not used) by default in our RPM builds.
This means the existing default flavor can also be used for Crimson testing
by selecting Crimson as the default OSD package.

Notes:

* The previous workaround related to DWITH_STATIC_LIBSTDCXX is no longer
  relevant for Crimson (it was tied to older compiler issues).

* The crimson-only branch name selection is also cleaned up,
  as centos9-only can now be used instead.

* This change breaks Crimson Tentacle CI builds:
  The packaging update that includes Crimson in RPM builds was not backported to Tentacle.
  Tentacle builds would still require a dedicated flavor that enables WITH_CRIMSON
  However, since Crimson changes have not been backported to Tentacle (since the first RCA),
  there is no strong reason to keep building and testing the same Crimson HEAD.
  So we can use this opprtuinity to stop nightly Crimson/Tentacle builds and tests.

  See last Crimson tentacle run, (which is not expected to change):
  https://pulpito.ceph.com/teuthology-2025-11-22_22:56:11-crimson-rados-tentacle-distro-crimson-debug-smithi/

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
ceph-dev-cron/config/definitions/ceph-dev-cron.yml
ceph-dev-new-trigger/config/definitions/ceph-dev-new-trigger.yml
ceph-dev-new/config/definitions/ceph-dev-new.yml
ceph-dev-pipeline/build/Jenkinsfile
ceph-dev-pipeline/config/definitions/ceph-dev-pipeline.yml
ceph-dev/config/definitions/ceph-dev.yml
ceph-perf-pull-requests/config/definitions/ceph-perf-pull-requests.yml
ceph-trigger-build/README.md
ceph-trigger-build/build/Jenkinsfile
scripts/build_utils.sh

index 126f0b522146afd93e0b23d344a7cbf204d639ed..74409ef18fbc6585d622fcd49eb4eb3056b51009 100644 (file)
@@ -76,7 +76,6 @@
                     DISTROS=noble jammy centos9 windows
       # build tentacle on:
       # default: noble jammy centos9 windows
-      # crimson: centos9
       # debug: centos9
       - conditional-step:
           condition-kind: regex-match
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=noble jammy centos9 windows
-                - project: 'ceph-dev'
-                  predefined-parameters: |
-                    BRANCH=${{GIT_BRANCH}}
-                    FORCE=True
-                    DISTROS=centos9
-                    FLAVOR=crimson-debug
-                    ARCHS=x86_64
                 - project: 'ceph-dev'
                   predefined-parameters: |
                     BRANCH=${{GIT_BRANCH}}
                     ARCHS=x86_64
       # build main on:
       # default: noble jammy centos9 windows
-      # crimson-debug: centos9
-      # crimson-release: centos9
       # debug: centos9
       - conditional-step:
           condition-kind: regex-match
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=noble jammy centos9 windows
-                - project: 'ceph-dev'
-                  predefined-parameters: |
-                    BRANCH=${{GIT_BRANCH}}
-                    FORCE=True
-                    DISTROS=centos9
-                    FLAVOR=crimson-debug
-                    ARCHS=x86_64
-                - project: 'ceph-dev'
-                  predefined-parameters: |
-                    BRANCH=${{GIT_BRANCH}}
-                    FORCE=True
-                    DISTROS=centos9
-                    FLAVOR=crimson-release
-                    ARCHS=x86_64
                 - project: 'ceph-dev'
                   predefined-parameters: |
                     BRANCH=${{GIT_BRANCH}}
index 08ac50e5ea7b3efa6ca1aa7f1818c5454bb30683..22fe1f806d64b293571d01e91f72a80c5b1b580e 100644 (file)
@@ -68,7 +68,6 @@
                     DISTROS=noble jammy centos9 windows
       # build tentacle on:
       # default: noble jammy centos9 windows
-      # crimson: centos9
       # debug: centos9
       - conditional-step:
           condition-kind: regex-match
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=noble jammy centos9 windows
-                - project: 'ceph-dev-new'
-                  predefined-parameters: |
-                    BRANCH=${{GIT_BRANCH}}
-                    FORCE=True
-                    DISTROS=centos9
-                    FLAVOR=crimson-debug
-                    ARCHS=x86_64
                 - project: 'ceph-dev-new'
                   predefined-parameters: |
                     BRANCH=${{GIT_BRANCH}}
       - conditional-step:
           condition-kind: shell
           condition-command: |
-            echo "${{GIT_BRANCH}}" | grep -v '\(reef\|squid\|tentacle\|centos9-only\|crimson-only\)'
+            echo "${{GIT_BRANCH}}" | grep -v '\(reef\|squid\|tentacle\|centos9-only\)'
           on-evaluation-failure: dont-run
           steps:
             - shell:
                     BRANCH=${{GIT_BRANCH}}
                     FORCE=True
                     DISTROS=noble jammy centos9 windows
-            - trigger-builds:
-                - project: 'ceph-dev-new'
-                  predefined-parameters: |
-                    BRANCH=${{GIT_BRANCH}}
-                    FORCE=True
-                    DISTROS=centos9
-                    FLAVOR=crimson-debug
-                    ARCHS=x86_64
             - trigger-builds:
                 - project: 'ceph-dev-new'
                   predefined-parameters: |
                     DISTROS=centos9
                     FLAVOR=debug
                     ARCHS=x86_64
-      # build only centos9, default and debug. no crimson
+      # build only centos9, default and debug
       - conditional-step:
           condition-kind: regex-match
           regex: .*centos9-only.*
                     DISTROS=centos9
                     FLAVOR=debug
                     ARCHS=x86_64
-      # Build only the `crimson` flavour, don't waste resources on the default one.
-      # Useful for the crimson's bug-hunt at Sepia
-      # crimson-debug: centos9
-      # crimson-release: centos9
-      - conditional-step:
-          condition-kind: regex-match
-          regex: .*crimson-only.*
-          label: '${{GIT_BRANCH}}'
-          on-evaluation-failure: dont-run
-          steps:
-            - shell:
-                !include-raw-verbatim:
-                - ../../../scripts/build_utils.sh
-                - ../../build/notify
-            - trigger-builds:
-                - project: 'ceph-dev-new'
-                  predefined-parameters: |
-                    BRANCH=${{GIT_BRANCH}}
-                    FORCE=True
-                    DISTROS=centos9
-                    FLAVOR=crimson-debug
-                    ARCHS=x86_64
-            - trigger-builds:
-                - project: 'ceph-dev-new'
-                  predefined-parameters: |
-                    BRANCH=${{GIT_BRANCH}}
-                    FORCE=True
-                    DISTROS=centos9
-                    FLAVOR=crimson-release
-                    ARCHS=x86_64
       # sccache
       - conditional-step:
           condition-kind: regex-match
index 5dd08d481894ffe174b43a6c2dba00c61f554818..e708f6fe1a62880d58b889aabe19ee4f1f828ea0 100644 (file)
           choices:
             - default
             - debug
-            - crimson-debug
-            - crimson-release
           default: "default"
-          description: "Type of Ceph build, choices are: crimson-debug, crimson-release, debug, default. Defaults to: 'default'"
+          description: "Type of Ceph build, choices are: default, debug. Defaults to: 'default'"
 
       - string:
           name: CI_CONTAINER
index 5f683aa4237c5c2774789a0ec997e1988bd81d98..94d047a1c44f23419836a16c38430e42d7cdfef0 100644 (file)
@@ -200,16 +200,15 @@ pipeline {
           }
           axes {
             name 'FLAVOR'
-            values 'default', 'crimson-release', 'crimson-debug', 'debug'
+            values 'default', 'debug'
           }
         }
-        // crimson is only supported on centos9 x86_64
         // debug flavor is currently only supported on centos9 x86_64
         excludes {
           exclude {
             axis {
               name 'FLAVOR'
-              values 'crimson-release', 'crimson-debug', 'debug'
+              values 'debug'
             }
             axis {
               name 'DIST'
@@ -219,7 +218,7 @@ pipeline {
           exclude {
             axis {
               name 'FLAVOR'
-              values 'crimson-release', 'crimson-debug', 'debug'
+              values 'debug'
             }
             axis {
               name 'ARCH'
@@ -378,7 +377,6 @@ pipeline {
                 sh """#!/bin/bash
                   set -ex
                   echo > .env
-                  [[ $FLAVOR == crimson* ]] && echo "WITH_CRIMSON=true" >> .env || true
                   cd dist/ceph
                   python3 src/script/build-with-container.py --env-file=${env.WORKSPACE}/.env --image-repo=${env.CEPH_BUILDER_IMAGE} --tag=${ceph_builder_tag} --image-variant=packages -d ${DIST} -e build-container
                   podman tag ${env.CEPH_BUILDER_IMAGE}:${ceph_builder_tag} ${env.CEPH_BUILDER_IMAGE}:${ceph_builder_tag_short}
@@ -453,13 +451,6 @@ pipeline {
                   case "debug":
                     ceph_extra_cmake_args += " -DCMAKE_BUILD_TYPE=Debug"
                     break
-                  case "crimson-debug":
-                    deb_build_profiles = "pkg.ceph.crimson"
-                    ceph_extra_cmake_args += " -DCMAKE_BUILD_TYPE=Debug"
-                    break
-                  case "crimson-release":
-                    deb_build_profiles = "pkg.ceph.crimson";
-                    break
                   default:
                     println "FLAVOR=${env.FLAVOR} is invalid"
                     assert false
@@ -481,7 +472,6 @@ pipeline {
                   if ( env.SCCACHE == "true" ) rpmbuild_args += " -R--with=sccache"
                   if ( env.DWZ == "false" ) rpmbuild_args += " -R--without=dwz"
                   if ( env.FLAVOR == "default" ) rpmbuild_args += " -R--with=tcmalloc"
-                  if ( env.FLAVOR.startsWith("crimson") ) rpmbuild_args += " -R--with=crimson"
                   bwc_command = "${bwc_command}${rpmbuild_args} -e rpm"
                 } else if ( env.DIST =~ /suse|sles/ ) {
                   throw new Exception("bwc not implemented for ${env.DIST}")
index 7fd10050a7cd6ec449fd56cfda725a9dfb708ef7..fc014c3964c3f882dc8fe9fbaf46856d7ed701d6 100644 (file)
@@ -46,7 +46,7 @@
 
       - string:
           name: FLAVORS
-          description: "A list of flavors to build. Available options are: default, crimson-release, crimson-debug, debug"
+          description: "A list of flavors to build. Available options are: default, debug"
           default: "default"
 
       - bool:
           name: FLAVOR
           choices:
             - default
-            - crimson-debug
-            - crimson-release
             - debug
           default: "default"
-          description: "Type of Ceph build, choices are: crimson-debug, crimson-release, default, debug. Defaults to: 'default'"
+          description: "Type of Ceph build, choices are: default, debug. Defaults to: 'default'"
 
       - bool:
           name: CI_CONTAINER
index c9319338a6d2445dd263773047b14b7c078e887f..031ed32c8e118b920955301889b1185732ed171b 100644 (file)
@@ -54,10 +54,8 @@ If this is checked, then the binaries will be built and pushed to chacra even if
           choices:
             - default
             - debug
-            - crimson-debug
-            - crimson-release
           default: "default"
-          description: "Type of Ceph build, choices are: crimson-debug, crimson-release, debug, default. Defaults to: 'default'"
+          description: "Type of Ceph build, choices are: default, debug. Defaults to: 'default'"
 
       - bool:
           name: CI_CONTAINER
index 60834deea056979662ababf6c012fda7c24ca6ab..318fff6555805585c36d5f492c4d00afd5de59aa 100644 (file)
@@ -65,7 +65,7 @@
                   break
               fi
           done
-          if test {osd-flavor} = "crimson-release" ; then
+          if test {osd-flavor} = "crimson" ; then
               export WITH_CRIMSON=true
               # TODO use clang-10 on ubuntu/focal
               timeout 7200 src/script/run-make.sh \
 - project:
     name: ceph-perf
     osd-flavor:
-      - crimson-debug
-      - crimson-release
       - classic
+      - crimson
     jobs:
       - ceph-perf-{osd-flavor}
index 9d9bd59a6fdc0b84afa9be45696c666b19bf9897..8837539fb9b4c8feb8b47d59bd19c1b962b7e827 100644 (file)
@@ -19,7 +19,7 @@ This pipeline's role is to:
 |CEPH-BUILD-JOB|Which Jenkins job to trigger. Only ceph-dev-pipeline supports the options below.|ceph-dev-pipeline, ceph-dev-new|`ceph-dev-pipeline`|
 |DISTROS|Space-sparated list of Linux distributions to build for|focal, jammy, noble, centos9, windows|Depends on keywords in branch name|
 |ARCHS|Space-separated list of architectures to build on|x86_64, arm64|`x86_64 arm64`|
-|FLAVORS|Crimson or non-Crimson or debug|default, debug, crimson-debug, crimson-release|`default`|
+|FLAVORS|default or debug|default, debug|`default`|
 |CI-COMPILE|Compile binaries and packages[^1]|Boolean|`true`|
 |CI-CONTAINER|Build a dev container using the packages built|Boolean|`true`|
 |DWZ|Use [DWZ](https://sourceware.org/dwz/) to make debuginfo packages smaller|Boolean|`true` when using ceph-dev-new<br>`false` when using ceph-dev-pipeline[^2]|
index 8e86d260d8ddb7cde1a363d983881496ba08dca0..4fd531612af2042da789089fe28a14e9677ce77e 100644 (file)
@@ -58,11 +58,10 @@ def params_from_branch(initialParams) {
         params << params[0].clone()
         params[-1]['ARCHS'] = 'x86_64'
         params[-1]['DISTROS'] = 'centos9'
-        params[-1]['FLAVOR'] = 'crimson-debug debug'
+        params[-1]['FLAVOR'] = 'debug'
       } else {
         params[0]['ARCHS'] += ' arm64'
-        params[0]['FLAVOR'] += ' crimson-debug'
-        params[1]['FLAVOR'] += ' debug'
+        params[0]['FLAVOR'] += ' debug'
       }
       break
     case ~/.*centos9-only.*/:
@@ -73,26 +72,15 @@ def params_from_branch(initialParams) {
       } else {
         params[0]['FLAVOR'] += ' debug'
       }
-    case ~/.*crimson-only.*/:
-      params[0]['ARCHS'] = 'x86_64'
-      params[0]['DISTROS'] = 'centos9'
-      if ( !singleSet ) {
-        params << params[0].clone()
-        params[0]['FLAVOR'] = 'crimson-debug'
-        params[1]['FLAVOR'] = 'crimson-release'
-      } else {
-        params[0]['FLAVOR'] = 'crimson-debug crimson-release'
-      }
       break
     default:
       if ( !singleSet ) {
         params << params[0].clone()
         params[-1]['ARCHS'] = 'x86_64'
         params[-1]['DISTROS'] = 'centos9'
-        params[-1]['FLAVOR'] = 'crimson-debug debug'
+        params[-1]['FLAVOR'] = 'debug'
       } else {
-        params[0]['FLAVOR'] += ' crimson-debug'
-        params[1]['FLAVOR'] += ' debug'
+        params[0]['FLAVOR'] += ' debug'
       }
   }
   if ( singleSet ) {
index 57425bcbdc9dd9214d9804507407f69cb2bb799e..3c8b1f7c8ce6c41c30fb7a5a1e38603181563885 100755 (executable)
@@ -887,15 +887,6 @@ ceph_build_args_from_flavor() {
     debug)
         CEPH_EXTRA_CMAKE_ARGS+=" -DCMAKE_BUILD_TYPE=Debug"
         ;;
-    crimson-debug)
-        CEPH_EXTRA_RPMBUILD_ARGS="--with crimson"
-        DEB_BUILD_PROFILES="pkg.ceph.crimson"
-        CEPH_EXTRA_CMAKE_ARGS+=" -DCMAKE_BUILD_TYPE=Debug"
-        ;;
-    crimson-release)
-        CEPH_EXTRA_RPMBUILD_ARGS="--with crimson"
-        DEB_BUILD_PROFILES="pkg.ceph.crimson"
-        ;;
     *)
         echo "unknown FLAVOR: ${FLAVOR}" >&2
         exit 1
@@ -1041,14 +1032,7 @@ EOF
 
 extra_cmake_args() {
     # statically link against libstdc++ for building new releases on old distros
-    if [ "${FLAVOR}" = "crimson-debug" ] || [ "${FLAVOR}" = "crimson-release" ] ; then
-        # seastar's exception hack assums dynamic linkage against libgcc. as
-        # otherwise _Unwind_RaiseException will conflict with its counterpart
-        # defined in libgcc_eh.a, when the linker comes into play. and more
-        # importantly, _Unwind_RaiseException() in seastar will not be able
-        # to call the one implemented by GCC.
-        echo "-DWITH_STATIC_LIBSTDCXX=OFF"
-    elif use_ppa; then
+    if use_ppa; then
         echo "-DWITH_STATIC_LIBSTDCXX=ON"
     fi
 }
@@ -1502,16 +1486,6 @@ setup_rpm_build_deps() {
 
     sed -e 's/@//g' < ceph.spec.in > $DIR/ceph.spec
 
-    # enable more build depends required by build flavor(crimson)
-    case "${FLAVOR}" in
-    crimson-debug)
-      sed -i -e 's/%bcond_with crimson/%bcond_without crimson/g' $DIR/ceph.spec
-        ;;
-    crimson-release)
-      sed -i -e 's/%bcond_with crimson/%bcond_without crimson/g' $DIR/ceph.spec
-        ;;
-    esac
-
     # Make sure we have all the rpm macros installed and at the latest version
     # before installing the dependencies, python3-devel requires the
     # python-rpm-macro we use for identifying the python related dependencies