예제 #1
0
def check():
    """Ensure PIP3 packages are installed correctly.

    Args:
        None

    Returns:
        None

    """
    # Initialize key variables
    config_directory = os.environ['PATTOO_CONFIGDIR']

    # Print Status
    print('??: Checking configuration parameters.')

    # Check config (pattoo.yaml)
    config_file = configuration.agent_config_filename('pattoo')
    config = files.read_yaml_file(config_file)

    # Check main keys
    keys = ['pattoo', 'pattoo_web_api', 'pattoo_agent_api']
    for key in keys:
        if key not in config:
            log_message = ('''\
Section "{}" not found in configuration file in directory {}. Please fix.\
'''.format(key, config_directory))
            log.log2die_safe(80007, log_message)

    # Check secondary keys
    secondaries = [
        'log_level', 'log_directory', 'cache_directory', 'daemon_directory'
    ]
    secondary_key_check(config, 'pattoo', secondaries)
    secondaries = ['ip_address', 'ip_bind_port']
    secondary_key_check(config, 'pattoo_agent_api', secondaries)
    secondaries = ['ip_address', 'ip_bind_port']
    secondary_key_check(config, 'pattoo_web_api', secondaries)

    # Check config (pattoo_webd.yaml)
    config_file = configuration.agent_config_filename('pattoo_webd')
    config = files.read_yaml_file(config_file)

    # Check main keys
    keys = ['pattoo_webd']
    for key in keys:
        if key not in config:
            log_message = ('''\
Section "{}" not found in configuration file in directory {}. Please fix.\
'''.format(key, config_directory))
            log.log2die_safe(80020, log_message)

    # Check secondary keys
    secondaries = ['ip_listen_address', 'ip_bind_port']
    secondary_key_check(config, 'pattoo_webd', secondaries)

    # Print Status
    print('OK: Configuration parameter check passed.')
예제 #2
0
def check_pattoo_client():
    """Ensure client configuration exists.

    Args:
        None

    Returns:
        True: if the client has been configured correctly

    """
    # Print Status
    print('Checking client configuration parameters.')

    # Checks client config
    config_file = configuration.agent_config_filename('pattoo')
    config = files.read_yaml_file(config_file)

    # Check main keys
    keys = ['pattoo']
    for key in keys:
        if key not in config:
            log_message = ('''\
Section "{}" not found in {} configuration file. Please fix.\
'''.format(key, config_file))
            log.log2die_safe(20090, log_message)

    # Check secondary keys for 'pattoo'
    secondaries = [
        'log_level', 'log_directory', 'cache_directory', 'daemon_directory'
    ]
    secondary_key_check(config, 'pattoo', secondaries)

    # Print Status
    return True
 def test_agent_config_filename(self):
     """Testing method or function named agent_config_filename."""
     # Test
     agent_program = 'koala_bear'
     _config_directory = log.check_environment()
     config_directory = os.path.expanduser(_config_directory)
     expected = ('{}{}{}.yaml'.format(config_directory, os.sep,
                                      agent_program))
     result = configuration.agent_config_filename(agent_program)
     self.assertEqual(result, expected)
예제 #4
0
    def __init__(self):
        """Initialize the class.

        Args:
            None

        Returns:
            None

        """
        # Instantiate inheritance
        BaseConfig.__init__(self)

        # Get the configuration directory
        config_file = agent_config_filename(PATTOO_WEBD_NAME)
        self._daemon_configuration = files.read_yaml_file(config_file)
예제 #5
0
    def __init__(self):
        """Initialize the class.

        Args:
            None

        Returns:
            None

        """
        # Instantiate inheritance
        Config.__init__(self)

        # Get the configuration directory
        config_file = configuration.agent_config_filename(PATTOO_AGENT_SNMPD)
        self._agent_config = files.read_yaml_file(config_file)
예제 #6
0
def check_pattoo_server():
    """Ensure server configuration exists.

    Args:
        None

    Returns:
        None

    """
    # Print Status
    print('??: Checking server configuration parameters.')

    ###########################################################################
    # Check server config
    ###########################################################################
    config_file = configuration.agent_config_filename('pattoo_server')
    config = files.read_yaml_file(config_file)

    # Check main keys
    keys = [
        'pattoo_db', 'pattoo_api_agentd', 'pattoo_apid', 'pattoo_ingesterd'
    ]
    for key in keys:
        if key not in config:
            log_message = ('''\
Section "{}" not found in {} configuration file. Please fix.\
'''.format(key, config_file))
            log.log2die_safe(20141, log_message)

    # Check secondary keys for 'pattoo_db'
    secondaries = [
        'db_pool_size', 'db_max_overflow', 'db_hostname', 'db_username',
        'db_password', 'db_name'
    ]
    secondary_key_check(config, 'pattoo_db', secondaries)

    # Check secondary keys for 'pattoo_api_agentd'
    secondaries = ['ip_listen_address', 'ip_bind_port']
    secondary_key_check(config, 'pattoo_api_agentd', secondaries)

    # Check secondary keys for 'pattoo_apid'
    secondaries = ['ip_listen_address', 'ip_bind_port']
    secondary_key_check(config, 'pattoo_apid', secondaries)

    # Print Status
    print('OK: Server configuration parameter check passed.')