def get_postgre_hba_dir(OS_FAMILY): """Return postgre hba dir location depends on OS. Also depends on version of postgres creates symlink like postgresql-->postgresql-9.3 1) /etc/rc.d/init.d/postgresql --> /etc/rc.d/init.d/postgresql-9.3 2) /etc/init.d/postgresql --> /etc/init.d/postgresql-9.1 """ if OSCheck.is_ubuntu_family(): # Like: /etc/postgresql/9.1/main/ return os.path.join(get_pg_hba_init_files(), get_ubuntu_pg_version(), "main") elif OSCheck.is_redhat7(): return PG_HBA_ROOT_DEFAULT else: if not os.path.isfile(get_pg_hba_init_files()): # Link: /etc/init.d/postgresql --> /etc/init.d/postgresql-9.1 os.symlink( glob.glob(get_pg_hba_init_files() + '*')[0], get_pg_hba_init_files()) pg_hba_init_basename = os.path.basename(get_pg_hba_init_files()) # Get postgres_data location (default: /var/lib/pgsql/data) cmd = "alias basename='echo {0}; true' ; alias exit=return; source {1} status &>/dev/null; echo $PGDATA".format( pg_hba_init_basename, get_pg_hba_init_files()) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) (PG_HBA_ROOT, err) = p.communicate() if PG_HBA_ROOT and len(PG_HBA_ROOT.strip()) > 0: return PG_HBA_ROOT.strip() else: return PG_HBA_ROOT_DEFAULT
def get_postgre_hba_dir(OS_FAMILY): """Return postgre hba dir location depends on OS. Also depends on version of postgres creates symlink like postgresql-->postgresql-9.3 1) /etc/rc.d/init.d/postgresql --> /etc/rc.d/init.d/postgresql-9.3 2) /etc/init.d/postgresql --> /etc/init.d/postgresql-9.1 """ if OS_FAMILY == OSConst.UBUNTU_FAMILY: # Like: /etc/postgresql/9.1/main/ return os.path.join(PG_HBA_INIT_FILES[OS_FAMILY], get_ubuntu_pg_version(), "main") elif OSCheck.is_redhat7(): return PG_HBA_ROOT_DEFAULT else: if not os.path.isfile(PG_HBA_INIT_FILES[OS_FAMILY]): # Link: /etc/init.d/postgresql --> /etc/init.d/postgresql-9.1 os.symlink(glob.glob(PG_HBA_INIT_FILES[OS_FAMILY] + '*')[0], PG_HBA_INIT_FILES[OS_FAMILY]) # Get postgres_data location (default: /var/lib/pgsql/data) cmd = "alias exit=return; source " + PG_HBA_INIT_FILES[ OS_FAMILY] + " status &>/dev/null; echo $PGDATA" p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) (PG_HBA_ROOT, err) = p.communicate() if PG_HBA_ROOT and len(PG_HBA_ROOT.strip()) > 0: return PG_HBA_ROOT.strip() else: return PG_HBA_ROOT_DEFAULT
def get_postgre_hba_dir(OS_FAMILY): """Return postgre hba dir location depends on OS. Also depends on version of postgres creates symlink like postgresql-->postgresql-9.3 1) /etc/rc.d/init.d/postgresql --> /etc/rc.d/init.d/postgresql-9.3 2) /etc/init.d/postgresql --> /etc/init.d/postgresql-9.1 """ if OSCheck.is_ubuntu_family(): # Like: /etc/postgresql/9.1/main/ return os.path.join(get_pg_hba_init_files(), get_ubuntu_pg_version(), "main") elif OSCheck.is_redhat7(): return PG_HBA_ROOT_DEFAULT else: if not os.path.isfile(get_pg_hba_init_files()): # Link: /etc/init.d/postgresql --> /etc/init.d/postgresql-9.1 os.symlink(glob.glob(get_pg_hba_init_files() + '*')[0], get_pg_hba_init_files()) # Get postgres_data location (default: /var/lib/pgsql/data) cmd = "alias exit=return; source " + get_pg_hba_init_files() + " status &>/dev/null; echo $PGDATA" p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) (PG_HBA_ROOT, err) = p.communicate() if PG_HBA_ROOT and len(PG_HBA_ROOT.strip()) > 0: return PG_HBA_ROOT.strip() else: return PG_HBA_ROOT_DEFAULT
def get_postgre_running_status(OS_FAMILY): """Return postgre running status indicator""" if OS_FAMILY == OSConst.UBUNTU_FAMILY: return os.path.join(get_ubuntu_pg_version(), "main") elif OSCheck.is_redhat7(): return "active" else: return PG_STATUS_RUNNING_DEFAULT
def getInterfaces(self): interface_pattern="(\w+)(?:.*Link encap:)" if OSCheck.is_redhat7(): interface_pattern="(\w+)(?:.*flags=)" result = self.data_return_list(interface_pattern, self.DATA_IFCONFIG_OUTPUT) if result == '': log.warn("Can't get a network interfaces list from {0}".format(self.DATA_IFCONFIG_OUTPUT)) return 'OS NOT SUPPORTED' else: return result
def getNetmask(self): import fcntl import struct primary_ip = self.getIpAddress().strip() interface_pattern="(\w+)(?:.*Link encap:)" if OSCheck.is_redhat7(): interface_pattern="(\w+)(?:.*flags=)" for i in re.findall(interface_pattern, self.DATA_IFCONFIG_OUTPUT): if primary_ip == self.get_ip_address_by_ifname(i.strip()).strip(): return socket.inet_ntoa(fcntl.ioctl(socket.socket(socket.AF_INET, socket.SOCK_DGRAM), 35099, struct.pack('256s', i))[20:24])
def getInterfaces(self): interface_pattern="(\w+)(?:.*Link encap:)" if OSCheck.is_redhat7(): interface_pattern="(\w+)(?:.*flags=)" result = self.data_return_list(interface_pattern, self.DATA_IFCONFIG_OUTPUT) if result == '': log.warn("Can't get a network interfaces list from {0}".format(self.DATA_IFCONFIG_OUTPUT)) return 'OS NOT SUPPORTED' else: return result
def getNetmask(self): mask_pattern="(?: Mask:)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" if OSCheck.is_redhat7(): mask_pattern="(?: netmask )(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" result = self.data_return_first(mask_pattern,self.DATA_IFCONFIG_OUTPUT) if result == '': log.warn("Can't get a netmask from {0}".format(self.DATA_IFCONFIG_OUTPUT)) return 'OS NOT SUPPORTED' else: return result
def getIpAddress(self): ip_pattern="(?: inet addr:)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" if OSCheck.is_redhat7(): ip_pattern="(?: inet )(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" result = self.data_return_first(ip_pattern,self.DATA_IFCONFIG_OUTPUT) if result == '': log.warn("Can't get an ip address from {0}".format(self.DATA_IFCONFIG_OUTPUT)) return socket.gethostbyname(socket.gethostname().lower()) else: return result
def getIpAddress(self): ip_pattern = "(?: inet addr:)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" if OSCheck.is_redhat7(): ip_pattern = "(?: inet )(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" result = self.data_return_first(ip_pattern, self.DATA_IFCONFIG_OUTPUT) if result == '': log.warn("Can't get an ip address from {0}".format( self.DATA_IFCONFIG_OUTPUT)) return socket.gethostbyname(socket.gethostname().lower()) else: return result
def getNetmask(self): mask_pattern = "(?: Mask:)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" if OSCheck.is_redhat7(): mask_pattern = "(?: netmask )(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" result = self.data_return_first(mask_pattern, self.DATA_IFCONFIG_OUTPUT) if result == '': log.warn("Can't get a netmask from {0}".format( self.DATA_IFCONFIG_OUTPUT)) return 'OS NOT SUPPORTED' else: return result
def getNetmask(self): import fcntl import struct primary_ip = self.getIpAddress().strip() interface_pattern="(\w+)(?:.*Link encap:)" if OSCheck.is_redhat7(): interface_pattern="(\w+)(?:.*flags=)" for i in re.findall(interface_pattern, self.DATA_IFCONFIG_OUTPUT): ip_address_by_ifname = self.get_ip_address_by_ifname(i.strip()) if ip_address_by_ifname is not None: if primary_ip == ip_address_by_ifname.strip(): return socket.inet_ntoa(fcntl.ioctl(socket.socket(socket.AF_INET, socket.SOCK_DGRAM), 35099, struct.pack('256s', i))[20:24]) return None
hive_server_win_service_name = "hiveserver2" webhcat_server_win_service_name = "templeton" else: hive_pid_dir = config['configurations']['hive-env']['hive_pid_dir'] hive_pid = 'hive-server.pid' hive_metastore_pid = 'hive.pid' hcat_pid_dir = config['configurations']['hive-env']['hcat_pid_dir'] #hcat_pid_dir webhcat_pid_file = format('{hcat_pid_dir}/webhcat.pid') process_name = 'mysqld' if OSCheck.is_suse_family() or OSCheck.is_ubuntu_family(): daemon_name = 'mysql' else: if OSCheck.is_redhat7(): daemon_name = 'mariadb' else: daemon_name = 'mysqld' # Security related/required params hostname = config['hostname'] security_enabled = config['configurations']['cluster-env']['security_enabled'] kinit_path_local = get_kinit_path(default('/configurations/kerberos-env/executable_search_paths', None)) tmp_dir = Script.get_tmp_dir() hdfs_user = config['configurations']['hadoop-env']['hdfs_user'] hive_user = config['configurations']['hive-env']['hive_user'] webhcat_user = config['configurations']['hive-env']['webhcat_user'] # default configuration directories hadoop_conf_dir = conf_select.get_hadoop_conf_dir()