Exemplo n.º 1
0
 def deallocate(self, pool_id):
     context = get_session()
     pool = db.api.used_pool_get(context, pool_id)
     logger.info('deallocate pool %s' % pool.pool_id)
     pool.is_free = True
     pool.save(context)
     db.api.concat_pool(context, pool)
Exemplo n.º 2
0
 def deallocate(self, pool_id):
     context = get_session()
     pool = db.api.used_pool_get(context, pool_id)
     logger.info('deallocate pool %s' % pool.pool_id)
     pool.is_free = True
     pool.save(context)
     db.api.concat_pool(context, pool)
Exemplo n.º 3
0
 def test_allocate_pool(self):
     context = get_session()
     group1 = db.api.pool_group_add(context, {'group_name': '10.31_pool'})
     network = IPNetwork('10.31.214.0/22')
     initial_pool1 = db.api.initial_pool_add(context, {'group_id': group1.group_id, 'cidr': network})
     network_new_pool = IPNetwork('0.0.0.0/30')
     pool = db.api.free_pool_find_by_netmask_and_netgroup(context, network_new_pool.netmask.value, group1.group_name)
     assert pool.count == initial_pool1.count
Exemplo n.º 4
0
 def create_new_initial_pool(self, group_id, ip, mask):
     network = IPNetwork('%s/%s' % (ip, mask))
     context = get_session()
     initial_pool = db.api.initial_pool_add(context, {
         'group_id': group_id,
         'cidr': network
     })
     return initial_pool
Exemplo n.º 5
0
 def test_create_initial_pool(self):
     context = get_session()
     group1 = db.api.pool_group_add(context, {'group_name': '10.31_pool'})
     network = IPNetwork('10.31.214.0/22')
     initial_pool1 = db.api.initial_pool_add(context, {
         'group_id': group1.group_id,
         'cidr': network
     })
Exemplo n.º 6
0
 def test_add_used_pool(self):
     context = get_session()
     group1 = db.api.pool_group_add(context, {'group_name': '10.31_pool'})
     network = IPNetwork('10.31.214.0/22')
     stack_name = 'stack_name FFF'
     stack_id = 'FFF-FFF-FFF-FFF'
     initial_pool1 = db.api.initial_pool_add(context, {'group_id': group1.group_id, 'cidr': network})
     allocated_pool = db.api.used_pool_add(context, {'initial_pool': initial_pool1, 'cidr': network,
                                                     'stack_id': stack_id, 'stack_name': stack_name})
     assert allocated_pool.stack_id == stack_id
     assert allocated_pool.stack_name == stack_name
     assert allocated_pool.initial_pool.initial_pool_id == initial_pool1.initial_pool_id
Exemplo n.º 7
0
 def test_allocate_pool(self):
     context = get_session()
     group1 = db.api.pool_group_add(context, {'group_name': '10.31_pool'})
     network = IPNetwork('10.31.214.0/22')
     initial_pool1 = db.api.initial_pool_add(context, {
         'group_id': group1.group_id,
         'cidr': network
     })
     network_new_pool = IPNetwork('0.0.0.0/30')
     pool = db.api.free_pool_find_by_netmask_and_netgroup(
         context, network_new_pool.netmask.value, group1.group_name)
     assert pool.count == initial_pool1.count
Exemplo n.º 8
0
 def test_add_used_pool(self):
     context = get_session()
     group1 = db.api.pool_group_add(context, {'group_name': '10.31_pool'})
     network = IPNetwork('10.31.214.0/22')
     stack_name = 'stack_name FFF'
     stack_id = 'FFF-FFF-FFF-FFF'
     initial_pool1 = db.api.initial_pool_add(context, {
         'group_id': group1.group_id,
         'cidr': network
     })
     allocated_pool = db.api.used_pool_add(
         context, {
             'initial_pool': initial_pool1,
             'cidr': network,
             'stack_id': stack_id,
             'stack_name': stack_name
         })
     assert allocated_pool.stack_id == stack_id
     assert allocated_pool.stack_name == stack_name
     assert allocated_pool.initial_pool.initial_pool_id == initial_pool1.initial_pool_id
Exemplo n.º 9
0
 def allocate(self, netmask, net_group_name, stack_id=None, stack_name=None):
     context = get_session()
     network = IPNetwork('0.0.0.0/%s' % netmask)
     pool = db.api.free_pool_find_by_netmask_and_netgroup(context, network.netmask.value, net_group_name)
     ip_network = pool_to_network(pool)
     if ip_network.size == network.size:
         pool.is_free = False
         pool.stack_id = stack_id
         pool.stack_name = stack_name
         pool.save()
         allocated_pool = pool
     else:
         pool_list = list(ip_network.subnet(netmask))
         allocated_network = pool_list[0]
         pool_list = IPSet(pool_list[1::])
         allocated_pool = db.api.used_pool_add(context, {'initial_pool': pool.initial_pool, 'cidr': allocated_network,
                                                         'stack_id': stack_id, 'stack_name': stack_name})
         for free_pool in pool_list.iter_cidrs():
             db.api.free_pool_add(context, {'initial_pool':  pool.initial_pool, 'cidr': free_pool})
         db.api.pool_delete(context, pool.pool_id)
         logger.info('allocate pool id %s %s' % (allocated_pool.pool_id, allocated_network))
     return allocated_pool
Exemplo n.º 10
0
 def allocate(self,
              netmask,
              net_group_name,
              stack_id=None,
              stack_name=None):
     context = get_session()
     network = IPNetwork('0.0.0.0/%s' % netmask)
     pool = db.api.free_pool_find_by_netmask_and_netgroup(
         context, network.netmask.value, net_group_name)
     ip_network = pool_to_network(pool)
     if ip_network.size == network.size:
         pool.is_free = False
         pool.stack_id = stack_id
         pool.stack_name = stack_name
         pool.save()
         allocated_pool = pool
     else:
         pool_list = list(ip_network.subnet(netmask))
         allocated_network = pool_list[0]
         pool_list = IPSet(pool_list[1::])
         allocated_pool = db.api.used_pool_add(
             context, {
                 'initial_pool': pool.initial_pool,
                 'cidr': allocated_network,
                 'stack_id': stack_id,
                 'stack_name': stack_name
             })
         for free_pool in pool_list.iter_cidrs():
             db.api.free_pool_add(context, {
                 'initial_pool': pool.initial_pool,
                 'cidr': free_pool
             })
         db.api.pool_delete(context, pool.pool_id)
         logger.info('allocate pool id %s %s' %
                     (allocated_pool.pool_id, allocated_network))
     return allocated_pool
Exemplo n.º 11
0
 def create_new_pool_group(self, group_name):
     context = get_session()
     group = db.api.pool_group_add(context, {'group_name': group_name})
     return  group
Exemplo n.º 12
0
 def test_create_group(self):
     context = get_session()
     group1 = db.api.pool_group_add(context, {'group_name': '10.31_pool'})
     group2 = db.api.pool_group_add(context, {'group_name': '10.31_instances'})
     assert group1 is not group2
Exemplo n.º 13
0
 def get_pool_group(self, group_name):
     context = get_session()
     group = db.api.pool_group_get_by_name(context, group_name)
     return group
Exemplo n.º 14
0
 def create_new_pool_group(self, group_name):
     context = get_session()
     group = db.api.pool_group_add(context, {'group_name': group_name})
     return group
Exemplo n.º 15
0
 def test_create_group(self):
     context = get_session()
     group1 = db.api.pool_group_add(context, {'group_name': '10.31_pool'})
     group2 = db.api.pool_group_add(context,
                                    {'group_name': '10.31_instances'})
     assert group1 is not group2
Exemplo n.º 16
0
 def get_pool_group(self, group_name):
     context = get_session()
     group = db.api.pool_group_get_by_name(context,  group_name)
     return  group
Exemplo n.º 17
0
 def create_new_initial_pool(self, group_id, ip, mask):
     network = IPNetwork('%s/%s' % (ip, mask))
     context = get_session()
     initial_pool = db.api.initial_pool_add(context, {'group_id': group_id, 'cidr': network})
     return initial_pool
Exemplo n.º 18
0
 def test_create_initial_pool(self):
     context = get_session()
     group1 = db.api.pool_group_add(context, {'group_name': '10.31_pool'})
     network = IPNetwork('10.31.214.0/22')
     initial_pool1 = db.api.initial_pool_add(context, {'group_id': group1.group_id, 'cidr': network})