You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-02 06:13:16 +03:00
Implements the initial upgrade capability across CMAPI and the CLI, including
repository setup, package operations, environment prechecks, and coordinated
cluster steps with progress reporting.
Details:
- CMAPI upgrade manager:
- Add `cmapi/cmapi_server/managers/upgrade/` modules:
- `repo.py`, `packages.py`, `preinstall.py`, `upgrade.py`, `utils.py` and `__init__.py`
- Extend endpoints and routing to expose upgrade operations and status:
- `cmapi_server/controllers/{endpoints.py, dispatcher.py, api_clients.py}`
- `cmapi_server/managers/{application.py, process.py}`
- Add improved constants and helpers for upgrade flow
- Backup/restore and safety:
- Add `cmapi_server/managers/backup_restore.py`
- Fix pre-upgrade backup regressions (due to `mcs_backup_manager.sh 3.17 changes`)
- Improve cluster version validation; add `ignore_missmatch` override
- CLI enhancements:
- Progress UI and richer feedback (`mcs_cluster_tool/tools_commands.py`, `README.md`, `mcs.1`)
- Add steps to start MDB and start MCS during/after upgrade
- Improved error surfacing for version validation
- Platform and packaging:
- Ubuntu and Rocky Linux support
- RHEL/DNF dry-run support
- Distro detection and platform-dependent logic hardened
- Logging improvements
- Updater service:
- Add `cmapi/updater/cmapi_updater.service.template` and `cmapi_updater.sh` to make CMAPI update itself
- Docs:
- Update mcs cli README and mcs.1 man file
- Add `cmapi/updater/README.md`
31 lines
810 B
Bash
31 lines
810 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
VERSION="${CMAPI_VERSION}"
|
|
if [[ -z "$VERSION" ]]; then
|
|
echo "[Updater] Error: CMAPI_VERSION is not set"
|
|
exit 1
|
|
fi
|
|
|
|
# Wait for a few seconds to allow endpoint to respond
|
|
sleep 5s
|
|
echo "[CMAPI Updater] Stopping CMAPI service..."
|
|
systemctl stop mariadb-columnstore-cmapi
|
|
|
|
echo "[CMAPI Updater] Removing existing package..."
|
|
if command -v apt >/dev/null; then
|
|
apt remove -y mariadb-columnstore-cmapi
|
|
apt install -y mariadb-columnstore-cmapi=${VERSION}
|
|
elif command -v yum >/dev/null; then
|
|
yum remove -y MariaDB-columnstore-cmapi
|
|
yum install -y MariaDB-columnstore-cmapi-${VERSION}
|
|
else
|
|
echo "Unsupported package manager"
|
|
exit 1
|
|
fi
|
|
|
|
echo "[CMAPI Updater] Restarting CMAPI service..."
|
|
systemctl start mariadb-columnstore-cmapi
|
|
|
|
echo "[CMAPI Updater] Done."
|
|
exit 0 |