Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package resource-agents for openSUSE:Factory checked in at 2022-02-03 23:15:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/resource-agents (Old) and /work/SRC/openSUSE:Factory/.resource-agents.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "resource-agents" Thu Feb 3 23:15:32 2022 rev:113 rq:950480 version:4.10.0+git40.0f4de473 Changes: -------- --- /work/SRC/openSUSE:Factory/resource-agents/resource-agents.changes 2021-12-12 00:56:51.154553191 +0100 +++ /work/SRC/openSUSE:Factory/.resource-agents.new.1898/resource-agents.changes 2022-02-03 23:15:33.800990846 +0100 @@ -1,0 +2,19 @@ +Wed Jan 19 16:52:54 UTC 2022 - Peter Varkoly <vark...@suse.com> + +- nfs ganehsa failover takes 5 minutes for the client to regain + access to nfs share (bsc#1184382) + - add adapted proposed patches + portblock.patch nfsnotify.patch +- Update to version 4.10.0+git40.0f4de473: + * openstack-common: get_config(): expand tilde and exit for errors + * openstack-*: hardcode clouds.yaml paths as openstack cli doesnt support overriding it + * openstack-*: add support for multiple setup options + * LVM-activate: replace error log messages with calls to ocf_exit_reason (#1730) + * configure: fix typo (#1732) + * build: workaround gcc 12 warning + * openstack-info: align op timeout with other openstack agents + * openstack-*: allow agents to perform insecure connections to openstackcli + * Route: return OCF_NOT_RUNNING for probe action when interface or route doesnt exist + * podman: remove anonymous volumes + +------------------------------------------------------------------- @@ -6,2 +25,2 @@ - * [rpm] fix Requires to allow install on opensuse (#1721) (jsc#SLE-21043) - * Filesystem: unmount bind mounts before unmount file system + * [rpm] fix Requires to allow install on opensuse (#1721) + * Filesystem: unmount bind mounts before unmount file system (jsc#SLE-21043) Old: ---- resource-agents-4.10.0+git22.a614b31c.tar.xz New: ---- nfsnotify.patch portblock.patch resource-agents-4.10.0+git40.0f4de473.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ resource-agents.spec ++++++ --- /var/tmp/diff_new_pack.c5ApRe/_old 2022-02-03 23:15:34.656985003 +0100 +++ /var/tmp/diff_new_pack.c5ApRe/_new 2022-02-03 23:15:34.660984976 +0100 @@ -1,7 +1,7 @@ # # spec file for package resource-agents # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: resource-agents -Version: 4.10.0+git22.a614b31c +Version: 4.10.0+git40.0f4de473 Release: 0 Summary: HA Reusable Cluster Resource Scripts License: GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later @@ -40,6 +40,9 @@ # PATCH-FIX-OPENSUSE: Patch7: 0007-Request-to-add-gcp-vpc-move-route.patch +Patch8: nfsnotify.patch +Patch9: portblock.patch + BuildRequires: autoconf BuildRequires: automake BuildRequires: docbook-xsl-stylesheets @@ -113,6 +116,8 @@ %patch4 -p1 %patch6 -p1 %patch7 -p0 +%patch8 -p0 +%patch9 -p0 %build autoreconf -fvi ++++++ _service ++++++ --- /var/tmp/diff_new_pack.c5ApRe/_old 2022-02-03 23:15:34.712984621 +0100 +++ /var/tmp/diff_new_pack.c5ApRe/_new 2022-02-03 23:15:34.716984594 +0100 @@ -6,7 +6,7 @@ <param name="filename">resource-agents</param> <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">master</param> + <param name="revision">v4.10.0</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.c5ApRe/_old 2022-02-03 23:15:34.740984430 +0100 +++ /var/tmp/diff_new_pack.c5ApRe/_new 2022-02-03 23:15:34.740984430 +0100 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/ClusterLabs/resource-agents.git</param> -<param name="changesrevision">a614b31ccc9df4ac415a4c787173d8e260bc5e6c</param> +<param name="changesrevision">212a978e62575a70fa54d55179b682dfd691c27d</param> </service> </servicedata> (No newline at EOF) ++++++ nfsnotify.patch ++++++ --- heartbeat/nfsnotify.in.orig 2021-12-06 11:36:48.000000000 +0100 +++ heartbeat/nfsnotify.in 2022-01-19 15:14:17.424694351 +0100 @@ -34,9 +34,11 @@ OCF_RESKEY_source_host_default="" OCF_RESKEY_notify_args_default="" +OCF_RESKEY_statd_path_default="/var/lib/nfs/statd" : ${OCF_RESKEY_source_host=${OCF_RESKEY_source_host_default}} : ${OCF_RESKEY_notify_args=${OCF_RESKEY_notify_args_default}} +: ${OCF_RESKEY_statd_path=${OCF_RESKEY_statd_path_default}} ####################################################################### @@ -50,7 +52,6 @@ NFSNOTIFY_TMP_DIR="${HA_RSCTMP}/nfsnotify_${OCF_RESOURCE_INSTANCE}/" HA_STATD_PIDFILE="$NFSNOTIFY_TMP_DIR/rpc.statd_${OCF_RESOURCE_INSTANCE}.pid" HA_STATD_PIDFILE_PREV="$NFSNOTIFY_TMP_DIR/rpc.statd_${OCF_RESOURCE_INSTANCE}.pid.prev" -STATD_PATH="/var/lib/nfs/statd" SM_NOTIFY_BINARY="${sbindir}/sm-notify" IS_RENOTIFY=0 @@ -78,6 +79,15 @@ <content type="string" default="${OCF_RESKEY_source_host_default}" /> </parameter> +<parameter name="statd_path" unique="0" required="0"> +<longdesc lang="en"> +Path to the directory in which the statd state lives. This needs +to be on shared storage. +</longdesc> +<shortdesc lang="en">statd state directory path</shortdesc> +<content type="string" default="${OCF_RESKEY_statd_path_default}" /> +</parameter> + <parameter name="notify_args" unique="0" required="0"> <longdesc lang="en"> Additional arguments to send to the sm-notify command. By default @@ -91,6 +101,15 @@ <content type="string" default="${OCF_RESKEY_notify_args_default}" /> </parameter> +<parameter name="statd_path" unique="0" required="0"> +<longdesc lang="en"> +Path to the directory in which the statd state lives. This needs +to be on shared storage. +</longdesc> +<shortdesc lang="en">statd state directory path</shortdesc> +<content type="string" default="${OCF_RESKEY_statd_path_default}" /> +</parameter> + </parameters> <actions> @@ -246,12 +265,12 @@ is_renotify=1 fi - statd_backup="$STATD_PATH/nfsnotify.bu" - copy_statd "$STATD_PATH" "$statd_backup" + statd_backup="$OCF_RESKEY_statd_path/nfsnotify.bu" + copy_statd "$OCF_RESKEY_statd_path" "$statd_backup" if [ -z "$OCF_RESKEY_source_host" ]; then if [ "$is_renotify" -eq 0 ]; then - cur_statd="$STATD_PATH" + cur_statd="$OCF_RESKEY_statd_path" else cur_statd="$statd_backup" fi @@ -271,13 +290,13 @@ # have the first sm-notify use the actual statd directory so the # notify list can be managed properly. if [ "$is_renotify" -eq 0 ]; then - cur_statd="$STATD_PATH" + cur_statd="$OCF_RESKEY_statd_path" # everything after the first notify we are considering a renotification # which means we don't use the real statd directory. is_renotify=1 else # use our copied statd directory for the remaining ip addresses - cur_statd="$STATD_PATH/nfsnotify_${OCF_RESOURCE_INSTANCE}_${ip}" + cur_statd="$OCF_RESKEY_statd_path/nfsnotify_${OCF_RESOURCE_INSTANCE}_${ip}" copy_statd "$statd_backup" "$cur_statd" fi @@ -312,7 +331,7 @@ which restorecon > /dev/null 2>&1 && selinuxenabled SELINUX_ENABLED=$? if [ $SELINUX_ENABLED -eq 0 ]; then - export SELINUX_LABEL="$(ls -dZ $STATD_PATH | grep -o '\S\+:\S\+:\S\+')" + export SELINUX_LABEL="$(ls -dZ $OCF_RESKEY_statd_path | grep -o '\S\+:\S\+:\S\+')" fi case $__OCF_ACTION in ++++++ portblock.patch ++++++ --- heartbeat/portblock.orig 2022-01-19 15:27:39.056294933 +0100 +++ heartbeat/portblock 2022-01-19 17:43:18.986060453 +0100 @@ -299,7 +299,8 @@ tickle_remote() { [ -z "$OCF_RESKEY_tickle_dir" ] && return - echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle + [ -f "/proc/sys/net/ipv4/tcp_tw_recycle" ] && echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle + [ -f "/proc/sys/net/ipv4/tcp_tw_reuse" ] && echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse f=$OCF_RESKEY_tickle_dir/$OCF_RESKEY_ip [ -r $f ] || return $TICKLETCP -n 3 < $f ++++++ resource-agents-4.10.0+git22.a614b31c.tar.xz -> resource-agents-4.10.0+git40.0f4de473.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/configure.ac new/resource-agents-4.10.0+git40.0f4de473/configure.ac --- old/resource-agents-4.10.0+git22.a614b31c/configure.ac 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/configure.ac 2022-01-18 17:10:34.000000000 +0100 @@ -206,7 +206,7 @@ [ HA_RSCTMPDIR="$withval" ]) AC_ARG_ENABLE([libnet], - [ --enable-libnet Use libnet for ARP based funcationality, [default=try]], + [ --enable-libnet Use libnet for ARP based functionality, [default=try]], [enable_libnet="$enableval"], [enable_libnet=try]) BUILD_RGMANAGER=0 @@ -855,7 +855,8 @@ -Wpointer-arith -Wstrict-prototypes -Wunsigned-char - -Wwrite-strings" + -Wwrite-strings + -Wno-maybe-uninitialized" # Additional warnings it might be nice to enable one day # -Wshadow diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/doc/man/Makefile.am new/resource-agents-4.10.0+git40.0f4de473/doc/man/Makefile.am --- old/resource-agents-4.10.0+git22.a614b31c/doc/man/Makefile.am 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/doc/man/Makefile.am 2022-01-18 17:10:34.000000000 +0100 @@ -43,7 +43,7 @@ symlinkstargets = \ ocf-distro ocf.py ocf-rarun ocf-returncodes \ findif.sh apache-conf.sh http-mon.sh mysql-common.sh \ - nfsserver-redhat.sh ora-common.sh + nfsserver-redhat.sh openstack-common.sh ora-common.sh preptree: for i in $(symlinkstargets); do \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/LVM-activate new/resource-agents-4.10.0+git40.0f4de473/heartbeat/LVM-activate --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/LVM-activate 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/LVM-activate 2022-01-18 17:10:34.000000000 +0100 @@ -314,7 +314,7 @@ esac if ! vgchange --addtag $OUR_TAG ${VG} ; then - ocf_log err "Failed to add ownership tag to ${VG}" + ocf_exit_reason "Failed to add ownership tag to ${VG}" return $OCF_ERR_GENERIC fi @@ -632,7 +632,7 @@ ocf_run vgchange --lockstart ${VG} rc=$? if [ $rc -ne $OCF_SUCCESS ]; then - ocf_log err "Failed to start shared VG(s), exit code: $rc" + ocf_exit_reason "Failed to start shared VG(s), exit code: $rc" return $OCF_ERR_GENERIC fi @@ -686,7 +686,7 @@ tagging_activate() { if ! set_tags ; then - ocf_log err "Failed to set tags on ${VG}." + ocf_exit_reason "Failed to set tags on ${VG}." return $OCF_ERR_GENERIC fi @@ -711,7 +711,7 @@ ocf_run vgchange --lockstop ${VG} rc=$? if [ $rc -ne $OCF_SUCCESS ]; then - ocf_log err "Failed to close the shared VG lockspace, exit code: $rc" + ocf_exit_reason "Failed to close the shared VG lockspace, exit code: $rc" return $OCF_ERR_GENERIC fi @@ -743,7 +743,7 @@ fi if ! strip_tags ; then - ocf_log err "Failed to remove tags on ${VG}." + ocf_exit_reason "Failed to remove tags on ${VG}." return $OCF_ERR_GENERIC fi @@ -898,7 +898,7 @@ tagging_deactivate ;; *) - ocf_log err "VG [${VG}] is not properly configured in cluster. It's unsafe!" + ocf_exit_reason "VG [${VG}] is not properly configured in cluster. It's unsafe!" exit $OCF_SUCCESS ;; esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/Makefile.am new/resource-agents-4.10.0+git40.0f4de473/heartbeat/Makefile.am --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/Makefile.am 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/Makefile.am 2022-01-18 17:10:34.000000000 +0100 @@ -212,6 +212,7 @@ lvm-clvm.sh \ lvm-plain.sh \ lvm-tag.sh \ + openstack-common.sh \ ora-common.sh \ mysql-common.sh \ nfsserver-redhat.sh \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/Route new/resource-agents-4.10.0+git40.0f4de473/heartbeat/Route --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/Route 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/Route 2022-01-18 17:10:34.000000000 +0100 @@ -227,15 +227,6 @@ } route_status() { - if [ -n "${OCF_RESKEY_device}" ]; then - # Must check if device exists or is gone. - # If device is gone, route is also unconfigured. - ip link show dev ${OCF_RESKEY_device} >/dev/null 2>&1 - if [ $? -ne 0 ]; then - # Assume device does not exist, and short-circuit here. - return $OCF_NOT_RUNNING - fi - fi show_output="$(ip $addr_family route show $(create_route_spec) 2>/dev/null)" if [ $? -eq 0 ]; then if [ -n "$show_output" ]; then @@ -251,7 +242,11 @@ else # "ip route show" returned an error code. Assume something # went wrong. - return $OCF_ERR_GENERIC + if ocf_is_probe; then + return $OCF_NOT_RUNNING + else + return $OCF_ERR_GENERIC + fi fi } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-cinder-volume new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-cinder-volume --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-cinder-volume 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-cinder-volume 2022-01-18 17:10:34.000000000 +0100 @@ -34,11 +34,11 @@ : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat} . ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs +. ${OCF_FUNCTIONS_DIR}/openstack-common.sh + # Defaults -OCF_RESKEY_openstackcli_default="/usr/bin/openstack" OCF_RESKEY_volume_local_check_default="true" -: ${OCF_RESKEY_openstackcli=${OCF_RESKEY_openstackcli_default}} : ${OCF_RESKEY_volume_local_check=${OCF_RESKEY_volume_local_check_default}} ####################################################################### @@ -68,14 +68,11 @@ <shortdesc lang="en">Attach a cinder volume</shortdesc> <parameters> -<parameter name="openstackcli"> -<longdesc lang="en"> -Path to command line tools for openstack. -</longdesc> -<shortdesc lang="en">Path to Openstack CLI tool</shortdesc> -<content type="string" default="${OCF_RESKEY_openstackcli_default}" /> -</parameter> +END +common_meta_data + +cat <<END <parameter name="volume_local_check"> <longdesc lang="en"> This option allows the cluster to monitor the cinder volume presence without @@ -85,22 +82,13 @@ <content type="boolean" default="${OCF_RESKEY_volume_local_check_default}" /> </parameter> -<parameter name="openrc" required="1"> -<longdesc lang="en"> -Valid Openstack credentials as openrc file from api_access/openrc. -</longdesc> -<shortdesc lang="en">openrc file</shortdesc> -<content type="string" /> -</parameter> - <parameter name="volume_id" required="1"> <longdesc lang="en"> -Cinder volume identifier to use to attach the bloc storage. +Cinder volume identifier to use to attach the block storage. </longdesc> <shortdesc lang="en">Volume ID</shortdesc> <content type="string" /> </parameter> - </parameters> <actions> @@ -127,17 +115,7 @@ osvol_validate() { check_binary "$OCF_RESKEY_openstackcli" - if [ -z "$OCF_RESKEY_openrc" ]; then - ocf_exit_reason "openrc parameter not set" - return $OCF_ERR_CONFIGURED - fi - - if [ ! -f "$OCF_RESKEY_openrc" ] ; then - ocf_exit_reason "openrc file not found" - return $OCF_ERR_CONFIGURED - fi - - . $OCF_RESKEY_openrc + get_config if ! $OCF_RESKEY_openstackcli volume list|grep -q $OCF_RESKEY_volume_id ; then ocf_exit_reason "volume-id $OCF_RESKEY_volume_id not found" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-common.sh new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-common.sh --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-common.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-common.sh 2022-01-18 17:10:34.000000000 +0100 @@ -0,0 +1,147 @@ +OCF_RESKEY_openstackcli_default="/usr/bin/openstack" +OCF_RESKEY_insecure_default="false" + +: ${OCF_RESKEY_openstackcli=${OCF_RESKEY_openstackcli_default}} +: ${OCF_RESKEY_insecure=${OCF_RESKEY_insecure_default}} + +if ocf_is_true "${OCF_RESKEY_insecure}"; then + OCF_RESKEY_openstackcli="${OCF_RESKEY_openstackcli} --insecure" +fi + +common_meta_data() { + cat <<END + +<parameter name="cloud" required="0"> +<longdesc lang="en"> +Openstack cloud (from ~/.config/openstack/clouds.yaml or /etc/openstack/clouds.yaml). +</longdesc> +<shortdesc lang="en">Cloud from clouds.yaml</shortdesc> +<content type="string" /> +</parameter> + +<parameter name="openrc" required="0"> +<longdesc lang="en"> +Openstack credentials as openrc file from api_access/openrc. +</longdesc> +<shortdesc lang="en">openrc file</shortdesc> +<content type="string" /> +</parameter> + +<parameter name="auth_url" required="0"> +<longdesc lang="en"> +Keystone Auth URL +</longdesc> +<shortdesc lang="en">Keystone Auth URL</shortdesc> +<content type="string" /> +</parameter> + +<parameter name="username" required="0"> +<longdesc lang="en"> +Username. +</longdesc> +<shortdesc lang="en">Username</shortdesc> +<content type="string" /> +</parameter> + +<parameter name="password" required="0"> +<longdesc lang="en"> +Password. +</longdesc> +<shortdesc lang="en">Password</shortdesc> +<content type="string" /> +</parameter> + +<parameter name="project_name" required="0"> +<longdesc lang="en"> +Keystone Project. +</longdesc> +<shortdesc lang="en">Keystone Project</shortdesc> +<content type="string" /> +</parameter> + +<parameter name="user_domain_name" required="0"> +<longdesc lang="en"> +Keystone User Domain Name. +</longdesc> +<shortdesc lang="en">Keystone User Domain Name</shortdesc> +<content type="string" /> +</parameter> + +<parameter name="project_domain_name" required="0"> +<longdesc lang="en"> +Keystone Project Domain Name. +</longdesc> +<shortdesc lang="en">Keystone Project Domain Name</shortdesc> +<content type="string" /> +</parameter> + +<parameter name="openstackcli"> +<longdesc lang="en"> +Path to command line tools for openstack. +</longdesc> +<shortdesc lang="en">Path to Openstack CLI tool</shortdesc> +<content type="string" default="${OCF_RESKEY_openstackcli_default}" /> +</parameter> + +<parameter name="insecure"> +<longdesc lang="en"> +Allow insecure connections +</longdesc> +<shortdesc lang="en">Allow insecure connections</shortdesc> +<content type="boolean" default="${OCF_RESKEY_insecure_default}" /> +</parameter> +END +} + +get_config() { + if [ -n "$OCF_RESKEY_cloud" ]; then + TILDE=$(echo ~) + clouds_yaml="$TILDE/.config/openstack/clouds.yaml" + if [ ! -f "$clouds_yaml" ]; then + clouds_yaml="/etc/openstack/clouds.yaml" + fi + if [ ! -f "$clouds_yaml" ]; then + ocf_exit_reason "~/.config/openstack/clouds.yaml and /etc/openstack/clouds.yaml does not exist" + exit $OCF_ERR_CONFIGURED + fi + OCF_RESKEY_openstackcli="${OCF_RESKEY_openstackcli} --os-cloud $OCF_RESKEY_cloud" + elif [ -n "$OCF_RESKEY_openrc" ]; then + if [ ! -f "$OCF_RESKEY_openrc" ]; then + ocf_exit_reason "$OCF_RESKEY_openrc does not exist" + exit $OCF_ERR_CONFIGURED + fi + . $OCF_RESKEY_openrc + else + if [ -z "$OCF_RESKEY_auth_url" ]; then + ocf_exit_reason "auth_url not set" + exit $OCF_ERR_CONFIGURED + fi + if [ -z "$OCF_RESKEY_username" ]; then + ocf_exit_reason "username not set" + exit $OCF_ERR_CONFIGURED + fi + if [ -z "$OCF_RESKEY_password" ]; then + ocf_exit_reason "password not set" + exit $OCF_ERR_CONFIGURED + fi + if [ -z "$OCF_RESKEY_project_name" ]; then + ocf_exit_reason "project_name not set" + exit $OCF_ERR_CONFIGURED + fi + if [ -z "$OCF_RESKEY_user_domain_name" ]; then + ocf_exit_reason "user_domain_name not set" + exit $OCF_ERR_CONFIGURED + fi + if [ -z "$OCF_RESKEY_project_domain_name" ]; then + ocf_exit_reason " not set" + exit $OCF_ERR_CONFIGURED + fi + + OCF_RESKEY_openstackcli="${OCF_RESKEY_openstackcli} --os-auth-url $OCF_RESKEY_auth_url" + OCF_RESKEY_openstackcli="${OCF_RESKEY_openstackcli} --os-username $OCF_RESKEY_username" + OCF_RESKEY_openstackcli="${OCF_RESKEY_openstackcli} --os-password $OCF_RESKEY_password" + OCF_RESKEY_openstackcli="${OCF_RESKEY_openstackcli} --os-project-name $OCF_RESKEY_project_name" + OCF_RESKEY_openstackcli="${OCF_RESKEY_openstackcli} --os-user-domain-name $OCF_RESKEY_user_domain_name" + OCF_RESKEY_openstackcli="${OCF_RESKEY_openstackcli} --os-project-domain-name $OCF_RESKEY_project_domain_name" + fi +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-floating-ip new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-floating-ip --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-floating-ip 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-floating-ip 2022-01-18 17:10:34.000000000 +0100 @@ -34,10 +34,9 @@ : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat} . ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs -# Defaults -OCF_RESKEY_openstackcli_default="/usr/bin/openstack" +. ${OCF_FUNCTIONS_DIR}/openstack-common.sh -: ${OCF_RESKEY_openstackcli=${OCF_RESKEY_openstackcli_default}} +# Defaults ####################################################################### @@ -67,22 +66,11 @@ <shortdesc lang="en">Move a floating IP</shortdesc> <parameters> -<parameter name="openstackcli"> -<longdesc lang="en"> -Path to command line tools for openstack. -</longdesc> -<shortdesc lang="en">Path to Openstack CLI tool</shortdesc> -<content type="string" default="${OCF_RESKEY_openstackcli_default}" /> -</parameter> +END -<parameter name="openrc" required="1"> -<longdesc lang="en"> -Valid Openstack credentials as openrc file from api_access/openrc. -</longdesc> -<shortdesc lang="en">openrc file</shortdesc> -<content type="string" /> -</parameter> +common_meta_data +cat <<END <parameter name="ip_id" required="1"> <longdesc lang="en"> Floating IP Identifier. @@ -115,17 +103,7 @@ osflip_validate() { check_binary "$OCF_RESKEY_openstackcli" - if [ -z "$OCF_RESKEY_openrc" ]; then - ocf_exit_reason "openrc parameter not set" - return $OCF_ERR_CONFIGURED - fi - - if [ ! -f "$OCF_RESKEY_openrc" ] ; then - ocf_exit_reason "openrc file not found" - return $OCF_ERR_CONFIGURED - fi - - . $OCF_RESKEY_openrc + get_config if ! $OCF_RESKEY_openstackcli floating ip list|grep -q $OCF_RESKEY_ip_id ; then ocf_exit_reason "ip-id $OCF_RESKEY_ip_id not found" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-info.in new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-info.in --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-info.in 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-info.in 2022-01-18 17:10:34.000000000 +0100 @@ -32,16 +32,16 @@ : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat} . ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs +. ${OCF_FUNCTIONS_DIR}/openstack-common.sh + # Defaults OCF_RESKEY_pidfile_default="$HA_RSCTMP/OSInfo-${OCF_RESOURCE_HOSTNAME}" OCF_RESKEY_delay_default="0" OCF_RESKEY_clone_default="0" OCF_RESKEY_curlcli_default="/usr/bin/curl" -OCF_RESKEY_openstackcli_default="/usr/bin/openstack" OCF_RESKEY_pythoncli_default="@PYTHON@" : ${OCF_RESKEY_curlcli=${OCF_RESKEY_curlcli_default}} -: ${OCF_RESKEY_openstackcli=${OCF_RESKEY_openstackcli_default}} : ${OCF_RESKEY_pythoncli=${OCF_RESKEY_pythoncli_default}} : ${OCF_RESKEY_pidfile=${OCF_RESKEY_pidfile_default}} : ${OCF_RESKEY_delay=${OCF_RESKEY_delay_default}} @@ -70,25 +70,23 @@ <shortdesc lang="en">Records various node attributes in the CIB</shortdesc> <parameters> +END + +common_meta_data + + cat <<END <parameter name="pidfile" unique="0"> <longdesc lang="en">PID file</longdesc> <shortdesc lang="en">PID file</shortdesc> <content type="string" default="${OCF_RESKEY_pidfile_default}" /> </parameter> + <parameter name="delay" unique="0"> <longdesc lang="en">Interval to allow values to stabilize</longdesc> <shortdesc lang="en">Dampening Delay</shortdesc> <content type="string" default="${OCF_RESKEY_delay_default}" /> </parameter> -<parameter name="openrc" required="1"> -<longdesc lang="en"> -Valid Openstack credentials as openrc file from api_access/openrc. -</longdesc> -<shortdesc lang="en">openrc file</shortdesc> -<content type="string" /> -</parameter> - <parameter name="curlcli"> <longdesc lang="en"> Path to command line cURL binary. @@ -97,14 +95,6 @@ <content type="string" default="${OCF_RESKEY_curlcli_default}" /> </parameter> -<parameter name="openstackcli"> -<longdesc lang="en"> -Path to command line tools for openstack. -</longdesc> -<shortdesc lang="en">Path to Openstack CLI tool</shortdesc> -<content type="string" default="${OCF_RESKEY_openstackcli_default}" /> -</parameter> - <parameter name="pythoncli"> <longdesc lang="en"> Path to command line Python interpreter. @@ -116,9 +106,9 @@ </parameters> <actions> -<action name="start" timeout="20s" /> -<action name="stop" timeout="20s" /> -<action name="monitor" timeout="20s" interval="60s"/> +<action name="start" timeout="180s" /> +<action name="stop" timeout="180s" /> +<action name="monitor" timeout="30s" interval="60s"/> <action name="meta-data" timeout="5s" /> <action name="validate-all" timeout="20s" /> </actions> @@ -134,7 +124,7 @@ local node local node_id - . $OCF_RESKEY_openrc + get_config # Nova data: server ID node_id=$($OCF_RESKEY_curlcli \ @@ -244,16 +234,6 @@ check_binary "$OCF_RESKEY_openstackcli" check_binary "$OCF_RESKEY_pythoncli" - if [ -z "$OCF_RESKEY_openrc" ]; then - ocf_exit_reason "openrc parameter not set" - return $OCF_ERR_CONFIGURED - fi - - if [ ! -f "$OCF_RESKEY_openrc" ] ; then - ocf_exit_reason "openrc file not found" - return $OCF_ERR_CONFIGURED - fi - return $OCF_SUCCESS } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-virtual-ip new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-virtual-ip --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/openstack-virtual-ip 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/openstack-virtual-ip 2022-01-18 17:10:34.000000000 +0100 @@ -34,10 +34,9 @@ : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat} . ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs -# Defaults -OCF_RESKEY_openstackcli_default="/usr/bin/openstack" +. ${OCF_FUNCTIONS_DIR}/openstack-common.sh -: ${OCF_RESKEY_openstackcli=${OCF_RESKEY_openstackcli_default}} +# Defaults ####################################################################### @@ -68,22 +67,11 @@ <shortdesc lang="en">Move a virtual IP</shortdesc> <parameters> -<parameter name="openstackcli"> -<longdesc lang="en"> -Path to command line tools for openstack. -</longdesc> -<shortdesc lang="en">Path to Openstack CLI tool</shortdesc> -<content type="string" default="${OCF_RESKEY_openstackcli_default}" /> -</parameter> +END -<parameter name="openrc" required="1"> -<longdesc lang="en"> -Valid Openstack credentials as openrc file from api_access/openrc. -</longdesc> -<shortdesc lang="en">openrc file</shortdesc> -<content type="string" /> -</parameter> +common_meta_data +cat <<END <parameter name="ip" required="1"> <longdesc lang="en"> Virtual IP Address. @@ -128,17 +116,7 @@ osvip_validate() { check_binary "$OCF_RESKEY_openstackcli" - if [ -z "$OCF_RESKEY_openrc" ]; then - ocf_exit_reason "openrc parameter not set" - return $OCF_ERR_CONFIGURED - fi - - if [ ! -f "$OCF_RESKEY_openrc" ] ; then - ocf_exit_reason "openrc file not found" - return $OCF_ERR_CONFIGURED - fi - - . $OCF_RESKEY_openrc + get_config ${HA_SBIN_DIR}/attrd_updater --query -n openstack_ports -N $(crm_node -n) > /dev/null 2>&1 if [ $? -ne 0 ] ; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-4.10.0+git22.a614b31c/heartbeat/podman new/resource-agents-4.10.0+git40.0f4de473/heartbeat/podman --- old/resource-agents-4.10.0+git22.a614b31c/heartbeat/podman 2021-12-06 11:36:48.000000000 +0100 +++ new/resource-agents-4.10.0+git40.0f4de473/heartbeat/podman 2022-01-18 17:10:34.000000000 +0100 @@ -251,7 +251,7 @@ return 0 fi ocf_log notice "Cleaning up inactive container, ${CONTAINER}." - ocf_run podman rm $CONTAINER + ocf_run podman rm -v $CONTAINER rc=$? if [ $rc -ne 0 ]; then # due to a podman bug (rhbz#1841485), sometimes a stopped