Fix missing --force and cleanup code

This commit is contained in:
VirtuBox
2019-08-16 00:15:34 +02:00
parent 3e33998406
commit 7cb223b02a
3 changed files with 29 additions and 37 deletions

View File

@@ -497,7 +497,7 @@ wo_upgrade_nginx() {
fi
else
/usr/local/bin/wo stack upgrade --nginx
/usr/local/bin/wo stack upgrade --nginx --force
fi
# restore sites and configuration
[ -f /etc/nginx/htpasswd-ee ] && { mv /etc/nginx/htpasswd-ee /etc/nginx/htpasswd-wo; }

View File

@@ -104,6 +104,7 @@ class WOStackController(CementBaseController):
def install(self, packages=[], apt_packages=[], disp_msg=True):
"""Start installation of packages"""
self.msg = []
empty_packages = []
pargs = self.app.pargs
try:
# Default action for stack installation
@@ -395,25 +396,25 @@ class WOStackController(CementBaseController):
except Exception as e:
Log.debug(self, "{0}".format(e))
if (apt_packages) or (packages):
if (apt_packages):
Log.debug(self, "Calling pre_pref")
pre_pref(self, apt_packages)
if (apt_packages):
# meminfo = (os.popen('/bin/cat /proc/meminfo '
# '| grep MemTotal').read()).split(":")
# memsplit = re.split(" kB", meminfo[1])
# wo_mem = int(memsplit[0])
# if (wo_mem < 4000000):
# WOSwap.add(self)
Log.info(self, "Updating apt-cache, please wait...")
WOAptGet.update(self)
Log.info(self, "Installing packages, please wait...")
WOAptGet.install(self, apt_packages)
if (packages):
Log.debug(self, "Downloading following: {0}".format(packages))
WODownload.download(self, packages)
# meminfo = (os.popen('/bin/cat /proc/meminfo '
# '| grep MemTotal').read()).split(":")
# memsplit = re.split(" kB", meminfo[1])
# wo_mem = int(memsplit[0])
# if (wo_mem < 4000000):
# WOSwap.add(self)
Log.info(self, "Updating apt-cache, please wait...")
WOAptGet.update(self)
Log.info(self, "Installing packages, please wait...")
WOAptGet.install(self, apt_packages)
post_pref(self, apt_packages, empty_packages)
if (packages):
Log.debug(self, "Downloading following: {0}".format(packages))
WODownload.download(self, packages)
Log.debug(self, "Calling post_pref")
post_pref(self, apt_packages, packages)
post_pref(self, empty_packages, packages)
if disp_msg:
if (self.msg):

View File

@@ -49,6 +49,9 @@ class WOStackUpgradeController(CementBaseController):
(['--no-prompt'],
dict(help="Upgrade Packages without any prompt",
action='store_true')),
(['--force'],
dict(help="Force Packages upgrade without any prompt",
action='store_true')),
]
@expose(hide=True)
@@ -157,17 +160,15 @@ class WOStackUpgradeController(CementBaseController):
Log.error(self, "Composer isn't installed")
if len(packages) or len(apt_packages):
Log.info(self, "During package update process non nginx-cached"
" parts of your site may remain down")
# Check prompt
if (not pargs.no_prompt):
start_upgrade = input("Do you want to continue:[y/N]")
if start_upgrade != "Y" and start_upgrade != "y":
Log.error(self, "Not starting package update")
Log.info(self, "Updating packages, please wait...")
if len(apt_packages):
Log.info(self, "Your site may be down for few seconds if "
"you are upgrading Nginx, PHP-FPM, MariaDB or Redis")
# Check prompt
if ((not pargs.no_prompt) and (not pargs.force)):
start_upgrade = input("Do you want to continue:[y/N]")
if start_upgrade != "Y" and start_upgrade != "y":
Log.error(self, "Not starting package update")
Log.info(self, "Updating APT packages, please wait...")
# apt-get update
WOAptGet.update(self)
if set(WOVariables.wo_php).issubset(set(apt_packages)):
@@ -180,16 +181,6 @@ class WOStackUpgradeController(CementBaseController):
WOAptGet.install(self, apt_packages)
post_pref(self, apt_packages, empty_packages)
# Post Actions after package updates
if (set(WOVariables.wo_nginx).issubset(set(apt_packages))):
WOService.restart_service(self, 'nginx')
if set(WOVariables.wo_php).issubset(set(apt_packages)):
WOService.restart_service(self, 'php7.2-fpm')
if set(WOVariables.wo_php73).issubset(set(apt_packages)):
WOService.restart_service(self, 'php7.3-fpm')
if set(WOVariables.wo_mysql).issubset(set(apt_packages)):
WOService.restart_service(self, 'mysql')
if set(WOVariables.wo_redis).issubset(set(apt_packages)):
WOService.restart_service(self, 'redis-server')
if len(packages):
if pargs.wpcli: