aboutsummaryrefslogtreecommitdiff
path: root/lava_scheduler_app/checks.py
diff options
context:
space:
mode:
authorNeil Williams <neil.williams@linaro.org>2018-06-14 08:10:21 +0100
committerNeil Williams <neil.williams@linaro.org>2018-06-14 08:18:18 +0100
commit218eb19e90fccf7c3653789e922f68319556edef (patch)
tree65f2a74dbc6ad59b529ffa3cf689463d6fd10f3a /lava_scheduler_app/checks.py
parenta2fbd0c5bfbcdd74003d6215de7f9c3a915341ca (diff)
Allow for lava-server without lava-dispatcher
LAVA-1352 - lava-dispatcher is now only a Recommends as the hard dependency is on lava-common. Downgrade the deploy check to information. Change-Id: Ia075964bae65948888fdb08b741882f50c16369a
Diffstat (limited to 'lava_scheduler_app/checks.py')
-rw-r--r--lava_scheduler_app/checks.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/lava_scheduler_app/checks.py b/lava_scheduler_app/checks.py
index 19c101c63..cbdcad07f 100644
--- a/lava_scheduler_app/checks.py
+++ b/lava_scheduler_app/checks.py
@@ -21,7 +21,12 @@ from pwd import getpwuid
import stat
import subprocess
-from django.core.checks import Error, register, Warning
+from django.core.checks import (
+ Error,
+ register,
+ Info,
+ Warning,
+)
from lava_scheduler_app.dbutils import invalid_template
from lava_scheduler_app.models import Device, DeviceType, validate_job
@@ -103,14 +108,17 @@ def check_permissions(app_configs, **kwargs):
return errors
-def _package_status(name, errors):
+def _package_status(name, errors, info=False):
try:
out = subprocess.check_output(["dpkg-query", "--status", name],
stderr=subprocess.STDOUT).decode("utf-8").split("\n")
if out[1] != "Status: install ok installed":
errors.append(Error('not installed correctly', obj=name))
except subprocess.CalledProcessError:
- errors.append(Error('not installed from a Debian package', obj=name))
+ if info:
+ errors.append(Info('not installed from a Debian package', obj=name))
+ else:
+ errors.append(Error('not installed from a Debian package', obj=name))
def _package_symlinks(name, errors):
@@ -123,7 +131,7 @@ def _package_symlinks(name, errors):
def check_packaging(app_configs, **kwargs):
errors = []
- _package_status("lava-dispatcher", errors)
+ _package_status("lava-dispatcher", errors, info=True)
_package_status("lava-server", errors)
_package_symlinks("lava_dispatcher", errors)
@@ -143,15 +151,23 @@ def check_services(app_configs, **kwargs):
'apache2',
'lava-server-gunicorn',
'lava-master',
- 'lava-slave',
'lava-publisher',
'lava-logs',
'postgresql',
]
+ optional = [
+ 'lava-slave',
+ ]
for service in services:
try:
subprocess.check_call(['systemctl', '-q', 'is-active', service])
except subprocess.CalledProcessError:
errors.append(Error("%s service is not active." % service, obj="lava service"))
+
+ for service in optional:
+ try:
+ subprocess.check_call(['systemctl', '-q', 'is-active', service])
+ except subprocess.CalledProcessError:
+ errors.append(Info("%s service is not active." % service, obj="lava service"))
return errors