File: test_script.sh

package info (click to toggle)
neutron-vpnaas 2%3A26.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,852 kB
  • sloc: python: 14,285; sh: 419; makefile: 51
file content (59 lines) | stat: -rwxr-xr-x 2,065 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env bash

EXT_NW_ID=`openstack network show public -c id -f value`
EXTERNAL_SUBNET_IP_VERSION='v4'
WEST_SUBNET='192.168.1.0/24'
EAST_SUBNET='192.168.2.0/24'

function setup_site(){
  local site_name=$1
  local cidr=$2
  openstack network create net_$site_name
  openstack subnet create --network net_$site_name --subnet-range $2 subnet_$site_name
  openstack router create router_$site_name
  openstack router add subnet router_$site_name subnet_$site_name
  openstack router set --external-gateway $EXT_NW_ID router_$site_name
  openstack vpn service create --subnet subnet_$site_name --router router_$site_name vpn_$site_name
}

function get_external_ip(){
  echo `openstack vpn service show $1 -c external_${EXTERNAL_SUBNET_IP_VERSION}_ip -f value`
}

function clean_site(){
  local site_name=$1
  openstack vpn ipsec site connection delete conn_$site_name
  openstack vpn service delete vpn_$site_name
  openstack router unset --external-gateway router_$site_name
  openstack router remove subnet router_$site_name subnet_$site_name
  openstack router delete router_$site_name
  openstack subnet delete subnet_$site_name
  openstack network delete net_$site_name
}

function setup(){
  openstack vpn ike policy create ikepolicy1
  openstack vpn ipsec policy create ipsecpolicy1
  setup_site west $WEST_SUBNET
  WEST_IP=$(get_external_ip vpn_west)
  setup_site east $EAST_SUBNET
  EAST_IP=$(get_external_ip vpn_east)
  openstack vpn ipsec site connection create \
      --vpnservice vpn_east --ikepolicy ikepolicy1 --ipsecpolicy ipsecpolicy1 \
      --peer-address $WEST_IP --peer-id $WEST_IP --peer-cidr $WEST_SUBNET \
      --psk secret conn_east
  openstack vpn ipsec site connection create \
      --vpnservice vpn_west --ikepolicy ikepolicy1 --ipsecpolicy ipsecpolicy1 \
      --peer-address $EAST_IP --peer-id $EAST_IP --peer-cidr $EAST_SUBNET \
      --psk secret conn_west
}

function cleanup(){
  clean_site west
  clean_site east
  openstack vpn ike policy delete ikepolicy1
  openstack vpn ipsec policy delete ipsecpolicy1
}

cleanup
setup