Last active
March 10, 2017 02:33
-
-
Save rm-you/1e0ee979774c4d7117a7063eb39ed23b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lock_session = db_api.get_session(autocommit=False) | |
print("Initial: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
self.repos.create_load_balancer_and_vip(lock_session, lb_dict, vip_dict) | |
print("Create 1: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
lock_session.rollback() | |
print("Rollback: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
self.repos.create_load_balancer_and_vip(lock_session, lb_dict, vip_dict) | |
print("Create 2: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
lock_session.rollback() | |
print("Rollback: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
quotas = lock_session.query(db_models.Quotas).filter_by(project_id=lb_dict['project_id']).with_for_update().first() | |
print("Queried: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
self.repos.create_load_balancer_and_vip(lock_session, lb_dict, vip_dict) | |
print("Create 3: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
lock_session.rollback() | |
print("Rollback: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
self.repos.check_quota_met(self.session, lock_session, models.Listener,lb_dict['project_id']) | |
print("CQM Ran: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
self.repos.create_load_balancer_and_vip(lock_session, lb_dict, vip_dict) | |
print("Create 4: {}".format(lock_session.query(db_models.LoadBalancer).all())) | |
lock_session.rollback() | |
print("Rollback: {}".format(lock_session.query(db_models.LoadBalancer).all())) |
def test_broken_session(self):
from octavia.db import models as db_models
project_id = uuidutils.generate_uuid()
vip_dict = {'ip_address': '10.0.0.1', 'port_id': uuidutils.generate_uuid(),
'subnet_id': uuidutils.generate_uuid()}
lb_dict = {'name': 'lb1', 'description': 'desc1', 'enabled': True,
'topology': constants.TOPOLOGY_ACTIVE_STANDBY,
'vrrp_group': None, 'server_group_id': uuidutils.generate_uuid(),
'project_id': project_id,
'provisioning_status': constants.PENDING_CREATE,
'operating_status': constants.ONLINE,
'id': uuidutils.generate_uuid()}
session = db_api.get_session()
lock_session = db_api.get_session(autocommit=False)
print("Initial: {}".format(lock_session.query(db_models.LoadBalancer).filter_by(project_id=project_id).all()))
self.repos.create_load_balancer_and_vip(lock_session, lb_dict, vip_dict)
print("Create 1: {}".format(lock_session.query(db_models.LoadBalancer).filter_by(project_id=project_id).all()))
lock_session.rollback()
print("Rollback: {}".format(lock_session.query(db_models.LoadBalancer).filter_by(project_id=project_id).all()))
self.repos.create_load_balancer_and_vip(lock_session, lb_dict, vip_dict)
print("Create 2: {}".format(lock_session.query(db_models.LoadBalancer).filter_by(project_id=project_id).all()))
lock_session.rollback()
print("Rollback: {}".format(lock_session.query(db_models.LoadBalancer).filter_by(project_id=project_id).all()))
lb_count = session.query(db_models.LoadBalancer).filter(
db_models.LoadBalancer.project_id == project_id).all()
print("Counted: {}".format(lock_session.query(db_models.LoadBalancer).filter_by(project_id=project_id).all()))
self.repos.create_load_balancer_and_vip(lock_session, lb_dict, vip_dict)
print("Create 4: {}".format(lock_session.query(db_models.LoadBalancer).filter_by(project_id=project_id).all()))
lock_session.rollback()
lbs = lock_session.query(db_models.LoadBalancer).filter_by(project_id=project_id).all()
print("Rollback: {}".format(lbs))
self.assertEqual(0, len(lbs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Initial: []
Create 1: [<octavia.db.models.LoadBalancer object at 0x10de9ed10>]
Rollback: []
Create 2: [<octavia.db.models.LoadBalancer object at 0x10de9ee10>]
Rollback: []
Queried: []
Create 3: [<octavia.db.models.LoadBalancer object at 0x10deb1510>]
Rollback: []
CQM Ran: []
Create 4: [<octavia.db.models.LoadBalancer object at 0x10dea2e90>]
Rollback: [<octavia.db.models.LoadBalancer object at 0x10deef910>]