Revision a2112db5 lib/objects.py
b/lib/objects.py | ||
---|---|---|
439 | 439 |
node.UpgradeConfig() |
440 | 440 |
for instance in self.instances.values(): |
441 | 441 |
instance.UpgradeConfig() |
442 |
self._UpgradeEnabledDiskTemplates() |
|
442 | 443 |
if self.nodegroups is None: |
443 | 444 |
self.nodegroups = {} |
444 | 445 |
for nodegroup in self.nodegroups.values(): |
445 | 446 |
nodegroup.UpgradeConfig() |
447 |
InstancePolicy.UpgradeDiskTemplates( |
|
448 |
nodegroup.ipolicy, self.cluster.enabled_disk_templates) |
|
446 | 449 |
if self.cluster.drbd_usermode_helper is None: |
447 | 450 |
# To decide if we set an helper let's check if at least one instance has |
448 | 451 |
# a DRBD disk. This does not cover all the possible scenarios but it |
... | ... | |
453 | 456 |
self.networks = {} |
454 | 457 |
for network in self.networks.values(): |
455 | 458 |
network.UpgradeConfig() |
456 |
self._UpgradeEnabledDiskTemplates() |
|
457 | 459 |
|
458 | 460 |
def _UpgradeEnabledDiskTemplates(self): |
459 | 461 |
"""Upgrade the cluster's enabled disk templates by inspecting the currently |
... | ... | |
478 | 480 |
self.cluster.enabled_disk_templates.append(preferred_template) |
479 | 481 |
template_set.remove(preferred_template) |
480 | 482 |
self.cluster.enabled_disk_templates.extend(list(template_set)) |
483 |
InstancePolicy.UpgradeDiskTemplates( |
|
484 |
self.cluster.ipolicy, self.cluster.enabled_disk_templates) |
|
481 | 485 |
|
482 | 486 |
|
483 | 487 |
class NIC(ConfigObject): |
... | ... | |
914 | 918 |
|
915 | 919 |
""" |
916 | 920 |
@classmethod |
921 |
def UpgradeDiskTemplates(cls, ipolicy, enabled_disk_templates): |
|
922 |
"""Upgrades the ipolicy configuration.""" |
|
923 |
if constants.IPOLICY_DTS in ipolicy: |
|
924 |
if not set(ipolicy[constants.IPOLICY_DTS]).issubset( |
|
925 |
set(enabled_disk_templates)): |
|
926 |
ipolicy[constants.IPOLICY_DTS] = list( |
|
927 |
set(ipolicy[constants.IPOLICY_DTS]) & set(enabled_disk_templates)) |
|
928 |
|
|
929 |
@classmethod |
|
917 | 930 |
def CheckParameterSyntax(cls, ipolicy, check_std): |
918 | 931 |
""" Check the instance policy for validity. |
919 | 932 |
|
Also available in: Unified diff