Skip to content

Commit 6209609

Browse files
committed
Update service units for log directory
Add log rotation script for Debian based
1 parent 20a2a3f commit 6209609

17 files changed

+149
-88
lines changed

.travis.yml

+23-26
Original file line numberDiff line numberDiff line change
@@ -60,21 +60,20 @@ jobs:
6060
on:
6161
branch: develop
6262
tags: true
63-
- stage: Bintray deployment
63+
- stage: Debian packaging
64+
python: 3.6
6465
install:
6566
# Install packaging requirements
6667
- echo "Installing packaging requirements..."
6768
- sudo apt-get install -y rpm
6869
- sudo pip install virtualenv virtualenv-tools
6970
- sudo pip install --upgrade distribute
70-
script: |
71-
echo "Deploying to BinTray packages...";
72-
echo "Branch: $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION";
73-
# Package Alignak for deb/rpm
74-
./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION deb;
75-
./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION rpm;
76-
# Not yet available
77-
# ./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION freebsd;
71+
script:
72+
- echo "Deploying to BinTray packages..."
73+
# Package Alignak for debian
74+
- ./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION deb
75+
# Not yet available
76+
# ./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION freebsd;
7877
deploy:
7978
- provider: bintray
8079
skip_cleanup: true
@@ -84,28 +83,26 @@ jobs:
8483
secure: "xcvRMpwT+Gk0F+EpelwxSxixkrgb+XLS2310zj3j7+eQ2ahPD20yKX7sZsvIJs3DQjUtJwTemvgW6Yi7TFFJyYK9UA3csPbSojTonXUULjxLP8J3tmaioC2l0L3g+rzeVRbGdsBg5MBMgiz1xdheA3dlaoadL7UXIKx+ZiIjSIkcQJNZWUAPtgsnHGpNx94YGDv4zKp9sBm1Y34QPY8sRXRdlYfmBtp1k1wXVqiVk0K81c6PYoL7bGg9tywfZCGAlhzW0F4Dq9GsB+J1aKgT/QnNVS3HKID8W3wXmlIqGfiidECKjRgZuKcC7ayinuGTOhlitPRtlsAs55Suq7EbAUu4SF8QKV8q5wjtdVxln3zxLrJTAAG2rHQYI4JICjUtPocajZd5661IdHu/UnhqKKWcORK00zwTiQqly9Px/FN0C1qCmnz+1nZOECAQpUxUUXISgKQhYHFKCQK3V4DMryPzPsDuvq4aAIrjjzedca1QwC8FvQgRE13TyLm9wtgsCCZ2TM5moigY37Ea1Gw0leDnAnx6sN5ZERLRE59VxWjhO5O617+kuvxlOcAwkiRYtUPuCVlv00TySqKxtjlY9Rkpc1YLqiLiYJQYCm7ubcFMje9Cy6c8xzS0kTO7HBdPbfJ9ODEKHpOZLYD39iOUk/T60IWMIvsM1RhLTVr7z5Y="
8584
on:
8685
branch: develop
87-
- provider: bintray
88-
skip_cleanup: true
89-
file: .bintray-deb.json
90-
user: mohierf
91-
key:
92-
secure: "xcvRMpwT+Gk0F+EpelwxSxixkrgb+XLS2310zj3j7+eQ2ahPD20yKX7sZsvIJs3DQjUtJwTemvgW6Yi7TFFJyYK9UA3csPbSojTonXUULjxLP8J3tmaioC2l0L3g+rzeVRbGdsBg5MBMgiz1xdheA3dlaoadL7UXIKx+ZiIjSIkcQJNZWUAPtgsnHGpNx94YGDv4zKp9sBm1Y34QPY8sRXRdlYfmBtp1k1wXVqiVk0K81c6PYoL7bGg9tywfZCGAlhzW0F4Dq9GsB+J1aKgT/QnNVS3HKID8W3wXmlIqGfiidECKjRgZuKcC7ayinuGTOhlitPRtlsAs55Suq7EbAUu4SF8QKV8q5wjtdVxln3zxLrJTAAG2rHQYI4JICjUtPocajZd5661IdHu/UnhqKKWcORK00zwTiQqly9Px/FN0C1qCmnz+1nZOECAQpUxUUXISgKQhYHFKCQK3V4DMryPzPsDuvq4aAIrjjzedca1QwC8FvQgRE13TyLm9wtgsCCZ2TM5moigY37Ea1Gw0leDnAnx6sN5ZERLRE59VxWjhO5O617+kuvxlOcAwkiRYtUPuCVlv00TySqKxtjlY9Rkpc1YLqiLiYJQYCm7ubcFMje9Cy6c8xzS0kTO7HBdPbfJ9ODEKHpOZLYD39iOUk/T60IWMIvsM1RhLTVr7z5Y="
93-
on:
9486
tags: true
87+
- stage: RPM packaging for Python 2
88+
python: 2.7
89+
install:
90+
# Install packaging requirements
91+
- echo "Installing packaging requirements..."
92+
- sudo apt-get install -y rpm
93+
- sudo pip install virtualenv virtualenv-tools
94+
- sudo pip install --upgrade distribute
95+
script:
96+
- echo "Deploying to BinTray packages..."
97+
# Package Alignak for rpm
98+
- ./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION rpm
99+
deploy:
95100
- provider: bintray
96101
skip_cleanup: true
97-
file: .bintray-rpm.json
102+
file: .bintray-deb.json
98103
user: mohierf
99104
key:
100105
secure: "xcvRMpwT+Gk0F+EpelwxSxixkrgb+XLS2310zj3j7+eQ2ahPD20yKX7sZsvIJs3DQjUtJwTemvgW6Yi7TFFJyYK9UA3csPbSojTonXUULjxLP8J3tmaioC2l0L3g+rzeVRbGdsBg5MBMgiz1xdheA3dlaoadL7UXIKx+ZiIjSIkcQJNZWUAPtgsnHGpNx94YGDv4zKp9sBm1Y34QPY8sRXRdlYfmBtp1k1wXVqiVk0K81c6PYoL7bGg9tywfZCGAlhzW0F4Dq9GsB+J1aKgT/QnNVS3HKID8W3wXmlIqGfiidECKjRgZuKcC7ayinuGTOhlitPRtlsAs55Suq7EbAUu4SF8QKV8q5wjtdVxln3zxLrJTAAG2rHQYI4JICjUtPocajZd5661IdHu/UnhqKKWcORK00zwTiQqly9Px/FN0C1qCmnz+1nZOECAQpUxUUXISgKQhYHFKCQK3V4DMryPzPsDuvq4aAIrjjzedca1QwC8FvQgRE13TyLm9wtgsCCZ2TM5moigY37Ea1Gw0leDnAnx6sN5ZERLRE59VxWjhO5O617+kuvxlOcAwkiRYtUPuCVlv00TySqKxtjlY9Rkpc1YLqiLiYJQYCm7ubcFMje9Cy6c8xzS0kTO7HBdPbfJ9ODEKHpOZLYD39iOUk/T60IWMIvsM1RhLTVr7z5Y="
101106
on:
107+
branch: develop
102108
tags: true
103-
# Not yet available
104-
# - provider: bintray
105-
# skip_cleanup: true
106-
# file: .bintray-freebsd.json
107-
# user: mohierf
108-
# key:
109-
# secure: "xcvRMpwT+Gk0F+EpelwxSxixkrgb+XLS2310zj3j7+eQ2ahPD20yKX7sZsvIJs3DQjUtJwTemvgW6Yi7TFFJyYK9UA3csPbSojTonXUULjxLP8J3tmaioC2l0L3g+rzeVRbGdsBg5MBMgiz1xdheA3dlaoadL7UXIKx+ZiIjSIkcQJNZWUAPtgsnHGpNx94YGDv4zKp9sBm1Y34QPY8sRXRdlYfmBtp1k1wXVqiVk0K81c6PYoL7bGg9tywfZCGAlhzW0F4Dq9GsB+J1aKgT/QnNVS3HKID8W3wXmlIqGfiidECKjRgZuKcC7ayinuGTOhlitPRtlsAs55Suq7EbAUu4SF8QKV8q5wjtdVxln3zxLrJTAAG2rHQYI4JICjUtPocajZd5661IdHu/UnhqKKWcORK00zwTiQqly9Px/FN0C1qCmnz+1nZOECAQpUxUUXISgKQhYHFKCQK3V4DMryPzPsDuvq4aAIrjjzedca1QwC8FvQgRE13TyLm9wtgsCCZ2TM5moigY37Ea1Gw0leDnAnx6sN5ZERLRE59VxWjhO5O617+kuvxlOcAwkiRYtUPuCVlv00TySqKxtjlY9Rkpc1YLqiLiYJQYCm7ubcFMje9Cy6c8xzS0kTO7HBdPbfJ9ODEKHpOZLYD39iOUk/T60IWMIvsM1RhLTVr7z5Y="
110-
# on:
111-
# tags: true

alignak/bin/alignak_environment.py

-1
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,6 @@ def _search_sections(self, searched_sections=''):
264264
found_sections = {}
265265
# Get the daemons related properties
266266
for section in self.config.sections():
267-
print("Section: %s" % section)
268267
if not section.startswith(searched_sections):
269268
continue
270269

alignak/daemon.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,8 @@ def __init__(self, name, **kwargs):
621621
else:
622622
self.use_log_file = False
623623
print("Daemon '%s' will not log to a file: %s" % (self.name))
624+
else:
625+
self.logdir = os.path.dirname(self.log_filename)
624626
print("Daemon '%s' is started with an overridden log file: %s"
625627
% (self.name, self.log_filename))
626628

@@ -1287,7 +1289,7 @@ def __open_pidfile(self, write=False):
12871289
self.fpid = open(self.pid_filename, 'w+')
12881290
except Exception as exp: # pylint: disable=broad-except
12891291
self.exit_on_error("Error opening pid file: %s. Error: %s. "
1290-
"Check the %s/%s account permissions to write this file."
1292+
"Check the %s:%s account permissions to write this file."
12911293
% (self.pid_filename, str(exp), self.user, self.group), exit_code=3)
12921294

12931295
def check_parallel_run(self): # pragma: no cover, not with unit tests...

alignak/objects/satellitelink.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,8 @@ def decorated(*args, **kwargs): # pylint: disable=missing-docstring
616616
"cannot be connected: %s", link.type, link.name, exp)
617617
else:
618618
logger.info("Stopping... daemon (%s/%s) cannot be connected. "
619-
"It is also probably stopping.", link.type, link.name)
619+
"It is also probably stopping or yet stopped.",
620+
link.type, link.name)
620621
link.set_dead()
621622
except (LinkError, HTTPClientTimeoutException) as exp:
622623
link.add_failed_check_attempt("Connection timeout "

bin/alignak-log-rotate

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
"/usr/local/var/log/alignak/*.log" {
2+
copytruncate
3+
daily
4+
rotate 5
5+
compress
6+
delaycompress
7+
missingok
8+
notifempty
9+
}

bin/post-install.sh

+50-11
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,56 @@ else
5252
fi
5353
fi
5454

55-
echo "Installing python packages dependencies from requirements.txt..."
56-
sudo pip install -r $PREFIX/share/alignak/requirements.txt
57-
echo "Installed."
55+
echo "Detecting Python version"
56+
pyver=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:1])))') 2> /dev/null
57+
if [ $? -eq 0 ]
58+
then
59+
pyver=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') 2> /dev/null
60+
echo "Python 3 ($pyver) detected"
61+
exe_pip=$(pip3 --version) 2> /dev/null
62+
if [ $? -eq 0 ]
63+
then
64+
echo "Installing python 3 packages dependencies from requirements.txt..."
65+
sudo pip3 install -r $PREFIX/share/alignak-backend/requirements.txt
66+
echo "Installed."
67+
else
68+
echo "pip3 is not available. You can install it by typing: sudo apt install python3-pip"
69+
echo "You can then run: sudo /usr/local/var/log/alignak-backend/post-install.sh"
70+
exit 1
71+
fi
72+
else
73+
pyver=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
74+
if [ "$pyver" = "2.7" ]; then
75+
echo "Python 2.7 ($pyver) detected"
76+
exe_pip=$(pip --version) 2> /dev/null
77+
if [ $? -eq 0 ]
78+
then
79+
echo "Installing python 2 packages dependencies from requirements.txt..."
80+
sudo pip install -r $PREFIX/share/alignak-backend/requirements.txt
81+
echo "Installed."
82+
else
83+
echo "pip is not available. You can install it by typing: sudo apt install python-pip"
84+
echo "You can then run: /usr/local/var/log/alignak-backend/post-install.sh"
85+
exit 1
86+
fi
87+
else
88+
echo "No valid Python version detected"
89+
exit 1
90+
fi
91+
fi
92+
5893
echo "Creating some necessary directories"
59-
mkdir -p $PREFIX/var/run/alignak
60-
chown -R $ACCOUNT:$ACCOUNT $PREFIX/var/run/alignak
61-
echo "$ACCOUNT user and members of its group $ACCOUNT are granted 775 on $PREFIX/var/run/alignak"
62-
chmod -R 775 $PREFIX/var/run/alignak
63-
mkdir -p $PREFIX/var/log/alignak
64-
chown -R $ACCOUNT:$ACCOUNT $PREFIX/var/log/alignak
65-
echo "$ACCOUNT user and members of its group $ACCOUNT are granted 775 on $PREFIX/var/run/alignak"
66-
chmod -R 775 $PREFIX/var/run/alignak
94+
mkdir -p $PREFIX/var/run/alignak-backend
95+
chown -R $ACCOUNT:$ACCOUNT $PREFIX/var/run/alignak-backend
96+
chmod -R 775 $PREFIX/var/run/alignak-backend
97+
echo "$ACCOUNT user and members of its group $ACCOUNT are granted 775 on $PREFIX/var/run/alignak-backend"
98+
mkdir -p $PREFIX/var/log/alignak-backend
99+
chown -R $ACCOUNT:$ACCOUNT $PREFIX/var/log/alignak-backend
100+
echo "$ACCOUNT user and members of its group $ACCOUNT are granted 775 on $PREFIX/var/log/alignak-backend"
101+
chmod -R 775 $PREFIX/var/log/alignak-backend
67102
echo "Add your own user account as a member of $ACCOUNT group to run daemons from your shell!"
68103
echo "Created."
104+
105+
echo "Installing log rotation script"
106+
cp $PREFIX/share/alignak-backend/alignak-backend-log-rotate /etc/logrotate.d/
107+
echo "Installed."

bin/rc.d/alignak-daemon

+5-6
Original file line numberDiff line numberDiff line change
@@ -338,26 +338,25 @@ alignak_daemon_start()
338338
echo "${command} ${command_args} -i ${alignak_daemon_pid_file}"
339339
${command} ${command_args} "-i ${alignak_daemon_pid_file}"
340340
fi
341-
### ${command} ${command_args}
342341
info "Started"
343342
}
344343

345344
alignak_daemon_stop()
346345
{
347346
if [ -e "${alignak_daemon_pid_file}" ]; then
348-
echo "Stopping ${name} - ${type} ${instance}..."
347+
info "Stopping ${name} - ${type} ${instance}..."
349348
kill -s TERM `cat ${alignak_daemon_pid_file}`
350-
echo "Stopped"
349+
info "Stopped"
351350
else
352-
echo "${name} - ${type} ${instance} is not running"
351+
info "${name} - ${type} ${instance} is not running"
353352
fi
354353
}
355354

356355
alignak_daemon_status() {
357356
if [ -e "${alignak_daemon_pid_file}" ]; then
358-
echo "${name} - ${type} ${instance} is running as pid `cat ${alignak_daemon_pid_file}`"
357+
info "${name} - ${type} ${instance} is running as pid `cat ${alignak_daemon_pid_file}`"
359358
else
360-
echo "${name} - ${type} ${instance} is not running"
359+
info "${name} - ${type} ${instance} is not running"
361360
fi
362361
}
363362

bin/systemd/alignak-arbiter@.service

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ EnvironmentFile=-/etc/default/alignak
1212
Type=forking
1313

1414
# PID file as declared in daemon configuration
15-
PIDFile=/usr/local/var/run/alignak/arbiter-%i.pid
15+
PIDFile=/var/run/alignak/arbiter-%i.pid
1616

1717
ExecStartPre=/bin/echo Alignak starting arbiter %i - /usr/local/bin/alignak-arbiter -d -n arbiter-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18-
ExecStart=/usr/local/bin/alignak-arbiter -d -n arbiter-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18+
ExecStart=/usr/local/bin/alignak-arbiter -d -n arbiter-%i -e "${ALIGNAK_CONFIGURATION_FILE}" --pid_file /var/run/alignak/arbiter-%i.pid --log_file /var/log/alignak/arbiter-%i.log
1919

2020
# See man systemd.kill
2121
KillMode=control-group

bin/systemd/alignak-broker@.service

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ EnvironmentFile=-/etc/default/alignak
1212
Type=forking
1313

1414
# PID file as declared in daemon configuration
15-
PIDFile=/usr/local/var/run/alignak/broker-%i.pid
15+
PIDFile=/var/run/alignak/broker-%i.pid
1616

1717
ExecStartPre=/bin/echo Alignak starting broker %i - /usr/local/bin/alignak-broker -d -n broker-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18-
ExecStart=/usr/local/bin/alignak-broker -d -n broker-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18+
ExecStart=/usr/local/bin/alignak-broker -d -n broker-%i -e "${ALIGNAK_CONFIGURATION_FILE}" --pid_file /var/run/alignak/broker-%i.pid --log_file /var/log/alignak/broker-%i.log
1919

2020
# See man systemd.kill
2121
KillMode=control-group

bin/systemd/alignak-poller@.service

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ EnvironmentFile=-/etc/default/alignak
1212
Type=forking
1313

1414
# PID file as declared in daemon configuration
15-
PIDFile=/usr/local/var/run/alignak/poller-%i.pid
15+
PIDFile=/var/run/alignak/poller-%i.pid
1616

1717
ExecStartPre=/bin/echo Alignak starting poller %i - /usr/local/bin/alignak-poller -d -n poller-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18-
ExecStart=/usr/local/bin/alignak-poller -d -n poller-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18+
ExecStart=/usr/local/bin/alignak-poller -d -n poller-%i -e "${ALIGNAK_CONFIGURATION_FILE}" --pid_file /var/run/alignak/poller-%i.pid --log_file /var/log/alignak/poller-%i.log
1919

2020
# See man systemd.kill
2121
KillMode=control-group

bin/systemd/alignak-reactionner@.service

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ EnvironmentFile=-/etc/default/alignak
1212
Type=forking
1313

1414
# PID file as declared in daemon configuration
15-
PIDFile=/usr/local/var/run/alignak/reactionner-%i.pid
15+
PIDFile=/var/run/alignak/reactionner-%i.pid
1616

1717
ExecStartPre=/bin/echo Alignak starting reactionner %i - /usr/local/bin/alignak-reactionner -d -n reactionner-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18-
ExecStart=/usr/local/bin/alignak-reactionner -d -n reactionner-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18+
ExecStart=/usr/local/bin/alignak-reactionner -d -n reactionner-%i -e "${ALIGNAK_CONFIGURATION_FILE}" --pid_file /var/run/alignak/reactionner-%i.pid --log_file /var/log/alignak/reactionner-%i.log
1919

2020
# See man systemd.kill
2121
KillMode=control-group

bin/systemd/alignak-receiver@.service

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ EnvironmentFile=-/etc/default/alignak
1212
Type=forking
1313

1414
# PID file as declared in daemon configuration
15-
PIDFile=/usr/local/var/run/alignak/receiver-%i.pid
15+
PIDFile=/var/run/alignak/receiver-%i.pid
1616

1717
ExecStartPre=/bin/echo Alignak starting receiver %i - /usr/local/bin/alignak-receiver -d -n receiver-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18-
ExecStart=/usr/local/bin/alignak-receiver -d -n receiver-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18+
ExecStart=/usr/local/bin/alignak-receiver -d -n receiver-%i -e "${ALIGNAK_CONFIGURATION_FILE}" --pid_file /var/run/alignak/receiver-%i.pid --log_file /var/log/alignak/receiver-%i.log
1919

2020
# See man systemd.kill
2121
KillMode=control-group

bin/systemd/alignak-scheduler@.service

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ EnvironmentFile=-/etc/default/alignak
1212
Type=forking
1313

1414
# PID file as declared in daemon configuration
15-
PIDFile=/usr/local/var/run/alignak/scheduler-%i.pid
15+
PIDFile=/var/run/alignak/scheduler-%i.pid
1616

1717
ExecStartPre=/bin/echo Alignak starting scheduler %i - /usr/local/bin/alignak-scheduler -d -n scheduler-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18-
ExecStart=/usr/local/bin/alignak-scheduler -d -n scheduler-%i -e "${ALIGNAK_CONFIGURATION_FILE}"
18+
ExecStart=/usr/local/bin/alignak-scheduler -d -n scheduler-%i -e "${ALIGNAK_CONFIGURATION_FILE}" --pid_file /var/run/alignak/scheduler-%i.pid --log_file /var/log/alignak/scheduler-%i.log
1919

2020
# See man systemd.kill
2121
KillMode=control-group

bin/systemd/alignak.service

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ Wants=alignak-broker@master.service alignak-poller@master.service alignak-reacti
1212

1313
[Service]
1414
# Execution
15-
ExecStartPre=/bin/mkdir -p /usr/local/var/log/alignak
16-
ExecStartPre=/bin/chown -R alignak:alignak /usr/local/var/log/alignak
17-
ExecStartPre=/bin/mkdir -p /usr/local/var/run/alignak
18-
ExecStartPre=/bin/chown -R alignak:alignak /usr/local/var/run/alignak
15+
ExecStartPre=/bin/mkdir -p /var/log/alignak
16+
ExecStartPre=/bin/chown -R alignak:alignak /var/log/alignak
17+
ExecStartPre=/bin/mkdir -p /var/run/alignak
18+
ExecStartPre=/bin/chown -R alignak:alignak /var/run/alignak
1919
ExecStart=/bin/echo Starting Alignak daemons...
2020

2121
[Install]

0 commit comments

Comments
 (0)