コード例 #1
0
 def __init__(self, service_adapter, cert_manager, parent_ssl_profile=None):
     self.cert_manager = cert_manager
     self.parent_ssl_profile = parent_ssl_profile
     self.vs_helper = resource_helper.BigIPResourceHelper(
         resource_helper.ResourceType.virtual)
     self.service_adapter = service_adapter
     LOG.debug("ListenerServiceBuilder: using parent_ssl_profile %s ",
               parent_ssl_profile)
コード例 #2
0
    def resource_exists(self, resource_type, resource_name, partition=None):
        helper = resource_helper.BigIPResourceHelper(resource_type)
        resources = helper.get_resources(self.bigip, partition=partition)
        for resource in resources:
            if re.match(resource_name, resource.name):
                return True

        return False
コード例 #3
0
    def member_exists(self, pool_name, member_name, partition=None):
        helper = resource_helper.BigIPResourceHelper(
            resource_helper.ResourceType.pool)
        if helper.exists(self.bigip, pool_name, partition=partition):
            p = helper.load(self.bigip, name=pool_name, partition=partition)
            m = p.members_s.members
            return m.exists(name=urllib.quote(member_name),
                            partition=partition)

        return False
コード例 #4
0
    def get_virtual_service_insertion(
            self,
            bigip,
            partition=const.DEFAULT_PARTITION):
        """Returns list of virtual server addresses"""
        vs_helper = resource_helper.BigIPResourceHelper(
            resource_helper.ResourceType.virtual)
        va_helper = resource_helper.BigIPResourceHelper(
            resource_helper.ResourceType.virtual_address)
        virtual_servers = vs_helper.get_resources(bigip, partition=partition)
        virtual_services = []

        for virtual_server in virtual_servers:
            name = virtual_server.name
            virtual_address = {name: {}}
            dest = os.path.basename(virtual_server.destination)
            (vip_addr, vip_port) = self.split_addr_port(dest)

            # Get virtual address associated with the virtual server.
            # split_addr_port can return a tuple where the vip addr is either
            # a name of the virt address, or the actual IP address.
            # This code gets a reference to the virt address in the event the
            # virtual server destination is a named resource, not an IP addr.
            try:
                vaddr = va_helper.load(
                    bigip, name=vip_addr, partition=partition)
            except HTTPError:
                continue
            else:
                # there was no exception: legit VA, so use address from VA
                vip_addr = vaddr.raw['address']

            virtual_address[name]['address'] = vip_addr
            virtual_address[name]['netmask'] = virtual_server.mask
            virtual_address[name]['protocol'] = virtual_server.ipProtocol
            virtual_address[name]['port'] = vip_port
            virtual_services.append(virtual_address)

        return virtual_services
コード例 #5
0
    def __init__(self, adapter, loadbalancer):

        self.adapter = adapter
        self.virtual_address = resource_helper.BigIPResourceHelper(
            resource_helper.ResourceType.virtual_address)

        # Immutable attributes
        self.name = self.adapter.prefix + loadbalancer['id']
        self.partition = self.adapter.get_folder_name(
            loadbalancer['tenant_id'])
        self.address = loadbalancer.get('vip_address', "")

        # Mutable attributes
        self.description = self.adapter.get_resource_description(loadbalancer)
        self.traffic_group = loadbalancer.get('traffic_group', "")

        self.auto_delete = False
コード例 #6
0
    def __init__(self, f5_global_routed_mode, conf, driver, l3_binding=None):
        self.f5_global_routed_mode = f5_global_routed_mode
        self.conf = conf
        self.driver = driver
        self.l3_binding = l3_binding
        self.l2_service = L2ServiceBuilder(driver, f5_global_routed_mode)

        self.bigip_selfip_manager = BigipSelfIpManager(
            self.driver, self.l2_service, self.driver.l3_binding)
        self.bigip_snat_manager = BigipSnatManager(
            self.driver, self.l2_service, self.driver.l3_binding)

        self.vlan_manager = resource_helper.BigIPResourceHelper(
            resource_helper.ResourceType.vlan)
        self.rds_cache = {}
        self.interface_mapping = self.l2_service.interface_mapping
        self.network_helper = NetworkHelper(conf=self.conf)
        self.service_adapter = self.driver.service_adapter
コード例 #7
0
 def __init__(self, service_adapter):
     self.service_adapter = service_adapter
     self.http_mon_helper = resource_helper.BigIPResourceHelper(
         resource_helper.ResourceType.http_monitor)
     self.https_mon_helper = resource_helper.BigIPResourceHelper(
         resource_helper.ResourceType.https_monitor)
     self.tcp_mon_helper = resource_helper.BigIPResourceHelper(
         resource_helper.ResourceType.tcp_monitor)
     self.ping_mon_helper = resource_helper.BigIPResourceHelper(
         resource_helper.ResourceType.ping_monitor)
     self.pool_helper = resource_helper.BigIPResourceHelper(
         resource_helper.ResourceType.pool)
     self.node_helper = resource_helper.BigIPResourceHelper(
         resource_helper.ResourceType.node)
コード例 #8
0
 def get_resource(self, resource_type, resource_name, partition=None):
     helper = resource_helper.BigIPResourceHelper(resource_type)
     obj = helper.load(self.bigip, name=resource_name, partition=partition)
     return obj