Revision 9939547b
b/doc/examples/batcher-instances.json | ||
---|---|---|
1 |
{ |
|
2 |
"instance1.example.com": { |
|
3 |
"template": "drbd", |
|
4 |
"os": "debootstrap", |
|
5 |
"disk_size": ["25G"], |
|
6 |
"ram_size": 512 |
|
7 |
}, |
|
8 |
"instance2.example.com": { |
|
9 |
"template": "plain", |
|
10 |
"os": "debootstrap", |
|
11 |
"disk_size": ["100G"], |
|
12 |
"ram_size": 512 |
|
13 |
} |
|
14 |
} |
b/lib/cmdlib.py | ||
---|---|---|
4193 | 4193 |
raise errors.OpPrereqError("Invalid MAC address specified: %s" % |
4194 | 4194 |
mac) |
4195 | 4195 |
# bridge verification |
4196 |
bridge = nic.get("bridge", self.cfg.GetDefBridge()) |
|
4196 |
bridge = nic.get("bridge", None) |
|
4197 |
if bridge is None: |
|
4198 |
bridge = self.cfg.GetDefBridge() |
|
4197 | 4199 |
self.nics.append(objects.NIC(mac=mac, ip=nic_ip, bridge=bridge)) |
4198 | 4200 |
|
4199 | 4201 |
# disk checks/pre-build |
b/lib/utils.py | ||
---|---|---|
751 | 751 |
is always an int in MiB. |
752 | 752 |
|
753 | 753 |
""" |
754 |
m = re.match('^([.\d]+)\s*([a-zA-Z]+)?$', input_string)
|
|
754 |
m = re.match('^([.\d]+)\s*([a-zA-Z]+)?$', str(input_string))
|
|
755 | 755 |
if not m: |
756 | 756 |
raise errors.UnitParseError("Invalid format") |
757 | 757 |
|
b/scripts/gnt-instance | ||
---|---|---|
375 | 375 |
in the form:: |
376 | 376 |
|
377 | 377 |
{"instance-name":{ |
378 |
"disk_size": 25, |
|
379 |
"swap_size": 1024, |
|
378 |
"disk_size": [20480], |
|
380 | 379 |
"template": "drbd", |
381 | 380 |
"backend": { |
382 | 381 |
"memory": 512, |
383 | 382 |
"vcpus": 1 }, |
384 |
"os": "etch-image",
|
|
383 |
"os": "debootstrap",
|
|
385 | 384 |
"primary_node": "firstnode", |
386 | 385 |
"secondary_node": "secondnode", |
387 | 386 |
"iallocator": "dumb"} |
... | ... | |
397 | 396 |
@return: the desired exit code |
398 | 397 |
|
399 | 398 |
""" |
400 |
_DEFAULT_SPECS = {"disk_size": 20 * 1024, |
|
401 |
"swap_size": 4 * 1024, |
|
399 |
_DEFAULT_SPECS = {"disk_size": [20 * 1024], |
|
402 | 400 |
"backend": {}, |
403 | 401 |
"iallocator": None, |
404 | 402 |
"primary_node": None, |
... | ... | |
458 | 456 |
if specs['hypervisor']: |
459 | 457 |
hypervisor, hvparams = specs['hypervisor'].iteritems() |
460 | 458 |
|
459 |
disks = [] |
|
460 |
for elem in specs['disk_size']: |
|
461 |
try: |
|
462 |
size = utils.ParseUnit(elem) |
|
463 |
except ValueError, err: |
|
464 |
raise errors.OpPrereqError("Invalid disk size '%s' for" |
|
465 |
" instance %s: %s" % |
|
466 |
(elem, name, err)) |
|
467 |
disks.append({"size": size}) |
|
468 |
|
|
469 |
nic0 = {'ip': specs['ip'], 'bridge': specs['bridge'], 'mac': specs['mac']} |
|
470 |
|
|
461 | 471 |
op = opcodes.OpCreateInstance(instance_name=name, |
462 |
disk_size=specs['disk_size'], |
|
463 |
swap_size=specs['swap_size'], |
|
472 |
disks=disks, |
|
464 | 473 |
disk_template=specs['template'], |
465 | 474 |
mode=constants.INSTANCE_CREATE, |
466 | 475 |
os_type=specs['os'], |
467 | 476 |
pnode=specs['primary_node'], |
468 | 477 |
snode=specs['secondary_node'], |
469 |
ip=specs['ip'], bridge=specs['bridge'],
|
|
478 |
nics=[nic0],
|
|
470 | 479 |
start=specs['start'], |
471 | 480 |
ip_check=specs['ip_check'], |
472 | 481 |
wait_for_sync=True, |
473 |
mac=specs['mac'], |
|
474 | 482 |
iallocator=specs['iallocator'], |
475 | 483 |
hypervisor=hypervisor, |
476 | 484 |
hvparams=hvparams, |
Also available in: Unified diff