%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/states/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/states/tomcat.pyc

�
���^c@@s�dZddlmZmZmZddlmZd�Zeddde
d�Zddd�Zddd	�Z
ddd
�ZdS(u�
Manage Apache Tomcat web applications
=====================================

.. note::
    This state requires the Tomcat Manager webapp to be installed and running.

The following grains/pillars must be set for communication with Tomcat Manager
to work:

.. code-block:: yaml

    tomcat-manager:
        user: 'tomcat-manager'
        passwd: 'Passw0rd'


Configuring Tomcat Manager
--------------------------
To manage webapps via the Tomcat Manager, you'll need to configure
a valid user in the file ``conf/tomcat-users.xml``.

.. code-block:: xml
   :caption: conf/tomcat-users.xml

    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
        <role rolename="manager-script"/>
        <user username="tomcat-manager" password="Passw0rd" roles="manager-script"/>
    </tomcat-users>

Notes
-----

- Using multiple versions (aka. parallel deployments) on the same context
  path is not supported.
- More information about the Tomcat Manager:
  http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
- If you use only this module for deployments you might want to restrict
  access to the manager so it's only accessible via localhost.
  For more info: http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Configuring_Manager_Application_Access
- Last tested on:
    Tomcat Version:
      Apache Tomcat/7.0.54
    JVM Vendor:
      Oracle Corporation
    JVM Version:
      1.8.0_101-b13
    OS Architecture:
      amd64
    OS Name:
      Linux
    OS Version:
      3.10.0-327.22.2.el7.x86_64
i(tabsolute_importtunicode_literalstprint_function(tsixcC@sdtkrdStS(u*
    Load if the module tomcat exists
    u
tomcat.statusutomcat(t__salt__tFalse(((s6/usr/lib/python2.7/site-packages/salt/states/tomcat.pyt__virtual__@suhttp://localhost:8080/manageri�cC@s+i|d6td6id6dd6}|tkrGtd|�pAd}n|sVd}ntd||�}t}	t}
t}|r�dj|�nd	}y�||d
r�d||d
nd	}
||d
j|�s�|dkr�||d
|ks�|r@t}	t}
dj||
�|dd
<dj||�|dd<nTt}	dj||�|d<||ddkr�dj|�|dd<t}n|SWn1tk
r�t}	dj||�|dd<nXtdr�d |d<|S|	tkr4|tkr0td||d|�|d<|djd�|d<n|S|
r}td||d|�}|jd�r}t|d<||d<|Sntd||d|t	|d|d|�}|jd�rt|d<t
jtd||�|�|d<dj||�|dd<n%t|d<||d<|djd�|S(!u
    Enforce that the WAR will be deployed and started in the context path,
    while making use of WAR versions in the filename.

    .. note::

        For more info about Tomcats file paths and context naming, please see
        http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming

    name
        The context path to deploy (incl. forward slash) the WAR to.
    war
        Absolute path to WAR file (should be accessible by the user running
        Tomcat) or a path supported by the ``salt.modules.cp.get_url`` function.
    force : False
        Force deployment even if the version strings are the same.
        Disabled by default.
    url : http://localhost:8080/manager
        The URL of the Tomcat Web Application Manager.
    timeout : 180
        Timeout for HTTP requests to the Tomcat Manager.
    temp_war_location : None
        Use another location to temporarily copy the WAR file to.
        By default the system's temp directory is used.
    version : ''
        Specify the WAR version.  If this argument is provided, it overrides
        the version encoded in the WAR file name, if one is present.

        .. versionadded:: 2015.8.6

        Use ``False`` or blank value to prevent guessing the version and keeping it blank.

        .. versionadded:: 2016.11.0

    Example:

    .. code-block:: yaml

        jenkins:
          tomcat.war_deployed:
            - name: /salt-powered-jenkins
            - war: salt://jenkins-1.2.4.war
            - require:
              - service: application-service

    .. note::

        Be aware that in the above example the WAR ``jenkins-1.2.4.war`` will
        be deployed to the context path ``salt-powered-jenkins##1.2.4``. To avoid this
        either specify a version yourself, or set version to ``False``.

    unameuresultuchangesuucommentutomcat.extract_war_versionu	tomcat.lsuversion {0}u
no versionuversionuversion uundeployed {0} with {1}uundeployuwill deploy {0} with {1}udeployu {0} with {1} is already deployedumodeurunningustarting {0}ustartudeployed {0} with {1}utestutomcat.startttimeoutuOKutomcat.undeployuFAILutomcat.deploy_waruyesttemp_war_locationtversionN(
tTrueRRtformattendswitht	Exceptiont__opts__tNonet
startswitht__env__Rt	text_typetpop(tnametwartforceturlRRR	trettwebappstdeploytundeploytstatust
specified_vertcurrent_vertunt
deploy_res((s6/usr/lib/python2.7/site-packages/salt/states/tomcat.pytwar_deployedIs�<

	& 	






	
$

cC@sEtd||�}i|d6|d6id6|r7dndd6}|S(u�
    Wait for the Tomcat Manager to load.

    Notice that if tomcat is not running we won't wait for it start and the
    state will fail. This state can be required in the tomcat.war_deployed
    state to make sure tomcat is running and that the manager is running as
    well and ready for deployment.

    url : http://localhost:8080/manager
        The URL of the server with the Tomcat Manager webapp.
    timeout : 180
        Timeout for HTTP request to the Tomcat Manager.

    Example:

    .. code-block:: yaml

        tomcat-service:
          service.running:
            - name: tomcat
            - enable: True

        wait-for-tomcatmanager:
          tomcat.wait:
            - timeout: 300
            - require:
              - service: tomcat-service

        jenkins:
          tomcat.war_deployed:
            - name: /ran
            - war: salt://jenkins-1.2.4.war
            - require:
              - tomcat: wait-for-tomcatmanager
    u
tomcat.statusunameuresultuchangesutomcat manager is readyutomcat manager is not readyucomment(R(RRRtresultR((s6/usr/lib/python2.7/site-packages/salt/states/tomcat.pytwait�s%

cC@sRtd|||�}|jd�}i|d6|d6i||6d6|d6}|S(ui
    The tomcat watcher, called to invoke the watch command.
    When called, it will reload the webapp in question

    .. note::
        This state exists to support special handling of the ``watch``
        :ref:`requisite <requisites>`. It should not be called directly.

        Parameters for this function should be set by the state being triggered.
    u
tomcat.reloaduOKunameuresultuchangesucomment(RR(RRRtmsgR"R((s6/usr/lib/python2.7/site-packages/salt/states/tomcat.pyt	mod_watchs

cC@s�i|d6td6id6dd6}td||�sMd|d<t|d<|Sy0td||�|d	}i|d
6|d<Wntk
r�|SXtdr�d|d<|Std||d
|�}|jd�r�t|d<||d<|S|S(u�
    Enforce that the WAR will be undeployed from the server

    name
        The context path to undeploy.
    url : http://localhost:8080/manager
        The URL of the server with the Tomcat Manager webapp.
    timeout : 180
        Timeout for HTTP request to the Tomcat Manager.

    Example:

    .. code-block:: yaml

        jenkins:
          tomcat.undeployed:
            - name: /ran
            - require:
              - service: application-service
    unameuresultuchangesuucommentu
tomcat.statusuTomcat Manager does not respondu	tomcat.lsuversionuundeployutestutomcat.undeployRuFAILN(R
RRtKeyErrorRRR(RRRRR	R((s6/usr/lib/python2.7/site-packages/salt/states/tomcat.pyt
undeployed)s,








N(t__doc__t
__future__RRRtsalt.extRRRRR
R!R#R%R'(((s6/usr/lib/python2.7/site-packages/salt/states/tomcat.pyt<module>8s	�0

Zerion Mini Shell 1.0