User Tools

Site Tools


tasks:major-distro-release

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tasks:major-distro-release [2022/06/28 14:48]
djgalloway
tasks:major-distro-release [2025/04/01 13:48] (current)
djgalloway
Line 16: Line 16:
   - teuthology   - teuthology
     - Add to the [[https://​github.com/​ceph/​teuthology/​blob/​master/​teuthology/​orchestra/​opsys.py|distro map]]     - Add to the [[https://​github.com/​ceph/​teuthology/​blob/​master/​teuthology/​orchestra/​opsys.py|distro map]]
-  - [[https://​github.com/​ceph/​prado|Prado]] only needs modifying if you're adding a new distro entirely+  - <​del>​Prado</​del>​ **[DEPRECATED]** only needs modifying if you're adding a new distro entirely
   - Shaman   - Shaman
     - Add the new distro to the appropriate codename maps [[https://​github.com/​ceph/​shaman/​blob/​master/​shaman/​util.py|here]]     - Add the new distro to the appropriate codename maps [[https://​github.com/​ceph/​shaman/​blob/​master/​shaman/​util.py|here]]
Line 24: Line 24:
     - [[https://​github.com/​ceph/​chacra/​blob/​master/​deploy/​playbooks/​roles/​common/​templates/​prod.py.j2#​L235|here too]]     - [[https://​github.com/​ceph/​chacra/​blob/​master/​deploy/​playbooks/​roles/​common/​templates/​prod.py.j2#​L235|here too]]
     - Redeploy     - Redeploy
-  - Mita+  - <del>Mita</​del>​ **[DEPRECATED]**
     - If necessary, add the distro to [[https://​github.com/​ceph/​mita/​blob/​master/​deploy/​playbooks/​roles/​common/​templates/​prod_nodes.py.j2|prod_nodes.py]]     - If necessary, add the distro to [[https://​github.com/​ceph/​mita/​blob/​master/​deploy/​playbooks/​roles/​common/​templates/​prod_nodes.py.j2|prod_nodes.py]]
       - If you're adding a new distro entirely, you'll also need to add the Openstack image to the appropriate region.       - If you're adding a new distro entirely, you'll also need to add the Openstack image to the appropriate region.
     - Redeploy     - Redeploy
 +  - To test actual builds on the new distro:
 +    - Reimage a Jenkins builder with the new distro and connect it to Jenkins with labels that will prevent it from picking up jobs from the queue. ​ (e.g., ''​installed-os-noble x86_64 noble gigantic adami''​)
 +    - In ceph-build.git,​ ''​cp -r''​ the ceph-dev and ceph-dev-build job configs to a new temporary directory (e.g., ''​cp -r ceph-dev ceph-dev-noble''​)
 +      - Rename the jobs //in each job yml// to something like '​**ceph-dev-noble**'​ and '​**ceph-dev-build-noble**'​
 +      - Add the new distro name in the appropriate spots (e.g., ''​noble''​ goes above or below ''​jammy''​)
 +      - Add your new job names under ''​copyartifact''​ in ''​ceph-dev-setup/​config/​definitions/​ceph-dev-setup.yml''​ so your temp jobs can copy artifacts from ceph-dev-setup.
 +    - ''​for job in ceph-dev-noble/​config/​definitions/​ceph-dev.yml ceph-dev-build-noble/​config/​definitions/​ceph-dev-build.yml ceph-dev-setup/​config/​definitions/​ceph-dev-setup.yml;​ do jenkins-jobs --conf ~/​.jenkins_jobs_jenkins.ceph.com.ini update $job; done''​
 +    - Go to your job in Jenkins (e.g., https://​jenkins.ceph.com/​job/​ceph-dev-noble) and start a new build of the main branch
   - Jenkins Job Configs: See https://​github.com/​ceph/​ceph-build/​pull/​1022 as an **example**. ​ It is not all encompassing! ​ I [[https://​github.com/​ceph/​ceph-build/​pull/​1025|missed]] a few spots in that PR.   - Jenkins Job Configs: See https://​github.com/​ceph/​ceph-build/​pull/​1022 as an **example**. ​ It is not all encompassing! ​ I [[https://​github.com/​ceph/​ceph-build/​pull/​1025|missed]] a few spots in that PR.
     - Don't forget [[https://​github.com/​ceph/​ceph-build/​pull/​1024|build_utils.sh]]     - Don't forget [[https://​github.com/​ceph/​ceph-build/​pull/​1024|build_utils.sh]]
 +  - If necessary, [[https://​wiki.sepia.ceph.com/​doku.php?​id=production:​chacra.ceph.com&​s[]=vagrant#​update_vagrant_repo|create a new vagrant repo]]
 +    - Download the latest vagrant version from https://​releases.hashicorp.com/​vagrant/​
 +    - Using Ubuntu Jammy as an example:<​code>​
 +wget https://​releases.hashicorp.com/​vagrant/​2.2.19/​vagrant_2.2.19_x86_64.deb
 +ls vagrant_2.2.19_x86_64.deb | chacractl binary create vagrant/​latest/​HEAD/​ubuntu/​jammy/​x86_64
 +</​code>​
 +  - Once you have a successful Ceph build and repo for this new OS version, change the default in ceph.git like [[https://​github.com/​ceph/​ceph/​commit/​a07ca4c5c0f04c43c71231a898c2a89e99a80606|this]] and [[https://​github.com/​ceph/​ceph/​commit/​24c2d2b1244d95c232f927dad1417717a2768ece|this]].
 +  - Also in teuthology like [[https://​github.com/​ceph/​teuthology/​commit/​dc1f66ce4f57c3cb19a69a9b890ab9bcc5dd1993|this]].
tasks/major-distro-release.1656427687.txt.gz ยท Last modified: 2022/06/28 14:48 by djgalloway