diff --git a/.gitignore b/.gitignore index b6d108ec306e..4bc3a773a00c 100644 --- a/.gitignore +++ b/.gitignore @@ -59,6 +59,7 @@ Makefile.in /tags /test-* /test_rsa_key +/Test[A-Z]* /tmp-dist /tmp/ /tsconfig.tsbuildinfo diff --git a/pkg/lib/kernelopt.sh b/pkg/lib/kernelopt.sh index 7f319ad277aa..65d5c01b8c2e 100755 --- a/pkg/lib/kernelopt.sh +++ b/pkg/lib/kernelopt.sh @@ -14,8 +14,8 @@ error() { grub() { key="${2%=*}" # split off optional =value - # For the non-BLS case, or if someone overrides those with grub2-mkconfig - # or update-grub, change it in /etc/default/grub + # For the non-BLS case, or if someone overrides those with grub2-mkconfig, + # update-grub or update-bootloader, change it in /etc/default/grub if [ -e /etc/default/grub ]; then if [ "$1" = set ]; then # replace existing argument, otherwise append it @@ -37,6 +37,11 @@ grub() { elif [ -e /etc/default/grub ] && type update-grub >/dev/null 2>&1; then update-grub + # on Suse platforms, use update-bootloader + # Since earlier we updated /etc/default/grub we can just run update-bootloader + elif type update-bootloader >/dev/null 2>&1; then + update-bootloader + # on OSTree, the kernel config is inside the image elif cur=$(rpm-ostree kargs 2>&1); then if [ "$1" = set ]; then @@ -50,7 +55,7 @@ grub() { rpm-ostree kargs --delete="$key" fi else - error "No supported grub update mechanism found (grubby, update-grub, or rpm-ostree)" + error "No supported grub update mechanism found (grubby, update-grub, update-bootloader or rpm-ostree)" fi } diff --git a/pkg/metrics/manifest.json b/pkg/metrics/manifest.json index 4a868e38cc08..a22d5e2c79fa 100644 --- a/pkg/metrics/manifest.json +++ b/pkg/metrics/manifest.json @@ -12,7 +12,8 @@ "config": { "redis_package": { "fedora": "valkey", - "platform:el10": "valkey" + "platform:el10": "valkey", + "opensuse-tumbleweed": "valkey" } } } diff --git a/pkg/metrics/metrics.jsx b/pkg/metrics/metrics.jsx index dc217c25e070..923c992bc8e1 100644 --- a/pkg/metrics/metrics.jsx +++ b/pkg/metrics/metrics.jsx @@ -1323,12 +1323,12 @@ const wait_cond = (cond, objects) => { const PCPConfigDialog = ({ firewalldRequest, - s_pmlogger, s_pmproxy, s_redis, s_redis_server, s_valkey, - packageInstallCallback, + s_pmlogger, s_pmproxy, s_redis, s_redis_server, s_valkey, s_valkey_target, + packageInstallCallback }) => { const Dialogs = useDialogs(); const dialogInitialProxyValue = runningService(s_pmproxy) && ( - runningService(s_redis) || runningService(s_redis_server) || runningService(s_valkey)); + runningService(s_redis) || runningService(s_redis_server) || runningService(s_valkey) || runningService(s_valkey_target)); const [dialogError, setDialogError] = useState(null); const [dialogLoggerValue, setDialogLoggerValue] = useState(runningService(s_pmlogger)); const [dialogProxyValue, setDialogProxyValue] = useState(dialogInitialProxyValue); @@ -1343,7 +1343,7 @@ const PCPConfigDialog = ({ if (dialogLoggerValue && !s_pmlogger.exists) { missing.push(...await get_pcp_packages()); } - const redisExists = () => s_redis.exists || s_redis_server.exists || s_valkey.exists; + const redisExists = () => s_redis.exists || s_redis_server.exists || s_valkey.exists || s_valkey_target.exists; if (dialogProxyValue && !redisExists()) { const os_release = await read_os_release(); missing.push(get_manifest_config_matchlist("metrics", "redis_package", "redis", @@ -1357,7 +1357,7 @@ const PCPConfigDialog = ({ debug("PCPConfig: package installation successful"); await wait_cond(() => (s_pmlogger.exists && (!dialogProxyValue || (s_pmproxy.exists && redisExists()))), - [s_pmlogger, s_pmproxy, s_redis, s_redis_server, s_valkey]); + [s_pmlogger, s_pmproxy, s_redis, s_redis_server, s_valkey, s_valkey_target]); } }; @@ -1373,6 +1373,9 @@ const PCPConfigDialog = ({ if (s_valkey.exists && s_valkey.unit?.UnitFileState !== 'masked') { real_redis = s_valkey; redis_name = "valkey.service"; + } else if (s_valkey_target.exists && s_valkey_target.unit?.UnitFileState !== 'masked') { + real_redis = s_valkey_target; + redis_name = "valkey.target"; } else if (s_redis_server.exists && s_redis_server.unit?.UnitFileState !== 'masked') { real_redis = s_redis_server; redis_name = "redis-server.service"; @@ -1498,6 +1501,7 @@ const PCPConfig = ({ buttonVariant, firewalldRequest }) => { const s_redis = useObject(() => service.proxy("redis.service"), null, []); const s_redis_server = useObject(() => service.proxy("redis-server.service"), null, []); const s_valkey = useObject(() => service.proxy("valkey.service"), null, []); + const s_valkey_target = useObject(() => service.proxy("valkey.target"), null, []); useEvent(superuser, "changed"); useEvent(s_pmlogger, "changed"); @@ -1505,12 +1509,14 @@ const PCPConfig = ({ buttonVariant, firewalldRequest }) => { useEvent(s_redis, "changed"); useEvent(s_redis_server, "changed"); useEvent(s_valkey, "changed"); + useEvent(s_valkey_target, "changed"); debug("PCPConfig s_pmlogger.state", s_pmlogger.state); debug("PCPConfig s_pmproxy state", s_pmproxy.state, "redis exists", s_redis.exists, "state", s_redis.state, "redis-server exists", s_redis_server.exists, "state", s_redis_server.state, - "valkey exists", s_valkey.exists, "state", s_valkey.state); + "valkey exists", s_valkey.exists, "state", s_valkey.state, + "valkey-target exists", s_valkey_target.exists, "state", s_valkey_target.state); if (!superuser.allowed) return null; @@ -1521,13 +1527,14 @@ const PCPConfig = ({ buttonVariant, firewalldRequest }) => { s_pmlogger={s_pmlogger} s_pmproxy={s_pmproxy} s_redis={s_redis} s_redis_server={s_redis_server} s_valkey={s_valkey} + s_valkey_target={s_valkey_target} packageInstallCallback={() => setPackageInstallStatus("done")} />); } return (