Support backup members
Story: 2001777 Task: 12486 Change-Id: I81095ec47eaf0f5d41e91ea66b3a0c9a00d8f95b
This commit is contained in:
parent
a5c9e16a4f
commit
eee91e826a
|
@ -122,7 +122,9 @@ MEMBER_ROWS = (
|
|||
'updated_at',
|
||||
'weight',
|
||||
'monitor_port',
|
||||
'monitor_address')
|
||||
'monitor_address',
|
||||
'backup'
|
||||
)
|
||||
|
||||
MEMBER_COLUMNS = (
|
||||
'id',
|
||||
|
|
|
@ -101,6 +101,19 @@ class CreateMember(command.ShowOne):
|
|||
metavar='<name>',
|
||||
help="Name of the member."
|
||||
)
|
||||
backup = parser.add_mutually_exclusive_group()
|
||||
backup.add_argument(
|
||||
'--disable-backup',
|
||||
action='store_true',
|
||||
default=None,
|
||||
help="Disable member backup (default)"
|
||||
)
|
||||
backup.add_argument(
|
||||
'--enable-backup',
|
||||
action='store_true',
|
||||
default=None,
|
||||
help="Enable member backup"
|
||||
)
|
||||
parser.add_argument(
|
||||
'--weight',
|
||||
metavar='<weight>',
|
||||
|
@ -197,6 +210,19 @@ class SetMember(command.Command):
|
|||
metavar='<name>',
|
||||
help="Set the name of the member"
|
||||
)
|
||||
backup = parser.add_mutually_exclusive_group()
|
||||
backup.add_argument(
|
||||
'--disable-backup',
|
||||
action='store_true',
|
||||
default=None,
|
||||
help="Disable member backup (default)"
|
||||
)
|
||||
backup.add_argument(
|
||||
'--enable-backup',
|
||||
action='store_true',
|
||||
default=None,
|
||||
help="Enable member backup"
|
||||
)
|
||||
parser.add_argument(
|
||||
'--weight',
|
||||
metavar='<weight>',
|
||||
|
|
|
@ -269,6 +269,8 @@ def get_member_attrs(client_manager, parsed_args):
|
|||
'pool',
|
||||
client_manager.load_balancer.member_list
|
||||
),
|
||||
'enable_backup': ('backup', lambda x: True),
|
||||
'disable_backup': ('backup', lambda x: False),
|
||||
'weight': ('weight', int),
|
||||
'subnet_id': (
|
||||
'subnet_id',
|
||||
|
|
|
@ -115,6 +115,7 @@ L7RULE_ATTRS = {
|
|||
MEMBER_ATTRS = {
|
||||
"project_id": uuidutils.generate_uuid(dashed=True),
|
||||
"name": "test-member",
|
||||
"backup": False,
|
||||
"weight": 1,
|
||||
"admin_state_up": True,
|
||||
"subnet_id": uuidutils.generate_uuid(dashed=True),
|
||||
|
|
|
@ -90,11 +90,12 @@ class TestCreateMember(TestMember):
|
|||
'protocol_port': self._mem.protocol_port,
|
||||
'weight': self._mem.weight,
|
||||
'admin_state_up': True,
|
||||
'pool_id': self._mem.pool_id}
|
||||
'pool_id': self._mem.pool_id,
|
||||
'backup': False}
|
||||
|
||||
arglist = ['pool_id', '--address', '192.0.2.122',
|
||||
'--protocol-port', '80',
|
||||
'--weight', '1', '--enable']
|
||||
'--weight', '1', '--enable', '--disable-backup']
|
||||
verifylist = [
|
||||
('address', '192.0.2.122'),
|
||||
('protocol_port', 80),
|
||||
|
@ -108,7 +109,8 @@ class TestCreateMember(TestMember):
|
|||
'member': {'ip_address': '192.0.2.122',
|
||||
'protocol_port': self._mem.protocol_port,
|
||||
'weight': self._mem.weight,
|
||||
'admin_state_up': True}})
|
||||
'admin_state_up': True,
|
||||
'backup': False}})
|
||||
|
||||
|
||||
class TestMemberDelete(TestMember):
|
||||
|
@ -140,9 +142,10 @@ class TestMemberSet(TestMember):
|
|||
def test_member_set(self, mock_attrs):
|
||||
mock_attrs.return_value = {'pool_id': 'test_pool_id',
|
||||
'member_id': 'test_mem_id',
|
||||
'name': 'new_name'}
|
||||
'name': 'new_name',
|
||||
'backup': True}
|
||||
arglist = ['test_pool_id', 'test_mem_id', '--name',
|
||||
'new_name']
|
||||
'new_name', '--enable-backup']
|
||||
verifylist = [
|
||||
('pool', 'test_pool_id'),
|
||||
('member', 'test_mem_id'),
|
||||
|
@ -153,7 +156,8 @@ class TestMemberSet(TestMember):
|
|||
self.cmd.take_action(parsed_args)
|
||||
self.api_mock.member_set.assert_called_with(
|
||||
pool_id='test_pool_id', member_id='test_mem_id',
|
||||
json={'member': {'name': 'new_name'}})
|
||||
json={'member': {'name': 'new_name',
|
||||
'backup': True}})
|
||||
|
||||
|
||||
class TestMemberShow(TestMember):
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
Optional backup argument for member, in loadbalancer member create,
|
||||
and loadbalancer member set.
|
Loading…
Reference in New Issue