diff --git a/octaviaclient/osc/v2/load_balancer.py b/octaviaclient/osc/v2/load_balancer.py index 4f2a9eb..25234a5 100644 --- a/octaviaclient/osc/v2/load_balancer.py +++ b/octaviaclient/osc/v2/load_balancer.py @@ -94,6 +94,12 @@ class CreateLoadBalancer(command.ShowOne): help="Project for the load balancer (name or ID)." ) + parser.add_argument( + '--provider', + metavar='', + help="Provider name for the load balancer." + ) + admin_group = parser.add_mutually_exclusive_group() admin_group.add_argument( '--enable', diff --git a/octaviaclient/tests/unit/osc/v2/test_load_balancer.py b/octaviaclient/tests/unit/osc/v2/test_load_balancer.py index 5d01f9d..971e65b 100644 --- a/octaviaclient/tests/unit/osc/v2/test_load_balancer.py +++ b/octaviaclient/tests/unit/osc/v2/test_load_balancer.py @@ -262,6 +262,31 @@ class TestLoadBalancerCreate(TestLoadBalancer): self.api_mock.load_balancer_create.assert_called_with( json={'loadbalancer': lb_info}) + @mock.patch('octaviaclient.osc.v2.utils.get_loadbalancer_attrs') + def test_load_balancer_create_with_provider(self, mock_client): + provider = 'foobar' + lb_info = copy.deepcopy(self.lb_info) + lb_info.update({'provider': provider}) + mock_client.return_value = lb_info + + arglist = [ + '--name', self._lb.name, + '--vip-network-id', self._lb.vip_network_id, + '--project', self._lb.project_id, + '--provider', provider, + ] + verifylist = [ + ('name', self._lb.name), + ('vip_network_id', self._lb.vip_network_id), + ('project', self._lb.project_id), + ('provider', provider), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + self.cmd.take_action(parsed_args) + self.api_mock.load_balancer_create.assert_called_with( + json={'loadbalancer': lb_info}) + @mock.patch('octaviaclient.osc.v2.utils.get_loadbalancer_attrs') def test_load_balancer_create_missing_args(self, mock_client): attrs_list = self.lb_info diff --git a/releasenotes/notes/add-provider-load-balancer-create-4d151209dee32f81.yaml b/releasenotes/notes/add-provider-load-balancer-create-4d151209dee32f81.yaml new file mode 100644 index 0000000..eae1f07 --- /dev/null +++ b/releasenotes/notes/add-provider-load-balancer-create-4d151209dee32f81.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Added --provider as optional argument to load balancer create.