Revision 0c77c331 lib/masterd/instance.py
b/lib/masterd/instance.py | ||
---|---|---|
1605 | 1605 |
msg = _GetRieDiskInfoMessage(disk_index, host, port, magic) |
1606 | 1606 |
hmac_digest = utils.Sha1Hmac(cds, msg, salt=salt) |
1607 | 1607 |
return (host, port, magic, hmac_digest, salt) |
1608 |
|
|
1609 |
|
|
1610 |
def CalculateGroupIPolicy(cluster, group): |
|
1611 |
"""Calculate instance policy for group. |
|
1612 |
|
|
1613 |
""" |
|
1614 |
return cluster.SimpleFillIPolicy(group.ipolicy) |
|
1615 |
|
|
1616 |
|
|
1617 |
def ComputeDiskSize(disk_template, disks): |
|
1618 |
"""Compute disk size requirements according to disk template |
|
1619 |
|
|
1620 |
""" |
|
1621 |
# Required free disk space as a function of disk and swap space |
|
1622 |
req_size_dict = { |
|
1623 |
constants.DT_DISKLESS: None, |
|
1624 |
constants.DT_PLAIN: sum(d[constants.IDISK_SIZE] for d in disks), |
|
1625 |
# 128 MB are added for drbd metadata for each disk |
|
1626 |
constants.DT_DRBD8: |
|
1627 |
sum(d[constants.IDISK_SIZE] + constants.DRBD_META_SIZE for d in disks), |
|
1628 |
constants.DT_FILE: sum(d[constants.IDISK_SIZE] for d in disks), |
|
1629 |
constants.DT_SHARED_FILE: sum(d[constants.IDISK_SIZE] for d in disks), |
|
1630 |
constants.DT_BLOCK: 0, |
|
1631 |
constants.DT_RBD: sum(d[constants.IDISK_SIZE] for d in disks), |
|
1632 |
} |
|
1633 |
|
|
1634 |
if disk_template not in req_size_dict: |
|
1635 |
raise errors.ProgrammerError("Disk template '%s' size requirement" |
|
1636 |
" is unknown" % disk_template) |
|
1637 |
|
|
1638 |
return req_size_dict[disk_template] |
Also available in: Unified diff