Skip to content

Commit 8d0db5b

Browse files
committed
Restart IPsec service only when needed
Signed-off-by: Periyasamy Palanisamy <[email protected]>
1 parent 7c50442 commit 8d0db5b

7 files changed

+43
-22
lines changed

bindata/butane/80-ipsec-enabler-master-config.bu

+11-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,15 @@ storage:
1818
exit 0
1919
fi
2020

21-
timeout=120
21+
if ! grep -q "auto=start" /etc/ipsec.d/openshift.conf; then
22+
sed -i '/^.*conn ovn.*$/a\ auto=start' /etc/ipsec.d/openshift.conf
23+
fi
24+
25+
cat /etc/ipsec.d/openshift.conf
26+
27+
chroot /proc/1/root ipsec restart
28+
29+
timeout=180
2230
elapsed=0
2331
desiredconn=""
2432
establishedsa=""
@@ -39,6 +47,8 @@ storage:
3947
if [[ $elapsed -ge $timeout ]]; then
4048
echo "Timed out waiting, some connections are not established, desired conns $desiredconn, established conns $establishedsa"
4149
fi
50+
51+
ipsec status
4252
systemd:
4353
units:
4454
- name: ipsecenabler.service

bindata/butane/80-ipsec-enabler-master-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ spec:
1313
files:
1414
- contents:
1515
compression: gzip
16-
source: data:;base64,H4sIAAAAAAAC/3xTUW/aMBh896+4epkCLTSM14oHtiIVqQ+TQHsBikz8hVgNdpbPjE7r/vvkEKZkW6c8+azvvrvz5d1VsjM22SnOBZPH8EUIk2GFKwwJMiGfJqZkSm914kqynJvM36bOZhKbO/icrADoxXiMRGaE8OZA7ugnH8YjQYUqmfRkJDSxqUinztqJlILYq11hOCfNKgDilJuCsFohaoYwLDyihg2bzR20E0CbKOrtKyoxnCF+WvN1wNZ8E+M/ovGK88w3xO81ZepY+BivUKdnxD/KyliPaPwzQL5CHL61DSd2lW/AAMSI+8F3x0fUq5eCc3dirzzxZd1iOV3Otl/G29liOf34OF88zO63nx7mj/fbxfS3JodYrp7k5lrWG0kj5kQmyf5NOUdrvv6tqn4/GbWikphMIKOO3Pb7AZTmDnL+OehfTBmqorY7ZK66ZI/ASKk3zrKsh3cVqecQR8H0Jpt1vsP4nfwAJ2W8sfszDRdEJcZcHzJTE54LFPV6l1rcYNzvC+0snYvabsyeuo35w93SHEgjXDZrB2B3oLaffykddIwz2sEOOpaa+27M4a/4FQAA///Usth8ZgMAAA==
16+
source: data:;base64,H4sIAAAAAAAC/3xTQU/bTBC976947OdPDpDEkFMllENaIoHEoVKiXpIQbexxvMLsGs+EUJX+98p2oHZbIp92dubNe89v/zuJNtZFG8OZYhIMXpSyKRY4wYCgI5I4sgVTPEwiX5DjzKYyjL1LNVZXkIycAujFCi5UauvhE2xLKjB4gjY78WMWU4rGEax3IKYEA4swuh+exd45+Gc3PAsiswSA32jhMbSaR2zkaI+Ks9J7QVSUPo4uo/pQ96KkeodSYh/J72R8+elCUW4KpmR8oRJiW1JS0RtrrarmTW45o4RNVVD7zOaExQLBYQiDXBAc0LBaXSHxCmgDBb3GsynC+yXX2pd8flQmXg8+PyP8P6HU7HIJ8Qqzf0D4oyitEwSjn1VJSoTVt3TViX0ph2JVCBGeVv+woyPoNV5w5vcsRojf1s3mk/l0/W20ns7mk893t7Ob6fX6y83t3fV6Nnnn5BHqxb1enel6IyUIOdJRtP2Qzs7Zp79Z1VnUQcsqjfEYOujQbWcRoDjz0LdfK/6zCcOU1FaH1Jdv3qNCpFisd6zr4U1J5qGyI2f6EM156SB+J+ljb6xYt21gOCcqMOL6kNoasAlQ0Ou9xeIco9NTlXhHzaNrJ2ZL3cT8oW5uHylBdXlY2wf7R2rr+RfTfkc4o21svyPpcN+1uXnhTTDEyI7VrwAAAP//g8OXdUAEAAA=
1717
mode: 480
1818
overwrite: true
1919
path: /usr/local/bin/ipsec-connect-wait.sh

bindata/butane/80-ipsec-enabler-worker-config.bu

+11-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,15 @@ storage:
1818
exit 0
1919
fi
2020

21-
timeout=120
21+
if ! grep -q "auto=start" /etc/ipsec.d/openshift.conf; then
22+
sed -i '/^.*conn ovn.*$/a\ auto=start' /etc/ipsec.d/openshift.conf
23+
fi
24+
25+
cat /etc/ipsec.d/openshift.conf
26+
27+
chroot /proc/1/root ipsec restart
28+
29+
timeout=180
2230
elapsed=0
2331
desiredconn=""
2432
establishedsa=""
@@ -39,6 +47,8 @@ storage:
3947
if [[ $elapsed -ge $timeout ]]; then
4048
echo "Timed out waiting, some connections are not established, desired conns $desiredconn, established conns $establishedsa"
4149
fi
50+
51+
ipsec status
4252
systemd:
4353
units:
4454
- name: ipsecenabler.service

bindata/butane/80-ipsec-enabler-worker-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ spec:
1313
files:
1414
- contents:
1515
compression: gzip
16-
source: data:;base64,H4sIAAAAAAAC/3xTUW/aMBh896+4epkCLTSM14oHtiIVqQ+TQHsBikz8hVgNdpbPjE7r/vvkEKZkW6c8+azvvrvz5d1VsjM22SnOBZPH8EUIk2GFKwwJMiGfJqZkSm914kqynJvM36bOZhKbO/icrADoxXiMRGaE8OZA7ugnH8YjQYUqmfRkJDSxqUinztqJlILYq11hOCfNKgDilJuCsFohaoYwLDyihg2bzR20E0CbKOrtKyoxnCF+WvN1wNZ8E+M/ovGK88w3xO81ZepY+BivUKdnxD/KyliPaPwzQL5CHL61DSd2lW/AAMSI+8F3x0fUq5eCc3dirzzxZd1iOV3Otl/G29liOf34OF88zO63nx7mj/fbxfS3JodYrp7k5lrWG0kj5kQmyf5NOUdrvv6tqn4/GbWikphMIKOO3Pb7AZTmDnL+OehfTBmqorY7ZK66ZI/ASKk3zrKsh3cVqecQR8H0Jpt1vsP4nfwAJ2W8sfszDRdEJcZcHzJTE54LFPV6l1rcYNzvC+0snYvabsyeuo35w93SHEgjXDZrB2B3oLaffykddIwz2sEOOpaa+27M4a/4FQAA///Usth8ZgMAAA==
16+
source: data:;base64,H4sIAAAAAAAC/3xTQU/bTBC976947OdPDpDEkFMllENaIoHEoVKiXpIQbexxvMLsGs+EUJX+98p2oHZbIp92dubNe89v/zuJNtZFG8OZYhIMXpSyKRY4wYCgI5I4sgVTPEwiX5DjzKYyjL1LNVZXkIycAujFCi5UauvhE2xLKjB4gjY78WMWU4rGEax3IKYEA4swuh+exd45+Gc3PAsiswSA32jhMbSaR2zkaI+Ks9J7QVSUPo4uo/pQ96KkeodSYh/J72R8+elCUW4KpmR8oRJiW1JS0RtrrarmTW45o4RNVVD7zOaExQLBYQiDXBAc0LBaXSHxCmgDBb3GsynC+yXX2pd8flQmXg8+PyP8P6HU7HIJ8Qqzf0D4oyitEwSjn1VJSoTVt3TViX0ph2JVCBGeVv+woyPoNV5w5vcsRojf1s3mk/l0/W20ns7mk893t7Ob6fX6y83t3fV6Nnnn5BHqxb1enel6IyUIOdJRtP2Qzs7Zp79Z1VnUQcsqjfEYOujQbWcRoDjz0LdfK/6zCcOU1FaH1Jdv3qNCpFisd6zr4U1J5qGyI2f6EM156SB+J+ljb6xYt21gOCcqMOL6kNoasAlQ0Ou9xeIco9NTlXhHzaNrJ2ZL3cT8oW5uHylBdXlY2wf7R2rr+RfTfkc4o21svyPpcN+1uXnhTTDEyI7VrwAAAP//g8OXdUAEAAA=
1717
mode: 480
1818
overwrite: true
1919
path: /usr/local/bin/ipsec-connect-wait.sh

bindata/network/ovn-kubernetes/common/80-ipsec-master-extensions.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ spec:
1313
files:
1414
- contents:
1515
compression: gzip
16-
source: data:;base64,H4sIAAAAAAAC/3xTUW/aMBh896+4epkCLTSM14oHtiIVqQ+TQHsBikz8hVgNdpbPjE7r/vvkEKZkW6c8+azvvrvz5d1VsjM22SnOBZPH8EUIk2GFKwwJMiGfJqZkSm914kqynJvM36bOZhKbO/icrADoxXiMRGaE8OZA7ugnH8YjQYUqmfRkJDSxqUinztqJlILYq11hOCfNKgDilJuCsFohaoYwLDyihg2bzR20E0CbKOrtKyoxnCF+WvN1wNZ8E+M/ovGK88w3xO81ZepY+BivUKdnxD/KyliPaPwzQL5CHL61DSd2lW/AAMSI+8F3x0fUq5eCc3dirzzxZd1iOV3Otl/G29liOf34OF88zO63nx7mj/fbxfS3JodYrp7k5lrWG0kj5kQmyf5NOUdrvv6tqn4/GbWikphMIKOO3Pb7AZTmDnL+OehfTBmqorY7ZK66ZI/ASKk3zrKsh3cVqecQR8H0Jpt1vsP4nfwAJ2W8sfszDRdEJcZcHzJTE54LFPV6l1rcYNzvC+0snYvabsyeuo35w93SHEgjXDZrB2B3oLaffykddIwz2sEOOpaa+27M4a/4FQAA///Usth8ZgMAAA==
16+
source: data:;base64,H4sIAAAAAAAC/3xTQU/bTBC976947OdPDpDEkFMllENaIoHEoVKiXpIQbexxvMLsGs+EUJX+98p2oHZbIp92dubNe89v/zuJNtZFG8OZYhIMXpSyKRY4wYCgI5I4sgVTPEwiX5DjzKYyjL1LNVZXkIycAujFCi5UauvhE2xLKjB4gjY78WMWU4rGEax3IKYEA4swuh+exd45+Gc3PAsiswSA32jhMbSaR2zkaI+Ks9J7QVSUPo4uo/pQ96KkeodSYh/J72R8+elCUW4KpmR8oRJiW1JS0RtrrarmTW45o4RNVVD7zOaExQLBYQiDXBAc0LBaXSHxCmgDBb3GsynC+yXX2pd8flQmXg8+PyP8P6HU7HIJ8Qqzf0D4oyitEwSjn1VJSoTVt3TViX0ph2JVCBGeVv+woyPoNV5w5vcsRojf1s3mk/l0/W20ns7mk893t7Ob6fX6y83t3fV6Nnnn5BHqxb1enel6IyUIOdJRtP2Qzs7Zp79Z1VnUQcsqjfEYOujQbWcRoDjz0LdfK/6zCcOU1FaH1Jdv3qNCpFisd6zr4U1J5qGyI2f6EM156SB+J+ljb6xYt21gOCcqMOL6kNoasAlQ0Ou9xeIco9NTlXhHzaNrJ2ZL3cT8oW5uHylBdXlY2wf7R2rr+RfTfkc4o21svyPpcN+1uXnhTTDEyI7VrwAAAP//g8OXdUAEAAA=
1717
mode: 480
1818
overwrite: true
1919
path: /usr/local/bin/ipsec-connect-wait.sh
@@ -28,6 +28,7 @@ spec:
2828
2929
[Service]
3030
Type=oneshot
31+
ExecStartPre=rm -f /etc/ipsec.d/cno.conf
3132
ExecStart=systemctl enable --now ipsec.service
3233
ExecStartPost=/usr/local/bin/ipsec-connect-wait.sh
3334

bindata/network/ovn-kubernetes/common/80-ipsec-worker-extensions.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ spec:
1313
files:
1414
- contents:
1515
compression: gzip
16-
source: data:;base64,H4sIAAAAAAAC/3xTUW/aMBh896+4epkCLTSM14oHtiIVqQ+TQHsBikz8hVgNdpbPjE7r/vvkEKZkW6c8+azvvrvz5d1VsjM22SnOBZPH8EUIk2GFKwwJMiGfJqZkSm914kqynJvM36bOZhKbO/icrADoxXiMRGaE8OZA7ugnH8YjQYUqmfRkJDSxqUinztqJlILYq11hOCfNKgDilJuCsFohaoYwLDyihg2bzR20E0CbKOrtKyoxnCF+WvN1wNZ8E+M/ovGK88w3xO81ZepY+BivUKdnxD/KyliPaPwzQL5CHL61DSd2lW/AAMSI+8F3x0fUq5eCc3dirzzxZd1iOV3Otl/G29liOf34OF88zO63nx7mj/fbxfS3JodYrp7k5lrWG0kj5kQmyf5NOUdrvv6tqn4/GbWikphMIKOO3Pb7AZTmDnL+OehfTBmqorY7ZK66ZI/ASKk3zrKsh3cVqecQR8H0Jpt1vsP4nfwAJ2W8sfszDRdEJcZcHzJTE54LFPV6l1rcYNzvC+0snYvabsyeuo35w93SHEgjXDZrB2B3oLaffykddIwz2sEOOpaa+27M4a/4FQAA///Usth8ZgMAAA==
16+
source: data:;base64,H4sIAAAAAAAC/3xTQU/bTBC976947OdPDpDEkFMllENaIoHEoVKiXpIQbexxvMLsGs+EUJX+98p2oHZbIp92dubNe89v/zuJNtZFG8OZYhIMXpSyKRY4wYCgI5I4sgVTPEwiX5DjzKYyjL1LNVZXkIycAujFCi5UauvhE2xLKjB4gjY78WMWU4rGEax3IKYEA4swuh+exd45+Gc3PAsiswSA32jhMbSaR2zkaI+Ks9J7QVSUPo4uo/pQ96KkeodSYh/J72R8+elCUW4KpmR8oRJiW1JS0RtrrarmTW45o4RNVVD7zOaExQLBYQiDXBAc0LBaXSHxCmgDBb3GsynC+yXX2pd8flQmXg8+PyP8P6HU7HIJ8Qqzf0D4oyitEwSjn1VJSoTVt3TViX0ph2JVCBGeVv+woyPoNV5w5vcsRojf1s3mk/l0/W20ns7mk893t7Ob6fX6y83t3fV6Nnnn5BHqxb1enel6IyUIOdJRtP2Qzs7Zp79Z1VnUQcsqjfEYOujQbWcRoDjz0LdfK/6zCcOU1FaH1Jdv3qNCpFisd6zr4U1J5qGyI2f6EM156SB+J+ljb6xYt21gOCcqMOL6kNoasAlQ0Ou9xeIco9NTlXhHzaNrJ2ZL3cT8oW5uHylBdXlY2wf7R2rr+RfTfkc4o21svyPpcN+1uXnhTTDEyI7VrwAAAP//g8OXdUAEAAA=
1717
mode: 480
1818
overwrite: true
1919
path: /usr/local/bin/ipsec-connect-wait.sh
@@ -28,6 +28,7 @@ spec:
2828
2929
[Service]
3030
Type=oneshot
31+
ExecStartPre=rm -f /etc/ipsec.d/cno.conf
3132
ExecStart=systemctl enable --now ipsec.service
3233
ExecStartPost=/usr/local/bin/ipsec-connect-wait.sh
3334

bindata/network/ovn-kubernetes/common/ipsec-host.yaml

+15-16
Original file line numberDiff line numberDiff line change
@@ -239,23 +239,22 @@ spec:
239239
defaultcpinclude="include \/etc\/crypto-policies\/back-ends\/libreswan.config"
240240
if ! grep -q "# ${defaultcpinclude}" /etc/ipsec.conf; then
241241
sed -i "/${defaultcpinclude}/s/^/# /" /etc/ipsec.conf
242-
fi
243-
244-
# since pluto is on the host, we need to restart it after changing connection
245-
# parameters.
246-
chroot /proc/1/root ipsec restart
242+
# since pluto is on the host, we need to restart it after changing connection
243+
# parameters.
244+
chroot /proc/1/root ipsec restart
247245
248-
counter=0
249-
until [ -r /run/pluto/pluto.ctl ]; do
250-
counter=$((counter+1))
251-
sleep 1
252-
if [ $counter -gt 300 ];
253-
then
254-
echo "ipsec has not started after $counter seconds"
255-
exit 1
256-
fi
257-
done
258-
echo "ipsec service is restarted"
246+
counter=0
247+
until [ -r /run/pluto/pluto.ctl ]; do
248+
counter=$((counter+1))
249+
sleep 1
250+
if [ $counter -gt 300 ];
251+
then
252+
echo "ipsec has not started after $counter seconds"
253+
exit 1
254+
fi
255+
done
256+
echo "ipsec service is restarted"
257+
fi
259258
260259
# Workaround for https://github.com/libreswan/libreswan/issues/373
261260
ulimit -n 1024

0 commit comments

Comments
 (0)