From 685b7506a769debf90fa6c94fe07e9b1a0595a52 Mon Sep 17 00:00:00 2001
From: Takashi Kajinami <kajinamit@oss.nttdata.com>
Date: Sun, 19 May 2024 22:55:03 +0900
Subject: [PATCH] Drop direct dependency on simplejson

The simplejson library is not included by the requirements but it was
directly imported. Drop the direct inclusion and use the alias in
the requests library to avoid ImportError caused by missing simplejson
in the environment.

Also fix the missing requests library in requirements.

Change-Id: I8713f45c5f2717cc53ba043aaeb479e72f641f78
(cherry picked from commit cf6dd62dd14bb3e234b6e9f6ed716db1154e187f)
---
 openstackclient/api/api.py | 7 +++----
 requirements.txt           | 1 +
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/openstackclient/api/api.py b/openstackclient/api/api.py
index f02c87dcca..7c8fb859fa 100644
--- a/openstackclient/api/api.py
+++ b/openstackclient/api/api.py
@@ -12,11 +12,10 @@
 #
 
 """Base API Library"""
-
 from keystoneauth1 import exceptions as ks_exceptions
 from keystoneauth1 import session as ks_session
 from osc_lib import exceptions
-import simplejson as json
+import requests
 
 from openstackclient.i18n import _
 
@@ -118,7 +117,7 @@ class BaseAPI(KeystoneSession):
         # Should this move into _requests()?
         try:
             return ret.json()
-        except json.JSONDecodeError:
+        except requests.JSONDecodeError:
             return ret
 
     def delete(self, url, session=None, **params):
@@ -169,7 +168,7 @@ class BaseAPI(KeystoneSession):
             )
         try:
             return ret.json()
-        except json.JSONDecodeError:
+        except requests.JSONDecodeError:
             return ret
 
     # Layered actions built on top of the basic action methods do not
diff --git a/requirements.txt b/requirements.txt
index a1b87a0429..0cc6c7e880 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13,4 +13,5 @@ oslo.i18n>=3.15.3 # Apache-2.0
 python-keystoneclient>=3.22.0 # Apache-2.0
 python-novaclient>=18.1.0 # Apache-2.0
 python-cinderclient>=3.3.0 # Apache-2.0
+requests>=2.14.2 # Apache-2.0
 stevedore>=2.0.1 # Apache-2.0