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 revisionPrevious revision
Next revision
Previous revision
tasks:major-distro-release [2018/05/01 19:20] – djgallowaytasks:major-distro-release [2025/04/01 13:48] (current) – djgalloway
Line 6: Line 6:
     - Add the distro to [[services:cobbler#adding_a_new_distro|Cobbler]]     - Add the distro to [[services:cobbler#adding_a_new_distro|Cobbler]]
       - You will likely need to provision a machine with Cobbler and tweak the [[https://github.com/ceph/ceph-cm-ansible/pull/397/commits/52933a6e74b983ee2e1c49d038ce4c541e86718b|packages]] that get installed in the kickstart       - You will likely need to provision a machine with Cobbler and tweak the [[https://github.com/ceph/ceph-cm-ansible/pull/397/commits/52933a6e74b983ee2e1c49d038ce4c541e86718b|packages]] that get installed in the kickstart
 +        - If you haven't already, put [[https://github.com/ceph/ceph-cm-ansible/blob/main/tools/set-next-server-local.sh|set-next-server-local.sh]] in place on your workstation.
 +        - See [[https://wiki.sepia.ceph.com/doku.php?id=testnodereimage#set-next-server|set-next-server]]
     - Create the ''roles/testnode/vars/distro_majorversion.yml'' file     - Create the ''roles/testnode/vars/distro_majorversion.yml'' file
       - See https://github.com/ceph/ceph-cm-ansible/blob/master/roles/testnode/vars/ubuntu_18.yml for an example.       - See https://github.com/ceph/ceph-cm-ansible/blob/master/roles/testnode/vars/ubuntu_18.yml for an example.
-      - You will also likely need to tweak the packages in this file as package names change or get deprecated+    - Create the ''roles/testnode/templates/ssh/sshd_config_distro_majorversion.yml'' file 
 +    - You will also likely need to tweak the packages in this file as package names change or get deprecated 
 +  - FOG 
 +    - [[https://wiki.sepia.ceph.com/doku.php?id=services:fog#capturing_os_images|Capture new OS image(s)]]
   - 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]]
     - Redeploy     - Redeploy
   - Chacra   - Chacra
-    - Add a ''distro_codename'' tag to applicable [[https://github.com/ceph/mita/blob/master/deploy/playbooks/roles/common/templates/prod_nodes.py.j2|node definitions]] in Chacra +    - Add the new distro [[https://github.com/ceph/chacra/blob/master/chacra/constants.py|here]]
-    - Also add it [[https://github.com/ceph/chacra/blob/master/chacra/constants.py|here]]+
     - [[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.
     - Redeploy     - Redeploy
-  - Jenkins Job Configs: See https://github.com/ceph/ceph-build/pull/1022 as an example+  - 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. 
 +    - 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.1525202430.txt.gz · Last modified: by djgalloway