From f79436d3a5e4cf279be0974e9633ad8994a017f7 Mon Sep 17 00:00:00 2001
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
Date: Mon, 6 Dec 2021 12:59:31 +0100
Subject: [PATCH] fence_openstack: add --ssl-insecure
---
agents/openstack/fence_openstack.py | 7 +++++--
tests/data/metadata/fence_openstack.xml | 5 +++++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/agents/openstack/fence_openstack.py b/agents/openstack/fence_openstack.py
index c480596c1..c2d9df160 100755
--- a/agents/openstack/fence_openstack.py
+++ b/agents/openstack/fence_openstack.py
@@ -89,7 +89,7 @@ def set_power_status(conn, options):
def nova_login(username, password, projectname, auth_url, user_domain_name,
- project_domain_name, cacert, apitimeout):
+ project_domain_name, ssl_insecure, cacert, apitimeout):
legacy_import = False
try:
@@ -127,7 +127,7 @@ def nova_login(username, password, projectname, auth_url, user_domain_name,
cacert=cacert,
)
- session = ksc_session.Session(auth=auth, verify=cacert, timeout=apitimeout)
+ session = ksc_session.Session(auth=auth, verify=False if ssl_insecure else cacert, timeout=apitimeout)
nova = client.Client("2", session=session, timeout=apitimeout)
apiversion = None
try:
@@ -220,6 +220,7 @@ def main():
"port",
"no_port",
"uuid",
+ "ssl_insecure",
"cacert",
"apitimeout",
]
@@ -268,6 +269,7 @@ def main():
fail_usage("Failed: You have to set the Keystone service endpoint for authorization")
user_domain_name = options["--user-domain-name"]
project_domain_name = options["--project-domain-name"]
+ ssl_insecure = "--ssl-insecure" in options
cacert = options["--cacert"]
apitimeout = options["--apitimeout"]
try:
@@ -278,6 +280,7 @@ def main():
auth_url,
user_domain_name,
project_domain_name,
+ ssl_insecure,
cacert,
apitimeout,
)
diff --git a/tests/data/metadata/fence_openstack.xml b/tests/data/metadata/fence_openstack.xml
index 84503bbe0..926d18c3d 100644
--- a/tests/data/metadata/fence_openstack.xml
+++ b/tests/data/metadata/fence_openstack.xml
@@ -43,6 +43,11 @@
<content type="string" />
<shortdesc lang="en">UUID of the node to be fenced.</shortdesc>
</parameter>
+ <parameter name="ssl_insecure" unique="0" required="0">
+ <getopt mixed="--ssl-insecure" />
+ <content type="boolean" />
+ <shortdesc lang="en">Use SSL connection without verifying certificate</shortdesc>
+ </parameter>
<parameter name="username" unique="0" required="1" obsoletes="login">
<getopt mixed="-l, --username=[name]" />
<content type="string" />