def e_check_free_memory(): executor = ChorusExecutor() @processify(msg=text.get("step_msg", "check_free_memory")) def check(): ret, stdout, stderr = executor.run("free -m |awk 'FNR == 2 {print $2}'") stdout = stdout.strip() if ret == 0 and stdout.isdigit(): logger.debug("total memory is %s" % stdout) if int(stdout) < 8192: raise Exception("Not enough free memory, need at least 8192M free memory") check()
def set_path(self, options): failover_file = os.path.join(options.chorus_path, ".failover") if os.path.exists(failover_file): os.remove(failover_file) self.options = options self.io = InstallerIO(self.options.silent) self.executor = ChorusExecutor(self.options.chorus_path) self.chorus_version = get_version(self.options.chorus_path) self.alpine_version = None self.release_path = os.path.join(self.options.chorus_path, 'releases/%s' % self.chorus_version) self.shared = os.path.join(self.options.chorus_path, "shared")
def health_check(args=''): executor = ChorusExecutor() if args == '' or args == None: args = "checkos" if "help" not in args: logger.info(bold("Running \"atk %s\" Command:" % args)) command = "source ~/.bashrc && %s %s" % (os.path.join( os.path.dirname(os.path.abspath(__file__)), "health_lib/atk"), args) ret, stdout, stderr = executor.run(command + " 2>&1") if "Warning" in stdout: logger.warning(stdout) logger.warning(warning("You have warning during health_check which might cause\n"\ + "problem when you use alpine chorus, we recommand you\n"\ + "resolve these problem before using alpine chorus.")) return ret, stdout, stderr
def c_check_java_version(install_mode=False, user=None): executor = ChorusExecutor() @processify(msg=text.get("step_msg", "check_java")) def check(): if install_mode and user is not None: ret, stdout, stderr = executor.run("su - %s -c 'echo $JAVA_HOME'" % user) if ret == 0 and stdout.strip("\n") != "": command = "su - %s -c '$JAVA_HOME/bin/java -version 2>&1'" % user else: command = "su - %s -c 'java -version 2>&1'" % user else: if os.getenv("JAVA_HOME") == None: command = "java -version 2>&1" else: command = "$JAVA_HOME/bin/java -version 2>&1" ret, stdout, stderr = executor.run(command) if "command not found" in stdout: raise Exception("no java installed, please install oracle jdk") elif "openjdk" in stdout.lower(): raise Exception( "openjdk not supported, please install oracle jdk!") else: java_version = None for line in stdout.split("\n"): if line.startswith("java version"): java_version = line break if java_version is None: raise Exception( "java version not detected, please install oracle jdk") java_version = java_version.split(" ")[2].strip("\"").split( ".")[0:2] java_version = float(".".join(java_version)) if java_version < 1.6: raise Exception( "%s\n only support java version > 1.6, please upgrade" % stdout) check()
def run(): executor = ChorusExecutor(options.chorus_path) executor.start_postgres() executor.rake("chorus:caching") executor.stop_postgres()