Skip to content

Commit 28d11e5

Browse files
Brooklyn Dewolfsandrobonazzola
authored andcommitted
Fix file backup in dev mode & fatal restore error
When we were restoring the engine from a previous backup where there was no active DWH, Cinderlib installation or Keycloak database, the restore always resulted in a FATAL error: ----- Rewriting /home/build/ovirt//etc/ovirt-engine/engine.conf.d/10-setup-database.conf /home/build/ovirt/share/ovirt-engine/bin/engine-backup.sh: line 1419: [: syntax error: `-' unexpected FATAL: Can not find /home/build/ovirt//etc/ovirt-engine/engine.conf.d/10-setup-cinderlib-database.conf ----- This is because of a check that is done when restoring the engine. When only restoring the DB, the value ${CHANGE_DB_CREDENTIALS} is true and because of the OR condition, the false flag of for example ${CHANGE_DWH_CREDENTIALS} does not have any effect anymore. By removing the CHANGE_DB_CREDENTIALS variable, the condition is dependent on only the flag of the type of DB itself and the DB_USER. There were also issues with running a backup in development mode. When installing a development environment, a path is specified with the PREFIX value. However, the backup script does not change the paths that it is backing up relative to this PREFIX value. This has also been changed to that it does backup the correct paths. Signed-off-by: Brooklyn Dewolf <[email protected]>
1 parent 80d6b0f commit 28d11e5

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ BUILD_TARGET=install
171171
-e "s|@SETUP_VAR@|$(PKG_STATE_DIR)|g" \
172172
-e "s|@DEV_PYTHON_DIR@|$(DEV_PYTHON_DIR)|g" \
173173
-e "s|@DEV_SETUP_ENV_DIR@|$(DEV_SETUP_ENV_DIR)|g" \
174+
-e "s|@PREFIX@|$(PREFIX)|g" \
174175
-e "s|@RPM_VERSION@|$(RPM_VERSION)|g" \
175176
-e "s|@RPM_RELEASE@|$(RPM_RELEASE)|g" \
176177
-e "s|@MILESTONE@|$(MILESTONE)|g" \

packaging/bin/engine-backup.sh.in

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ PACKAGE_NAME="@PACKAGE_NAME@"
1919
PACKAGE_VERSION="@PACKAGE_VERSION@"
2020
DISPLAY_VERSION="@DISPLAY_VERSION@"
2121
ENGINE_USR="@ENGINE_USR@"
22+
DEV_PREFIX="@PREFIX@"
2223

2324
die() {
2425
local m="$1"
@@ -39,7 +40,7 @@ load_config() {
3940

4041
source_d() {
4142
local stage="$1"
42-
local my_cfg_dir="/etc/ovirt-engine-backup/engine-backup-${stage}.d"
43+
local my_cfg_dir="${DEV_PREFIX}/etc/ovirt-engine-backup/engine-backup-${stage}.d"
4344
for f in \
4445
$([ -d "${my_cfg_dir}" ] && find "${my_cfg_dir}" -name '*.sh' | sort) \
4546
; do
@@ -52,7 +53,7 @@ source_d init
5253
my_load_config() {
5354
load_config
5455

55-
DWH_CONFIG=/etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf
56+
DWH_CONFIG=${DEV_PREFIX}/etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf
5657
for f in "${DWH_CONFIG}" "${DWH_CONFIG}".d/*.conf; do
5758
[ -e "${f}" ] && . "${f}"
5859
done
@@ -116,7 +117,7 @@ engine_setup_service_enabled() {
116117
otopi-config-query match \
117118
--key "$1" \
118119
--value bool:True \
119-
--file /etc/ovirt-engine-setup.conf
120+
--file ${DEV_PREFIX}/etc/ovirt-engine-setup.conf
120121
}
121122

122123
engine_enabled() {
@@ -151,14 +152,14 @@ load_branding() {
151152
}
152153

153154
# Globals
154-
BACKUP_PATHS="/etc/ovirt-engine
155-
/etc/ovirt-engine-dwh
156-
/etc/ovirt-provider-ovn/conf.d
157-
/etc/ovirt-provider-ovn/logger.conf
158-
/etc/ovirt-vmconsole
159-
/etc/pki/ovirt-engine
160-
/etc/pki/ovirt-vmconsole
161-
/etc/ovirt-engine-setup.conf.d
155+
BACKUP_PATHS="${DEV_PREFIX}/etc/ovirt-engine
156+
${DEV_PREFIX}/etc/ovirt-engine-dwh
157+
${DEV_PREFIX}/etc/ovirt-provider-ovn/conf.d
158+
${DEV_PREFIX}/etc/ovirt-provider-ovn/logger.conf
159+
${DEV_PREFIX}/etc/ovirt-vmconsole
160+
${DEV_PREFIX}/etc/pki/ovirt-engine
161+
${DEV_PREFIX}/etc/pki/ovirt-vmconsole
162+
${DEV_PREFIX}/etc/ovirt-engine-setup.conf.d
162163
/etc/httpd/conf.d/internalsso-openidc.conf
163164
/etc/httpd/conf.d/ovirt-engine-grafana-proxy.conf
164165
/etc/httpd/conf.d/ovirt-engine-root-redirect.conf
@@ -1413,10 +1414,11 @@ __EOF__
14131414
output "- Grafana database '"${GRAFANA_DB_FILENAME}"'"
14141415
restoreSQLiteDB "${TEMP_FOLDER}/db/${GRAFANA_BACKUP_FILE_NAME}" "${GRAFANA_DB_FILENAME}" "grafana:grafana"
14151416
fi
1417+
14161418
[ -n "${CHANGE_DB_CREDENTIALS}" ] && changeEngineDBConf
1417-
[ -n "${CHANGE_DWH_DB_CREDENTIALS}" -o -n "${CHANGE_DB_CREDENTIALS}" -a "${DWH_DB_USER}" ] && changeDwhDBConf
1418-
[ -n "${CHANGE_CINDERLIB_DB_CREDENTIALS}" -o -n "${CHANGE_DB_CREDENTIALS}" -a "${CINDERLIB_DB_USER}" ] && changeCinderlibDBConf
1419-
[ -n "${CHANGE_KEYCLOAK_DB_CREDENTIALS}" -o -n "${CHANGE_DB_CREDENTIALS}" -a "${KEYCLOAK_DB_USER}" ] && changeKeycloakDBConf
1419+
[ -n "${CHANGE_DWH_DB_CREDENTIALS}" -a -n "${CHANGE_DB_CREDENTIALS}" -a "${DWH_DB_USER}" ] && changeDwhDBConf
1420+
[ -n "${CHANGE_CINDERLIB_DB_CREDENTIALS}" -a -n "${CHANGE_DB_CREDENTIALS}" -a "${CINDERLIB_DB_USER}" ] && changeCinderlibDBConf
1421+
[ -n "${CHANGE_KEYCLOAK_DB_CREDENTIALS}" -a -n "${CHANGE_DB_CREDENTIALS}" -a "${KEYCLOAK_DB_USER}" ] && changeKeycloakDBConf
14201422
source_d dorestore
14211423
output "You should now run engine-setup."
14221424
}
@@ -1876,7 +1878,7 @@ restoreFiles() {
18761878
# In previous versions we didn't keep this inside the backup
18771879
os_at_backup="Unknown"
18781880
fi
1879-
local POSTINSTALL="/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf"
1881+
local POSTINSTALL="${DEV_PREFIX}/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf"
18801882
local APACHE_CONFIGURED_LINE="OVESETUP_APACHE/configured=bool:True"
18811883

18821884
# Extract files to temp dir

0 commit comments

Comments
 (0)