Ejemplo n.º 1
0
 def create(self, context, lb):
     LOG.debug('IN CREATE_TEST_V2')
     with a10.A10WriteStatusContext(self, context, lb,
                                    action='create') as c:
         #This is to modify the VIP creation hooks and setup the source nat pool as needed.
         self._create(c, context, lb)
         self.hooks.after_vip_create(c, context, lb)
Ejemplo n.º 2
0
    def update(self, context, old_member, member):
        with a10.A10WriteStatusContext(self, context, member) as c:
            server_ip = self.neutron.member_get_ip(context, member,
                                                   c.device_cfg['use_float'])
            server_name = self._meta_name(member, server_ip)

            status = c.client.slb.UP
            admin_state = 'enable'
            if not member.admin_state_up:
                status = c.client.slb.DOWN
                admin_state = 'disable'
            try:
                server_args = {'server': self.meta(member, 'server', {})}
                c.client.slb.server.update(server_name,
                                           server_ip,
                                           status=status,
                                           axapi_args=server_args,
                                           admin_state=admin_state)

                member_args = {'member': self.meta(member, 'member', {})}
                c.client.slb.service_group.member.update(
                    self._pool_name(context, pool=member.pool),
                    server_name,
                    member.protocol_port,
                    status,
                    axapi_args=member_args)
            except acos_errors.NotFound:
                # Adding db relation after the fact
                self._create(c, context, member)

            self.hooks.after_member_update(c, context, member)
Ejemplo n.º 3
0
    def update(self, context, old_hm, hm):
        with a10.A10WriteStatusContext(self, context, hm) as c:
            self._set(c, c.client.slb.hm.update, context, hm)

            if hm.pool and hm.pool != old_hm.pool:
                c.client.slb.service_group.update(
                    hm.pool.id, health_monitor=self._hm_name(hm))
            elif not hm.pool and old_hm.pool:
                c.client.slb.service_group.update(old_hm.pool.id,
                                                  health_monitor='')
Ejemplo n.º 4
0
    def create(self, context, load_balancer):
        with a10.A10WriteStatusContext(self, context, load_balancer) as c:
            self._set(c, c.client.slb.virtual_server.create, context,
                      load_balancer)

            for listener in load_balancer.listeners:
                try:
                    self.a10_driver.listener._create(c, context, listener)
                except acos_errors.Exists:
                    pass
    def update(self, context, old_member, member):
        with a10.A10WriteStatusContext(self, context, member) as c:
            server_ip = self._get_ip(context, member,
                                     c.device_cfg['use_float'])
            server_name = self._get_name(member, server_ip)

            status = c.client.slb.UP
            if not member.admin_state_up:
                status = c.client.slb.DOWN

            c.client.slb.service_group.member.update(member.pool.id,
                                                     server_name,
                                                     member.protocol_port,
                                                     status)
Ejemplo n.º 6
0
    def update(self, context, old_hm, hm):
        with a10.A10WriteStatusContext(self, context, hm) as c:
            if old_hm.pool and not hm.pool:
                pool_name = self._pool_name(context, pool=old_hm.pool)
                c.client.slb.service_group.update(pool_name,
                                                  health_monitor="",
                                                  health_check_disable=True)
            elif old_hm.pool != hm.pool:
                pool_name = self._pool_name(context, pool=hm.pool)

                # Remove any existing association.  This should be moved into a method.
                c.client.slb.service_group.update(pool_name,
                                                  health_monitor="",
                                                  health_check_disable=True)
                c.client.slb.service_group.update(pool_name,
                                                  health_monitor=self._meta_name(hm),
                                                  health_check_disable=False)
            self._set(c, c.client.slb.hm.update, context, hm)
    def create(self, context, member):
        with a10.A10WriteStatusContext(self, context, member) as c:
            server_ip = self._get_ip(context, member,
                                     c.device_cfg['use_float'])
            server_name = self._get_name(member, server_ip)

            status = c.client.slb.UP
            if not member.admin_state_up:
                status = c.client.slb.DOWN

            try:
                c.client.slb.server.create(server_name, server_ip)
            except acos_errors.Exists:
                pass

            c.client.slb.service_group.member.create(member.pool.id,
                                                     server_name,
                                                     member.protocol_port,
                                                     status=status)
Ejemplo n.º 8
0
    def create(self, context, hm):
        LOG.debug("HealthMonitorHandler.create(): hm=%s, context=%s" %
                  (dir(hm), context))
        with a10.A10WriteStatusContext(self, context, hm) as c:
            try:
                self._set(c, c.client.slb.hm.create, context, hm)
            except acos_errors.Exists:
                pass

            # Disable any potentially existing health monitor.
            c.client.slb.service_group.update(self._pool_name(context,
                                                              pool=hm.pool),
                                              health_monitor="",
                                              health_check_disable=True)

            c.client.slb.service_group.update(
                self._pool_name(context, pool=hm.pool),
                health_monitor=self._meta_name(hm),
                health_check_disable=False)
Ejemplo n.º 9
0
 def update(self, context, old_lb, lb):
     with a10.A10WriteStatusContext(self, context, lb) as c:
         self._set(c.client.slb.virtual_server.update, c, context, lb)
         self.hooks.after_vip_update(c, context, lb)
Ejemplo n.º 10
0
 def create(self, context, lb):
     with a10.A10WriteStatusContext(self, context, lb) as c:
         self._create(c, context, lb)
Ejemplo n.º 11
0
 def create(self, context, pool):
     with a10.A10WriteStatusContext(self, context, pool) as c:
         self._set(c, c.client.slb.service_group.create, context, pool)
Ejemplo n.º 12
0
 def create(self, context, member):
     with a10.A10WriteStatusContext(self, context, member) as c:
         self._create(c, context, member)
         self.hooks.after_member_create(c, context, member)
Ejemplo n.º 13
0
 def update(self, context, old_load_balancer, load_balancer):
     with a10.A10WriteStatusContext(self, context, load_balancer) as c:
         self._set(c, c.client.slb.virtual_server.update, context,
                   load_balancer)
Ejemplo n.º 14
0
 def create(self, context, lb):
     with a10.A10WriteStatusContext(self, context, lb,
                                    action='create') as c:
         self._create(c, context, lb)
         self.hooks.after_vip_create(c, context, lb)
Ejemplo n.º 15
0
 def update(self, context, old_pool, pool):
     with a10.A10WriteStatusContext(self, context, pool) as c:
         self._set(c.client.slb.service_group.update, c, context, pool)
Ejemplo n.º 16
0
 def create(self, context, pool):
     with a10.A10WriteStatusContext(self, context, pool) as c:
         try:
             self._set(c.client.slb.service_group.create, c, context, pool)
         except acos_errors.Exists:
             pass
    def update(self, context, old_listener, listener):
        if not listener.loadbalancer or not listener.default_pool:
            return

        with a10.A10WriteStatusContext(self, context, listener) as c:
            self._update(c, context, listener)
Ejemplo n.º 18
0
 def create(self, context, hm, **kwargs):
     LOG.debug("HealthMonitorHandler.create(): hm=%s, context=%s" % (dir(hm), context))
     with a10.A10WriteStatusContext(self, context, hm) as c:
         self._create(c, context, hm, **kwargs)
 def update(self, context, old_listener, listener):
     with a10.A10WriteStatusContext(self, context, listener) as c:
         self._update(c, context, listener)