diff --git a/plogical/ClusterManager.py b/plogical/ClusterManager.py index 396681f72..43822ce36 100644 --- a/plogical/ClusterManager.py +++ b/plogical/ClusterManager.py @@ -284,6 +284,8 @@ password=%s""" % (rootdbpassword, rootdbpassword) from plogical.acl import ACLManager import validators + from plogical.vhost import vhost + currentACL = ACLManager.loadedACL(1) allSite = ACLManager.findAllSites(currentACL, 1) @@ -294,11 +296,7 @@ password=%s""" % (rootdbpassword, rootdbpassword) self.PostStatus( 'Domain %s not found in Master, deleting data directories and configurations.' % (website)) - command = 'rm -rf /home/%s' % (website) - ProcessUtilities.normalExecutioner(command) - - command = 'rm -rf /%s/%s' % (ClusterManager.vhostConfPath, website) - ProcessUtilities.normalExecutioner(command) + vhost.deleteVirtualHostConfigurations(website) self.PostStatus('All domains synced.') diff --git a/plogical/vhost.py b/plogical/vhost.py index 8cc56c983..7a9c4fbb5 100755 --- a/plogical/vhost.py +++ b/plogical/vhost.py @@ -3,6 +3,9 @@ import os import os.path import sys import django + +from plogical.acl import ACLManager + sys.path.append('/usr/local/CyberCP') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings") try: @@ -392,14 +395,18 @@ class vhost: if os.path.exists('/root/.acme.sh/%s' % (items.domain)): shutil.rmtree('/root/.acme.sh/%s' % (items.domain)) - for items in databases: - mysqlUtilities.deleteDatabase(items.dbName, items.dbUser) + ## Child check, to make sure no database entires are being deleted from child node - delWebsite.delete() + if ACLManager.FindIfChild() == 0: - ## Deleting DNS Zone if there is any. + for items in databases: + mysqlUtilities.deleteDatabase(items.dbName, items.dbUser) - DNS.deleteDNSZone(virtualHostName) + delWebsite.delete() + + ## Deleting DNS Zone if there is any. + + DNS.deleteDNSZone(virtualHostName) if not os.path.exists(vhost.redisConf): installUtilities.installUtilities.reStartLiteSpeed() @@ -464,14 +471,18 @@ class vhost: numberOfSites = Websites.objects.count() + ChildDomains.objects.count() vhost.deleteCoreConf(items.domain, numberOfSites) - for items in databases: - mysqlUtilities.deleteDatabase(items.dbName, items.dbUser) - delWebsite.delete() + ## child check to make sure no database entires are being deleted from child server - ## Deleting DNS Zone if there is any. + if ACLManager.FindIfChild() == 0: + for items in databases: + mysqlUtilities.deleteDatabase(items.dbName, items.dbUser) - DNS.deleteDNSZone(virtualHostName) + delWebsite.delete() + + ## Deleting DNS Zone if there is any. + + DNS.deleteDNSZone(virtualHostName) installUtilities.installUtilities.reStartLiteSpeed() diff --git a/plogical/virtualHostUtilities.py b/plogical/virtualHostUtilities.py index ca9ea878a..7aea7f1da 100644 --- a/plogical/virtualHostUtilities.py +++ b/plogical/virtualHostUtilities.py @@ -12,14 +12,9 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings") from random import randint django.setup() - -import shutil import argparse from plogical import installUtilities from plogical import sslUtilities -from os.path import join -from os import listdir, rmdir -from shutil import move from multiprocessing import Process import subprocess import shlex @@ -27,7 +22,6 @@ from plogical.mailUtilities import mailUtilities from plogical import CyberCPLogFileWriter as logging from plogical.dnsUtilities import DNS from plogical.vhost import vhost -from plogical.applicationInstaller import ApplicationInstaller from plogical.acl import ACLManager from plogical.processUtilities import ProcessUtilities from ApachController.ApacheController import ApacheController