#!/bin/sh # # Copyright (c) 2019,2024 Red Hat. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # Upgrade an old PMDA install with missing 'notready' keyword, and also # convert an installation with original Prometheus PMDA to OpenMetrics. # . $PCP_DIR/etc/pcp.env if grep -q ^prometheus "$PCP_PMCDCONF_PATH" 2>/dev/null then if grep ^prometheus "$PCP_PMCDCONF_PATH" | grep -q notready 2>/dev/null then : # already has the keyword, so nothing to update in that regard else sed -i -e 's,^\(prometheus.*binary\),\1 notready,g' $PCP_PMCDCONF_PATH fi if grep -q ^openmetrics "$PCP_PMCDCONF_PATH" 2>/dev/null then : # already have an openmetrics PMDA install, leave it untouched else sed -i -e "s,prometheus,openmetrics,g" $PCP_PMCDCONF_PATH 2>/dev/null cp -a "$PCP_PMDAS_DIR/prometheus/config.d" "$PCP_PMDAS_DIR/openmetrics/" fi rm -f "$PCP_VAR_DIR/pmns/prometheus" 2>/dev/null fi if grep -q ^openmetrics "$PCP_PMCDCONF_PATH" 2>/dev/null then if grep ^openmetrics "$PCP_PMCDCONF_PATH" | grep -q "$PCP_PYTHON_PROG" 2>/dev/null then : # already using $PCP_PYTHON_PROG, leave this line untouched else # convert hard-coded python or python3 binary to PCP_PYTHON_PROG sed -i $PCP_PMCDCONF_PATH 2>/dev/null \ -e "s,python3 $PCP_PMDAS_DIR/openmetrics/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/openmetrics/,g" \ -e "s,python $PCP_PMDAS_DIR/openmetrics/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/openmetrics/,g" \ # end fi fi exit 0