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