~sandy-walsh/nova/zones

« back to all changes in this revision

Viewing changes to nova/network/manager.py

  • Committer: Sandy Walsh
  • Date: 2011-02-17 21:39:03 UTC
  • mfrom: (635.1.60 nova)
  • Revision ID: sandy.walsh@rackspace.com-20110217213903-swehe88wea8inxow
changed from 003-004 migration

Show diffs side-by-side

added added

removed removed

Lines of Context:
331
331
        pass
332
332
 
333
333
    def create_networks(self, context, cidr, num_networks, network_size,
334
 
                        cidr_v6, *args, **kwargs):
 
334
                        cidr_v6, label, *args, **kwargs):
335
335
        """Create networks based on parameters."""
336
336
        fixed_net = IPy.IP(cidr)
337
337
        fixed_net_v6 = IPy.IP(cidr_v6)
338
338
        significant_bits_v6 = 64
 
339
        count = 1
339
340
        for index in range(num_networks):
340
341
            start = index * network_size
341
342
            significant_bits = 32 - int(math.log(network_size, 2))
348
349
            net['gateway'] = str(project_net[1])
349
350
            net['broadcast'] = str(project_net.broadcast())
350
351
            net['dhcp_start'] = str(project_net[2])
 
352
            if num_networks > 1:
 
353
                net['label'] = "%s_%d" % (label, count)
 
354
            else:
 
355
                net['label'] = label
 
356
            count += 1
351
357
 
352
358
            if(FLAGS.use_ipv6):
353
359
                cidr_v6 = "%s/%s" % (fixed_net_v6[0], significant_bits_v6)
505
511
    def create_networks(self, context, cidr, num_networks, network_size,
506
512
                        cidr_v6, vlan_start, vpn_start):
507
513
        """Create networks based on parameters."""
 
514
        # Check that num_networks + vlan_start is not > 4094, fixes lp708025
 
515
        if num_networks + vlan_start > 4094:
 
516
            raise ValueError(_('The sum between the number of networks and'
 
517
                               ' the vlan start cannot be greater'
 
518
                               ' than 4094'))
 
519
 
508
520
        fixed_net = IPy.IP(cidr)
509
521
        fixed_net_v6 = IPy.IP(cidr_v6)
510
522
        network_size_v6 = 1 << 64