def check_server_configs(request, server_id):
"""Checks server's configuration.
When server has some installs it should have
particular configs for these installs.
"""
server = get_object_or_404(models.Server, id=server_id)
installs = models.Install.objects.filter(server_id=server.id)
for i in installs:
if i.item in ['mysql', 'postgresql']:
if i.item == 'mysql':
type_db = 'M'
else:
type_db = 'P'
message_01 = '{}: {}: Db not found'.format(server.code, i.item)
message_02 = '{}: {}: Db version not correct (It should be x.x)'\
.format(server.code, i.item)
message_03 = '{}: {}: root user not found'\
.format(server.code, i.item)
try:
db = models.Db.objects.get(
server_id=server.id, type='S', type_db=type_db)
if not re.match('\d\.\d$', db.version):
messages.error(request, message_02)
models.User.objects.get(type='db', db_id=db.id, name='root')
except models.Db.DoesNotExist:
messages.error(request, message_01)
messages.error(request, message_03)
except models.User.DoesNotExist:
messages.error(request, message_03)
for filename in i.required_files():
dic = dict(server_id=server.id, item=i.item, filename=filename)
if not models.Conf.objects.filter(**dic).exists():
message = '{}: {}: {} not found'\
.format(server.code, i.item, filename)
messages.error(request, message)
storage = messages.get_messages(request)
if len(storage) == 0:
messages.success(request, "Server is ready for install.")
return HttpResponseRedirect('/admin/api/server/{}/'.format(server_id))
评论列表
文章目录