Failed to download metadata for repo 'mariadb', v. 10.9 no longer in repo (404)

Description

Running upcp I get Failed to download metadata for repo 'mariadb'
404, seems 10.9 directory is gone from the repo. What to do/how to proceed?

Steps to Reproduce

Running upcp returns error and says

Migrations have not completed yet. Update cannot proceed!
Run the following command to apply migrations, correcting failure as necessary:

cd /usr/local/apnscp && ./artisan migrate --force

To force an update to latest code, run the following command:

cd /usr/local/apnscp && upcp -f && ./artisan migrate --force

Trying both commands above, and also upcp --reset seems to still reproduce the same error, ending in:

TASK [mail/configure-postfix : Verify saslauthd installed] *********************
fatal: [localhost]: FAILED! => changed=false
  msg: 'Failed to download metadata for repo ''mariadb'': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were t
ried'
  rc: 1
  results: []

PLAY RECAP *********************************************************************
localhost                  : ok=11   changed=0    unreachable=0    failed=1    skipped=4    rescued=0    ignored=0

It’s followed by a lengthy:

STDERR:                                                                                                                             [50/1945]
[/usr/local/apnscp/lib/Lararia/Database/Migrations/PlatformMigrator.php:211]

         0. Lararia\Database\Migrations\PlatformMigrator->runMigration("2023_12_22_214446_c7-openssl11-backport", "up", [step:true])
            [/usr/local/apnscp/lib/Lararia/Database/Migrations/PlatformMigrator.php:128]
         1. Lararia\Database\Migrations\PlatformMigrator->runUp("/usr/local/apnscp/resources/playbooks/migrations/2023_12_22_214446_c7-opens$
l11-backport.yml", 10, false)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:165]
         2. Illuminate\Database\Migrations\Migrator->runPending(["/usr/local/apnscp/resources/playbooks/migrations/2023_12_22_214446_c7-open$
sl11-backport.yml", "/usr/local/apnscp/resources/playbooks/migrations/2024_01_01_134101_mongodb-ini-cleanup.yml", "/usr/local/apnscp/resourc$
s/playbooks/migrations/2024_01_07_193608_vfs-ulimit-template.yml"], [pretend:false, step:0, rollback:false, ff:false])
            [/usr/local/apnscp/lib/Lararia/Database/Migrations/PlatformMigrator.php:92]
         3. Lararia\Database\Migrations\PlatformMigrator->runPending(["/usr/local/apnscp/resources/playbooks/migrations/2023_12_22_214446_c7$
openssl11-backport.yml", "/usr/local/apnscp/resources/playbooks/migrations/2024_01_01_134101_mongodb-ini-cleanup.yml", "/usr/local/apnscp/re$
ources/playbooks/migrations/2024_01_07_193608_vfs-ulimit-template.yml"], [pretend:false, step:0, rollback:false, ff:false])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:110]
         4. Illuminate\Database\Migrations\Migrator->run(["/usr/local/apnscp/resources/playbooks/migrations"], [pretend:false, step:0, rollb$
ck:false, ff:false])
            [/usr/local/apnscp/lib/Lararia/Database/Migrations/PlatformMigrator.php:40]
         5. Lararia\Database\Migrations\PlatformMigrator->run(["/usr/local/apnscp/resources/playbooks/migrations"], [pretend:false, step:0, $
ollback:false, ff:false])
            [/usr/local/apnscp/lib/Lararia/Console/Commands/PlatformMigration.php:76]
         6. Lararia\Console\Commands\PlatformMigration->handle()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36]
         7. Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/Util.php:37]
         8. Illuminate\Container\Util::unwrapIfClosure()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93]
         9. Illuminate\Container\BoundMethod::callBoundMethod(Lararia\Application, [Lararia\Console\Commands\PlatformMigration, "handle"], )
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:37]
        10. Illuminate\Container\BoundMethod::call(Lararia\Application, [Lararia\Console\Commands\PlatformMigration, "handle"], null)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/Container.php:590]
        11. Illuminate\Container\Container->call([Lararia\Console\Commands\PlatformMigration, "handle"])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Console/Command.php:134]
        12. Illuminate\Console\Command->execute(Symfony\Component\Console\Input\ArrayInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/symfony/console/Command/Command.php:255]
        13. Symfony\Component\Console\Command\Command->run(Symfony\Component\Console\Input\ArrayInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Console/Command.php:121]
        14. Illuminate\Console\Command->run(Symfony\Component\Console\Input\ArrayInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/symfony/console/Application.php:1021]
        15. Symfony\Component\Console\Application->doRunCommand(Lararia\Console\Commands\PlatformMigration, Symfony\Component\Consol[10/1945]
rrayInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/symfony/console/Application.php:275]
        16. Symfony\Component\Console\Application->doRun(Symfony\Component\Console\Input\ArrayInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/symfony/console/Application.php:149]
        17. Symfony\Component\Console\Application->run(Symfony\Component\Console\Input\ArrayInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Console/Application.php:93]
        18. Illuminate\Console\Application->run(Symfony\Component\Console\Input\ArrayInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Console/Application.php:185]
        19. Illuminate\Console\Application->call("migrate:platform", [--force:true, --pretend:false], Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:273]
        20. Illuminate\Foundation\Console\Kernel->call("migrate:platform", [--force:true, --pretend:false], Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:261]
        21. Illuminate\Support\Facades\Facade::__callStatic("call", ["migrate:platform", [[--force:true, --pretend:false], Illuminate\Console
\OutputStyle]])
            [/usr/local/apnscp/lib/Lararia/Console/Commands/Migrate.php:55]
        22. Lararia\Console\Commands\Migrate->handle()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36]
        23. Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/Util.php:37]
        24. Illuminate\Container\Util::unwrapIfClosure()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93]
        25. Illuminate\Container\BoundMethod::callBoundMethod(Lararia\Application, [Lararia\Console\Commands\Migrate, "handle"], )
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:37]
        26. Illuminate\Container\BoundMethod::call(Lararia\Application, [Lararia\Console\Commands\Migrate, "handle"], null)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Container/Container.php:590]
        27. Illuminate\Container\Container->call([Lararia\Console\Commands\Migrate, "handle"])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Console/Command.php:134]
        28. Illuminate\Console\Command->execute(Symfony\Component\Console\Input\ArgvInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/symfony/console/Command/Command.php:255]
        29. Symfony\Component\Console\Command\Command->run(Symfony\Component\Console\Input\ArgvInput, Illuminate\Console\OutputStyle)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Console/Command.php:121]
        30. Illuminate\Console\Command->run(Symfony\Component\Console\Input\ArgvInput, Symfony\Component\Console\Output\ConsoleOutput)
            [/usr/local/apnscp/vendor/symfony/console/Application.php:1021]
        31. Symfony\Component\Console\Application->doRunCommand(Lararia\Console\Commands\Migrate, Symfony\Component\Console\Input\ArgvInput,
Symfony\Component\Console\Output\ConsoleOutput)
            [/usr/local/apnscp/vendor/symfony/console/Application.php:275]
        32. Symfony\Component\Console\Application->doRun(Symfony\Component\Console\Input\ArgvInput, Symfony\Component\Console\Output\ConsoleO
utput)
            [/usr/local/apnscp/vendor/symfony/console/Application.php:149]
        33. Symfony\Component\Console\Application->run(Symfony\Component\Console\Input\ArgvInput, Symfony\Component\Console\Output\ConsoleOut
put)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Console/Application.php:93]
        34. Illuminate\Console\Application->run(Symfony\Component\Console\Input\ArgvInput, Symfony\Component\Console\Output\ConsoleOutput)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:131]
        35. Illuminate\Foundation\Console\Kernel->handle(Symfony\Component\Console\Input\ArgvInput, Symfony\Component\Console\Output\ConsoleO
utput)
            [/usr/local/apnscp/lib/Lararia/Console/Kernel.php:31]
        36. Lararia\Console\Kernel->handle(Symfony\Component\Console\Input\ArgvInput, Symfony\Component\Console\Output\ConsoleOutput)
            [/usr/local/apnscp/artisan:69]

Expected Behavior

I just expected it to complete …

Actual Behavior

The error above. I tried to trim away the non-error lines to make stuff easier. Hope I didn’t make it harder by removing something of interest. :sweat_smile:

Environment

ApisCP version: 3.2.40, revision cf0d151272a865b644445d0b37450b706fa6a5c2
Operating System: 4.18.0-477.21.1.el8_8.x86_64

Additional relevant information (e.g., PHP version, database, etc.):
cpcmd php:version8.1.25
cpcmd mysql:version100908

Additional Information

I just logged in to check if updates where run as they should.
yum update resulted in:

Updating Subscription Management repositories.
timescale_timescaledb                                                                                        307  B/s | 833  B     00:02
MariaDB                                                                                                       71  B/s |  10  B     00:00
Errors during downloading metadata for repository 'mariadb':
  - Status code: 404 for http://mirror.mariadb.org/yum/10.9/rhel8-amd64/repodata/repomd.xml (IP: 2a01:4f8:1c17:e53d::1)
Error: Failed to download metadata for repo 'mariadb': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

Also tried yum clean all, but still same. 404 …
Looking at the files in their repo, it seems like v10.9 is removed, they only have
10.4, 10.5, 10.6, 10.10, 10.11, 11.0, 11.1, 11.2 and 11.3

… So what now? Looks like I should have chosen a long-term release back then. (And according to the docs, changing DB version is not possible/contains breaking changes.)
Do I need to migrate domains, and upgrade/reinstall server?

10.9 was a short-term release by MariaDB. They abandoned it in August 2023. To disable further checks, set the repository to skip if unavailable:

yum-config-manager --save --setopt=mariadb.skip_if_unavailable=true
2 Likes

Thanks! :slight_smile: (I should have paid more attention when I selected version.)
How long can I keep running unsupported MariaDB before I reinstall to upgrade? :sweat_smile:

Edit: Seems yum-config-manager is not installed, part of yum-utils, and installing it fails:

# yum-config-manager --save --setopt=mariadb.skip_if_unavailable=true
-bash: yum-config-manager: command not found
# yum install yum-utils
Updating Subscription Management repositories.
MariaDB                                                                                                       59  B/s |  10  B     00:00
Errors during downloading metadata for repository 'mariadb':
  - Status code: 404 for http://mirror.mariadb.org/yum/10.9/rhel8-amd64/repodata/repomd.xml (IP: 2a01:4f8:1c17:e53d::1)
Error: Failed to download metadata for repo 'mariadb': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

Seemed to work with this, though:

dnf --set mariadb.skip_if_unavailable=true install yum-utils

(So, all good until my MariaDB version fails somehow.) :slight_smile:

Until it becomes a problem; that tolerance threshold is up to you. There’s always a risk of a severe vulnerability affecting previous versions. That’s the point it becomes mandatory.

You may update MariaDB by updating the version number in /root/apnscp-vars.yml and running upcp -sbf. This feature is not directly supported as there’s no guarantee of data dictionary changes between versions nor the ability to revert if something goes wrong. PostgreSQL for example requires a full structured backup, then to reapply the queries.

On RHEL8+ systems, dnf replaces yum:

dnf config-manager  --save --setopt=mariadb.skip_if_unavailable=true