Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > 负载均衡 > » 正文

常见负载均衡器禁(启)用成员汇总(2)

来源: 刘天斯 分享至:
'2.0.1'  
  • >>> pc.__build__  
  • 'r83'  
  • >>>  

  • 2、编写LB_member.py代码

    1. # -*- coding: utf-8 -*-  
    2. """ 
    3. ---------------------------------------------------------------------------- 
    4.  Disable/Enable F5-LTM POOL member  
    5.  Name:        LB_member.py 
    6.  Author:      Liu tian si  
    7.  Email:       liutiansi@gamil.com 
    8.  Created:     2011/05/08 
    9.  Version:     1.0 
    10.  Blog:        http://blog.liuts.com 
    11.  Copyright:   (c) 2011 
    12. ---------------------------------------------------------------------------- 
    13. """  
    14.   
    15. import sys  
    16. import time  
    17. import string  
    18. import pycontrol.pycontrol as pc  
    19.   
    20. """ 
    21. ---------------------------------------------------------------------------- 
    22.  F5-LTM Disable/Enable Pool member Class 
    23. ---------------------------------------------------------------------------- 
    24. __init__() -Initialization F5-BIG object 
    25. set_pool_member() -Initialization pool and member object 
    26. member_factory() -Create a pool member object (Common.IPPortDefinition) 
    27. session_state_factory() -Create a session state object (LocalLB.PoolMember.MemberSessionState) 
    28. disable_member() -Disable menber methods 
    29. enable_member() -Enable menber methods 
    30. ---------------------------------------------------------------------------- 
    31. """  
    32.   
    33. class F5_LB_menber():  
    34.   
    35.     def __init__(self,_hostname,_username,_password):  
    36.         self.b = pc.BIGIP(  
    37.         hostname = _hostname,  
    38.         username = _username,  
    39.         password = _password,  
    40.         fromurl = True,  
    41.         wsdls = ['LocalLB.PoolMember'])  
    42.         self.sstate_seq = self.b.LocalLB.PoolMember.typefactory.create('LocalLB.PoolMember.MemberSessionStateSequence')  
    43.           
    44.   
    45.     def set_pool_member(self,pool,members):  
    46.         self.POOL=pool  
    47.         self.members=members  
    48.         self.sstate_seq.item = self.session_state_factory()  
    49.   
    50.     def member_factory(self, member):  
    51.         ip,port = member.split(':')  
    52.         pmem = self.b.LocalLB.PoolMember.typefactory.create('Common.IPPortDefinition')  
    53.         pmem.address = ip  
    54.         pmem.port = int(port)  
    55.         return pmem  
    56.   
    57.   
    58.     def session_state_factory(self):  
    59.         session_states = []  
    60.         for x in self.members:  
    61.             sstate = self.b.LocalLB.PoolMember.typefactory.create('LocalLB.PoolMember.MemberSessionState')  
    62.             sstate.member = self.member_factory(x)  
    63.             session_states.append(sstate)  
    64.         return session_states  
    65.   
    66.     def disable_member(self):  
    67.         for x in self.sstate_seq.item:  
    68.             x.session_state = 'STATE_DISABLED'  

    Tags:
    分享至:
    最新图文资讯
    1 2 3 4 5 6
    验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史