Merge "Fix test_assign_ip_multiple_groups random failures"

This commit is contained in:
Jenkins 2015-12-31 10:08:40 +00:00 committed by Gerrit Code Review
commit 75c0f43f95
1 changed files with 23 additions and 25 deletions

View File

@ -335,40 +335,38 @@ class TestNetworkManager(BaseNetworkManagerTest):
)
node_group = self.env.create_node_group()
self.env.nodes[1].group_id = node_group.json_body['id']
self.db().flush()
mgmt_net = self.db.query(NetworkGroup).filter(
NetworkGroup.group_id == node_group.json_body["id"]
).filter_by(
mgmt_net = self.db.query(NetworkGroup).filter_by(
group_id=node_group.json_body['id'],
name=consts.NETWORKS.management
).first()
mock_range = IPAddrRange(
first='9.9.9.1',
last='9.9.9.254',
network_group_id=mgmt_net.id
)
self.db.add(mock_range)
self.db.commit()
# since there's no delete-orphan cascade on network.ip_ranges
# relationship, we have to remove old ip_ranges manually
self.db.query(IPAddrRange).filter_by(
network_group_id=mgmt_net.id).delete()
# set new range for management network of non-default node group
mgmt_net.cidr = '7.7.7.0/24'
mgmt_net.ip_ranges = [IPAddrRange(first='7.7.7.1', last='7.7.7.254')]
self.db().flush()
self.env.network_manager.assign_ips(
self.env.clusters[-1],
self.env.nodes, consts.NETWORKS.management
self.env.nodes,
consts.NETWORKS.management
)
for n in self.env.nodes:
mgmt_net = self.db.query(NetworkGroup).filter(
NetworkGroup.group_id == n.group_id
).filter_by(
name=consts.NETWORKS.management
).first()
ip = self.db.query(IPAddr).\
filter_by(network=mgmt_net.id).\
filter_by(node=n.id).first()
for node in self.env.nodes:
mgmt_net = self.db.query(NetworkGroup).\
filter_by(
group_id=node.group_id,
name=consts.NETWORKS.management).first()
self.assertIn(
IPAddress(ip.ip_addr),
IPNetwork(mgmt_net.cidr)
)
ip = self.db.query(IPAddr).\
filter_by(network=mgmt_net.id, node=node.id).first()
self.assertIn(IPAddress(ip.ip_addr), IPNetwork(mgmt_net.cidr))
def test_ipaddr_joinedload_relations(self):
self.env.create(