Blame SOURCES/bz1913932-1-gcp-vpc-move-add-project-parameter.patch

fd7b9a
From 560683500b3f9d5d8e183a569daea27422ae5268 Mon Sep 17 00:00:00 2001
fd7b9a
From: Reid Wahl <nrwahl@protonmail.com>
fd7b9a
Date: Thu, 7 Jan 2021 12:25:04 -0800
fd7b9a
Subject: [PATCH] gcp-vpc-move-route, gcp-vpc-move-vip: Parameterize project ID
fd7b9a
fd7b9a
Resolves: RHBZ#1913932
fd7b9a
Resolves: RHBZ#1913936
fd7b9a
fd7b9a
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
fd7b9a
---
fd7b9a
 heartbeat/gcp-vpc-move-route.in | 13 ++++++++++++-
fd7b9a
 heartbeat/gcp-vpc-move-vip.in   | 16 ++++++++++++++--
fd7b9a
 2 files changed, 26 insertions(+), 3 deletions(-)
fd7b9a
fd7b9a
diff --git a/heartbeat/gcp-vpc-move-route.in b/heartbeat/gcp-vpc-move-route.in
fd7b9a
index d8e8ea8dd..179eba15a 100644
fd7b9a
--- a/heartbeat/gcp-vpc-move-route.in
fd7b9a
+++ b/heartbeat/gcp-vpc-move-route.in
fd7b9a
@@ -106,6 +106,16 @@ Name of the VPC network
fd7b9a
 <content type="string" default="default" />
fd7b9a
 </parameter>
fd7b9a
 
fd7b9a
+<parameter name="project">
fd7b9a
+<longdesc lang="en">
fd7b9a
+Project ID of the instance. It can be useful to set this attribute if
fd7b9a
+the instance is in a shared service project. Otherwise, the agent should
fd7b9a
+be able to determine the project ID automatically.
fd7b9a
+</longdesc>
fd7b9a
+<shortdesc lang="en">Project ID</shortdesc>
fd7b9a
+<content type="string" default="default" />
fd7b9a
+</parameter>
fd7b9a
+
fd7b9a
 <parameter name="interface">
fd7b9a
 <longdesc lang="en">
fd7b9a
 Name of the network interface
fd7b9a
@@ -215,7 +225,8 @@ def validate(ctx):
fd7b9a
   try:
fd7b9a
     ctx.instance = get_metadata('instance/name')
fd7b9a
     ctx.zone = get_metadata('instance/zone').split('/')[-1]
fd7b9a
-    ctx.project = get_metadata('project/project-id')
fd7b9a
+    ctx.project = os.environ.get(
fd7b9a
+        'OCF_RESKEY_project', get_metadata('project/project-id'))
fd7b9a
   except Exception as e:
fd7b9a
     logger.error(
fd7b9a
         'Instance information not found. Is this a GCE instance ?: %s', str(e))
fd7b9a
diff --git a/heartbeat/gcp-vpc-move-vip.in b/heartbeat/gcp-vpc-move-vip.in
fd7b9a
index 01d91a59d..e792f71d5 100755
fd7b9a
--- a/heartbeat/gcp-vpc-move-vip.in
fd7b9a
+++ b/heartbeat/gcp-vpc-move-vip.in
fd7b9a
@@ -75,6 +75,16 @@ METADATA = \
fd7b9a
       <shortdesc lang="en">Host list</shortdesc>
fd7b9a
       <content type="string" default="" />
fd7b9a
     </parameter>
fd7b9a
+    <parameter name="project" unique="0" required="0">
fd7b9a
+      <longdesc lang="en">
fd7b9a
+        Project ID of the instance. It can be useful to set this
fd7b9a
+        attribute if the instance is in a shared service project.
fd7b9a
+        Otherwise, the agent should be able to determine the project ID
fd7b9a
+        automatically.
fd7b9a
+      </longdesc>
fd7b9a
+      <shortdesc lang="en">Project ID</shortdesc>
fd7b9a
+      <content type="string" default="default" />
fd7b9a
+    </parameter>
fd7b9a
     <parameter name="stackdriver_logging" unique="0" required="0">
fd7b9a
       <longdesc lang="en">If enabled (set to true), IP failover logs will be posted to stackdriver logging</longdesc>
fd7b9a
       <shortdesc lang="en">Stackdriver-logging support</shortdesc>
fd7b9a
@@ -267,7 +277,8 @@ def get_instances_list(project, exclude):
fd7b9a
 def gcp_alias_start(alias):
fd7b9a
   my_aliases = get_localhost_aliases()
fd7b9a
   my_zone = get_metadata('instance/zone').split('/')[-1]
fd7b9a
-  project = get_metadata('project/project-id')
fd7b9a
+  project = os.environ.get(
fd7b9a
+        'OCF_RESKEY_project', get_metadata('project/project-id'))
fd7b9a
 
fd7b9a
   if alias in my_aliases:
fd7b9a
     # TODO: Do we need to check alias_range_name?
fd7b9a
@@ -315,7 +326,8 @@ def gcp_alias_start(alias):
fd7b9a
 def gcp_alias_stop(alias):
fd7b9a
   my_aliases = get_localhost_aliases()
fd7b9a
   my_zone = get_metadata('instance/zone').split('/')[-1]
fd7b9a
-  project = get_metadata('project/project-id')
fd7b9a
+  project = os.environ.get(
fd7b9a
+        'OCF_RESKEY_project', get_metadata('project/project-id'))
fd7b9a
 
fd7b9a
   if alias in my_aliases:
fd7b9a
     logger.info('Removing %s from %s' % (alias, THIS_VM))