@@ -734,6 +734,62 @@ def test_server_add_network_no_neutron(self):
734734 self ._test_server_add_network ('fake-network' )
735735 self .find_network .assert_not_called ()
736736
737+ def test_server_add_network_with_tag (self ):
738+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
739+ '2.49' )
740+
741+ servers = self .setup_servers_mock (count = 1 )
742+ self .find_network .return_value .id = 'fake-network'
743+
744+ arglist = [
745+ servers [0 ].id ,
746+ 'fake-network' ,
747+ '--tag' , 'tag1' ,
748+ ]
749+ verifylist = [
750+ ('server' , servers [0 ].id ),
751+ ('network' , 'fake-network' ),
752+ ('tag' , 'tag1' ),
753+ ]
754+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
755+
756+ result = self .cmd .take_action (parsed_args )
757+ self .assertIsNone (result )
758+
759+ servers [0 ].interface_attach .assert_called_once_with (
760+ port_id = None ,
761+ net_id = 'fake-network' ,
762+ fixed_ip = None ,
763+ tag = 'tag1'
764+ )
765+
766+ def test_server_add_network_with_tag_pre_v249 (self ):
767+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
768+ '2.48' )
769+
770+ servers = self .setup_servers_mock (count = 1 )
771+ self .find_network .return_value .id = 'fake-network'
772+
773+ arglist = [
774+ servers [0 ].id ,
775+ 'fake-network' ,
776+ '--tag' , 'tag1' ,
777+ ]
778+ verifylist = [
779+ ('server' , servers [0 ].id ),
780+ ('network' , 'fake-network' ),
781+ ('tag' , 'tag1' ),
782+ ]
783+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
784+
785+ ex = self .assertRaises (
786+ exceptions .CommandError ,
787+ self .cmd .take_action ,
788+ parsed_args )
789+ self .assertIn (
790+ '--os-compute-api-version 2.49 or greater is required' ,
791+ str (ex ))
792+
737793
738794@mock .patch (
739795 'openstackclient.api.compute_v2.APIv2.security_group_find'
0 commit comments