Public bug reported:

Currently, opeswan/libreswan pluto process in each router ns will be
restarted when neutron-vpn-agent restart. Because there is no reload
commands which is supported in strongswan.

This is not good, because it will impact the vpn traffic when vpn-agent
restart.

Solution:
Each time after pluto start, let's keep a backup configuration files for 
ipsec.conf & ipsec.secrets. named them as ipsec.conf.old & ipsec.secrets.old.
Then when restart is required, let's check if configurations are changed, if 
not, then restart can be skipped.
With this way, we can simulate a reload method and avoid restart pluto when 
vpn-agent restart.


Following is the captured from currently devstack setup, we can see pluto 
process id changed after vpn-agent restart:

stack@VPN-dev-nick:~$ps ax | grep ctlbase
21683 ?        Ss     0:00 /usr/lib/ipsec/pluto --ctlbase 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/var/run/pluto
 --ipsecdir 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/etc 
--use-netkey --uniqueids --nat_traversal --secretsfile 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/etc/ipsec.secrets
 --virtual_private %v4:192.168.1.0/24,%v4:192.168.2.0/24


RESTART NEUTRON-VPN-AGENT, CHECK AGAIN:

stack@VPN-dev-nick:~$ps ax | grep ctlbase
22206 ?        Ss     0:00 /usr/lib/ipsec/pluto --ctlbase 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/var/run/pluto
 --ipsecdir 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/etc 
--use-netkey --uniqueids --nat_traversal --secretsfile 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/etc/ipsec.secrets
 --virtual_private %v4:192.168.1.0/24,%v4:192.168.2.0/24

** Affects: neutron
     Importance: Undecided
     Assignee: Yi Jing Zhu (nick-zhuyj)
         Status: New


** Tags: vpnaas

** Changed in: neutron
     Assignee: (unassigned) => Yi Jing Zhu (nick-zhuyj)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1571455

Title:
  VPNaaS: pluto should not be restarted when neutron-vpn-agent restart

Status in neutron:
  New

Bug description:
  Currently, opeswan/libreswan pluto process in each router ns will be
  restarted when neutron-vpn-agent restart. Because there is no reload
  commands which is supported in strongswan.

  This is not good, because it will impact the vpn traffic when vpn-
  agent restart.

  Solution:
  Each time after pluto start, let's keep a backup configuration files for 
ipsec.conf & ipsec.secrets. named them as ipsec.conf.old & ipsec.secrets.old.
  Then when restart is required, let's check if configurations are changed, if 
not, then restart can be skipped.
  With this way, we can simulate a reload method and avoid restart pluto when 
vpn-agent restart.

  
  Following is the captured from currently devstack setup, we can see pluto 
process id changed after vpn-agent restart:

  stack@VPN-dev-nick:~$ps ax | grep ctlbase
  21683 ?        Ss     0:00 /usr/lib/ipsec/pluto --ctlbase 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/var/run/pluto
 --ipsecdir 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/etc 
--use-netkey --uniqueids --nat_traversal --secretsfile 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/etc/ipsec.secrets
 --virtual_private %v4:192.168.1.0/24,%v4:192.168.2.0/24

  
  RESTART NEUTRON-VPN-AGENT, CHECK AGAIN:

  stack@VPN-dev-nick:~$ps ax | grep ctlbase
  22206 ?        Ss     0:00 /usr/lib/ipsec/pluto --ctlbase 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/var/run/pluto
 --ipsecdir 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/etc 
--use-netkey --uniqueids --nat_traversal --secretsfile 
/opt/stack/data/neutron/ipsec/a83ba62a-5f97-42a3-b489-80c1465a083a/etc/ipsec.secrets
 --virtual_private %v4:192.168.1.0/24,%v4:192.168.2.0/24

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1571455/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to