Ejemplo n.º 1
0
    def test_Pool_update_SP_update(self):

        new_type = 'glue'
        new_cookie_name = 'chip'

        update_dict = {
            'session_persistence': {
                'type': new_type,
                'cookie_name': new_cookie_name
            }
        }

        test_Pool_obj = copy.deepcopy(self.POOL_obj)

        reference_SP_obj = data_models.SessionPersistence(
            pool_id=self.POOL_ID,
            type=new_type,
            cookie_name=new_cookie_name,
            pool=test_Pool_obj)

        test_Pool_obj.session_persistence = copy.deepcopy(self.SP_obj)

        test_Pool_obj.session_persistence.pool = test_Pool_obj

        test_Pool_obj.update(update_dict)

        self.assertEqual(reference_SP_obj, test_Pool_obj.session_persistence)
Ejemplo n.º 2
0
try:
    from unittest import mock
except ImportError:
    import mock

from octavia.common import data_models as o_data_models

from a10_octavia.common.data_models import VThunder
from a10_octavia.controller.worker.tasks import persist_tasks
from a10_octavia.tests.common import a10constants as a10_test_constants
from a10_octavia.tests.unit.base import BaseTaskTestCase

VTHUNDER = VThunder()
POOL = o_data_models.Pool(id=a10_test_constants.MOCK_POOL_ID)
SOURCE_IP_SESS_PERS = o_data_models.SessionPersistence(
    pool_id=a10_test_constants.MOCK_POOL_ID,
    type='SOURCE_IP')
APP_COOKIE_SESS_PERS = o_data_models.SessionPersistence(
    pool_id=a10_test_constants.MOCK_POOL_ID,
    type='APP_COOKIE', cookie_name=a10_test_constants.MOCK_COOKIE_NAME)
HTTP_COOKIE_SESS_PERS = o_data_models.SessionPersistence(
    pool_id=a10_test_constants.MOCK_POOL_ID,
    type='HTTP_COOKIE', cookie_name=a10_test_constants.MOCK_COOKIE_NAME)
APP_COOKIE_SESS_PERS_WITH_NO_TYPE = o_data_models.SessionPersistence(
    pool_id=a10_test_constants.MOCK_POOL_ID,
    cookie_name=a10_test_constants.MOCK_COOKIE_NAME)


class TestPersistTasks(BaseTaskTestCase):

    def setUp(self):
Ejemplo n.º 3
0
    def setUp(self):

        self.LB_ID = uuidutils.generate_uuid()
        self.PROJECT_ID = uuidutils.generate_uuid()
        self.SERVER_GROUP_ID = uuidutils.generate_uuid()
        self.CREATED_AT = datetime.datetime.now()
        self.UPDATED_AT = datetime.datetime.utcnow()
        self.VIP_IP = '192.0.2.10'
        self.VIP_SUBNET_ID = uuidutils.generate_uuid()
        self.VIP_NETWORK_ID = uuidutils.generate_uuid()
        self.VIP_PORT_ID = uuidutils.generate_uuid()
        self.VIP_QOS_ID = uuidutils.generate_uuid()
        self.POOL_ID = uuidutils.generate_uuid()

        self.LB_obj = data_models.LoadBalancer(
            id=self.LB_ID,
            project_id=self.PROJECT_ID,
            name='test-lb',
            description='test-lb-description',
            provisioning_status='great',
            operating_status='even-better',
            enabled=True,
            vip=None,
            vrrp_group=1,
            topology='infinite',
            listeners=[],
            amphorae=[],
            pools=[],
            server_group_id=self.SERVER_GROUP_ID,
            created_at=self.CREATED_AT,
            updated_at=self.UPDATED_AT)

        self.VIP_obj = data_models.Vip(
            load_balancer_id=self.LB_ID,
            ip_address=self.VIP_IP,
            subnet_id=self.VIP_SUBNET_ID,
            network_id=self.VIP_NETWORK_ID,
            port_id=self.VIP_PORT_ID,
            qos_policy_id=self.VIP_QOS_ID)

        self.POOL_obj = data_models.Pool(
            id=self.POOL_ID,
            project_id=self.PROJECT_ID,
            name='test-pool',
            description='test-pool-description',
            load_balancer_id=self.LB_ID,
            load_balancer=None,
            protocol='avian',
            lb_algorithm='UseAllofThem',
            enabled=True,
            provisioning_status='great',
            operating_status='even-better',
            members=[],
            health_monitor=None,
            session_persistence=None,
            listeners=[],
            l7policies=[],
            created_at=self.CREATED_AT,
            updated_at=self.UPDATED_AT)

        self.SP_obj = data_models.SessionPersistence(
            pool_id=self.POOL_ID,
            type='adhesive',
            cookie_name='chocolate',
            pool=None)

        super(TestDataModels, self).setUp()
Ejemplo n.º 4
0
    def setUp(self):

        self.LB_ID = uuidutils.generate_uuid()
        self.PROJECT_ID = uuidutils.generate_uuid()
        self.SERVER_GROUP_ID = uuidutils.generate_uuid()
        self.CREATED_AT = datetime.datetime.now()
        self.UPDATED_AT = datetime.datetime.utcnow()
        self.VIP_IP = '192.0.2.10'
        self.VIP_SUBNET_ID = uuidutils.generate_uuid()
        self.VIP_NETWORK_ID = uuidutils.generate_uuid()
        self.VIP_PORT_ID = uuidutils.generate_uuid()
        self.VIP_QOS_ID = uuidutils.generate_uuid()
        self.POOL_ID = uuidutils.generate_uuid()
        self.AMP_ID = uuidutils.generate_uuid()
        self.COMPUTE_ID = uuidutils.generate_uuid()
        self.IMAGE_ID = uuidutils.generate_uuid()
        self.COMPUTE_FLAVOR = uuidutils.generate_uuid()

        self.LB_obj = data_models.LoadBalancer(
            id=self.LB_ID,
            project_id=self.PROJECT_ID,
            name='test-lb',
            description='test-lb-description',
            provisioning_status='great',
            operating_status='even-better',
            enabled=True,
            vip=None,
            vrrp_group=1,
            topology='infinite',
            listeners=[],
            amphorae=[],
            pools=[],
            server_group_id=self.SERVER_GROUP_ID,
            created_at=self.CREATED_AT,
            updated_at=self.UPDATED_AT)

        self.VIP_obj = data_models.Vip(load_balancer_id=self.LB_ID,
                                       ip_address=self.VIP_IP,
                                       subnet_id=self.VIP_SUBNET_ID,
                                       network_id=self.VIP_NETWORK_ID,
                                       port_id=self.VIP_PORT_ID,
                                       qos_policy_id=self.VIP_QOS_ID)

        self.POOL_obj = data_models.Pool(id=self.POOL_ID,
                                         project_id=self.PROJECT_ID,
                                         name='test-pool',
                                         description='test-pool-description',
                                         load_balancer_id=self.LB_ID,
                                         load_balancer=None,
                                         protocol='avian',
                                         lb_algorithm='UseAllofThem',
                                         enabled=True,
                                         provisioning_status='great',
                                         operating_status='even-better',
                                         members=[],
                                         health_monitor=None,
                                         session_persistence=None,
                                         listeners=[],
                                         l7policies=[],
                                         created_at=self.CREATED_AT,
                                         updated_at=self.UPDATED_AT)

        self.SP_obj = data_models.SessionPersistence(pool_id=self.POOL_ID,
                                                     type='adhesive',
                                                     cookie_name='chocolate',
                                                     pool=None)

        self.AMP_obj = data_models.Amphora(
            id=self.AMP_ID,
            load_balancer_id=self.LB_ID,
            compute_id=self.COMPUTE_ID,
            status=constants.ACTIVE,
            lb_network_ip=None,
            vrrp_ip=None,
            ha_ip=None,
            vrrp_port_id=None,
            ha_port_id=self.VIP_PORT_ID,
            load_balancer=self.LB_obj,
            role=constants.ROLE_MASTER,
            cert_expiration=None,
            cert_busy=False,
            vrrp_interface=None,
            vrrp_id=None,
            vrrp_priority=constants.ROLE_MASTER_PRIORITY,
            cached_zone=None,
            created_at=self.CREATED_AT,
            updated_at=self.UPDATED_AT,
            image_id=self.IMAGE_ID,
            compute_flavor=self.COMPUTE_FLAVOR)

        super(TestDataModels, self).setUp()