def _build(args): if args.owl_ip == '127.0.0.1' or args.owl_port == 0: Log.print_critical("ERROR: Building owl needs to specify the localhost ip " \ "with '--owl_ip' and the owl monitor http port with '--owl_port'") Log.print_info("Building owl") # Check and install prerequisite python libraries Log.print_info("Check and install prerequisite python libraries") build_utils.check_and_install_modules(OWL_PREREQUISITE_PYTHON_LIBS) check_third_party_tool_exists("gnuplot") check_third_party_tool_exists("mysql") create_and_configure_mysql_for_owl(args) create_django_database() # Deploy hbase if not args.skip_setup_hbase: build_hbase() start_hbase() # Deploy opentsdb deploy_opentsdb() if not args.skip_setup_hbase: start_opentsdb() # Configure opentsdb collector configure_opentsdb_collector(str(args.owl_port)) # Configure owl config configure_owl_config(args) # Output build information build_utils.output_build_info(args.component, 'owl_port', args.owl_port) build_utils.output_build_info(args.component, 'build_status', 'success') Log.print_info("The component %s is built successfully" % args.component)
def _build(args): if args.tank_ip == TANK_DEFAULT_IP: Log.print_critical("ERROR: Building supervisor needs to specify the package server " \ "with '--tank_ip' and '--tank_port'") Log.print_info("Building supervisor") # Check and install prerequisite python libraries Log.print_info("Check and install prerequisite python libraries") build_utils.check_and_install_modules(SUPERVISOR_PREREQUISITE_PYTHON_LIBS) # Create deployment directory deploy_path = raw_input("Please input the root directory to deploy services " \ "(default: /home/%s): " % getpass.getuser()) if deploy_path: deploy_path = os.path.abspath(os.path.realpath(deploy_path)) else: deploy_path = "/home/%s" % getpass.getuser() _create_deployment_directory(deploy_path) # Deploy supervisor _deploy_supervisor(args, deploy_path) # Output build information build_utils.output_build_info(args.component, 'build_status', 'success') Log.print_info("The component %s is built successfully" % args.component)
def create_hbase_table(): if build_utils.get_build_info_option('owl', 'hbase_table') == 'created': return os.chdir(OPENTSDB_ROOT) log_message = "Creating hbase table for opentsdb in %s" % OPENTSDB_ROOT cmd = ["env", "COMPRESSION=NONE", "HBASE_HOME=%s" % HBASE_ROOT, "./src/create_table.sh"] build_utils.execute_command(cmd, log_message=log_message) os.chdir(MINOS_ROOT) # Mark hbase table created build_utils.output_build_info('owl', 'hbase_table', 'created')
def create_hbase_table(): if build_utils.get_build_info_option('owl', 'hbase_table') == 'created': return os.chdir(OPENTSDB_ROOT) log_message = "Creating hbase table for opentsdb in %s" % OPENTSDB_ROOT cmd = [ "env", "COMPRESSION=NONE", "HBASE_HOME=%s" % HBASE_ROOT, "./src/create_table.sh" ] build_utils.execute_command(cmd, log_message=log_message) os.chdir(MINOS_ROOT) # Mark hbase table created build_utils.output_build_info('owl', 'hbase_table', 'created')
def create_and_configure_mysql_for_owl(args): if build_utils.get_build_info_option('owl', 'mysql') == 'created': return # Support both local and remote database choice = raw_input("Please choose Mysql server you want to use " \ "(1 for Local, 2 for Remote): ") owl_prefix = raw_input("Please enter the prefix of your owl database name " \ "(default: %s): " % getpass.getuser()) if not owl_prefix: owl_prefix = getpass.getuser() database_name = "%s_owl" % owl_prefix # Using local mysql if int(choice) == 1: # Check mysql server is running cmd = 'ps -ef | grep mysqld | grep -v grep' error_message = "Please start mysql server firstly" build_utils.check_command_output(cmd, error_message=error_message) # Create owl database create_owl_database(args, database_name) # Configure mysql for owl configure_mysql_for_owl(database_name) # Using remote mysql elif int(choice) == 2: remote_address = raw_input("Please input the remote mysql " \ "server's address (ip:port): ") remote_host, remote_port = remote_address.split(":") # Create owl database create_owl_database(args, database_name, host=remote_host, port=remote_port) # Configure mysql for owl configure_mysql_for_owl(database_name, remote_host, remote_port) else: Log.print_critical("ERROR: invalid choice") # Mark mysql database created build_utils.output_build_info('owl', 'mysql', 'created')
def build_hbase(): if build_utils.get_build_info_option('owl', 'hbase') == 'built': return if not os.path.exists(BUILD_DOWNLOAD_ROOT): os.mkdir(BUILD_DOWNLOAD_ROOT) os.chdir(BUILD_DOWNLOAD_ROOT) log_message = "Setup hbase in %s" % BUILD_DOWNLOAD_ROOT if not os.path.exists(os.path.basename(HBASE_TARBALL)): cmd = ["wget", "%s" % HBASE_TARBALL] build_utils.execute_command(cmd, log_message=log_message) if not os.path.exists(HBASE_ROOT): cmd = ["tar", "xfz", "%s" % os.path.basename(HBASE_TARBALL)] build_utils.execute_command(cmd) generate_hbase_configuration() os.chdir(MINOS_ROOT) # Mark hbase built build_utils.output_build_info('owl', 'hbase', 'built')
def _build(args): Log.print_info("Building tank server") # Check and install prerequisite python libraries Log.print_info("Check and install prerequisite python libraries") build_utils.check_and_install_modules(TANK_PREREQUISITE_PYTHON_LIBS) # Output build information if args.tank_ip != TANK_DEFAULT_IP or args.tank_port != TANK_DEFAULT_PORT: build_utils.output_build_info(args.component, 'tank_ip', args.tank_ip) build_utils.output_build_info(args.component, 'tank_port', args.tank_port) build_utils.output_build_info(args.component, 'build_status', 'success') Log.print_info("The component %s is built successfully" % args.component)