Load the configuration file in python dict and check for keys that will be set to default value if not present

    :param str project_name: the name of the project
    :param str config_file: the path of the configuration file
    :return: the loaded configuration
    :rtype: dict

def configure_for_turret(project_name, config_file):
    """Load the configuration file in python dict and check for keys that will be set to default value if not present

    :param str project_name: the name of the project
    :param str config_file: the path of the configuration file
    :return: the loaded configuration
    :rtype: dict
    """
    config = configure(project_name, config_file)
    for key in WARNING_CONFIG_KEYS:
        if key not in config:
            print("WARNING: %s configuration key not present, the value will be set to default value" % key)
    common_config = {
        'hq_address': config.get('hq_address', '127.0.0.1'),
        'hq_publisher': config.get('publish_port', 5000),
        'hq_rc': config.get('rc_port', 5001),
        'turrets_requirements': config.get('turrets_requirements', [])
    }
    configs = []
    for turret in config['turrets']:
        if isinstance(turret, six.string_types):
            turret = load_turret_config(project_name, turret)
        turret.update(common_config)
        turret.update(config.get('extra_turret_config', {}))
        configs.append(turret)
    return configs