Merge "Fix calls to functions removed from openstacksdk"
This commit is contained in:
commit
c859563455
@ -220,8 +220,8 @@ class ClientTest(testtools.TestCase):
|
||||
sc = client.Client()
|
||||
|
||||
res = sc.cluster_add_nodes('FAKE_ID', ['NODE1', 'NODE2'])
|
||||
self.assertEqual(self.service.cluster_add_nodes.return_value, res)
|
||||
self.service.cluster_add_nodes.assert_called_once_with(
|
||||
self.assertEqual(self.service.add_nodes_to_cluster.return_value, res)
|
||||
self.service.add_nodes_to_cluster.assert_called_once_with(
|
||||
'FAKE_ID', ['NODE1', 'NODE2'])
|
||||
|
||||
def test_cluster_del_nodes(self, mock_conn):
|
||||
@ -229,8 +229,9 @@ class ClientTest(testtools.TestCase):
|
||||
sc = client.Client()
|
||||
|
||||
res = sc.cluster_del_nodes('FAKE_ID', ['NODE1', 'NODE2'])
|
||||
self.assertEqual(self.service.cluster_del_nodes.return_value, res)
|
||||
self.service.cluster_del_nodes.assert_called_once_with(
|
||||
self.assertEqual(self.service.remove_nodes_from_cluster.return_value,
|
||||
res)
|
||||
self.service.remove_nodes_from_cluster.assert_called_once_with(
|
||||
'FAKE_ID', ['NODE1', 'NODE2'])
|
||||
|
||||
def test_cluster_resize(self, mock_conn):
|
||||
@ -238,8 +239,8 @@ class ClientTest(testtools.TestCase):
|
||||
sc = client.Client()
|
||||
|
||||
res = sc.cluster_resize('FAKE_ID', foo='bar', zoo=1)
|
||||
self.assertEqual(self.service.cluster_resize.return_value, res)
|
||||
self.service.cluster_resize.assert_called_once_with(
|
||||
self.assertEqual(self.service.resize_cluster.return_value, res)
|
||||
self.service.resize_cluster.assert_called_once_with(
|
||||
'FAKE_ID', foo='bar', zoo=1)
|
||||
|
||||
def test_cluster_scale_in(self, mock_conn):
|
||||
@ -247,8 +248,8 @@ class ClientTest(testtools.TestCase):
|
||||
sc = client.Client()
|
||||
|
||||
res = sc.cluster_scale_in('FAKE_ID', 3)
|
||||
self.assertEqual(self.service.cluster_scale_in.return_value, res)
|
||||
self.service.cluster_scale_in.assert_called_once_with(
|
||||
self.assertEqual(self.service.scale_in_cluster.return_value, res)
|
||||
self.service.scale_in_cluster.assert_called_once_with(
|
||||
'FAKE_ID', 3)
|
||||
|
||||
def test_cluster_scale_out(self, mock_conn):
|
||||
@ -256,8 +257,8 @@ class ClientTest(testtools.TestCase):
|
||||
sc = client.Client()
|
||||
|
||||
res = sc.cluster_scale_out('FAKE_ID', 3)
|
||||
self.assertEqual(self.service.cluster_scale_out.return_value, res)
|
||||
self.service.cluster_scale_out.assert_called_once_with(
|
||||
self.assertEqual(self.service.scale_out_cluster.return_value, res)
|
||||
self.service.scale_out_cluster.assert_called_once_with(
|
||||
'FAKE_ID', 3)
|
||||
|
||||
def test_cluster_policies(self, mock_conn):
|
||||
@ -283,8 +284,9 @@ class ClientTest(testtools.TestCase):
|
||||
sc = client.Client()
|
||||
|
||||
res = sc.cluster_attach_policy('FOO', 'BAR', zoo='car')
|
||||
self.assertEqual(self.service.cluster_attach_policy.return_value, res)
|
||||
self.service.cluster_attach_policy.assert_called_once_with(
|
||||
self.assertEqual(self.service.attach_policy_to_cluster.return_value,
|
||||
res)
|
||||
self.service.attach_policy_to_cluster.assert_called_once_with(
|
||||
'FOO', 'BAR', zoo='car')
|
||||
|
||||
def test_cluster_detach_policy(self, mock_conn):
|
||||
@ -292,8 +294,9 @@ class ClientTest(testtools.TestCase):
|
||||
sc = client.Client()
|
||||
|
||||
res = sc.cluster_detach_policy('FOO', 'BAR')
|
||||
self.assertEqual(self.service.cluster_detach_policy.return_value, res)
|
||||
self.service.cluster_detach_policy.assert_called_once_with(
|
||||
self.assertEqual(self.service.detach_policy_from_cluster.return_value,
|
||||
res)
|
||||
self.service.detach_policy_from_cluster.assert_called_once_with(
|
||||
'FOO', 'BAR')
|
||||
|
||||
def test_cluster_update_policy(self, mock_conn):
|
||||
@ -301,8 +304,8 @@ class ClientTest(testtools.TestCase):
|
||||
sc = client.Client()
|
||||
|
||||
res = sc.cluster_update_policy('FOO', 'BAR', foo='bar')
|
||||
self.assertEqual(self.service.cluster_update_policy.return_value, res)
|
||||
self.service.cluster_update_policy.assert_called_once_with(
|
||||
self.assertEqual(self.service.update_cluster_policy.return_value, res)
|
||||
self.service.update_cluster_policy.assert_called_once_with(
|
||||
'FOO', 'BAR', foo='bar')
|
||||
|
||||
def test_check_cluster(self, mock_conn):
|
||||
|
@ -432,7 +432,7 @@ class TestClusterResize(TestCluster):
|
||||
def setUp(self):
|
||||
super(TestClusterResize, self).setUp()
|
||||
self.cmd = osc_cluster.ResizeCluster(self.app, None)
|
||||
self.mock_client.cluster_resize = mock.Mock(
|
||||
self.mock_client.resize_cluster = mock.Mock(
|
||||
return_value=self.response)
|
||||
|
||||
def test_cluster_resize_no_params(self):
|
||||
@ -460,7 +460,7 @@ class TestClusterResize(TestCluster):
|
||||
'my_cluster', '--strict']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_resize.assert_called_with('my_cluster',
|
||||
self.mock_client.resize_cluster.assert_called_with('my_cluster',
|
||||
**self.defaults)
|
||||
|
||||
def test_cluster_resize_invalid_capacity(self):
|
||||
@ -481,7 +481,7 @@ class TestClusterResize(TestCluster):
|
||||
kwargs['number'] = 1
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_resize.assert_called_with('my_cluster',
|
||||
self.mock_client.resize_cluster.assert_called_with('my_cluster',
|
||||
**kwargs)
|
||||
|
||||
def test_cluster_resize_invalid_adjustment(self):
|
||||
@ -501,7 +501,7 @@ class TestClusterResize(TestCluster):
|
||||
kwargs['adjustment_type'] = 'CHANGE_IN_PERCENTAGE'
|
||||
kwargs['number'] = 50.0
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_resize.assert_called_with('my_cluster',
|
||||
self.mock_client.resize_cluster.assert_called_with('my_cluster',
|
||||
**kwargs)
|
||||
|
||||
def test_cluster_resize_invalid_percentage(self):
|
||||
@ -568,14 +568,14 @@ class TestClusterScaleIn(TestCluster):
|
||||
def setUp(self):
|
||||
super(TestClusterScaleIn, self).setUp()
|
||||
self.cmd = osc_cluster.ScaleInCluster(self.app, None)
|
||||
self.mock_client.cluster_scale_in = mock.Mock(
|
||||
self.mock_client.scale_in_cluster = mock.Mock(
|
||||
return_value=self.response)
|
||||
|
||||
def test_cluster_scale_in(self):
|
||||
arglist = ['--count', '2', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_scale_in.assert_called_with('my_cluster',
|
||||
self.mock_client.scale_in_cluster.assert_called_with('my_cluster',
|
||||
'2')
|
||||
|
||||
|
||||
@ -585,14 +585,14 @@ class TestClusterScaleOut(TestCluster):
|
||||
def setUp(self):
|
||||
super(TestClusterScaleOut, self).setUp()
|
||||
self.cmd = osc_cluster.ScaleOutCluster(self.app, None)
|
||||
self.mock_client.cluster_scale_out = mock.Mock(
|
||||
self.mock_client.scale_out_cluster = mock.Mock(
|
||||
return_value=self.response)
|
||||
|
||||
def test_cluster_scale_in(self):
|
||||
def test_cluster_scale_out(self):
|
||||
arglist = ['--count', '2', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_scale_out.assert_called_with('my_cluster',
|
||||
self.mock_client.scale_out_cluster.assert_called_with('my_cluster',
|
||||
'2')
|
||||
|
||||
|
||||
@ -602,14 +602,14 @@ class TestClusterPolicyAttach(TestCluster):
|
||||
def setUp(self):
|
||||
super(TestClusterPolicyAttach, self).setUp()
|
||||
self.cmd = osc_cluster.ClusterPolicyAttach(self.app, None)
|
||||
self.mock_client.cluster_attach_policy = mock.Mock(
|
||||
self.mock_client.attach_policy_to_cluster = mock.Mock(
|
||||
return_value=self.response)
|
||||
|
||||
def test_cluster_policy_attach(self):
|
||||
arglist = ['--policy', 'my_policy', '--enabled', 'True', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_attach_policy.assert_called_with(
|
||||
self.mock_client.attach_policy_to_cluster.assert_called_with(
|
||||
'my_cluster',
|
||||
'my_policy',
|
||||
enabled=True)
|
||||
@ -621,14 +621,14 @@ class TestClusterPolicyDetach(TestCluster):
|
||||
def setUp(self):
|
||||
super(TestClusterPolicyDetach, self).setUp()
|
||||
self.cmd = osc_cluster.ClusterPolicyDetach(self.app, None)
|
||||
self.mock_client.cluster_detach_policy = mock.Mock(
|
||||
self.mock_client.detach_policy_from_cluster = mock.Mock(
|
||||
return_value=self.response)
|
||||
|
||||
def test_cluster_policy_detach(self):
|
||||
arglist = ['--policy', 'my_policy', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_detach_policy.assert_called_with(
|
||||
self.mock_client.detach_policy_from_cluster.assert_called_with(
|
||||
'my_cluster',
|
||||
'my_policy')
|
||||
|
||||
@ -711,14 +711,14 @@ class TestClusterNodeAdd(TestCluster):
|
||||
def setUp(self):
|
||||
super(TestClusterNodeAdd, self).setUp()
|
||||
self.cmd = osc_cluster.ClusterNodeAdd(self.app, None)
|
||||
self.mock_client.cluster_add_nodes = mock.Mock(
|
||||
self.mock_client.add_nodes_to_cluster = mock.Mock(
|
||||
return_value=self.response)
|
||||
|
||||
def test_cluster_node_add(self):
|
||||
arglist = ['--nodes', 'node1', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_add_nodes.assert_called_with(
|
||||
self.mock_client.add_nodes_to_cluster.assert_called_with(
|
||||
'my_cluster',
|
||||
['node1'])
|
||||
|
||||
@ -726,7 +726,7 @@ class TestClusterNodeAdd(TestCluster):
|
||||
arglist = ['--nodes', 'node1,node2', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_add_nodes.assert_called_with(
|
||||
self.mock_client.add_nodes_to_cluster.assert_called_with(
|
||||
'my_cluster',
|
||||
['node1', 'node2'])
|
||||
|
||||
@ -737,14 +737,14 @@ class TestClusterNodeDel(TestCluster):
|
||||
def setUp(self):
|
||||
super(TestClusterNodeDel, self).setUp()
|
||||
self.cmd = osc_cluster.ClusterNodeDel(self.app, None)
|
||||
self.mock_client.cluster_del_nodes = mock.Mock(
|
||||
self.mock_client.remove_nodes_from_cluster = mock.Mock(
|
||||
return_value=self.response)
|
||||
|
||||
def test_cluster_node_delete(self):
|
||||
arglist = ['-d', 'True', '--nodes', 'node1', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_del_nodes.assert_called_with(
|
||||
self.mock_client.remove_nodes_from_cluster.assert_called_with(
|
||||
'my_cluster',
|
||||
['node1'],
|
||||
destroy_after_deletion=True)
|
||||
@ -753,7 +753,7 @@ class TestClusterNodeDel(TestCluster):
|
||||
arglist = ['-d', 'False', '--nodes', 'node1', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_del_nodes.assert_called_with(
|
||||
self.mock_client.remove_nodes_from_cluster.assert_called_with(
|
||||
'my_cluster',
|
||||
['node1'],
|
||||
destroy_after_deletion=False)
|
||||
@ -762,7 +762,7 @@ class TestClusterNodeDel(TestCluster):
|
||||
arglist = ['--nodes', 'node1,node2', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_del_nodes.assert_called_with(
|
||||
self.mock_client.remove_nodes_from_cluster.assert_called_with(
|
||||
'my_cluster',
|
||||
['node1', 'node2'],
|
||||
destroy_after_deletion=False)
|
||||
|
@ -89,12 +89,12 @@ class TestClusterPolicyUpdate(TestClusterPolicy):
|
||||
super(TestClusterPolicyUpdate, self).setUp()
|
||||
self.cmd = osc_cluster_policy.ClusterPolicyUpdate(self.app, None)
|
||||
fake_resp = {"action": "8bb476c3-0f4c-44ee-9f64-c7b0260814de"}
|
||||
self.mock_client.cluster_update_policy = mock.Mock(
|
||||
self.mock_client.update_cluster_policy = mock.Mock(
|
||||
return_value=fake_resp)
|
||||
|
||||
def test_cluster_policy_update(self):
|
||||
arglist = ['--policy', 'my_policy', '--enabled', 'true', 'my_cluster']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.cluster_update_policy.assert_called_with(
|
||||
self.mock_client.update_cluster_policy.assert_called_with(
|
||||
'my_cluster', 'my_policy', enabled=True)
|
||||
|
@ -221,7 +221,7 @@ class Client(object):
|
||||
https://developer.openstack.org/api-ref/clustering/
|
||||
#add-nodes-to-a-cluster
|
||||
"""
|
||||
return self.service.cluster_add_nodes(cluster, nodes)
|
||||
return self.service.add_nodes_to_cluster(cluster, nodes)
|
||||
|
||||
def cluster_del_nodes(self, cluster, nodes):
|
||||
"""Delete a node belongs to cluster
|
||||
@ -230,7 +230,7 @@ class Client(object):
|
||||
https://developer.openstack.org/api-ref/clustering/
|
||||
#remove-nodes-from-a-cluster
|
||||
"""
|
||||
return self.service.cluster_del_nodes(cluster, nodes)
|
||||
return self.service.remove_nodes_from_cluster(cluster, nodes)
|
||||
|
||||
def cluster_replace_nodes(self, cluster, nodes):
|
||||
"""Replace the nodes in a cluster with specified nodes
|
||||
@ -239,7 +239,7 @@ class Client(object):
|
||||
https://developer.openstack.org/api-ref/clustering/
|
||||
#replace-nodes-in-a-cluster
|
||||
"""
|
||||
return self.service.cluster_replace_nodes(cluster, nodes)
|
||||
return self.service.replace_nodes_in_cluster(cluster, nodes)
|
||||
|
||||
def cluster_resize(self, cluster, **params):
|
||||
"""Resize cluster
|
||||
@ -247,7 +247,7 @@ class Client(object):
|
||||
Doc link:
|
||||
https://developer.openstack.org/api-ref/clustering/#resize-a-cluster
|
||||
"""
|
||||
return self.service.cluster_resize(cluster, **params)
|
||||
return self.service.resize_cluster(cluster, **params)
|
||||
|
||||
def cluster_scale_out(self, cluster, count):
|
||||
"""Scale out cluster
|
||||
@ -255,7 +255,7 @@ class Client(object):
|
||||
Doc link:
|
||||
https://developer.openstack.org/api-ref/clustering/#scale-out-a-cluster
|
||||
"""
|
||||
return self.service.cluster_scale_out(cluster, count)
|
||||
return self.service.scale_out_cluster(cluster, count)
|
||||
|
||||
def cluster_scale_in(self, cluster, count):
|
||||
"""Scale in cluster
|
||||
@ -263,7 +263,7 @@ class Client(object):
|
||||
Doc link:
|
||||
https://developer.openstack.org/api-ref/clustering/#scale-in-a-cluster
|
||||
"""
|
||||
return self.service.cluster_scale_in(cluster, count)
|
||||
return self.service.scale_in_cluster(cluster, count)
|
||||
|
||||
def cluster_policies(self, cluster, **queries):
|
||||
"""List all policies attached to cluster
|
||||
@ -290,7 +290,7 @@ class Client(object):
|
||||
https://developer.openstack.org/api-ref/clustering/
|
||||
#attach-a-policy-to-a-cluster
|
||||
"""
|
||||
return self.service.cluster_attach_policy(cluster, policy, **attrs)
|
||||
return self.service.attach_policy_to_cluster(cluster, policy, **attrs)
|
||||
|
||||
def cluster_detach_policy(self, cluster, policy):
|
||||
"""Detach a policy from cluster
|
||||
@ -299,7 +299,7 @@ class Client(object):
|
||||
https://developer.openstack.org/api-ref/clustering/
|
||||
#detach-a-policy-from-a-cluster
|
||||
"""
|
||||
return self.service.cluster_detach_policy(cluster, policy)
|
||||
return self.service.detach_policy_from_cluster(cluster, policy)
|
||||
|
||||
def cluster_update_policy(self, cluster, policy, **attrs):
|
||||
"""Update the policy attachment
|
||||
@ -308,7 +308,7 @@ class Client(object):
|
||||
https://developer.openstack.org/api-ref/clustering/
|
||||
#update-a-policy-on-a-cluster
|
||||
"""
|
||||
return self.service.cluster_update_policy(cluster, policy, **attrs)
|
||||
return self.service.update_cluster_policy(cluster, policy, **attrs)
|
||||
|
||||
def collect_cluster_attrs(self, cluster, path):
|
||||
"""Collect cluster attributes
|
||||
|
@ -503,7 +503,7 @@ class ResizeCluster(command.Command):
|
||||
action_args['min_step'] = min_step
|
||||
action_args['strict'] = parsed_args.strict
|
||||
|
||||
resp = senlin_client.cluster_resize(parsed_args.cluster, **action_args)
|
||||
resp = senlin_client.resize_cluster(parsed_args.cluster, **action_args)
|
||||
if 'action' in resp:
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
else:
|
||||
@ -533,7 +533,7 @@ class ScaleInCluster(command.Command):
|
||||
self.log.debug("take_action(%s)", parsed_args)
|
||||
senlin_client = self.app.client_manager.clustering
|
||||
|
||||
resp = senlin_client.cluster_scale_in(parsed_args.cluster,
|
||||
resp = senlin_client.scale_in_cluster(parsed_args.cluster,
|
||||
parsed_args.count)
|
||||
if 'action' in resp:
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
@ -564,7 +564,7 @@ class ScaleOutCluster(command.Command):
|
||||
self.log.debug("take_action(%s)", parsed_args)
|
||||
senlin_client = self.app.client_manager.clustering
|
||||
|
||||
resp = senlin_client.cluster_scale_out(parsed_args.cluster,
|
||||
resp = senlin_client.scale_out_cluster(parsed_args.cluster,
|
||||
parsed_args.count)
|
||||
if 'action' in resp:
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
@ -608,7 +608,7 @@ class ClusterPolicyAttach(command.Command):
|
||||
strict=True),
|
||||
}
|
||||
|
||||
resp = senlin_client.cluster_attach_policy(parsed_args.cluster,
|
||||
resp = senlin_client.attach_policy_to_cluster(parsed_args.cluster,
|
||||
parsed_args.policy,
|
||||
**kwargs)
|
||||
if 'action' in resp:
|
||||
@ -640,7 +640,7 @@ class ClusterPolicyDetach(command.Command):
|
||||
def take_action(self, parsed_args):
|
||||
self.log.debug("take_action(%s)", parsed_args)
|
||||
senlin_client = self.app.client_manager.clustering
|
||||
resp = senlin_client.cluster_detach_policy(parsed_args.cluster,
|
||||
resp = senlin_client.detach_policy_from_cluster(parsed_args.cluster,
|
||||
parsed_args.policy)
|
||||
if 'action' in resp:
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
@ -750,7 +750,8 @@ class ClusterNodeAdd(command.Command):
|
||||
self.log.debug("take_action(%s)", parsed_args)
|
||||
senlin_client = self.app.client_manager.clustering
|
||||
node_ids = parsed_args.nodes.split(',')
|
||||
resp = senlin_client.cluster_add_nodes(parsed_args.cluster, node_ids)
|
||||
resp = senlin_client.add_nodes_to_cluster(parsed_args.cluster,
|
||||
node_ids)
|
||||
if 'action' in resp:
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
else:
|
||||
@ -792,8 +793,8 @@ class ClusterNodeDel(command.Command):
|
||||
destroy = parsed_args.destroy_after_deletion
|
||||
destroy = strutils.bool_from_string(destroy, strict=True)
|
||||
kwargs = {"destroy_after_deletion": destroy}
|
||||
resp = senlin_client.cluster_del_nodes(parsed_args.cluster, node_ids,
|
||||
**kwargs)
|
||||
resp = senlin_client.remove_nodes_from_cluster(
|
||||
parsed_args.cluster, node_ids, **kwargs)
|
||||
if 'action' in resp:
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
else:
|
||||
@ -831,7 +832,7 @@ class ClusterNodeReplace(command.Command):
|
||||
key = nodepair.split('=')[0]
|
||||
value = nodepair.split('=')[1]
|
||||
nodepairs[key] = value
|
||||
resp = senlin_client.cluster_replace_nodes(parsed_args.cluster,
|
||||
resp = senlin_client.replace_nodes_in_cluster(parsed_args.cluster,
|
||||
nodepairs)
|
||||
if 'action' in resp:
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
|
@ -150,7 +150,7 @@ class ClusterPolicyUpdate(command.Command):
|
||||
strict=True),
|
||||
}
|
||||
|
||||
resp = senlin_client.cluster_update_policy(parsed_args.cluster,
|
||||
resp = senlin_client.update_cluster_policy(parsed_args.cluster,
|
||||
parsed_args.policy,
|
||||
**kwargs)
|
||||
if 'action' in resp:
|
||||
|
Loading…
x
Reference in New Issue
Block a user