73 lines
2.7 KiB
Diff
73 lines
2.7 KiB
Diff
|
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" />
|