Skip to content

Commit 3959cc9

Browse files
OPENSTACK-2894: use utf-8 code for bigip configuration
1 parent b4660d1 commit 3959cc9

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

f5/bigip/resource.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
"orderreddict external dependency installed.")
9999
raise exc(message)
100100
import copy
101+
import json
101102
import keyword
102103
import re
103104
import time
@@ -404,7 +405,8 @@ def _modify(self, **patch):
404405
# Handles ConnectionAborted errors
405406
for i in range(0, 30):
406407
try:
407-
response = session.patch(patch_uri, json=patch, **requests_params)
408+
response = session.patch(
409+
patch_uri, data=patch, **requests_params)
408410
break
409411
except ConnectionError as ex:
410412
if 'Connection aborted' in str(ex) and i < 29:
@@ -451,6 +453,7 @@ def _prepare_request_json(self, kwargs):
451453
kwargs.pop('check')
452454
od.update(kwargs)
453455
return od
456+
kwargs = json.dumps(kwargs, ensure_ascii=False).encode('utf-8')
454457
return kwargs
455458

456459
def _iter_list_for_dicts(self, check_list):
@@ -588,7 +591,8 @@ def _update(self, **kwargs):
588591
# @see https://github.com/requests/requests/issues/2364
589592
for i in range(0, 30):
590593
try:
591-
response = session.put(update_uri, json=data_dict, **requests_params)
594+
response = session.put(
595+
update_uri, data=data_dict, **requests_params)
592596
self._meta_data = temp_meta
593597
self._local_update(response.json())
594598
break
@@ -993,7 +997,8 @@ def _create(self, **kwargs):
993997
# Handles ConnectionAborted errors
994998
for i in range(0, 30):
995999
try:
996-
response = session.post(_create_uri, json=kwargs, **requests_params)
1000+
response = session.post(
1001+
_create_uri, data=kwargs, **requests_params)
9971002
break
9981003
except ConnectionError as ex:
9991004
if 'Connection aborted' in str(ex) and i < 29:

f5/bigip/test/unit/test_resource.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -272,23 +272,23 @@ def test_reduce_boolean_removes_enabled(self, fake_vs):
272272
fake_vs.create(partition="Common", name="test_create", enabled=False)
273273
session = fake_vs._meta_data['bigip']._meta_data['icr_session']
274274
pos, kwargs = session.post.call_args
275-
assert kwargs['json']['disabled'] is True
276-
assert 'enabled' not in kwargs['json']
275+
assert '"disabled": true' in kwargs
276+
assert 'enabled' not in kwargs
277277

278278
def test_reduce_boolean_removes_disabled(self, fake_vs):
279279
fake_vs.create(partition='Common', name='test_create',
280280
disabled=False)
281281
session = fake_vs._meta_data['bigip']._meta_data['icr_session']
282282
pos, kwargs = session.post.call_args
283-
assert kwargs['json']['enabled'] is True
284-
assert 'disabled' not in kwargs['json']
283+
assert '"enabled": true' in kwargs
284+
assert 'disabled' not in kwargs
285285

286286
def test_reduce_boolean_removes_nothing(self, fake_vs):
287287
fake_vs.create(partition='Common', name='test_create', enabled=True)
288288
session = fake_vs._meta_data['bigip']._meta_data['icr_session']
289289
pos, kwargs = session.post.call_args
290-
assert kwargs['json']['enabled'] is True
291-
assert 'disabled' not in kwargs['json']
290+
assert '"enabled": true' in kwargs
291+
assert 'disabled' not in kwargs
292292

293293
def test_reduce_boolean_same_value(self, fake_vs):
294294
with pytest.raises(ExclusiveAttributesPresent) as ex:

0 commit comments

Comments
 (0)