File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/lvs.cpython-310.pyc
Back
o ;j. � @ s� d Z ddlm mZ ddlZddlmZ ddiZej dd� �Z dd � Zd d� Zd&d d�Z d'dd�Zd(dd�Z d)dd�Z d*dd�Zd'dd�Zdd� Zdd� Zd(dd�Zd(d d!�Zd(d"d#�Zd'd$d%�ZdS )+z( Support for LVS (Linux Virtual Server) � N)� SaltException�list_�listc C s t jj�d�S )NZipvsadm)�salt�utils�path�which� r r �D/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/lvs.py�__detect_os s r c C s t � sdS dS )z< Only load if ipvsadm command exists on the system. )FzQThe lvs execution module cannot be loaded: the ipvsadm binary is not in the path.Zlvs)r r r r r �__virtual__ s r c K s� d}d| v rf| d r_d| v rF| d dkr|d� | d �7 }n$| d dkr.|d� | d �7 }n| d dkr>|d � | d �7 }ntd ��| d= ntd��d| v r^| d r^|d � | d �7 }| d= ntd��| d= d| v r�| d r�|d� | d �7 }d| v r�| d r�| d dkr�|d7 }n| d dkr�|d7 }n| d dkr�|d7 }ntd��| d= d| v r�| d r�|d� | d �7 }| d= ntd��| d= |S )zB Build a well-formatted ipvsadm command based on kwargs. � �service_address�protocolZtcpz -t {}Zudpz -u {}Zfwmarkz -f {}z8Error: Only support tcp, udp and fwmark service protocolz Error: protocol should specified� schedulerz -s {}z'Error: service_address should specified�server_addressz -r {}�packet_forward_method�drz -gZtunnelz -iZnatz -mz&Error: only support dr, tunnel and nat�weightz -w {}z&Error: server_address should specified)�formatr )�kwargs�cmdr r r � _build_cmd sR �� �r �wlcc C �H d� t� t| ||d��}td |dd�}|d r |d �� }|S d}|S ) ao Add a virtual service. protocol The service protocol(only support tcp, udp and fwmark service). service_address The LVS service address. scheduler Algorithm for allocating TCP connections and UDP datagrams to real servers. CLI Example: .. code-block:: bash salt '*' lvs.add_service tcp 1.1.1.1:80 rr z{} -A {}�r r r �cmd.run_allF�Zpython_shell�retcode�stderrT�r r r �__salt__�strip�r r r r �out�retr r r �add_serviceV � ���r&