Example #1
0
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()
Example #2
0
 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")
Example #3
0
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
Example #4
0
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()
Example #5
0
 def run():
     executor = ChorusExecutor(options.chorus_path)
     executor.start_postgres()
     executor.rake("chorus:caching")
     executor.stop_postgres()