Merge "Fix octavia l7rules"

This commit is contained in:
Jenkins 2017-08-23 12:50:34 +00:00 committed by Gerrit Code Review
commit a6b8122a34
5 changed files with 40 additions and 37 deletions

View File

@ -570,7 +570,7 @@ class Proxy(proxy2.BaseProxy):
:rtype: :class:`~openstack.load_balancer.v2.l7_rule.L7Rule`
"""
l7policyobj = self._get_resource(_l7policy.L7Policy, l7_policy)
return self._create(_l7rule.L7Rule, l7policy_id=l7policyobj.id,
return self._create(_l7rule.L7Rule, l7_policy_id=l7policyobj.id,
**attrs)
def delete_l7_rule(self, l7rule, l7_policy, ignore_missing=True):
@ -591,8 +591,8 @@ class Proxy(proxy2.BaseProxy):
:returns: ``None``
"""
l7policyobj = self._get_resource(_l7policy.L7Policy, l7_policy)
self._delete(_l7rule.L7Rule, l7rule,
ignore_missing=ignore_missing, l7policy_id=l7policyobj.id)
self._delete(_l7rule.L7Rule, l7rule, ignore_missing=ignore_missing,
l7_policy_id=l7policyobj.id)
def find_l7_rule(self, name_or_id, l7_policy, ignore_missing=True):
"""Find a single l7rule
@ -613,7 +613,7 @@ class Proxy(proxy2.BaseProxy):
l7policyobj = self._get_resource(_l7policy.L7Policy, l7_policy)
return self._find(_l7rule.L7Rule, name_or_id,
ignore_missing=ignore_missing,
l7policy_id=l7policyobj.id)
l7_policy_id=l7policyobj.id)
def get_l7_rule(self, l7rule, l7_policy):
"""Get a single l7rule
@ -631,7 +631,7 @@ class Proxy(proxy2.BaseProxy):
"""
l7policyobj = self._get_resource(_l7policy.L7Policy, l7_policy)
return self._get(_l7rule.L7Rule, l7rule,
l7policy_id=l7policyobj.id)
l7_policy_id=l7policyobj.id)
def l7_rules(self, l7_policy, **query):
"""Return a generator of l7rules
@ -647,7 +647,7 @@ class Proxy(proxy2.BaseProxy):
"""
l7policyobj = self._get_resource(_l7policy.L7Policy, l7_policy)
return self._list(_l7rule.L7Rule, paginated=True,
l7policy_id=l7policyobj.id, **query)
l7_policy_id=l7policyobj.id, **query)
def update_l7_rule(self, l7rule, l7_policy, **attrs):
"""Update a l7rule
@ -666,4 +666,4 @@ class Proxy(proxy2.BaseProxy):
"""
l7policyobj = self._get_resource(_l7policy.L7Policy, l7_policy)
return self._update(_l7rule.L7Rule, l7rule,
l7policy_id=l7policyobj.id, **attrs)
l7_policy_id=l7policyobj.id, **attrs)

View File

@ -15,9 +15,9 @@ from openstack import resource2 as resource
class L7Rule(resource.Resource):
resource_key = 'l7rule'
resources_key = 'l7rules'
base_path = '/l7policies/%(l7_policy_id)s/rules'
resource_key = 'rule'
resources_key = 'rules'
base_path = '/v2.0/lbaas/l7policies/%(l7_policy_id)s/rules'
service = lb_service.LoadBalancerService()
# capabilities
@ -29,8 +29,8 @@ class L7Rule(resource.Resource):
_query_mapping = resource.QueryParameters(
'compare_type', 'created_at', 'invert', 'key', 'l7_policy_id',
'project_id', 'provisioning_status', 'type', 'updated_at', 'value',
'operating_status', is_admin_state_up='admin_state_up',
'project_id', 'provisioning_status', 'type', 'updated_at',
'rule_value', 'operating_status', is_admin_state_up='admin_state_up',
)
#: Properties
@ -46,7 +46,7 @@ class L7Rule(resource.Resource):
#: The key to use for the comparison.
key = resource.Body('key')
#: The ID of the associated l7 policy
l7_policy_id = resource.Body('l7policy_id')
l7_policy_id = resource.URI('l7_policy_id')
#: The operating status of this l7rule
operating_status = resource.Body('operating_status')
#: The ID of the project this l7policy is associated with.
@ -58,4 +58,4 @@ class L7Rule(resource.Resource):
#: Timestamp when the L7 rule was updated.
updated_at = resource.Body('updated_at')
#: value to be compared with
value = resource.Body('value')
rule_value = resource.Body('value')

View File

@ -138,7 +138,7 @@ class TestLoadBalancer(lb_base.BaseLBFunctionalTest):
cls.lb_wait_for_status(test_lb, status='ACTIVE', failures=['ERROR'])
cls.conn.load_balancer.delete_l7_rule(
cls.L7RULE_ID, ignore_missing=False)
cls.L7RULE_ID, l7_policy=cls.L7POLICY_ID, ignore_missing=False)
cls.lb_wait_for_status(test_lb, status='ACTIVE', failures=['ERROR'])
cls.conn.load_balancer.delete_l7_policy(
@ -357,35 +357,38 @@ class TestLoadBalancer(lb_base.BaseLBFunctionalTest):
def test_l7_rule_find(self):
test_l7_rule = self.conn.load_balancer.find_l7_rule(
self.L7RULE_ID)
self.L7RULE_ID, self.L7POLICY_ID)
self.assertEqual(self.L7RULE_ID, test_l7_rule.id)
self.assertEqual(self.L7RULE_TYPE, test_l7_rule.type)
def test_l7_rule_get(self):
test_l7_rule = self.conn.load_balancer.get_l7_rule(
self.L7RULE_ID)
self.L7RULE_ID, l7_policy=self.L7POLICY_ID)
self.assertEqual(self.L7RULE_ID, test_l7_rule.id)
self.assertEqual(self.COMPARE_TYPE, test_l7_rule.compare_type)
self.assertEqual(self.L7RULE_TYPE, test_l7_rule.type)
self.assertEqual(self.L7RULE_VALUE, test_l7_rule.value)
self.assertEqual(self.L7RULE_VALUE, test_l7_rule.rule_value)
def test_l7_rule_list(self):
ids = [l7.id for l7 in self.conn.load_balancer.l7_rules()]
ids = [l7.id for l7 in self.conn.load_balancer.l7_rules(
l7_policy=self.L7POLICY_ID)]
self.assertIn(self.L7RULE_ID, ids)
def test_l7_rule_update(self):
test_lb = self.conn.load_balancer.get_load_balancer(self.LB_ID)
self.conn.load_balancer.update_l7_rule(
self.L7RULE_ID, value=self.UPDATE_NAME)
self.conn.load_balancer.update_l7_rule(self.L7RULE_ID,
l7_policy=self.L7POLICY_ID,
rule_value=self.UPDATE_NAME)
self.lb_wait_for_status(test_lb, status='ACTIVE', failures=['ERROR'])
test_l7_rule = self.conn.load_balancer.get_l7_rule(
self.L7RULE_ID)
self.assertEqual(self.UPDATE_NAME, test_l7_rule.value)
self.L7RULE_ID, l7_policy=self.L7POLICY_ID)
self.assertEqual(self.UPDATE_NAME, test_l7_rule.rule_value)
self.conn.load_balancer.update_l7_policy(self.L7POLICY_ID,
value=self.L7RULE_VALUE)
self.conn.load_balancer.update_l7_rule(self.L7RULE_ID,
l7_policy=self.L7POLICY_ID,
rule_value=self.L7RULE_VALUE)
self.lb_wait_for_status(test_lb, status='ACTIVE', failures=['ERROR'])
test_l7_rule = self.conn.load_balancer.get_l7_rule(
self.L7RULE_ID)
self.assertEqual(self.L7RULE_VALUE, test_l7_rule.value)
self.L7RULE_ID, l7_policy=self.L7POLICY_ID,)
self.assertEqual(self.L7RULE_VALUE, test_l7_rule.rule_value)

View File

@ -36,9 +36,9 @@ class TestL7Rule(testtools.TestCase):
def test_basic(self):
test_l7rule = l7_rule.L7Rule()
self.assertEqual('l7rule', test_l7rule.resource_key)
self.assertEqual('l7rules', test_l7rule.resources_key)
self.assertEqual('/l7policies/%(l7_policy_id)s/rules',
self.assertEqual('rule', test_l7rule.resource_key)
self.assertEqual('rules', test_l7rule.resources_key)
self.assertEqual('/v2.0/lbaas/l7policies/%(l7_policy_id)s/rules',
test_l7rule.base_path)
self.assertEqual('load-balancer', test_l7rule.service.service_type)
self.assertTrue(test_l7rule.allow_create)
@ -63,4 +63,4 @@ class TestL7Rule(testtools.TestCase):
test_l7rule.provisioning_status)
self.assertEqual(EXAMPLE['type'], test_l7rule.type)
self.assertEqual(EXAMPLE['updated_at'], test_l7rule.updated_at)
self.assertEqual(EXAMPLE['value'], test_l7rule.value)
self.assertEqual(EXAMPLE['value'], test_l7rule.rule_value)

View File

@ -203,33 +203,33 @@ class TestLoadBalancerProxy(test_proxy_base2.TestProxyBase):
l7_rule.L7Rule,
paginated=True,
method_kwargs={'l7_policy': self.L7_POLICY_ID},
expected_kwargs={'l7policy_id': self.L7_POLICY_ID})
expected_kwargs={'l7_policy_id': self.L7_POLICY_ID})
def test_l7_rule_get(self):
self.verify_get(self.proxy.get_l7_rule,
l7_rule.L7Rule,
method_kwargs={'l7_policy': self.L7_POLICY_ID},
expected_kwargs={'l7policy_id': self.L7_POLICY_ID})
expected_kwargs={'l7_policy_id': self.L7_POLICY_ID})
def test_l7_rule_create(self):
self.verify_create(self.proxy.create_l7_rule,
l7_rule.L7Rule,
method_kwargs={'l7_policy': self.L7_POLICY_ID},
expected_kwargs={'l7policy_id': self.L7_POLICY_ID})
expected_kwargs={'l7_policy_id': self.L7_POLICY_ID})
def test_l7_rule_delete(self):
self.verify_delete(self.proxy.delete_l7_rule,
l7_rule.L7Rule,
True,
method_kwargs={'l7_policy': self.L7_POLICY_ID},
expected_kwargs={'l7policy_id': self.L7_POLICY_ID})
expected_kwargs={'l7_policy_id': self.L7_POLICY_ID})
def test_l7_rule_find(self):
self._verify2('openstack.proxy2.BaseProxy._find',
self.proxy.find_l7_rule,
method_args=["RULE", self.L7_POLICY_ID],
expected_args=[l7_rule.L7Rule, "RULE"],
expected_kwargs={"l7policy_id": self.L7_POLICY_ID,
expected_kwargs={"l7_policy_id": self.L7_POLICY_ID,
"ignore_missing": True})
def test_l7_rule_update(self):
@ -237,4 +237,4 @@ class TestLoadBalancerProxy(test_proxy_base2.TestProxyBase):
self.proxy.update_l7_rule,
method_args=["RULE", self.L7_POLICY_ID],
expected_args=[l7_rule.L7Rule, "RULE"],
expected_kwargs={"l7policy_id": self.L7_POLICY_ID})
expected_kwargs={"l7_policy_id": self.L7_POLICY_ID})