%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyo

�
���^c@@sdZddlmZmZmZddlZddlmZddlZ	ej
e�Zd�Z
d�Zd�Zd�Zd	d
d�Zd�Zd
�Zed�Zed�Zed�Zed�Zd�Zd�Zd�Zd�Zed�Zd�Zdd�Z!dS(u�
Support for Open vSwitch - module with basic Open vSwitch commands.

Suitable for setting up Openstack Neutron.

:codeauthor: Jiri Kotlin <jiri.kotlin@ultimum.io>
i(tabsolute_importtprint_functiontunicode_literalsN(tsixcC@stjjjd�rdStS(u;
    Only load the module if Open vSwitch is installed
    u	ovs-vsctluopenvswitch(tsalttutilstpathtwhichtFalse(((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt__virtual__scC@s|r
dSdSdS(u�
    Returns --may-exist parameter for Open vSwitch command.

    Args:
        may_exist: Boolean whether to use this parameter.

    Returns:
        String '--may-exist ' or empty string.
    u--may-exist uN((t	may_exist((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt_param_may_exists
cC@s|r
dSdSdS(u�
    Returns --if-exist parameter for Open vSwitch command.

    Args:
        if_exists: Boolean whether to use this parameter.

    Returns:
        String '--if-exist ' or empty string.
    u--if-exists uN((t	if_exists((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt_param_if_exists.s
cC@s|dkrtStSdS(u�
    Evaulates Open vSwitch command`s retcode value.

    Args:
        retcode: Value of retcode field from response, should be 0, 1 or 2.

    Returns:
        True on 0, else False
    iN(tTrueR(tretcode((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt_retcode_to_bool>s
uu
cC@s'|dkr|j|�}|StSdS(u1
    Evaulates Open vSwitch command`s retcode value.

    Args:
        retcode: Value of retcode field from response, should be 0, 1 or 2.
        stdout: Value of stdout filed from response.
        splitstring: String used to split the stdout default new line.

    Returns:
        List or False.
    iN(tsplitR(Rtstdouttsplitstringtret((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt_stdout_list_splitNscC@s7d}td|�}|d}|d}t||�S(u�
    Lists all existing real and fake bridges.

    Returns:
        List of bridges (or empty list), False on failure.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.bridge_list
    uovs-vsctl list-brucmd.run_alluretcodeustdout(t__salt__R(tcmdtresultRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytbridge_listas


cC@s3dj|�}td|�}|d}t|�S(u�
    Tests whether bridge exists as a real or fake  bridge.

    Returns:
        True if Bridge exists, else False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.bridge_exists br0
    uovs-vsctl br-exists {0}ucmd.run_alluretcode(tformatRR(tbrRRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt
bridge_existsvs
cC@s<t|�}dj||�}td|�}t|d�S(uX
    Creates a new bridge.

    Args:
        br: A string - bridge name
        may_exist: Bool, if False - attempting to create a bridge that exists returns False.

    Returns:
        True on success, else False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.bridge_create br0
    uovs-vsctl {1}add-br {0}ucmd.run_alluretcode(RRRR(RR
tparam_may_existRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt
bridge_create�scC@sBt|�}dj||�}td|�}|d}t|�S(uq
    Deletes bridge and all of  its  ports.

    Args:
        br: A string - bridge name
        if_exists: Bool, if False - attempting to delete a bridge that does not exist returns False.

    Returns:
        True on success, else False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.bridge_delete br0
    uovs-vsctl {1}del-br {0}ucmd.run_alluretcode(R
RRR(RRtparam_if_existsRRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt
bridge_delete�s

cC@sEt|�}dj|||�}td|�}|d}t|�S(u�
    Creates on bridge a new port named port.

    Returns:
        True on success, else False.

    Args:
        br: A string - bridge name
        port: A string - port name
        may_exist: Bool, if False - attempting to create a port that exists returns False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.port_add br0 8080
    uovs-vsctl {2}add-port {0} {1}ucmd.run_alluretcode(RRRR(RtportR
RRRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytport_add�s

cC@sgt|�}|r.|r.dj||�}ndj|||�}td|�}|d}t|�S(u�
     Deletes port.

    Args:
        br: A string - bridge name (If bridge is None, port is removed from  whatever bridge contains it)
        port: A string - port name.
        if_exists: Bool, if False - attempting to delete a por that  does  not exist returns False. (Default True)

    Returns:
        True on success, else False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.port_remove br0 8080
    uovs-vsctl {1}del-port {0}uovs-vsctl {2}del-port {0} {1}ucmd.run_alluretcode(R
RRR(RR!RRRRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytport_remove�s

cC@s@dj|�}td|�}|d}|d}t||�S(u
    Lists all of the ports within bridge.

    Args:
        br: A string - bridge name.

    Returns:
        List of bridges (or empty list), False on failure.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.port_list br0
    uovs-vsctl list-ports {0}ucmd.run_alluretcodeustdout(RRR(RRRRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt	port_list�s


cC@s@dj|�}td|�}|d}|d}t||�S(u
    Lists tags of the port.

    Args:
        port: A string - port name.

    Returns:
        List of tags (or empty list), False on failure.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.port_get_tag tap0
    uovs-vsctl get port {0} tagucmd.run_alluretcodeustdout(RRR(R!RRRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytport_get_tags


cC@s@dj|�}td|�}|d}|d}t||�S(uG
    Port's interface's optional parameters.

    Args:
        port: A string - port name.

    Returns:
        String containing optional parameters of port's interface, False on failure.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.interface_get_options tap0
    u#ovs-vsctl get interface {0} optionsucmd.run_alluretcodeustdout(RRR(R!RRRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytinterface_get_options#s


cC@s@dj|�}td|�}|d}|d}t||�S(u'
    Type of port's interface.

    Args:
        port: A string - port name.

    Returns:
        String - type of interface or empty string, False on failure.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

        salt '*' openvswitch.interface_get_type tap0
    u ovs-vsctl get interface {0} typeucmd.run_alluretcodeustdout(RRR(R!RRRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytinterface_get_type;s


cC@std�}d|ko$dkns-tSt|�s=tS|rT||krTtS|t|�kr�dj||�}|r�|dj|�7}ntd|�}t|d�Sdj|||�}|r�|dj|�7}ntd|�}t|d�Sd	S(
u�
    Isolate VM traffic using VLANs.

    Args:
        br: A string - bridge name.
        port: A string - port name.
        id: An integer in the valid range 0 to 4095 (inclusive), name of VLAN.
        internal: A boolean to create an internal interface if one does not exist.

    Returns:
        True on success, else False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

       salt '*' openvswitch.port_create_vlan br0 tap0 100
    unetwork.interfacesii�uovs-vsctl set port {0} tag={1}u# -- set interface {0} type=internalucmd.run_alluretcodeu"ovs-vsctl add-port {0} {1} tag={2}N(RRRR$RR(RR!tidtinternalt
interfacesRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytport_create_vlanSs$
cC@s�d|kod
kns tStd|�s4tSt|�sDtS|t|�kr�dj|||�}td|�}t|d�Sdj||||�}td|�}t|d�Sd	S(u�
    Generic Routing Encapsulation - creates GRE tunnel between endpoints.

    Args:
        br: A string - bridge name.
        port: A string - port name.
        id: An integer - unsigned 32-bit number, tunnel's key.
        remote: A string - remote endpoint's IP address.

    Returns:
        True on success, else False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

       salt '*' openvswitch.port_create_gre br0 gre1 5001 192.168.1.10
    iii udig.check_ipuJovs-vsctl set interface {0} type=gre options:remote_ip={1} options:key={2}ucmd.run_alluretcodeu^ovs-vsctl add-port {0} {1} -- set interface {1} type=gre options:remote_ip={2} options:key={3}NI(RRRR$RR(RR!R(tremoteRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytport_create_gre|scC@s�d|kodknr/dtj|�nd}d|koLd
knsUtStd|�sitSt|�sytS|t|�kr�dj||||�}td	|�}t|d
�Sdj|||||�}td	|�}t|d
�SdS(uC
    Virtual eXtensible Local Area Network - creates VXLAN tunnel between endpoints.

    Args:
        br: A string - bridge name.
        port: A string - port name.
        id: An integer - unsigned 64-bit number, tunnel's key.
        remote: A string - remote endpoint's IP address.
        dst_port: An integer - port to use when creating tunnelport in the switch.

    Returns:
        True on success, else False.

    .. versionadded:: 2016.3.0

    CLI Example:
    .. code-block:: bash

       salt '*' openvswitch.port_create_vxlan br0 vx1 5001 192.168.1.10 8472
    ii��u options:dst_port=uii@udig.check_ipuOovs-vsctl set interface {0} type=vxlan options:remote_ip={1} options:key={2}{3}ucmd.run_alluretcodeucovs-vsctl add-port {0} {1} -- set interface {1} type=vxlan options:remote_ip={2} options:key={3}{4}Nl(Rt	text_typeRRRR$RR(RR!R(R,tdst_portRR((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pytport_create_vxlan�s 5("t__doc__t
__future__RRRtloggingtsalt.extRtsalt.utils.pathRt	getLoggert__name__tlogR	RR
RRRRRRR RR"R#R$R%R&R'R+R-tNoneR0(((s</usr/lib/python2.7/site-packages/salt/modules/openvswitch.pyt<module>s.											)	%

Zerion Mini Shell 1.0