In Progress EA-11565 - Elevate CentOS 7 to AlmuLinux8 - missing ea_profile.json

Operating System & Version
CentOS v7.9.2009 STANDARD kvm
cPanel & WHM Version
110.0.8

outofcontrol

Active Member
May 18, 2009
37
3
58
Montreal
While elevating from CentOS7 to AlmuLinux8, the ea_profile.json is not generated. What we have done:

Code:
# /scripts/elevate-cpanel --check
* 2023-07-22 09:23:20 [INFO] Successfully verified signature for cpanel (key types: release).
* 2023-07-22 09:23:21 [INFO] Checking if your system is up to date:
* 2023-07-22 09:23:21 [INFO] Running: /usr/bin/yum clean all
* 2023-07-22 09:23:21 [INFO]
* 2023-07-22 09:23:21 [INFO] Loaded plugins: fastestmirror, universal-hooks
* 2023-07-22 09:23:21 [INFO] Cleaning repos: EA4 cpanel-addons-production-feed cpanel-plugins MariaDB103 base
* 2023-07-22 09:23:21 [INFO]               : epel extras imunify360 imunify360-rollout-1 imunify360-rollout-2
* 2023-07-22 09:23:21 [INFO]               : imunify360-rollout-3 imunify360-rollout-4 imunify360-rollout-5
* 2023-07-22 09:23:21 [INFO]               : imunify360-rollout-6 imunify360-rollout-7 imunify360-rollout-8
* 2023-07-22 09:23:21 [INFO]               : mysql-connectors-community mysql-tools-community
* 2023-07-22 09:23:21 [INFO]               : mysql57-community updates
* 2023-07-22 09:23:21 [INFO] Cleaning up list of fastest mirrors
* 2023-07-22 09:23:21 [INFO] Other repos take up 11 M of disk space (use --verbose for details)
* 2023-07-22 09:23:21 [INFO]
* 2023-07-22 09:23:21 [INFO] Running: /usr/bin/yum check-update -q
* 2023-07-22 09:23:21 [INFO]
* 2023-07-22 09:24:10 [INFO]
* 2023-07-22 09:24:10 [INFO] Checking /scripts/sysup
* 2023-07-22 09:24:10 [INFO] Running: /scripts/sysup
* 2023-07-22 09:24:10 [INFO]
* 2023-07-22 09:24:10 [INFO] checkyum version 22.3  (excludes: bind-chroot)
* 2023-07-22 09:24:11 [INFO]   All Needed Packages are already installed.
* 2023-07-22 09:24:11 [INFO]
* 2023-07-22 09:25:16 [INFO] Checking EasyApache profile compatibility with AlmaLinux 8.
* 2023-07-22 09:25:16 [INFO] Running: /usr/local/bin/ea_current_to_profile --target-os=AlmaLinux_8 --output=/tmp/ETJ5nMzH0Z/ea_profile.json
* 2023-07-22 09:25:17 [INFO] Backed up EA4 profile to /tmp/ETJ5nMzH0Z/ea_profile.json
* 2023-07-22 09:25:18 [INFO] There is no known blockers to start the elevation process.
  You can consider running:
      /scripts/elevate-cpanel --start
Code:
# cat /tmp/ETJ5nMzH0Z/ea_profile.json
cat: /tmp/ETJ5nMzH0Z/ea_profile.json: No such file or directory
Code:
# cat /etc/cpanel/ea4/profiles/pkg-manifest.json | jq
Comment: no errors in output, not posting as it is 7600+ lines
Comment: also verified file and no stray , as others have experienced back in January 2023
Code:
# /usr/local/bin/ea_current_to_profile --target-os=AlmaLinux_8
/etc/cpanel/ea4/profiles/custom/current_state_at_2023-07-22_09:28:26_modified_for_AlmaLinux_8.json
cat /etc/cpanel/ea4/profiles/custom/current_state_at_2023-07-22_09:28:26_modified_for_AlmaLinux_8.json | jq
Comment: No errors, valid json
Code:
# /scripts/sysup
info [sysup] ea4: repo already installed
checkyum version 22.3  (excludes: bind-chroot)
  All Needed Packages are already installed.
Perhaps the ea_profile.json is removed after the tests run?

However, when I did the upgrade the first time (using an upgrade server for this at DigitalOcean) everything went smoothly, but Apache, most apache modules and all PHP versions were missing. I can install those be rebuilding the profile manually, but that is over 400 check boxes to match up against the product server, which would take a long time and is prone to error.

Hopefully I am missing something obvious here that I overlooked. Any advice on where to look next? If not I will open a ticket, but hoping someone might spot something.

Thank you in advance for what help may come.
 
Last edited:

outofcontrol

Active Member
May 18, 2009
37
3
58
Montreal
Small update, if I run:

Code:
# /usr/local/bin/ea_current_to_profile --target-os=AlmaLinux_8 --output=/tmp/ea_profile.json
The ea_profile.json is generated and:

Code:
# cat /tmp/ea_profile.json | jq
{
  "version": "1.0",
  "os_upgrade": {
    "dropped_pkgs": {},
    "target_os": "AlmaLinux_8",
    "source_os": "CentOS v7.9.2009",
    "target_obs_project": "CentOS_8"
  },
  "desc": "Auto Generated profile",
  "tags": [
    "Apache 2.4",
    "PHP 7.4",
    "PHP 8.0",
    "PHP 8.1",
    "PHP 8.2"
  ],
  "name": "ea_profile.json",
  "pkgs": [
    "ea-apache24",
    "ea-apache24-config",
    "ea-apache24-config-runtime",
    "ea-apache24-mod_bwlimited",
    "ea-apache24-mod_cgid",
    "ea-apache24-mod_dav",
    "ea-apache24-mod_dav_fs",
    "ea-apache24-mod_deflate",
    "ea-apache24-mod_env",
    "ea-apache24-mod_expires",
    "ea-apache24-mod_headers",
    "ea-apache24-mod_http2",
    "ea-apache24-mod_mpm_worker",
    "ea-apache24-mod_proxy",
    "ea-apache24-mod_proxy_ajp",
    "ea-apache24-mod_proxy_fcgi",
    "ea-apache24-mod_proxy_http",
    "ea-apache24-mod_proxy_wstunnel",
    "ea-apache24-mod_remoteip",
    "ea-apache24-mod_reqtimeout",
    "ea-apache24-mod_security2",
    "ea-apache24-mod_ssl",
    "ea-apache24-mod_suexec",
    "ea-apache24-mod_unique_id",
    "ea-apache24-tools",
    "ea-apr",
    "ea-apr-util",
    "ea-brotli",
    "ea-cpanel-tools",
    "ea-documentroot",
    "ea-libargon2",
    "ea-libicu",
    "ea-libmcrypt",
    "ea-libmemcached",
    "ea-libnghttp2",
    "ea-libxml2",
    "ea-libzip",
    "ea-modsec-sdbm-util",
    "ea-modsec2-rules-owasp-crs",
    "ea-nghttp2",
    "ea-oniguruma",
    "ea-oniguruma-devel",
    "ea-openssl11",
    "ea-php-cli",
    "ea-php-cli-lsphp",
    "ea-php74",
    "ea-php74-libc-client",
    "ea-php74-pear",
    "ea-php74-php-bcmath",
    "ea-php74-php-bz2",
    "ea-php74-php-calendar",
    "ea-php74-php-cli",
    "ea-php74-php-common",
    "ea-php74-php-curl",
    "ea-php74-php-devel",
    "ea-php74-php-exif",
    "ea-php74-php-fileinfo",
    "ea-php74-php-fpm",
    "ea-php74-php-ftp",
    "ea-php74-php-gd",
    "ea-php74-php-gmp",
    "ea-php74-php-iconv",
    "ea-php74-php-imap",
    "ea-php74-php-intl",
    "ea-php74-php-litespeed",
    "ea-php74-php-mbstring",
    "ea-php74-php-memcache",
    "ea-php74-php-memcached",
    "ea-php74-php-mysqlnd",
    "ea-php74-php-opcache",
    "ea-php74-php-pdo",
    "ea-php74-php-posix",
    "ea-php74-php-sockets",
    "ea-php74-php-xml",
    "ea-php74-php-zip",
    "ea-php74-runtime",
    "ea-php80",
    "ea-php80-libc-client",
    "ea-php80-pear",
    "ea-php80-php-bcmath",
    "ea-php80-php-bz2",
    "ea-php80-php-calendar",
    "ea-php80-php-cli",
    "ea-php80-php-common",
    "ea-php80-php-curl",
    "ea-php80-php-devel",
    "ea-php80-php-exif",
    "ea-php80-php-fileinfo",
    "ea-php80-php-fpm",
    "ea-php80-php-ftp",
    "ea-php80-php-gd",
    "ea-php80-php-gmp",
    "ea-php80-php-iconv",
    "ea-php80-php-imap",
    "ea-php80-php-intl",
    "ea-php80-php-litespeed",
    "ea-php80-php-mbstring",
    "ea-php80-php-memcached",
    "ea-php80-php-mysqlnd",
    "ea-php80-php-opcache",
    "ea-php80-php-pdo",
    "ea-php80-php-posix",
    "ea-php80-php-xml",
    "ea-php80-php-zip",
    "ea-php80-runtime",
    "ea-php81",
    "ea-php81-libc-client",
    "ea-php81-pear",
    "ea-php81-php-bcmath",
    "ea-php81-php-bz2",
    "ea-php81-php-calendar",
    "ea-php81-php-cli",
    "ea-php81-php-common",
    "ea-php81-php-curl",
    "ea-php81-php-devel",
    "ea-php81-php-exif",
    "ea-php81-php-fileinfo",
    "ea-php81-php-fpm",
    "ea-php81-php-ftp",
    "ea-php81-php-gd",
    "ea-php81-php-gmp",
    "ea-php81-php-iconv",
    "ea-php81-php-imap",
    "ea-php81-php-intl",
    "ea-php81-php-litespeed",
    "ea-php81-php-mbstring",
    "ea-php81-php-memcached",
    "ea-php81-php-mysqlnd",
    "ea-php81-php-opcache",
    "ea-php81-php-pdo",
    "ea-php81-php-posix",
    "ea-php81-php-xml",
    "ea-php81-php-zip",
    "ea-php81-runtime",
    "ea-php82",
    "ea-php82-libc-client",
    "ea-php82-pear",
    "ea-php82-php-bcmath",
    "ea-php82-php-bz2",
    "ea-php82-php-calendar",
    "ea-php82-php-cli",
    "ea-php82-php-common",
    "ea-php82-php-curl",
    "ea-php82-php-devel",
    "ea-php82-php-exif",
    "ea-php82-php-fileinfo",
    "ea-php82-php-fpm",
    "ea-php82-php-ftp",
    "ea-php82-php-gd",
    "ea-php82-php-gmp",
    "ea-php82-php-iconv",
    "ea-php82-php-imap",
    "ea-php82-php-intl",
    "ea-php82-php-litespeed",
    "ea-php82-php-mbstring",
    "ea-php82-php-memcached",
    "ea-php82-php-mysqlnd",
    "ea-php82-php-opcache",
    "ea-php82-php-pdo",
    "ea-php82-php-posix",
    "ea-php82-php-xml",
    "ea-php82-php-zip",
    "ea-php82-runtime",
    "ea-tomcat85"
  ]
}
This all seems to work... so why doesn't the upgrade install Apache and PHP etc?
 

outofcontrol

Active Member
May 18, 2009
37
3
58
Montreal
Toying around a bit more I've exported the EA4 profile from the production server and imported into the upgrade server. 2 libraries not supported, libcurl and openssl. Both removed from the profile manually. Then load the EasyApache4 page in WHM, and click on provision... nothing to provision. Tested other profiles and they all want to provision everything nicely, but my custom profile won't work. Tested the json profile with cat myprofile.json | jq, no errors.

Only difference with my profile from the others, is mine has no formatting. I've not formatted and tested with jq, EasyApache4 still refused to provision anything from my profile. Also compared the structure of my profile to others that work, and they seem correct, packages are similarily named. Nothing.

Any ideas?
 

outofcontrol

Active Member
May 18, 2009
37
3
58
Montreal
Problem found, hope this helps someone else. "ea_tomcat" doesn't appear to be support and isn't on the ignore list and breaks the profile. Whoever maintains the elevate script may need to address this.

I'll post the steps I took for a smooth upgrade for those at DigitalOcean. Hopefully it will help. Need some time to write it up from my notes.
 
Last edited:
  • Like
Reactions: andrew.n

outofcontrol

Active Member
May 18, 2009
37
3
58
Montreal
Appreciate this. happy to answer any questions etc. As cpanel endorses (I believe) the install of tomcat via yum, but no longer via the gui, I would imagine this check was not made. The solution was simple and the upgrade went over like clock after this. Production server upgraded perfectly to AlmaLinux. Definitely happy I spent the money to do the staging upgrade (several times) first. :)
 

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
17,470
2,843
363
cPanel Access Level
Root Administrator
@outofcontrol - I setup a CentOS 7 test server, and installed Tomcat through EasyApache. I then completed ELevate on the system, and it didn't give me any warnings or errors, although I do see that I had to reinstall Tomcat after ELevate completed.

If you'd like to submit a ticket so we can review that system that might be the most helpful option.
 

outofcontrol

Active Member
May 18, 2009
37
3
58
Montreal
It didn't give us any warnings or errors wither. It just never installed the EasyApache profile afterwards, leaving our server in a state that was not immediately useable, as described above I believe.
 

outofcontrol

Active Member
May 18, 2009
37
3
58
Montreal
great news! Tonight I aim to post a small write up on how I did the staging server test upgrades and will post a link to it here if I am allowed to. there were several steps I had to go thorugh to get all the right packages inline, as I apparently had a lot of third party packages installed :(