Commit Graph

194 Commits

Author SHA1 Message Date
Peter Ajamian 8387342398 8 to 9 2022-07-16 11:10:08 +12:00
Peter Ajamian 482b7e500e
Allowerasing (#181)
* Allow erasing during the distro-sync

This is mainly for Oracle Linux but it  will allow a lot more distro-syncs to be
successful instead of crapping out with the migration half done.
2022-07-16 10:41:37 +12:00
Peter Ajamian c6e0d05a4b Add migrate2rocky9 to shellcheck 2022-07-15 19:00:27 +12:00
Peter Ajamian 3910c333c4
Rocky9 (#179)
* Create migrate2rocky9 For migrating to Rocky Linux 9

* Simple 8 -> 9 swap to start off with.

* Update settings for Rocky Linux 9

* Don't attempt to exclude modules when we don't have any

If our exclude module list is empty don't attempt to disable the empty list.
2022-07-15 18:50:01 +12:00
Bruno Rohée 6811d9d655 typo, "meantime" misspelled 2022-06-24 23:15:00 +12:00
Peter Ajamian 92b35b59d9
Check the dnf check exit code before attempting migration. (#167) 2022-03-04 15:37:58 +13:00
Peter Ajamian d5a6e46df3 Fix some issues with baseurl checks and overrides. 2022-03-04 15:34:13 +13:00
Peter Ajamian f3fe6d768a Fix issue where we didn't exit when we were supposed to.
Exiting from a subshell doesn't actually exit the script.  Move the exit to
outside of the subshell.
2022-02-12 22:51:23 +13:00
Peter Ajamian c8737c2302 Add notes about migrating from EL8.0. Formatting.
* Add notes about the need to run `dnf update` before migrating from EL8.0.

* Add instructions to manually fix the repository URLs when migrating from
  CentOS 8.0

* Wrap long lines from earlier commit.
2022-02-02 08:09:55 +13:00
Peter Ajamian 9703480c4d
Vault (#154)
* Add devel repo to list of repositories to migrate.

* Use baseurl from our CentOS vault mirror.

CentOS killed off all the CentOS 8 repos and moved them to vault.  As a result
migrate2rocky was no longer working to migrate CentOS 8 installs.  To fix this
we've mirrored the CentOS 8 vault and point migrate2rocky to that instead.
2022-02-01 23:54:27 +13:00
gah242s ac17f28e0e Add Cockpit note to Known Issues
I've added the blurb to the top of the known issues, since it's something that needs to be addressed before any of the other issues I saw listed.  Again, feel free to do what's necessary to make it viable.
2022-01-26 05:58:49 +13:00
gah242s 967ae48ef0 Add recommendation for tmux or screen session
Here's a potential start to a blurb about running the script in a tmux or screen session.  Please feel free to change up, reword, scrap the whole thing and start afresh, etc.
2022-01-26 05:58:29 +13:00
Amin Vakil c770ec4191
Install shellcheck from github releases (#147)
* Install shellcheck from github releases
2022-01-11 23:43:50 +13:00
Amin Vakil d2b2b61afc
Fix shellcheck issues (#146)
* Quote to prevent splitting

* Remove dir_mount_map variable

* Define efi_disk and efi_partition as array

* Expanding an array without an index only gives the first element

* Ignore shellchecking /etc/os-release

* Expressions do not need to expand
2022-01-11 21:56:51 +13:00
Amin Vakil 3c32595b23 Add github actions shellcheck 2022-01-11 17:01:15 +13:00
Todd Zullinger d3d4896e39
migrate2rocky minor improvements (#140)
* migrate2rocky: use $convert_info_dir consistently

We set convert_info_dir=/root/convert.  Use it consistently.

* migrate2rocky: avoid mkdir error with -rV options

Both -r and -V call `generate_rpm_info()` which run `mkdir` to create
the convert directory.  The second call results in a warning:

    mkdir: cannot create directory ‘/root/convert’: File exists

Use `mkdir -p` to avoid the spurious warning when the convert directory
exists.

* migrate2rocky: fix listing of rpm info files

When the conversion completes, the script prints:

    You may review the following files:

However, there are no files displayed because the find pattern does not
match what `generate_rpm_info()` writes.  It looks for '*-rpms-*' while
the files are named '*-rpm-list-*' instead.

Fix the file pattern used.  While here, replace the use of `find` with a
simpler `printf` to achieve the same result.
2022-01-01 18:51:07 +13:00
Kenneth Hoste 68c77adbb3
fix migrate2rocky script for aarch64 systems by using correct suffix for grub2-efi* and shim* packages (#138)
* fix migrate2rocky script for aarch64 systems by using correct suffix for grub2-efi* and shim* packages

* wrap value passed to -l option of efibootmgr command in quotes
2021-12-21 09:06:55 +13:00
Peter Ajamian a208a1ce0b
Check available disk space before starting migration. (#136)
* Add disk space check
2021-12-19 01:53:55 +13:00
Peter Ajamian da2de96c9c Add log rotation. 2021-12-18 23:04:43 +13:00
Peter Ajamian c039add132
List disk space requirements in README file (#134)
* Add disk space requirements to README.

* Fix markdown table.

* Additional table fixes

* Give up on table.
2021-12-09 15:40:20 +13:00
Neil Hanlon c39b5064bd
Merge pull request #127 from knalb/mirrorsync_updates
* Exit cleanly when upstream is unchanged instead of with code 1.
* Find & use rsync in user's path
2021-11-29 13:25:58 -05:00
Zane Williams e560f32668 After further discussion in the Infrastructure channel, the check for
rsync in path has been modified to become a rsync_run function instead.

It will check to see if rsync exists in $PATH, including a fallback
path via the builtin bash "command", and exit accordingly.
2021-11-25 13:51:45 +01:00
Peter Ajamian 540327a1cb Use shimx64.efi for EFI boot.
We shouldn't be setting EFI boot to grubx64.efi, but rather shimx64.efi instead.
This commit also makes sure that both grub2-x64 and shim-x64 are properly
installed in an EFI boot system.
2021-11-25 22:19:56 +13:00
Peter Ajamian e6ec182c27
Merge pull request #128 from pajamian/stream_logic
Fix issues with migrating from CentOS Stream 8
2021-11-25 00:37:43 +13:00
Peter Ajamian 2995c40c83 Always replace the shim with the one for Rocky Linux. 2021-11-25 00:29:46 +13:00
Zane Williams 1c99b76c8c Add variable for rsync path, in case rsync not in $PATH. 2021-11-23 17:56:47 +01:00
Zane Williams 595cc86748 Exit cleanly if file list is unchanged at mirrorsync run init. 2021-11-23 17:53:49 +01:00
Zane Williams 24eb7740e2 Re-wording this paragraph after participating in a converstaion about
the sync of the mirrors on 15-NOV-2021:
(https://chat.rockylinux.org/rocky-linux/pl/x7nembesc78kpr3wpgkszzrygw)

Inserting this in a unique commit in case this particular piece is
not acceptable.
2021-11-23 17:52:40 +01:00
Peter Ajamian 210d1fc998 Fix syntax error in sed regexes. 2021-11-24 04:48:51 +13:00
Peter Ajamian f28f6daa0e Certain Stream packages have to be replaced by their Rocky Linux equivalents. 2021-11-24 00:21:41 +13:00
Peter Ajamian 6fb8cb8dd1
Merge branch 'main' into stream_logic 2021-11-23 22:51:34 +13:00
Peter Ajamian 28be74a123 Shellcheck fixes.
Various fixes reported by shellcheck.
2021-11-19 22:52:38 +13:00
Peter Ajamian 22455ba221 Fix config-manager dnf plugin name.
See RHBZ #1980712.
2021-11-19 22:52:38 +13:00
Peter Ajamian aff688f30c grep is needed for all migrations.
Move the check for grep to the main list of binaries instead of the ones just
needed for EFI boot.
2021-11-19 22:52:38 +13:00
Peter Ajamian 1abcdd13af Fix up vault baseurls
Fix the source repository (which are in vault.centos.org) URLs as well.
2021-11-18 14:22:40 +13:00
Peter Ajamian 6c3453041c Fix broken mirrorlist URLs from CentOS Stream repos.
The mirrorlist URLs rely on variable replacements from CentOS Stream that are
not valid once we have switched to Rocky Linux.  To fix this we change to the
baseurl instead and fix it up to not rely on those variables that have changed.
2021-11-18 14:11:15 +13:00
Peter Ajamian 678a220c92
Merge branch 'rocky-linux:main' into stream_logic 2021-11-18 13:38:22 +13:00
Peter Ajamian fbac8d07a2 Remove Secure Boot check.
Rocky Linux now has secure boot support, so we no longer need to check for and
bail on systems with secure boot enabled.
2021-11-18 10:16:23 +13:00
Peter Ajamian 230cbc507b Fix broken stream conversion logic.
Stream system repo packages were ignored if there were no stream non-system
packages present.
2021-11-11 22:16:13 +13:00
Peter Ajamian d7e4c072a2
dnf should always assume yes (#102)
There are cases where dnf might wait for confirmation, sometimes for a missing
key, etc, that one would not expect.  By always passing "-y" we ensure this
isn't an issue.
2021-08-15 20:39:26 +12:00
Peter Ajamian 142ce12645 Add note about mitigating Java alternatives issue before IPA issue.
ipa-server-upgrade is a java program, and as such is subject to the issue with
Java alternatives mentioned earlier in Known Issues.  Add a note to reference
mitigating the issue with Java alternatives before attempting to run
ipa-server-upgrade.
2021-08-14 20:12:28 +12:00
Peter Ajamian f5e7738c68 Document issue with disappearing SIG repos 2021-08-14 19:45:48 +12:00
Peter Ajamian 33373b4ef4
Use C locale instead of en_US (#98)
en_US is not guaranteed to be installed on all systems, but C is, so we use the
C locale to guarantee that all the dnf and rpm command output parses properly.
2021-08-14 16:37:40 +12:00
Peter Ajamian 8d68003ddf
Formatting (#97)
* Various formatting and spelling fixes.

* Tab to space for more consistent text representation across different editors.
2021-08-14 16:32:10 +12:00
Peter Ajamian 7eb310f907
Keep new packages when migrating from Stream until RockyLinux catches up (#96)
* CentOS Stream changes

* Retain CentOS Stream repositories and packages to avoid version downgrade
  issues.
* Only remove centos-stream-repos from the rpm db, do not actually uninstall the
  files.
* Rename system repositories from CentOS Stream with a "stream-" prefix to avoid
  clashing with Rockylinux system repository names.
* Disable CentOS Stream repositories after the distro-sync.

Note that these changes will leave CentOS Stream packages on the system, likely
until the next RockyLinux point release.  This is intentional to avoid issues
with downgrading package versions.

* Apply stream logic to epel-next-release.

epel-next-release is installed for CentOS stream machines with
EPEL.  Apply similar logic for epel-next as for CentOS stream.
2021-08-14 01:35:50 +12:00
Peter Ajamian d7f52751d0 Prevent attempted writes to /sys and /proc in containers.
Containers generally bind-mount /sys and /proc, so if dnf or rpm attempts to
write to write to one of them it can cause issues with the host system, or just
fail alltogether.  We set an rpm macro to prevent this from happening.
2021-08-10 02:57:26 +12:00
Peter Ajamian 2f40d60ec2 Do not attempt to update EFI boot in containers.
Containers (at least many fo them) will bind-mount /sys which works for most
cases but it means that /sys will indicate EFI boot when it is, in fact, the
host system that has EFI boot.  To fix this we use systemd-detect-virt to see if
we're running in a container and if so we don't attempt to update EFI boot.
2021-08-10 02:57:26 +12:00
Peter Ajamian 6603d6cc6e Add command for fixing ipa to known issues
ipa sometimes fails to start after migration.  We document this in known issues
along with the command to fix it.  Issue #82.
2021-08-09 16:42:47 +12:00
Peter Ajamian 1529747183 Fix shellcheck issues
Fix issues found by shellcheck.
2021-08-08 21:51:15 +12:00
Peter Ajamian 606390af59 Add -L to curl command
curl won't follow redirects without -L.  Since redirects are used by some who
have a private repository this breaks curl in those instances.  Adding -L fixes
the problem.
2021-07-16 18:56:55 +12:00