%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/network.pyo

�
���^c@@s�dZddlmZmZmZddlZddlZddlZddl	Zddl
mZddlZej
e�Zd�Zed�Zd�Zd�ZdS(	u�
Configuration of network interfaces
===================================

The network module is used to create and manage network settings,
interfaces can be set as either managed or ignored. By default
all interfaces are ignored unless specified.

.. note::

    RedHat-based systems (RHEL, CentOS, Scientific, etc.)
    have been supported since version 2014.1.0.

    Debian-based systems (Debian, Ubuntu, etc.) have been
    supported since version 2017.7.0. The following options
    are not supported: ipaddr_start, and ipaddr_end.

    Other platforms are not yet supported.

.. note::

    On Debian-based systems, networking configuration can be specified
    in `/etc/network/interfaces` or via included files such as (by default)
    `/etc/network/interfaces.d/*`. This can be problematic for configuration
    management. It is recommended to use either `file.managed` *or*
    `network.managed`.

    If using `network.managed`, it can be useful to ensure `interfaces.d/`
    is empty. This can be done using:

        /etc/network/interfaces.d:
          file.directory:
            - clean: True

.. code-block:: yaml

    system:
      network.system:
        - enabled: True
        - hostname: server1.example.com
        - gateway: 192.168.0.1
        - gatewaydev: eth0
        - nozeroconf: True
        - nisdomain: example.com
        - require_reboot: True

    eth0:
      network.managed:
        - enabled: True
        - type: eth
        - proto: static
        - ipaddr: 10.1.0.7
        - netmask: 255.255.255.0
        - gateway: 10.1.0.1
        - enable_ipv6: true
        - ipv6proto: static
        - ipv6ipaddrs:
          - 2001:db8:dead:beef::3/64
          - 2001:db8:dead:beef::7/64
        - ipv6gateway: 2001:db8:dead:beef::1
        - ipv6netmask: 64
        - dns:
          - 8.8.8.8
          - 8.8.4.4

    eth0-range0:
      network.managed:
        - type: eth
        - ipaddr_start: 192.168.1.1
        - ipaddr_end: 192.168.1.10
        - clonenum_start: 10
        - mtu: 9000

    bond0-range0:
      network.managed:
        - type: eth
        - ipaddr_start: 192.168.1.1
        - ipaddr_end: 192.168.1.10
        - clonenum_start: 10
        - mtu: 9000

    eth1.0-range0:
      network.managed:
        - type: eth
        - ipaddr_start: 192.168.1.1
        - ipaddr_end: 192.168.1.10
        - clonenum_start: 10
        - vlan: True
        - mtu: 9000

    bond0.1-range0:
      network.managed:
        - type: eth
        - ipaddr_start: 192.168.1.1
        - ipaddr_end: 192.168.1.10
        - clonenum_start: 10
        - vlan: True
        - mtu: 9000

    .. note::
        add support of ranged interfaces (vlan, bond and eth) for redhat system,
        Important:type must be eth.

    routes:
      network.routes:
        - name: eth0
        - routes:
          - name: secure_network
            ipaddr: 10.2.0.0
            netmask: 255.255.255.0
            gateway: 10.1.0.3
          - name: HQ_network
            ipaddr: 10.100.0.0
            netmask: 255.255.0.0
            gateway: 10.1.0.10

    eth2:
      network.managed:
        - enabled: True
        - type: slave
        - master: bond0

    eth3:
      network.managed:
        - enabled: True
        - type: slave
        - master: bond0

    eth4:
      network.managed:
        - enabled: True
        - type: eth
        - proto: dhcp
        - bridge: br0

    eth5:
      network.managed:
        - enabled: True
        - type: eth
        - proto: dhcp
        - noifupdown: True  # Do not restart the interface
                            # you need to reboot/reconfigure manualy

    bond0:
      network.managed:
        - type: bond
        - ipaddr: 10.1.0.1
        - netmask: 255.255.255.0
        - mode: gre
        - proto: static
        - dns:
          - 8.8.8.8
          - 8.8.4.4
        - enabled: False
        - slaves: eth2 eth3
        - require:
          - network: eth2
          - network: eth3
        - miimon: 100
        - arp_interval: 250
        - downdelay: 200
        - lacp_rate: fast
        - max_bonds: 1
        - updelay: 0
        - use_carrier: on
        - xmit_hash_policy: layer2
        - mtu: 9000
        - autoneg: on
        - speed: 1000
        - duplex: full
        - rx: on
        - tx: off
        - sg: on
        - tso: off
        - ufo: off
        - gso: off
        - gro: off
        - lro: off

    bond0.2:
      network.managed:
        - type: vlan
        - ipaddr: 10.1.0.2
        - use:
          - network: bond0
        - require:
          - network: bond0

    bond0.3:
      network.managed:
        - type: vlan
        - ipaddr: 10.1.0.3
        - use:
          - network: bond0
        - require:
          - network: bond0

    bond0.10:
      network.managed:
        - type: vlan
        - ipaddr: 10.1.0.4
        - use:
          - network: bond0
        - require:
          - network: bond0

    bond0.12:
      network.managed:
        - type: vlan
        - ipaddr: 10.1.0.5
        - use:
          - network: bond0
        - require:
          - network: bond0
    br0:
      network.managed:
        - enabled: True
        - type: bridge
        - proto: dhcp
        - bridge: br0
        - delay: 0
        - ports: eth4
        - bypassfirewall: True
        - use:
          - network: eth4
        - require:
          - network: eth4

    eth6:
      network.managed:
        - type: eth
        - noifupdown: True

        # IPv4
        - proto: static
        - ipaddr: 192.168.4.9
        - netmask: 255.255.255.0
        - gateway: 192.168.4.1
        - enable_ipv6: True

        # IPv6
        - ipv6proto: static
        - ipv6ipaddr: 2001:db8:dead:c0::3
        - ipv6netmask: 64
        - ipv6gateway: 2001:db8:dead:c0::1
        # override shared; makes those options v4-only
        - ipv6ttl: 15

        # Shared
        - mtu: 1480
        - ttl: 18
        - dns:
          - 8.8.8.8
          - 8.8.4.4

    eth7:
        - type: eth
        - proto: static
        - ipaddr: 10.1.0.7
        - netmask: 255.255.255.0
        - gateway: 10.1.0.1
        - enable_ipv6: True
        - ipv6proto: static
        - ipv6ipaddr: 2001:db8:dead:beef::3
        - ipv6netmask: 64
        - ipv6gateway: 2001:db8:dead:beef::1
        - noifupdown: True

    eth8:
      network.managed:
        - enabled: True
        - type: eth
        - proto: static
        - enable_ipv6: true
        - ipv6proto: static
        - ipv6ipaddrs:
          - 2001:db8:dead:beef::3/64
          - 2001:db8:dead:beef::7/64
        - ipv6gateway: 2001:db8:dead:beef::1
        - ipv6netmask: 64
        - dns:
          - 8.8.8.8
          - 8.8.4.4

    system:
      network.system:
        - enabled: True
        - hostname: server1.example.com
        - gateway: 192.168.0.1
        - gatewaydev: eth0
        - nozeroconf: True
        - nisdomain: example.com
        - require_reboot: True
        - apply_hostname: True

    lo:
      network.managed:
        - name: lo
        - type: eth
        - proto: loopback
        - onboot: yes
        - userctl: no
        - ipv6_autoconf: no
        - enable_ipv6: true

    .. note::
        Apply changes to hostname immediately.

    .. versionadded:: 2015.5.0

    system:
      network.system:
        - hostname: server2.example.com
        - apply_hostname: True
        - retain_settings: True

    .. note::
        Use `retain_settings` to retain current network settings that are not
        otherwise specified in the state. Particularly useful if only setting
        the hostname. Default behavior is to delete unspecified network
        settings.

    .. versionadded:: 2016.11.0

.. note::

    When managing bridged interfaces on a Debian or Ubuntu based system, the
    ports argument is required.  Red Hat systems will ignore the argument.
i(tabsolute_importtunicode_literalstprint_functionN(tsixcC@s'tjjj�r#dtkr#tStS(uf
    Confine this module to non-Windows systems with the required execution
    module available.
    uip.get_interface(tsalttutilstplatformt
is_windowst__salt__tTruetFalse(((s7/usr/lib/python2.7/site-packages/salt/states/network.pyt__virtual__]scK@s-i|d6id6td6dj|�d6}d|krPtjdt�|d<nt}yTtd|�}td||||�}|dr||kr�n|r�|r�d8|d<d	j|�|d<q�||kr�tj||d
d�}d8|d<dj|d
j	|��|d<q�n�|rR|rRdj|�|d<d|dd<t}nW||kr�tj||d
d�}dj|�|d<d
j	|�|dd<t}nWn1t
k
r�}	t|d<tj|	�|d<|SX|dkr�|S|dkryyHtd|�}td||�}|dr�|rW|rWd8|d<dj|�|d<qA||krAtj||d
d�}d8|d<dj|d
j	|��|d<qAn�|r�|r�dj|�|d<dj|�|dd<t}nW||krAtj||d
d�}dj|�|d<d
j	|�|dd<t}nWqyt
k
ru}	t|d<tj|	�|d<|SXn|dr�|Sd|kr|r�y&tdd�|d<d|d<|SWq�t
k
r�}	t|d<tj|	�|d<|SXnt|d<d|d<|Syktjjj�}
t}||
krK|
|jd �}n^x[|
D]S}d!|
|krRx:|
|d!D]'}
|
jd"d�|krwt}qwqwWqRqRW|r8d#|krx|r
|dr2td$||�td%||�d&j|�|dd'<q2q5td%||�d(j|�|dd'<qxn@d#|krx|rxtd$||�d)j|�|dd'<qxnWn1t
k
r�}	t|d<tj|	�|d<|SX|dkr�d#|kr�d*|kr�|d*r�td+d,d-j|�g�j�}|d*j�}t|�t|�}|r�td+d.d/g�j�}|r�tjd0d1j	|�|�||gt|�}td+|d2t�n
tjd3�d4jd1j	|�|�|dd5<q�tjd6d1j	|�|�q�n|r�|r�|Stjjtt�}tj|�td7�|S(9u&
    Ensure that the named interface is configured properly.

    name
        The name of the interface to manage

    type
        Type of interface and configuration.

    enabled
        Designates the state of this interface.

    kwargs
        The IP parameters for this interface.

    unameuchangesuresultuInterface {0} is up to date.ucommentutestuip.get_interfaceuip.build_interfaceu!Interface {0} is set to be added.tlinetermuu'Interface {0} is set to be updated:
{1}u
uInterface {0} added.uAdded network interface.u	interfaceuInterface {0} updated.usourceubonduip.get_bondu
ip.build_bondu&Bond interface {0} is set to be added.u,Bond interface {0} is set to be updated:
{1}uBond interface {0} added.uAdded bond {0}.uBond interface {0} updated.urangeuservice.restartunetworku1network restarted for change of ranged interfacesuno change, passing ituupu	secondaryulabelu
noifupdownuip.downuip.upu!Interface {0} restart to validateustatusuInterface {0} is upuInterface {0} downuslavesucmd.runucatu!/sys/class/net/{0}/bonding/slavesuwhichu	ifenslaveu#Adding slaves '%s' to the master %su tpython_shelluCommand 'ifenslave' not foundu"Added slaves '{0}' to master '{1}'uenslaveuGAll slaves '%s' are already added to the master %s, no actions requiredusaltutil.refresh_modulesN(R	tformatt__opts__tgetR
RtNonetdifflibtunified_difftjointAttributeErrorRt	text_typet	ExceptionRRtnetworkt
interfacestsplittsettstriptlogtinfotlistterrortloadertgrainst
__grains__tupdate(tnamettypetenabledtkwargstrettapply_ranged_settingtoldtnewtdiffR Rtinterface_statustifacetsecondtpresent_slavestdesired_slavestmissing_slavestifenslave_pathtcmdtgrains_info((s7/usr/lib/python2.7/site-packages/salt/states/network.pytmanagedgs





	








	









!
	
 	
cK@s7i|d6id6td6dj|�d6}t}d|krVtjdt�|d<nyZtd|�}td||�}|dr||kr�|S|r�|r�d|d<d	j|�|d<|S||krtj||d
d�}d|d<dj|d
j	|��|d<|Sn|rX|rXt}dj|�|d<dj|�|dd<nW||kr�tj||d
d�}t}dj|�|d<d
j	|�|dd<nWn1t
k
r�}t|d<tj|�|d<|SX|r3ytd|�Wq3t
k
r/}t|d<tj|�|d<|SXn|S(u�
    Manage network interface static routes.

    name
        Interface name to apply the route to.

    kwargs
        Named routes
    unameuchangesuresultu$Interface {0} routes are up to date.ucommentutestu
ip.get_routesuip.build_routesu)Interface {0} routes are set to be added.Ruu/Interface {0} routes are set to be updated:
{1}u
uInterface {0} routes added.uAdded interface {0} routes.unetwork_routesuInterface {0} routes updated.uip.apply_network_settingsN(
R	RR
RRRRRRRRRR(R%R(R)tapply_routesR+R,R-R ((s7/usr/lib/python2.7/site-packages/salt/states/network.pytroutes*sZ







cK@si|d6id6td6dd6}t}td|d<ytd�}td|�}tdr�||krp|S|r�|r�d|d<d	|d<|S||kr�tj||d
d�}d|d<djd
j|��|d<|Sn|r
|r
t}d|dd<nD||krNtj||d
d�}t}d
j|�|dd<nWnat	k
r�}t|d<t
j|�|d<|Stk
r�}t|d<t
j|�|d<|SX|rytd|�Wqt	k
r�}t|d<t
j|�|d<|SXn|S(u�
    Ensure that global network settings are configured properly.

    name
        Custom name to represent this configuration change.

    kwargs
        The global parameters for the system.

    unameuchangesuresultu'Global network settings are up to date.ucommentutestuip.get_network_settingsuip.build_network_settingsu,Global network settings are set to be added.Ruu2Global network settings are set to be updated:
{0}u
uAdded global network settings.unetwork_settingsuip.apply_network_settingsN(
R	R
RRRRRRRRRRtKeyError(R%R(R)tapply_net_settingsR+R,R-R ((s7/usr/lib/python2.7/site-packages/salt/states/network.pytsystemis\










(t__doc__t
__future__RRRRtsalt.utils.networkRtsalt.utils.platformtsalt.loadertsalt.extRtloggingt	getLoggert__name__RRR	R7R9R<(((s7/usr/lib/python2.7/site-packages/salt/states/network.pyt<module>Js	
�	?

Zerion Mini Shell 1.0