This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tasks:major-distro-release [2018/05/03 21:37] djgalloway [Steps] |
tasks:major-distro-release [2022/08/10 16:52] (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. 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]]. |