Fixes for make pastafari2 independent of monit module
This commit is contained in:
parent
05d8824d6f
commit
437f0ca08a
3 changed files with 41 additions and 4 deletions
|
|
@ -758,7 +758,7 @@ def pastafari2_edit_server():
|
||||||
|
|
||||||
admin=GenerateAdminClass(server, url, t)
|
admin=GenerateAdminClass(server, url, t)
|
||||||
|
|
||||||
admin.arr_fields_edit=['hostname', 'ip']
|
admin.arr_fields_edit=['hostname', 'ip', 'ssh_port']
|
||||||
|
|
||||||
admin.url_redirect=url_for('.pastafari2_dashboard')
|
admin.url_redirect=url_for('.pastafari2_dashboard')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,8 @@ from paramecio2.libraries.db.extrafields.filefield import FileField
|
||||||
from paramecio2.libraries.urls import make_media_url
|
from paramecio2.libraries.urls import make_media_url
|
||||||
from paramecio2.libraries import datetime
|
from paramecio2.libraries import datetime
|
||||||
from paramecio2.modules.admin.models.admin import UserAdmin
|
from paramecio2.modules.admin.models.admin import UserAdmin
|
||||||
from modules.monit.models.monit import Server
|
from modules.pastafari2.models.tasks import LonelyIpField
|
||||||
|
#from modules.monit.models.monit import Server
|
||||||
|
|
||||||
class ServerGroup(WebModel):
|
class ServerGroup(WebModel):
|
||||||
|
|
||||||
|
|
@ -23,6 +24,18 @@ class ServerGroup(WebModel):
|
||||||
self.register(corefields.CharField('group'), True)
|
self.register(corefields.CharField('group'), True)
|
||||||
self.register(corefields.CharField('code_group'), True)
|
self.register(corefields.CharField('code_group'), True)
|
||||||
|
|
||||||
|
class Server(WebModel):
|
||||||
|
|
||||||
|
def __init__(self, connection=None):
|
||||||
|
|
||||||
|
super().__init__(connection)
|
||||||
|
|
||||||
|
#self.register(corefields.ForeignKeyField('user_id', UserServer(connection)), True)
|
||||||
|
self.register(DomainField('hostname'), True)
|
||||||
|
self.register(corefields.CharField('group'), True)
|
||||||
|
self.register(LonelyIpField('ip'), True)
|
||||||
|
self.fields['ip'].unique=True
|
||||||
|
#self.fields['ip'].indexed=True
|
||||||
|
|
||||||
class ServerDbTask(Server):
|
class ServerDbTask(Server):
|
||||||
|
|
||||||
|
|
@ -31,7 +44,7 @@ class ServerDbTask(Server):
|
||||||
super().__init__(connection)
|
super().__init__(connection)
|
||||||
self.fields['group'].required=False
|
self.fields['group'].required=False
|
||||||
self.register(corefields.ForeignKeyField('group_id', ServerGroup(connection), 11, False, 'id', 'group', select_fields=[]))
|
self.register(corefields.ForeignKeyField('group_id', ServerGroup(connection), 11, False, 'id', 'group', select_fields=[]))
|
||||||
self.register(corefields.IntegerField('ssh_port'))
|
self.register(corefields.IntegerField('ssh_port'), True)
|
||||||
|
|
||||||
class UpdateServerScripts(WebModel):
|
class UpdateServerScripts(WebModel):
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,33 @@ from redis import Redis
|
||||||
from rq import Queue
|
from rq import Queue
|
||||||
import importlib
|
import importlib
|
||||||
import traceback
|
import traceback
|
||||||
from modules.monit.models.monit import LonelyIpField
|
#from modules.monit.models.monit import LonelyIpField
|
||||||
from modules.pastafari2.libraries.configtask import config_task
|
from modules.pastafari2.libraries.configtask import config_task
|
||||||
|
|
||||||
|
class LonelyIpField(IpField):
|
||||||
|
|
||||||
|
def __init__(self, name, size=64):
|
||||||
|
|
||||||
|
super().__init__(name, size)
|
||||||
|
|
||||||
|
self.duplicated_ip=False
|
||||||
|
|
||||||
|
def check(self, value):
|
||||||
|
|
||||||
|
value=super().check(value)
|
||||||
|
|
||||||
|
if self.duplicated_ip==True:
|
||||||
|
self.txt_error='Error: you have a server with this ip in the database'
|
||||||
|
self.error=True
|
||||||
|
return value
|
||||||
|
|
||||||
|
return value
|
||||||
|
|
||||||
|
def show_formatted(self, value):
|
||||||
|
|
||||||
|
return '<input id="ip_%s" value="" type="hidden"/>%s' % (value, value)
|
||||||
|
|
||||||
|
|
||||||
class Task(WebModel):
|
class Task(WebModel):
|
||||||
|
|
||||||
def __init__(self, connection):
|
def __init__(self, connection):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue