cle_clock
Home > wikikonf >  tom/actions/by kikonf > crtcluster







Crtcluster

print

Action : tom.crtcluster   (Category : tom, Name : crtcluster, By : kikonf)
Complete Name : tom.crtcluster.by.kikonf
Version : 4.0        License : Modified BSD License

Purpose of the tom category :
Easy to customize. This category use in background the Kikonf Repoz tools to create and configure Apache Tomcat ® root installs and Catalina bases at any level (server.xml, hosts or defaults).
You can use it to manage the whole Tomcat ® Architecture.

Purpose of this crtcluster plugin : Configure a Tomcat/Apache Cluster

The following shows the Descriptor File for the Action : tom.crtcluster

Toggle lines
<!-- Copyright (c) 2008, Patrick Germain Placidoux                          -->
<!-- All rights reserved.                                                   -->
<!--                                                                        -->
<!-- This file is part of Kikonf Public Software.                           -->
<!--                                                                        -->
<!-- Kikonf Public Software is released under the modified BSD License,     -->
<!-- which should accompany it or any part of it in the file "COPYING".     -->
<!-- If you do not have this file you can access the license                -->
<!-- through the WWW at http://www.kikonf.org/license/bsd/license.txt.      -->
<!--                                                                        -->
<!-- Home page: http://www.kikonf.org                                       -->
<!-- Contact: kikonf@gmx.com                                                -->
<!-- ====================================================================== -->
<!--                                                                        -->
<!--                                                                        -->
<!--                                                                        -->
<!-- ====================================================================== -->
<!-- UPDATE     |     DATE     |   CODE   |  REASON                         -->
<!-- ====================================================================== -->
<!--            |              |          |                                 -->
<!--                                                                        -->
<!--                                                                        -->
<!-- ====================================================================== -->


<!-- 
    name: Virtual Host for which Apache will foward request to cluster 
    Host: on which Apache will receive request, if not guiven same as vhost 
    Port: on which Apache will receive request 
    proxy_nofailover:
    Must be On (default) if your backend Application Server do not support Session Replication.
    Will kill the Sessions bound to a node, if this node id dead. Hence the client have to relog ! 
    lhost: listenedr host
-->
<crtcluster

    type = '{\
        *eq:action,\
        *required:True,\
        *display:False\
    }'
    bal = '{*display:False}'
    sub_type = '{\
        *value:configuration,\
        *eq:configuration,\
        *required:True,\
        *deny:True,\
        *display:False\
    }'
    softwares = "{
        '*type':'dict',
        '*dtype':
            {
                'tom':
                {
                    '*ge':'5.5',
                    '*le':'7',
                    '*required':True
                }
            },
        '*deny':True, 
        '*display':False
    }"
    
    lbname = '{\
        *value:loadbalancer,\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.lbname.help,\
        *lhelp:%lang/action.tom.en/crtcluster.lbname.lhelp\
    }'      
    listener_host = '{\
        *value:localhost,\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.listener_host.help,\
        *lhelp:%lang/action.tom.en/crtcluster.listener_host.lhelp\
    }'
    listener_port = '{\
        *value:80,\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.listener_port.help,\
        *lhelp:%lang/action.tom.en/crtcluster.listener_port.lhelp\
    }'    
    virtual_host = '{\
        *value:localhost,\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.vhost.help,\
        *lhelp:%lang/action.tom.en/crtcluster.vhost.lhelp\
    }'      
    static_dir = '{\
        *value:htdocs,\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.static_dir.help,\
        *lhelp:%lang/action.tom.en/crtcluster.static_dir.lhelp\
    }'
    includes_dir = "{\
        '*value': '$[temp]',\
        '*required': True,\
        '*help': '%lang/action.tom.en/crtcluster.includes_dir.help',\
        '*lhelp': '%lang/action.tom.en/crtcluster.includes_dir.lhelp'\
    }"
    conf_dir = '{\
        *value:conf,\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.conf_dir.help,\
        *lhelp:%lang/action.tom.en/crtcluster.conf_dir.lhelp\
    }'
    log_dir = '{\
        *value:logs,\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.log_dir.help,\
        *lhelp:%lang/action.tom.en/crtcluster.log_ddir.lhelp\
    }'
    cronolog = '{\
        *help:%lang/action.tom.en/crtcluster.cronolog.help,\
        *lhelp:%lang/action.tom.en/crtcluster.cronolog.lhelp\
    }'
    status = '{\
        *value:true,\
        *checkIn:(true,false),\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.status.help,\
        *lhelp:%lang/action.tom.en/crtcluster.status.lhelp\
    }'
    usejk = '{\
        *value:true,\
        *checkIn:(true,false),\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.usejk.help,\
        *lhelp:%lang/action.tom.en/crtcluster.usejk.lhelp\
    }'      
    sitcky_session = '{\
        *value:true,\
        *checkIn:(true,false),\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.sitcky_session.help,\
        *lhelp:%lang/action.tom.en/crtcluster.sitcky_session.lhelp\
    }'    
    jk_template = '{\
        *help:%lang/action.tom.en/crtcluster.jk_template.help,\
        *lhelp:%lang/action.tom.en/crtcluster.jk_template.lhelp\
    }'
    proxy_template = '{\
        *help:%lang/action.tom.en/crtcluster.proxy_template.help,\
        *lhelp:%lang/action.tom.en/crtcluster.proxy_template.lhelp\
    }'
    proxy_nofailover = '{\
        *value:On,\
        *checkIn:(On,Off),\
        *required:True,\
        *help:%lang/action.tom.en/crtcluster.proxy_nofailover.help,\
        *lhelp:%lang/action.tom.en/crtcluster.proxy_nofailover.lhelp\
    }'    

    __wk__='{\
        *help:%lang/action.tom.en/crtcluster.help,\
        *lhelp:%lang/action.tom.en/crtcluster.lhelp\
    }'
>
    <scopes
    
        __wk__ = '{\
            *le:1,\
            *help:%lang/action.tom.en/scope.help,\
            *lhelp:%lang/action.tom.en/scope.lhelp,\
        }'
    >
        <scope 
            cbase = '{*required:True}'
            service = ''
            engine = '*default'

            __wk__ = '{\
                *ge:1,\
                *help:%lang/action.tom.en/scope.help,\
                *lhelp:%lang/action.tom.en/scope.lhelp,\
            }'
        />
    </scopes>
    
    <!-- uris est un TEXT list -->
    <uris
        __wk__ = '{\
            *eq:1,\
            *help:%lang/action.tom.en/crtcluster.uris.help,\
            *lhelp:%lang/action.tom.en/crtcluster.uris.lhelp,\
        }'
    >
        {*type:str}
    </uris>
    
    
    <!--
        ================================================
        | Doc: (Ceci sert aussi a la doc de crtcluster) |
        ================================================
        
        Pour les scopes:
        ===============
        Utilite uniquemtnt a l'extract.
        
        Pour l'inject:
        ===============
        Pour l instant: Pas de check cbase ==> tant que Askapy non fourni:
        Envoyer message information:
        Verfier que 
        name correspond a la valeur de Engine@JvmRoute de l'instance tomcat repondant 
        a host = xxx et port = xxx sur son connector ajp
        
        Pour le remove:
        ===============
        Remove si !test uniquement les fic includes
        
        Pour l'extract:
        ===============
        Recupere tous les cbase les ordonnes par host et les considere tous appartenant au meme cluster.

        S'il n'y a pas de Connecteur Ajp 13: provoque un Warning
        S'il y a des doublons de Connecteur Ajp 13 (host/port): provoque un Warning (meme check que inject)
        S'il n'y a pas de vHost: provoque un Warning
        S'il n'y a pas de jvmRoute: provoque un Warning
        S'il y a des doublons de jvmRoute pour le meme vhost provoque un Warning (meme check que inject)
    -->    
    

    <nodes
        name_separator = '{\
            *value:_,\
            *required:True,\
            *help:%lang/action.tom.en/crtcluster.name_separator.help,\
            *lhelp:%lang/action.tom.en/crtcluster.name_separator.lhelp\
        }'
        __wk__ = '{\
            *eq:1,\
            *help:%lang/action.tom.en/crtcluster.nodes.help,\
            *lhelp:%lang/action.tom.en/crtcluster.nodes.lhelp,\
        }'
    >    
        <node
            name = '{\
                *required:True,\
                *help:%lang/action.tom.en/crtcluster.nodes.host.help,\
                *lhelp:%lang/action.tom.en/crtcluster.nodes.host.lhelp,\
            }'
            host = '{\
                *required:True,\
                *help:%lang/action.tom.en/crtcluster.nodes.host.help,\
                *lhelp:%lang/action.tom.en/crtcluster.nodes.host.lhelp,\
            }'
            port = '{\
                *type:int,\
                *required:True,\
                *help:%lang/action.tom.en/crtcluster.nodes.port.help,\
                *lhelp:%lang/action.tom.en/crtcluster.nodes.port.lhelp,\
            }'
            load_factor = '{\
                *value:1,\
                *type:int,\
                *required:True,\
                *help:%lang/action.tom.en/crtcluster.nodes.load_factor.help,\
                *lhelp:%lang/action.tom.en/crtcluster.nodes.load_factor.lhelp,\
            }'
            jk_cache_size = '{\
                *value:10,\
                *required:True,\
                *help:%lang/action.tom.en/crtcluster.nodes.jk_cache_size.help,\
                *lhelp:%lang/action.tom.en/crtcluster.nodes.jk_cache_size.lhelp,\
            }'

            __wk__ = '{\
                *ge:1,\
                *help:%lang/action.tom.en/crtcluster.nodes.help,\
                *lhelp:%lang/action.tom.en/crtcluster.nodes.lhelp,\
            }'
        />

    </nodes>

</crtcluster>
							
(Source: <KIKONF_INSTALLATION_DIR>/plugins/actions/tom/crtcluster/by/kikonf/ACT_INF/action.xml)


A descriptor file is a WYSISWYG xsd like schema, wich describes what are the supported Tags, Attributes and Attributes values for one Action.
The special Attributes : type, sub_type, bal, softwares, __wk__ are reserved by Kikonf.

The table below summarizes the informations provided by the tom.crtcluster Descriptor File :

/crtcluster>   Configure a Tomcat/Apache Cluster
Name Default Type Required Denied Help
lbname loadbalancer   True   %lang/action.tom.en/crtcluster.lbname.help
listener_host localhost   True   %lang/action.tom.en/crtcluster.listener_host.help
listener_port 80   True   %lang/action.tom.en/crtcluster.listener_port.help
virtual_host localhost   True   %lang/action.tom.en/crtcluster.vhost.help
static_dir htdocs   True   %lang/action.tom.en/crtcluster.static_dir.help
includes_dir $[temp]   True   %lang/action.tom.en/crtcluster.includes_dir.help
conf_dir conf   True   %lang/action.tom.en/crtcluster.conf_dir.help
log_dir logs   True   %lang/action.tom.en/crtcluster.log_dir.help
cronolog         %lang/action.tom.en/crtcluster.cronolog.help
status true (true, false) True   %lang/action.tom.en/crtcluster.status.help
usejk true (true, false) True   %lang/action.tom.en/crtcluster.usejk.help
sitcky_session true (true, false) True   %lang/action.tom.en/crtcluster.sitcky_session.help
jk_template         %lang/action.tom.en/crtcluster.jk_template.help
proxy_template         %lang/action.tom.en/crtcluster.proxy_template.help
proxy_nofailover On (On, Off) True   %lang/action.tom.en/crtcluster.proxy_nofailover.help

/crtcluster/scopes>   A scope refers to configuration Level within the Tomcat scheme.

/crtcluster/scopes/scope>   A scope refers to configuration Level within the Tomcat scheme.
Name Default Type Required Denied Help
cbase     True    
service   str      
engine *default str      

/crtcluster/uris>   %lang/action.tom.en/crtcluster.uris.help
Required:True

/crtcluster/nodes>   %lang/action.tom.en/crtcluster.nodes.help
Required:True
Name Default Type Required Denied Help
name_separator _   True   %lang/action.tom.en/crtcluster.name_separator.help

/crtcluster/nodes/node>   %lang/action.tom.en/crtcluster.nodes.help
Name Default Type Required Denied Help
name     True   %lang/action.tom.en/crtcluster.nodes.host.help
host     True   %lang/action.tom.en/crtcluster.nodes.host.help
port   int True   %lang/action.tom.en/crtcluster.nodes.port.help
load_factor 1 int True   %lang/action.tom.en/crtcluster.nodes.load_factor.help
jk_cache_size 10   True   %lang/action.tom.en/crtcluster.nodes.jk_cache_size.help



Trademarks :
  • "Apache", "Apache Tomcat" and "Tomcat" are trademarks of the Apache Software Foundation.
  • "Java" and "JVM" are a registred trademarks of Oracle and/or its affiliates.
  • Other names may be trademarks of their respective owners.

Copyright © 2011 - Patrick Placidoux, Hélène Malamoud