From 7cb223b02a79162d3c18224b114f1fd3577c98c0 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Fri, 16 Aug 2019 00:15:34 +0200 Subject: [PATCH] Fix missing --force and cleanup code --- install | 2 +- wo/cli/plugins/stack.py | 33 +++++++++++++++++---------------- wo/cli/plugins/stack_upgrade.py | 31 +++++++++++-------------------- 3 files changed, 29 insertions(+), 37 deletions(-) diff --git a/install b/install index 615bba0..aca2a05 100755 --- a/install +++ b/install @@ -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; } diff --git a/wo/cli/plugins/stack.py b/wo/cli/plugins/stack.py index cf95508..3320a6d 100644 --- a/wo/cli/plugins/stack.py +++ b/wo/cli/plugins/stack.py @@ -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): diff --git a/wo/cli/plugins/stack_upgrade.py b/wo/cli/plugins/stack_upgrade.py index 5b84e22..35f7bf0 100644 --- a/wo/cli/plugins/stack_upgrade.py +++ b/wo/cli/plugins/stack_upgrade.py @@ -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: