コード例 #1
0
ファイル: lbaas.py プロジェクト: fajoy/horizon
def pool_health_monitor_create(request, **kwargs):
    """Create a health monitor and associate with pool

    :param request: request context
    :param type: type of monitor
    :param delay: delay of monitor
    :param timeout: timeout of monitor
    :param max_retries: max retries [1..10]
    :param http_method: http method
    :param url_path: url path
    :param expected_codes: http return code
    :param admin_state_up: admin state
    """
    monitor_type = kwargs["type"].upper()
    body = {
        "health_monitor": {
            "type": monitor_type,
            "delay": kwargs["delay"],
            "timeout": kwargs["timeout"],
            "max_retries": kwargs["max_retries"],
            "admin_state_up": kwargs["admin_state_up"],
        }
    }
    if monitor_type in ["HTTP", "HTTPS"]:
        body["health_monitor"]["http_method"] = kwargs["http_method"]
        body["health_monitor"]["url_path"] = kwargs["url_path"]
        body["health_monitor"]["expected_codes"] = kwargs["expected_codes"]
    mon = quantumclient(request).create_health_monitor(body).get("health_monitor")
    body = {"health_monitor": {"id": mon["id"]}}
    quantumclient(request).associate_health_monitor(kwargs["pool_id"], body)
    return PoolMonitor(mon)
コード例 #2
0
def pool_health_monitor_create(request, **kwargs):
    """Create a health monitor and associate with pool

    :param request: request context
    :param type: type of monitor
    :param delay: delay of monitor
    :param timeout: timeout of monitor
    :param max_retries: max retries [1..10]
    :param http_method: http method
    :param url_path: url path
    :param expected_codes: http return code
    :param admin_state_up: admin state
    """
    body = {'health_monitor': {'type': kwargs['type'],
                               'delay': kwargs['delay'],
                               'timeout': kwargs['timeout'],
                               'max_retries': kwargs['max_retries'],
                               'http_method': kwargs['http_method'],
                               'url_path': kwargs['url_path'],
                               'expected_codes': kwargs['expected_codes'],
                               'admin_state_up': kwargs['admin_state_up']
                               }}
    mon = quantumclient(request).create_health_monitor(body).get(
        'health_monitor')
    body = {'health_monitor': {'id': mon['id']}}
    quantumclient(request).associate_health_monitor(
        kwargs['pool_id'], body)
    return PoolMonitor(mon)
コード例 #3
0
ファイル: lbaas.py プロジェクト: SinSiXX/horizon
def pool_monitor_association_delete(request, **kwargs):
    """Disassociate a health monitor from pool

    :param request: request context
    :param monitor_id: id of monitor
    :param pool_id: id of pool
    """

    quantumclient(request).disassociate_health_monitor(
        kwargs['pool_id'], kwargs['monitor_id'])
コード例 #4
0
ファイル: lbaas.py プロジェクト: SinSiXX/horizon
def pool_monitor_association_create(request, **kwargs):
    """Associate a health monitor with pool

    :param request: request context
    :param monitor_id: id of monitor
    :param pool_id: id of pool
    """

    body = {'health_monitor': {'id': kwargs['monitor_id'], }}

    quantumclient(request).associate_health_monitor(
        kwargs['pool_id'], body)
コード例 #5
0
ファイル: lbaas.py プロジェクト: fajoy/horizon
def vip_create(request, **kwargs):
    """Create a vip for a specified pool.

    :param request: request context
    :param address: virtual IP address
    :param name: name for vip
    :param description: description for vip
    :param subnet_id: subnet_id for subnet of vip
    :param protocol_port: transport layer port number for vip
    :returns: Vip object
    """
    body = {
        "vip": {
            "address": kwargs["address"],
            "name": kwargs["name"],
            "description": kwargs["description"],
            "subnet_id": kwargs["subnet_id"],
            "protocol_port": kwargs["protocol_port"],
            "protocol": kwargs["protocol"],
            "pool_id": kwargs["pool_id"],
            "session_persistence": kwargs["session_persistence"],
            "connection_limit": kwargs["connection_limit"],
            "admin_state_up": kwargs["admin_state_up"],
        }
    }
    vip = quantumclient(request).create_vip(body).get("vip")
    return Vip(vip)
コード例 #6
0
ファイル: lbaas.py プロジェクト: zestrada/horizon-cs498cc
def vip_create(request, **kwargs):
    """Create a vip for a specified pool.

    :param request: request context
    :param address: virtual IP address
    :param name: name for vip
    :param description: description for vip
    :param subnet_id: subnet_id for subnet of vip
    :param protocol_port: transport layer port number for vip
    :returns: Vip object
    """
    body = {
        'vip': {
            'address': kwargs['address'],
            'name': kwargs['name'],
            'description': kwargs['description'],
            'subnet_id': kwargs['subnet_id'],
            'protocol_port': kwargs['protocol_port'],
            'protocol': kwargs['protocol'],
            'pool_id': kwargs['pool_id'],
            'session_persistence': kwargs['session_persistence'],
            'connection_limit': kwargs['connection_limit'],
            'admin_state_up': kwargs['admin_state_up']
        }
    }
    vip = quantumclient(request).create_vip(body).get('vip')
    return Vip(vip)
コード例 #7
0
ファイル: lbaas.py プロジェクト: SinSiXX/horizon
def pool_health_monitor_create(request, **kwargs):
    """Create a health monitor

    :param request: request context
    :param type: type of monitor
    :param delay: delay of monitor
    :param timeout: timeout of monitor
    :param max_retries: max retries [1..10]
    :param http_method: http method
    :param url_path: url path
    :param expected_codes: http return code
    :param admin_state_up: admin state
    """
    monitor_type = kwargs['type'].upper()
    body = {'health_monitor': {'type': monitor_type,
                               'delay': kwargs['delay'],
                               'timeout': kwargs['timeout'],
                               'max_retries': kwargs['max_retries'],
                               'admin_state_up': kwargs['admin_state_up']
                               }}
    if monitor_type in ['HTTP', 'HTTPS']:
        body['health_monitor']['http_method'] = kwargs['http_method']
        body['health_monitor']['url_path'] = kwargs['url_path']
        body['health_monitor']['expected_codes'] = kwargs['expected_codes']
    mon = quantumclient(request).create_health_monitor(body).get(
        'health_monitor')

    return PoolMonitor(mon)
コード例 #8
0
ファイル: tabs.py プロジェクト: jordant/akanda-horizon
 def get_publicips_data(self):
     data = []
     c = quantum.quantumclient(self.request)
     for router in c.list_routers(tenant_id=self.request.user.tenant_id).values()[0]:
         for port in router.get("ports", []):
             if port.get("device_owner") != "network:router_gateway":
                 continue
             ips = [i["ip_address"] for i in port.get("fixed_ips", [])]
             data.append(PublicIP(None, router.get("name"), ", ".join(ips)))
     return data
コード例 #9
0
ファイル: tabs.py プロジェクト: jordant/akanda-horizon
 def get_publicips_data(self):
     data = []
     c = quantum.quantumclient(self.request)
     for router in c.list_routers(
             tenant_id=self.request.user.tenant_id).values()[0]:
         for port in router.get('ports', []):
             if port.get('device_owner') != 'network:router_gateway':
                 continue
             ips = [i['ip_address'] for i in port.get('fixed_ips', [])]
             data.append(PublicIP(None, router.get('name'), ', '.join(ips)))
     return data
コード例 #10
0
def member_create(request, **kwargs):
    """Create a load balance member

    :param request: request context
    :param pool_id: pool_id of pool for member
    :param address: IP address
    :param protocol_port: transport layer port number
    :param weight: weight for member
    :param admin_state_up: admin_state
    """
    body = {'member': {'pool_id': kwargs['pool_id'],
                       'address': kwargs['address'],
                       'protocol_port': kwargs['protocol_port'],
                       'weight': kwargs['weight'],
                       'admin_state_up': kwargs['admin_state_up']
                       }}
    member = quantumclient(request).create_member(body).get('member')
    return Member(member)
コード例 #11
0
def pool_create(request, **kwargs):
    """Create a pool for specified protocol

    :param request: request context
    :param name: name for pool
    :param description: description for pool
    :param subnet_id: subnet_id for subnet of pool
    :param protocol: load balanced protocol
    :param lb_method: load balancer method
    :param admin_state_up: admin state (default on)
    """
    body = {'pool': {'name': kwargs['name'],
                     'description': kwargs['description'],
                     'subnet_id': kwargs['subnet_id'],
                     'protocol': kwargs['protocol'],
                     'lb_method': kwargs['lb_method'],
                     'admin_state_up': kwargs['admin_state_up']
                     }}
    pool = quantumclient(request).create_pool(body).get('pool')
    return Pool(pool)
コード例 #12
0
ファイル: lbaas.py プロジェクト: fajoy/horizon
def member_create(request, **kwargs):
    """Create a load balance member

    :param request: request context
    :param pool_id: pool_id of pool for member
    :param address: IP address
    :param protocol_port: transport layer port number
    :param weight: weight for member
    :param admin_state_up: admin_state
    """
    body = {
        "member": {
            "pool_id": kwargs["pool_id"],
            "address": kwargs["address"],
            "protocol_port": kwargs["protocol_port"],
            "weight": kwargs["weight"],
            "admin_state_up": kwargs["admin_state_up"],
        }
    }
    member = quantumclient(request).create_member(body).get("member")
    return Member(member)
コード例 #13
0
ファイル: lbaas.py プロジェクト: fajoy/horizon
def pool_create(request, **kwargs):
    """Create a pool for specified protocol

    :param request: request context
    :param name: name for pool
    :param description: description for pool
    :param subnet_id: subnet_id for subnet of pool
    :param protocol: load balanced protocol
    :param lb_method: load balancer method
    :param admin_state_up: admin state (default on)
    """
    body = {
        "pool": {
            "name": kwargs["name"],
            "description": kwargs["description"],
            "subnet_id": kwargs["subnet_id"],
            "protocol": kwargs["protocol"],
            "lb_method": kwargs["lb_method"],
            "admin_state_up": kwargs["admin_state_up"],
        }
    }
    pool = quantumclient(request).create_pool(body).get("pool")
    return Pool(pool)
コード例 #14
0
ファイル: lbaas.py プロジェクト: DPaaS-Raksha/horizon
def vip_create(request, **kwargs):
    """Create a vip for a specified pool.

    :param request: request context
    :param address: virtual IP address
    :param name: name for vip
    :param description: description for vip
    :param subnet_id: subnet_id for subnet of vip
    :param protocol_port: transport layer port number for vip
    :returns: Vip object
    """
    body = {'vip': {'address': kwargs['address'],
                    'name': kwargs['name'],
                    'description': kwargs['description'],
                    'subnet_id': kwargs['subnet_id'],
                    'protocol_port': kwargs['protocol_port'],
                    'protocol': kwargs['protocol'],
                    'pool_id': kwargs['pool_id'],
                    'session_persistence': kwargs['session_persistence'],
                    'connection_limit': kwargs['connection_limit'],
                    'admin_state_up': kwargs['admin_state_up']
                    }}
    vip = quantumclient(request).create_vip(body).get('vip')
    return Vip(vip)
コード例 #15
0
def pool_stats(request, pool_id, **kwargs):
    stats = quantumclient(request).retrieve_pool_stats(pool_id, **kwargs)
    return PoolStats(stats)
コード例 #16
0
def _get(request, path, obj_id):
    return quantumclient(request).get(_mk_url(path, obj_id))
コード例 #17
0
def pool_update(request, pool_id, **kwargs):
    pool = quantumclient(request).update_pool(pool_id, kwargs).get('pool')
    return Pool(pool)
コード例 #18
0
def pool_delete(request, pool):
    quantumclient(request).delete_pool(pool)
コード例 #19
0
def members_get(request, **kwargs):
    members = quantumclient(request).list_members().get('members')
    return [Member(m) for m in members]
コード例 #20
0
def _put(request, path, obj_id, body):
    return quantumclient(request).put(_mk_url(path, obj_id), body=body)
コード例 #21
0
def vip_delete(request, vip_id):
    quantumclient(request).delete_vip(vip_id)
コード例 #22
0
def pool_health_monitor_delete(request, mon_id):
    quantumclient(request).delete_health_monitor(mon_id)
コード例 #23
0
def vip_get(request, vip_id):
    vip = quantumclient(request).show_vip(vip_id).get('vip')
    return Vip(vip)
コード例 #24
0
def vip_update(request, vip_id, **kwargs):
    vip = quantumclient(request).update_vip(vip_id, kwargs).get('vip')
    return Vip(vip)
コード例 #25
0
def _put(request, path, obj_id, body):
    return quantumclient(request).put(_mk_url(path, obj_id), body=body)
コード例 #26
0
def member_update(request, member_id, **kwargs):
    member = quantumclient(request).update_member(member_id, kwargs)
    return Member(member)
コード例 #27
0
def _delete(request, path, obj_id):
    return quantumclient(request).delete(_mk_url(path, obj_id))
コード例 #28
0
def pool_health_monitors_get(request, **kwargs):
    monitors = quantumclient(request
                             ).list_health_monitors().get('health_monitors')
    return [PoolMonitor(m) for m in monitors]
コード例 #29
0
def _create(request, path, body):
    return quantumclient(request).post(_mk_url(path), body=body)
コード例 #30
0
def pool_health_monitor_get(request, monitor_id):
    monitor = quantumclient(request
                            ).show_health_monitor(monitor_id
                                                  ).get('health_monitor')
    return PoolMonitor(monitor)
コード例 #31
0
def pools_get(request, **kwargs):
    pools = quantumclient(request).list_pools().get('pools')
    return [Pool(p) for p in pools]
コード例 #32
0
def _list(request, path):
    return quantumclient(request).get(_mk_url(path))
コード例 #33
0
def pool_get(request, pool_id):
    pool = quantumclient(request).show_pool(pool_id).get('pool')
    return Pool(pool)
コード例 #34
0
def member_get(request, member_id):
    member = quantumclient(request).show_member(member_id).get('member')
    return Member(member)
コード例 #35
0
def _delete(request, path, obj_id):
    return quantumclient(request).delete(_mk_url(path, obj_id))
コード例 #36
0
def member_delete(request, mem_id):
    quantumclient(request).delete_member(mem_id)
コード例 #37
0
def vips_get(request, **kwargs):
    vips = quantumclient(request).list_vips().get('vips')
    return [Vip(v) for v in vips]