Phil submit the TS-2014 Add an API to register a plugin config file to monitor, 
get me pickup this file, the file monitor and config + plugin management need a 
better solution, please comment.

thanks



## RFC: how to do file monitor and config file reload

    In the Apache Traffic Server, there is a file monitor system in the manager 
process, which will monitor the change of the config files, here we will 
discuss how to we should do with the file monitoring and config reloading.

### The Current Implement

* ATS config files:

    We do config file monitor, sync, backup, snap, roll-back in the manager, 
and the globule config file is register in 'initializeRegistry()'.


### What We Need To Manage?

    In Apache Traffic Server, the most important part is for plugins, which 
will expand the functions and features of the proxy, playing the killer feature 
compare to the competitors.

* Global config files, those are files we now covered:

        log_hosts.config
        logs_xml.config
        storage.config
        socks.config
        proxy.pac
        records.config
        vaddrs.config
        cache.config
        icp.config
        ip_allow.config
        parent.config
        remap.config
        update.config
        volume.config
        hosting.config
        congestion.config
        plugin.config
        splitdns.config
        ssl_multicert.config
        stats.config.xml
        prefetch.config

* plugin config files, plugin configs are often changed in daily usage, users 
should not be forced to restart the cache if they just have some minor change 
in one of the plugin config file:
    * plugin config file for global plugin defined in 'plugin.config'
    * plugin config file for remap defined in 'remap.config'
* plugin binary files, if there is many plugins, then you may have to deal with 
the plugin upgrading in production, we should handle it in the smooth way.
    * global plugin so files
    * remap plugin so files

### How To Deal With The Files?

1. monitor the change of the files, and call back for the corresponding 
functions
2. be able to add and remove file from the monitoring file list
3. be able to manage in the cluster env, sync and update

### What is the root problem?

* most of the plugin related config and so files is defined in the 
traffic_server scope while the file management is done in the traffic_manager
* unify the directory where the plugin and plugin config is stored, to make it 
easy to manage for cluster and other tools
* if you'd like to track all the config & so files in the cluster, how to work 
with operation side management tools such as 'cfengine', 'puppet' and 'chef' 
etc.
    * make own plugin for records.config management?
    * disable cluster management of the config files and plugin so?

### Things We Need To Prepare:
* set rules for plugin management, so files and config files
* set plugin config specs, set standards and APIs
* make it able to register files to the file management system, even in plugin
* get the common config options into records style config options, for most 
usage
* get it clear how to update the plugin so, config file and get it actived


Reply via email to