ansible: Install prometheus metrics plugin on Jenkins servers
[lttng-ci.git] / jobs / images.yml
index 552cdb413d8c30af42d4d8b2e5cb9babbdf26b14..cdfcd355e6d6f829673075169517963f7bb84def 100644 (file)
@@ -32,7 +32,7 @@
       - choice: &images_parameters_IMAGE_TYPE
           name: 'IMAGE_TYPE'
           choices:
-            - 'lxd'
+            - 'incus'
             - 'vm'
           description: 'The type of image to create'
       - choice:
             - 'developer'
           description: 'The ansible group to apply to the image'
           required: true
-      - string: &images_parameters_LXD_HOST
-          name: 'LXD_HOST'
+      - string: &images_parameters_INCUS_HOST
+          name: 'INCUS_HOST'
           default: 'ci-host-amd64-1a.internal.efficios.com'
-          description: 'The address of the LXD cluster to publish to'
+          description: 'The address of the incus cluster to publish to'
           required: true
-      - string: &images_parameters_LXD_INSTANCE_PROFILE
-          name: 'LXD_INSTANCE_PROFILE'
+      - string: &images_parameters_INCUS_INSTANCE_PROFILE
+          name: 'INCUS_INSTANCE_PROFILE'
           default: 'ci-rootnode'
-          description: 'The LXD instance profile to use for temporary instances when building images'
+          description: 'The Incus instance profile to use for temporary instances when building images'
           required: true
       - string: &images_parameters_GIT_URL
           name: 'GIT_URL'
@@ -81,9 +81,9 @@
       - choice:
           <<: *images_parameters_IMAGE_TYPE
       - string:
-          <<: *images_parameters_LXD_HOST
+          <<: *images_parameters_INCUS_HOST
       - string:
-          <<: *images_parameters_LXD_INSTANCE_PROFILE
+          <<: *images_parameters_INCUS_INSTANCE_PROFILE
       - string:
           <<: *images_parameters_GIT_URL
       - string:
           name: 'DISTROBUILDER_GIT_BRANCH'
           default: 'main'
       - string:
-          name: 'LXC_CI_GIT_URL'
+          name: 'INCUS_CI_GIT_URL'
           default: 'https://github.com/lxc/lxc-ci.git'
       - string:
-          name: 'LXC_CI_GIT_BRANCH'
+          name: 'INCUS_CI_GIT_BRANCH'
           default: 'main'
       - string:
           name: 'GO_VERSION'
           max-total: 4
           matrix-builds: false
 
-- _images_parameters_debian_defaults: &images_parameters_debian_defaults
-    name: 'image_parameters_debian_defaults'
-    parameters:
-      - bool:
-          name: 'SKIP_BASE_IMAGES'
-          default: false
-      - bool:
-          name: 'SKIP_PROFILE_IMAGES'
-          default: false
-      - choice: &images_parameters_arch_filter
-          name: 'ARCH_FILTER'
-          choices:
-            - all
-            - amd64
-            - i386
-            - arm64
-            - armhf
-            - ppc64el
-            - riscv64
-            - s390x
-      - choice: &images_parameters_image_type_filter
-          name: 'IMAGE_TYPE_FILTER'
-          choices:
-            - all
-            - lxd
-            - vm
-      - choice: &images_parameters_profile_filter
-          name: 'PROFILE_FILTER'
-          choices:
-            - all
-            - ci-node
-            - developer
-      - choice:
-          name: 'RELEASE_FILTER'
-          choices:
-            - all
-            - bullseye
-            - bookworm
-            - trixie
-            - sid
-      - string:
-          <<: *images_parameters_GIT_URL
-      - string:
-          <<: *images_parameters_GIT_BRANCH
-
 ## Defaults
 - defaults:
     name: imagebuilder
               passphrase-variable: SSH_PASSWORD
           - file:
               credential-id: 'f3f08275-59ef-42ff-9de5-9beafc7435b8'
-              variable: LXD_CLIENT_CERT
+              variable: INCUS_CLIENT_CERT
           - file:
               credential-id: '0debf23b-191b-4cdf-8a25-04e9a7092a67'
-              variable: LXD_CLIENT_KEY
+              variable: INCUS_CLIENT_KEY
+          - text:
+              credential-id: SLES_REGISTRATION_CODE_amd64
+              variable: SLES_REGISTRATION_CODE_amd64
+          # When it needs to match ansible_architecture
+          - text:
+              credential-id: SLES_REGISTRATION_CODE_amd64
+              variable: SLES_REGISTRATION_CODE_x86_64
       - inject: {}
 
 ## Templates
 
       <p>Job is managed by Jenkins Job Builder</p>
     project-type: pipeline
-    <<: *images_parameters_debian_defaults
+    parameters: '{obj:parameters}'
     IMAGE_TYPES:
-      - lxd
+      - incus
       - vm
     PROFILES:
       - ci-node
       - developer
+    sandbox: true
     dsl: !include-jinja2: pipelines/images/default.groovy
 
 - job-template:
       - sid
     jobs:
       - 'images_imagebuilder_{OS}'
+    parameters:
+      - bool: &images_parameters_SKIP_BASE_IMAGES
+          name: 'SKIP_BASE_IMAGES'
+          default: false
+      - bool: &images_parameters_SKIP_PROFILE_IMAGES
+          name: 'SKIP_PROFILE_IMAGES'
+          default: false
+      - choice: &images_parameters_ARCH_FILTER
+          name: 'ARCH_FILTER'
+          choices:
+            - all
+            - amd64
+            - i386
+            - arm64
+            - armhf
+            - ppc64el
+            - riscv64
+            - s390x
+      - choice: &images_parameters_IMAGE_TYPE_FILTER
+          name: 'IMAGE_TYPE_FILTER'
+          choices:
+            - all
+            - incus
+            - vm
+      - choice: &images_parameters_PROFILE_FILTER
+          name: 'PROFILE_FILTER'
+          choices:
+            - all
+            - ci-node
+            - developer
+      - choice:
+          name: 'RELEASE_FILTER'
+          choices:
+            - all
+            - bullseye
+            - bookworm
+            - trixie
+            - sid
+      - string:
+          <<: *images_parameters_GIT_URL
+      - string:
+          <<: *images_parameters_GIT_BRANCH
+
+- project:
+    name: images_imagebuilder_rockylinux
+    OS:
+      - rockylinux
+    ARCHES:
+      - amd64
+    RELEASES:
+      - '8'
+      - '9'
+    parameters:
+      - bool:
+          <<: *images_parameters_SKIP_BASE_IMAGES
+      - bool:
+          <<: *images_parameters_SKIP_PROFILE_IMAGES
+      - choice:
+          <<: *images_parameters_ARCH_FILTER
+          choices:
+            - all
+            - amd64
+      - choice:
+          <<: *images_parameters_IMAGE_TYPE_FILTER
+      - choice:
+          <<: *images_parameters_PROFILE_FILTER
+      - choice:
+          name: 'RELEASE_FILTER'
+          choices:
+            - 'all'
+            - '8'
+            - '9'
+      - string:
+          <<: *images_parameters_GIT_URL
+      - string:
+          <<: *images_parameters_GIT_BRANCH
+    jobs:
+      - 'images_imagebuilder_{OS}'
+
+- project:
+    name: images_imagebuilder_SLES
+    OS:
+      - sles
+    ARCHES:
+      - amd64
+    RELEASES:
+      # 12.5 Doesn't currently work well with Incus either as a container or a VM
+      #   * 12.5 has systemd 228, which doesn't support cgroups v2. Hosts _could_
+      #   be configured to disable the unified cgroup hierarchy in order to have
+      #   this version systemd work correctly.
+      #   * Running as a QEMU VM, virtio_scsi isn't correctly able to bring the
+      #   virtual disks online. The version of incus currently deployed doesn't
+      #   support the io.bus option to use virtio-blk instead.
+      # - '12.5'
+      - '15.4'
+      - '15.5'
+    parameters:
+      - bool:
+          <<: *images_parameters_SKIP_BASE_IMAGES
+          default: true
+      - bool:
+          <<: *images_parameters_SKIP_PROFILE_IMAGES
+      - choice:
+          <<: *images_parameters_ARCH_FILTER
+          choices:
+            - all
+            - amd64
+      - choice:
+          <<: *images_parameters_IMAGE_TYPE_FILTER
+      - choice:
+          <<: *images_parameters_PROFILE_FILTER
+      - choice:
+          name: 'RELEASE_FILTER'
+          choices:
+            - 'all'
+            - '15.4'
+            - '15.5'
+      - string:
+          <<: *images_parameters_GIT_URL
+      - string:
+          <<: *images_parameters_GIT_BRANCH
+    jobs:
+      - 'images_imagebuilder_{OS}'
+
+- project:
+    name: images_imagebuilder_ubuntu
+    OS:
+      - ubuntu
+    ARCHES:
+      - amd64
+    RELEASES:
+      - focal
+      - jammy
+      - noble
+    parameters:
+      - bool:
+          <<: *images_parameters_SKIP_BASE_IMAGES
+      - bool:
+          <<: *images_parameters_SKIP_PROFILE_IMAGES
+      - choice:
+          <<: *images_parameters_ARCH_FILTER
+          choices:
+            - all
+            - amd64
+      - choice:
+          <<: *images_parameters_IMAGE_TYPE_FILTER
+      - choice:
+          <<: *images_parameters_PROFILE_FILTER
+      - choice:
+          name: 'RELEASE_FILTER'
+          choices:
+            - 'all'
+            - 'focal'
+            - 'jammy'
+            - 'noble'
+      - string:
+          <<: *images_parameters_GIT_URL
+      - string:
+          <<: *images_parameters_GIT_BRANCH
+    jobs:
+      - 'images_imagebuilder_{OS}'
+
 - project:
     name: images_basejobs
     jobs:
This page took 0.025416 seconds and 4 git commands to generate.