def test_create_ipsec_site_conn_all_params(self):
        # ipsecsite-connection-create all params using endpoint groups.
        resource = 'ipsec_site_connection'
        cmd = ipsec_site_connection.CreateIPsecSiteConnection(
            test_cli20.MyApp(sys.stdout), None)
        tenant_id = 'mytenant_id'
        name = 'connection1'
        my_id = 'my_id'
        peer_address = '192.168.2.10'
        peer_id = '192.168.2.10'
        psk = 'abcd'
        mtu = '1500'
        initiator = 'bi-directional'
        vpnservice_id = 'vpnservice_id'
        ikepolicy_id = 'ikepolicy_id'
        ipsecpolicy_id = 'ipsecpolicy_id'
        local_ep_group = 'local-epg'
        peer_ep_group = 'peer-epg'
        admin_state = True
        description = 'my-vpn-connection'
        dpd = 'action=restart,interval=30,timeout=120'

        args = [
            '--tenant-id', tenant_id, '--peer-address', peer_address,
            '--peer-id', peer_id, '--psk', psk, '--initiator', initiator,
            '--vpnservice-id', vpnservice_id, '--ikepolicy-id', ikepolicy_id,
            '--name', name, '--ipsecpolicy-id', ipsecpolicy_id, '--mtu', mtu,
            '--description', description, '--local-ep-group', local_ep_group,
            '--peer-ep-group', peer_ep_group, '--dpd', dpd
        ]

        position_names = [
            'name', 'tenant_id', 'admin_state_up', 'peer_address', 'peer_id',
            'psk', 'mtu', 'local_ep_group_id', 'peer_ep_group_id', 'initiator',
            'description', 'vpnservice_id', 'ikepolicy_id', 'ipsecpolicy_id'
        ]

        position_values = [
            name, tenant_id, admin_state, peer_address, peer_id, psk, mtu,
            local_ep_group, peer_ep_group, initiator, description,
            vpnservice_id, ikepolicy_id, ipsecpolicy_id
        ]
        extra_body = {
            'dpd': {
                'action': 'restart',
                'interval': 30,
                'timeout': 120,
            },
        }

        self._test_create_resource(resource,
                                   cmd,
                                   name,
                                   my_id,
                                   args,
                                   position_names,
                                   position_values,
                                   extra_body=extra_body)
Пример #2
0
    def test_invalid_mtu(self):
        """ipsecsite-connection-create with invalid dpd values."""
        resource = 'ipsec_site_connection'
        cmd = ipsec_site_connection.CreateIPsecSiteConnection(
            test_cli20.MyApp(sys.stdout), None)
        tenant_id = 'mytenant_id'
        name = 'connection1'
        my_id = 'my_id'
        peer_address = '192.168.2.10'
        peer_id = '192.168.2.10'
        psk = 'abcd'
        mtu = '67'
        initiator = 'bi-directional'
        vpnservice_id = 'vpnservice_id'
        ikepolicy_id = 'ikepolicy_id'
        ipsecpolicy_id = 'ipsecpolicy_id'
        peer_cidrs = ['192.168.3.0/24', '192.168.2.0/24']
        admin_state = True
        description = 'my-vpn-connection'

        args = [
            '--tenant-id', tenant_id, '--peer-address', peer_address,
            '--peer-id', peer_id, '--psk', psk, '--initiator', initiator,
            '--vpnservice-id', vpnservice_id, '--ikepolicy-id', ikepolicy_id,
            '--name', name, '--ipsecpolicy-id', ipsecpolicy_id, '--mtu', mtu,
            '--description', description, '--peer-cidr', '192.168.3.0/24',
            '--peer-cidr', '192.168.2.0/24'
        ]

        position_names = [
            'name', 'tenant_id', 'admin_state_up', 'peer_address', 'peer_id',
            'peer_cidrs', 'psk', 'mtu', 'initiator', 'description',
            'vpnservice_id', 'ikepolicy_id', 'ipsecpolicy_id'
        ]

        position_values = [
            name, tenant_id, admin_state, peer_address, peer_id, peer_cidrs,
            psk, mtu, initiator, description, vpnservice_id, ikepolicy_id,
            ipsecpolicy_id
        ]
        self.assertRaises(exceptions.CommandError, self._test_create_resource,
                          resource, cmd, name, my_id, args, position_names,
                          position_values)
    def test_create_ipsec_site_connection_with_limited_params(self):
        # ipsecsite-connection-create with limited params.
        resource = 'ipsec_site_connection'
        cmd = ipsec_site_connection.CreateIPsecSiteConnection(
            test_cli20.MyApp(sys.stdout), None
        )
        tenant_id = 'mytenant_id'
        my_id = 'my_id'
        peer_address = '192.168.2.10'
        peer_id = '192.168.2.10'
        psk = 'abcd'
        mtu = '1500'
        initiator = 'bi-directional'
        vpnservice_id = 'vpnservice_id'
        ikepolicy_id = 'ikepolicy_id'
        ipsecpolicy_id = 'ipsecpolicy_id'
        local_ep_group = 'local-epg'
        peer_ep_group = 'peer-epg'
        admin_state = True

        args = ['--tenant-id', tenant_id,
                '--peer-address', peer_address,
                '--peer-id', peer_id,
                '--psk', psk,
                '--vpnservice-id', vpnservice_id,
                '--ikepolicy-id', ikepolicy_id,
                '--ipsecpolicy-id', ipsecpolicy_id,
                '--local-ep-group', local_ep_group,
                '--peer-ep-group', peer_ep_group]

        position_names = ['tenant_id', 'admin_state_up',
                          'peer_address', 'peer_id',
                          'local_ep_group_id', 'peer_ep_group_id',
                          'psk', 'mtu', 'initiator',
                          'vpnservice_id', 'ikepolicy_id',
                          'ipsecpolicy_id']

        position_values = [tenant_id, admin_state, peer_address, peer_id,
                           local_ep_group, peer_ep_group, psk, mtu, initiator,
                           vpnservice_id, ikepolicy_id, ipsecpolicy_id]

        self._test_create_resource(resource, cmd, None, my_id, args,
                                   position_names, position_values)
    def _test_create_failure(self, additional_args=None, expected_exc=None):
        # Helper to test failure of IPSec site-to-site creation failure.
        resource = 'ipsec_site_connection'
        cmd = ipsec_site_connection.CreateIPsecSiteConnection(
            test_cli20.MyApp(sys.stdout), None)
        tenant_id = 'mytenant_id'
        my_id = 'my_id'
        peer_address = '192.168.2.10'
        peer_id = '192.168.2.10'
        psk = 'abcd'
        mtu = '1500'
        initiator = 'bi-directional'
        vpnservice_id = 'vpnservice_id'
        ikepolicy_id = 'ikepolicy_id'
        ipsecpolicy_id = 'ipsecpolicy_id'
        admin_state = True

        args = [
            '--tenant-id', tenant_id, '--peer-address', peer_address,
            '--peer-id', peer_id, '--psk', psk, '--vpnservice-id',
            vpnservice_id, '--ikepolicy-id', ikepolicy_id, '--ipsecpolicy-id',
            ipsecpolicy_id
        ]
        if additional_args is not None:
            args += additional_args
        position_names = [
            'tenant_id', 'admin_state_up', 'peer_address', 'peer_id', 'psk',
            'mtu', 'initiator', 'local_ep_group_id', 'peer_ep_group_id',
            'vpnservice_id', 'ikepolicy_id', 'ipsecpolicy_id'
        ]

        position_values = [
            tenant_id, admin_state, peer_address, peer_id, psk, mtu, initiator,
            None, None, vpnservice_id, ikepolicy_id, ipsecpolicy_id
        ]
        if not expected_exc:
            expected_exc = exceptions.CommandError
        self.assertRaises(expected_exc, self._test_create_resource, resource,
                          cmd, None, my_id, args, position_names,
                          position_values)