<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">dear all,<div class=""><div class="">I am trying to compare OpenVPN and VPNaaS usage in OpenStack.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">I want to be able to create a VPN between VMs deployed in a single Openstack cloud to ensure communication privacy and security.</div><div class="">I also want to be able to connect with my PC to the VPN.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">To use OpenVPN, post install scripts work well : </div><div class="">-A- I can see 2 interaces on each VM: the public one and the one associated to the VPN</div><div class="">-B- my own PC can easily join</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">I want to do the same using VPNaaS (the script is below)</div><div class="">But:</div><div class="">-1- VPN is created but its status is « DOWN » </div><div class="">-2- I don’t see any VPN interface inside VMs</div><div class="">-3- I don’t undersand how my PC could join the VPN</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Any help welcome,</div><div class="">Oleg Lodygensky</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">usage() {</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>echo "Usage: $0 [start | stop | status] <configName>"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>exit 1</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">writeVariable() {</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>echo $* >> ${CONFIG_FILE}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">start() {</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>CONFIG_NAME=$2</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>CONFIG_FILE=$2</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>if [ -f ${CONFIG_FILE} ] ; then</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>echo "VPNAAS error : config already exist. Cowardingly refusing to overwrite it"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>exit 1</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>fi</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>touch ${CONFIG_FILE}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>KEY="NET1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>NET1="${CONFIG_NAME}_net1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${NET1}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron net-create ${NET1} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="SUBNET1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>SUBNET1="${CONFIG_NAME}_subnet1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${SUBNET1}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron subnet-create --name ${SUBNET1} ${NET1} 10.100.0.0/24 --gateway 10.100.0.1 && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="ROUTER1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>ROUTER1="${CONFIG_NAME}_router1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${ROUTER1}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-create ${ROUTER1} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-interface-add ${ROUTER1} ${SUBNET1}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-gateway-set ${ROUTER1} public</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="NET2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>NET2="${CONFIG_NAME}_net2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${NET2}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron net-create ${NET2} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="SUBNET2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>SUBNET2="${CONFIG_NAME}_subnet2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${SUBNET2}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron subnet-create --name ${SUBNET2} ${NET2} 20.200.0.0/24 --gateway 20.200.0.2 && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="ROUTER2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>ROUTER2="${CONFIG_NAME}_router2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${ROUTER2}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-create ${ROUTER2} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-interface-add ${ROUTER2} ${SUBNET2}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-gateway-set ${ROUTER2} public</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>PRIVATE_NET1=`neutron net-list | grep "${NET1}" | cut -f 2 -d' '`</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="VM1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VM1="${CONFIG_NAME}_vm1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${VM1}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>nova boot --key-name os-77345-demo --flavor 2 --image ubuntu14 --nic net-id=${PRIVATE_NET1} ${VM1} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>FLOATINGIP1=`nova floating-ip-create | grep -vE 'Pool|--'| cut -d ' ' -f 4`</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="FLOATINGIP1"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${FLOATINGIP1}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>nova add-floating-ip ${VM1} $FLOATINGIP1 && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>PRIVATE_NET2=`neutron net-list | grep "${NET2}" | cut -f 2 -d' '`</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="VM2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VM2="${CONFIG_NAME}_vm2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${VM2}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>nova boot --key-name os-77345-demo --flavor 2 --image ubuntu14 --nic net-id=${PRIVATE_NET2} ${VM2} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>FLOATINGIP2=`nova floating-ip-create | grep -vE 'Pool|--'| cut -d ' ' -f 4`</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="FLOATINGIP2"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${FLOATINGIP2}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>nova add-floating-ip ${VM2} $FLOATINGIP2 && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">#Create VPN connections</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="IKEPOLICY"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>IKEPOLICY="${CONFIG_NAME}_ikepolicy"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${IKEPOLICY}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron vpn-ikepolicy-create ${IKEPOLICY} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="IPSECPOLICY"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>IPSECPOLICY="${CONFIG_NAME}_ipsecpolicy"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${IPSECPOLICY}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron vpn-ipsecpolicy-create ${IPSECPOLICY} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="VPNSERVICE"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VPNSERVICE="${CONFIG_NAME}_vpnservice"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${VPNSERVICE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron vpn-service-create --name ${VPNSERVICE} --description "Mon service VPN1" ${ROUTER1} ${SUBNET1} && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>KEY="CONNECTION"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>CONNECTION="${CONFIG_NAME}_connection"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>VALUE="${CONNECTION}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">#<span class="Apple-tab-span" style="white-space:pre"> </span>neutron ipsec-site-connection-create --name ${CONNECTION} --vpnservice-id ${VPNSERVICE} \</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">#<span class="Apple-tab-span" style="white-space:pre"> </span> --ikepolicy-id ${IKEPOLICY} --ipsecpolicy-id ${IPSECPOLICY} --peer-address 172.24.4.227 \</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">#<span class="Apple-tab-span" style="white-space:pre"> </span> --peer-id 172.24.4.227 --peer-cidr 10.100.0.0/24 --psk secret && writeVariable "${KEY}=${VALUE}"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>[ ! -s ${CONFIG_FILE} ] && rm -f ${CONFIG_FILE}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">stop() {</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>CONFIG_FILE=$2</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>if [ ! -f ${CONFIG_FILE} ] ; then</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>echo "VPNAAS \"${CONFIG_FILE}\" error : config not found"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>exit 1</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>fi</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>. ${CONFIG_FILE}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>nova delete ${VM1}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>nova delete ${VM2}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>nova floating-ip-delete ${FLOATINGIP1}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>nova floating-ip-delete ${FLOATINGIP2}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron ipsec-site-connection-delete ${CONNECTION}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron vpn-service-delete ${VPNSERVICE}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron vpn-ipsecpolicy-delete ${IPSECPOLICY}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron vpn-ikepolicy-delete ${IKEPOLICY}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>for i in `neutron port-list | grep -vE 'fixed_ips|--' | cut -f 2 -d' '` ; do neutron port-delete $i ; done</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-interface-delete ${ROUTER2} ${SUBNET2}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-delete ${ROUTER2}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron net-delete ${NET2}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-interface-delete ${ROUTER1} ${SUBNET1}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron router-delete ${ROUTER1}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>neutron net-delete ${NET1}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>rm -f ${CONFIG_FILE}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">status() {</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>CONFIG_FILE=$2</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>if [ ! -f ${CONFIG_FILE} ] ; then</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>echo "VPNAAS \"${CONFIG_FILE}\" error : config not found"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>exit 1</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>fi</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>echo "VNPAAS \"${CONFIG_FILE}\": started"</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>cat ${CONFIG_FILE}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">[ $# -ne 2 ] && usage</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo; min-height: 16px;" class=""><br class=""></div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">case $1 in</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>"start" )</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>start $*</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>;;</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>"stop" )</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>stop $*</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>;;</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>"status" )</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>status $*</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>;;</div><div style="margin: 0px; font-size: 14px; line-height: normal; font-family: Menlo;" class="">esac</div><div class=""><br class=""></div></div><div class=""><br class=""></div></div></body></html>