Refactor patches for initscripts package
Use initscripts-config package to package script and service file for initscripts package. Refactor 0001-Disable-zeroconf-route.patch, spec-add-mountnfs-init-script.patch and spec-include-TiS-changes.patch, let initscripts-config to be responsible for the installation of config/script/service files. Merged some meta patches that just includes adding source code patch to spec-include-Tis-changes.patch. Removed base/procps since it just includes one file, sysctl.conf. And move this file to initscripts-config folder.The monitor-tools package in stx-integ has a %post script that is adding an entry to sysctl.conf, so add "Requires: initscripts-config" in monitor-tools.spec, to ensure it is installed after this package replaces the file. Deployment test and ping test between VMs pass Service, config and script files check pass. Story: 2003768 Task: 27585 Change-Id: I2ea3bd05bdc5bca5658d157e6f40f7380e922500 Signed-off-by: zhipengl <zhipengs.liu@intel.com>
This commit is contained in:
parent
ccd754d835
commit
3fe2e675f8
2
initscripts-config/centos/build_srpm.data
Normal file
2
initscripts-config/centos/build_srpm.data
Normal file
@ -0,0 +1,2 @@
|
||||
SRC_DIR="files"
|
||||
TIS_PATCH_VER=0
|
47
initscripts-config/centos/initscripts-config.spec
Normal file
47
initscripts-config/centos/initscripts-config.spec
Normal file
@ -0,0 +1,47 @@
|
||||
Summary: initscripts-config
|
||||
Name: initscripts-config
|
||||
Version: 1.0
|
||||
Release: %{tis_patch_ver}%{?_tis_dist}
|
||||
License: Apache-2.0
|
||||
Group: base
|
||||
Packager: StarlingX
|
||||
URL: unknown
|
||||
BuildArch: noarch
|
||||
Source: %name-%version.tar.gz
|
||||
|
||||
Requires: %{_bindir}/systemctl
|
||||
Requires: initscripts
|
||||
Summary: package StarlingX configuration files of initscripts to system folder.
|
||||
|
||||
%description
|
||||
package StarlingX configuration files of initscripts to system folder.
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
%{__install} -d 644 %{buildroot}%{_datadir}/starlingx/
|
||||
%{__install} -d 644 %{buildroot}%{_sysconfdir}/sysconfig
|
||||
%{__install} -d 755 %{buildroot}%{_initddir}
|
||||
%{__install} -d 644 %{buildroot}%{_unitdir}
|
||||
|
||||
%{__install} -m 644 sysctl.conf %{buildroot}%{_datadir}/starlingx/stx.sysctl.conf
|
||||
%{__install} -m 644 sysconfig-network.conf %{buildroot}%{_sysconfdir}/sysconfig/network
|
||||
%{__install} -m 755 mountnfs.sh %{buildroot}%{_initddir}/mountnfs
|
||||
%{__install} -m 644 mountnfs.service %{buildroot}%{_unitdir}/mountnfs.service
|
||||
|
||||
%post
|
||||
if [ $1 -eq 1 ] ; then
|
||||
# Initial installation
|
||||
cp -f %{_datadir}/starlingx/stx.sysctl.conf %{_sysconfdir}/sysctl.conf
|
||||
chmod 644 %{_sysconfdir}/sysctl.conf
|
||||
fi
|
||||
%{_bindir}/systemctl enable mountnfs.service > /dev/null 2>&1 || :
|
||||
|
||||
%files
|
||||
%{_datadir}/starlingx/stx.sysctl.conf
|
||||
%{_sysconfdir}/sysconfig/network
|
||||
%{_initddir}/mountnfs
|
||||
%{_unitdir}/mountnfs.service
|
13
initscripts-config/files/mountnfs.service
Normal file
13
initscripts-config/files/mountnfs.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=StarlingX Cloud Filesystem Auto-mounter
|
||||
After=network.target nfscommon.service
|
||||
Before=uexportfs.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/etc/init.d/mountnfs start
|
||||
ExecStop=/etc/init.d/mountnfs stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
100
initscripts-config/files/mountnfs.sh
Executable file
100
initscripts-config/files/mountnfs.sh
Executable file
@ -0,0 +1,100 @@
|
||||
#!/bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: mountnfs
|
||||
# Required-Start: $local_fs $network $rpcbind
|
||||
# Required-Stop:
|
||||
# Default-Start: S
|
||||
# Default-Stop:
|
||||
### END INIT INFO
|
||||
|
||||
# . /etc/default/rcS
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
# Avoid mounting if we're shutting down
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#
|
||||
# Run in a subshell because of I/O redirection.
|
||||
#
|
||||
test -f /etc/fstab && (
|
||||
|
||||
#
|
||||
# Read through fstab line by line. If it is NFS, set the flag
|
||||
# for mounting NFS filesystems. If any NFS partition is found and it
|
||||
# not mounted with the nolock option, we start the rpcbind.
|
||||
#
|
||||
rpcbind=no
|
||||
mount_nfs=no
|
||||
mount_smb=no
|
||||
mount_ncp=no
|
||||
mount_cifs=no
|
||||
while read device mountpt fstype options; do
|
||||
case "$device" in
|
||||
""|\#*)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$options" in
|
||||
*noauto*)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "$fstype" = nfs
|
||||
then
|
||||
mount_nfs=yes
|
||||
case "$options" in
|
||||
*nolock*)
|
||||
;;
|
||||
*)
|
||||
rpcbind=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test "$fstype" = smbfs
|
||||
then
|
||||
mount_smb=yes
|
||||
fi
|
||||
if test "$fstype" = ncpfs
|
||||
then
|
||||
mount_ncp=yes
|
||||
fi
|
||||
if test "$fstype" = cifs
|
||||
then
|
||||
mount_cifs=yes
|
||||
fi
|
||||
done
|
||||
|
||||
exec 0>&1
|
||||
|
||||
if test "$rpcbind" = yes; then
|
||||
# WRL: Centos precheck: Dont start rpcbind in this init script.
|
||||
# It is started by a systemd service file.
|
||||
if test "/etc/centos-release" = no
|
||||
then
|
||||
if test -x /usr/sbin/rpcbind
|
||||
then
|
||||
service rpcbind status > /dev/null
|
||||
if [ $? != 0 ]; then
|
||||
echo -n "Starting rpcbind..."
|
||||
start-stop-daemon --start --quiet --exec /usr/sbin/rpcbind
|
||||
sleep 2
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$mount_nfs" = yes || test "$mount_smb" = yes || test "$mount_ncp" = yes || test "$mount_cifs" = yes; then
|
||||
echo "Mounting remote filesystems..."
|
||||
test "$mount_nfs" = yes && mount -a -t nfs
|
||||
test "$mount_smb" = yes && mount -a -t smbfs
|
||||
test "$mount_ncp" = yes && mount -a -t ncpfs
|
||||
test "$mount_cifs" = yes && mount -a -t cifs
|
||||
fi
|
||||
|
||||
) < /etc/fstab
|
||||
|
||||
: exit 0
|
||||
|
1
initscripts-config/files/sysconfig-network.conf
Normal file
1
initscripts-config/files/sysconfig-network.conf
Normal file
@ -0,0 +1 @@
|
||||
ZEROCONF=yes
|
86
initscripts-config/files/sysctl.conf
Normal file
86
initscripts-config/files/sysctl.conf
Normal file
@ -0,0 +1,86 @@
|
||||
# This configuration file is taken from Debian.
|
||||
#
|
||||
# /etc/sysctl.conf - Configuration file for setting system variables
|
||||
# See sysctl.conf (5) for information.
|
||||
#
|
||||
|
||||
#kernel.domainname = example.com
|
||||
|
||||
# Uncomment the following to stop low-level messages on console
|
||||
kernel.printk = 4 4 1 7
|
||||
|
||||
# Reboot X seconds after a kernel panic
|
||||
kernel.panic = 5
|
||||
|
||||
##############################################################3
|
||||
# Functions previously found in netbase
|
||||
#
|
||||
|
||||
# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
|
||||
# Turn on Source Address Verification in all interfaces to
|
||||
# prevent some spoofing attacks
|
||||
net.ipv4.conf.default.rp_filter=1
|
||||
net.ipv4.conf.all.rp_filter=1
|
||||
|
||||
# Uncomment the next line to enable TCP/IP SYN cookies
|
||||
#net.ipv4.tcp_syncookies=1
|
||||
|
||||
# Uncomment the next line to enable packet forwarding for IPv4
|
||||
#net.ipv4.ip_forward=1
|
||||
|
||||
# Uncomment the next line to enable packet forwarding for IPv6
|
||||
#net.ipv6.conf.all.forwarding=1
|
||||
|
||||
|
||||
###################################################################
|
||||
# Additional settings - these settings can improve the network
|
||||
# security of the host and prevent against some network attacks
|
||||
# including spoofing attacks and man in the middle attacks through
|
||||
# redirection. Some network environments, however, require that these
|
||||
# settings are disabled so review and enable them as needed.
|
||||
#
|
||||
# Ignore ICMP broadcasts
|
||||
#net.ipv4.icmp_echo_ignore_broadcasts = 1
|
||||
#
|
||||
# Ignore bogus ICMP errors
|
||||
#net.ipv4.icmp_ignore_bogus_error_responses = 1
|
||||
#
|
||||
# Do not accept ICMP redirects (prevent MITM attacks)
|
||||
#net.ipv4.conf.all.accept_redirects = 0
|
||||
#net.ipv6.conf.all.accept_redirects = 0
|
||||
# _or_
|
||||
# Accept ICMP redirects only for gateways listed in our default
|
||||
# gateway list (enabled by default)
|
||||
# net.ipv4.conf.all.secure_redirects = 1
|
||||
#
|
||||
# Do not send ICMP redirects (we are not a router)
|
||||
#net.ipv4.conf.all.send_redirects = 0
|
||||
#
|
||||
# Do not accept IP source route packets (we are not a router)
|
||||
#net.ipv4.conf.all.accept_source_route = 0
|
||||
#net.ipv6.conf.all.accept_source_route = 0
|
||||
#
|
||||
# Log Martian Packets
|
||||
#net.ipv4.conf.all.log_martians = 1
|
||||
#
|
||||
|
||||
#kernel.shmmax = 141762560
|
||||
|
||||
# Limit local port range
|
||||
net.ipv4.ip_local_port_range = 49216 61000
|
||||
net.ipv4.tcp_tw_reuse = 1
|
||||
|
||||
# WRL
|
||||
# set max socket memory ; default was 212992
|
||||
net.core.rmem_max=425984
|
||||
|
||||
# WRS
|
||||
# The following kernel parameters help alleviate some RabbitMQ
|
||||
# connection issues. These values need to be set here to ensure sysinv-agent
|
||||
# remains connected to rabbitmq. Sysinv-agent starts before packstack and the
|
||||
# long default values allowed the connection to be lost for 2 hours.
|
||||
# Note the ipv4 vlaues are also applied to ipv6 connections.
|
||||
net.ipv4.tcp_keepalive_intvl = 1
|
||||
net.ipv4.tcp_keepalive_probes = 5
|
||||
net.ipv4.tcp_keepalive_time = 5
|
||||
|
Loading…
x
Reference in New Issue
Block a user