Revision d948c101
b/lib/cli.py | ||
---|---|---|
3685 | 3685 |
return parsed |
3686 | 3686 |
|
3687 | 3687 |
|
3688 |
def CreateIPolicyFromOpts(ispecs_mem_size=None, |
|
3689 |
ispecs_cpu_count=None, |
|
3690 |
ispecs_disk_count=None, |
|
3691 |
ispecs_disk_size=None, |
|
3692 |
ispecs_nic_count=None, |
|
3693 |
ipolicy_disk_templates=None, |
|
3694 |
ipolicy_vcpu_ratio=None, |
|
3695 |
ipolicy_spindle_ratio=None, |
|
3696 |
group_ipolicy=False, |
|
3697 |
allowed_values=None, |
|
3698 |
fill_all=False): |
|
3699 |
"""Creation of instance policy based on command line options. |
|
3700 |
|
|
3701 |
@param fill_all: whether for cluster policies we should ensure that |
|
3702 |
all values are filled |
|
3703 |
|
|
3704 |
|
|
3705 |
""" |
|
3688 |
def _InitIspecsFromOpts(ipolicy, ispecs_mem_size, ispecs_cpu_count, |
|
3689 |
ispecs_disk_count, ispecs_disk_size, ispecs_nic_count, |
|
3690 |
group_ipolicy, allowed_values): |
|
3706 | 3691 |
try: |
3707 | 3692 |
if ispecs_mem_size: |
3708 | 3693 |
ispecs_mem_size = _MaybeParseUnit(ispecs_mem_size) |
... | ... | |
3715 | 3700 |
errors.ECODE_INVAL) |
3716 | 3701 |
|
3717 | 3702 |
# prepare ipolicy dict |
3718 |
ipolicy_transposed = {
|
|
3703 |
ispecs_transposed = {
|
|
3719 | 3704 |
constants.ISPEC_MEM_SIZE: ispecs_mem_size, |
3720 | 3705 |
constants.ISPEC_CPU_COUNT: ispecs_cpu_count, |
3721 | 3706 |
constants.ISPEC_DISK_COUNT: ispecs_disk_count, |
... | ... | |
3728 | 3713 |
forced_type = TISPECS_GROUP_TYPES |
3729 | 3714 |
else: |
3730 | 3715 |
forced_type = TISPECS_CLUSTER_TYPES |
3731 |
|
|
3732 |
for specs in ipolicy_transposed.values(): |
|
3716 |
for specs in ispecs_transposed.values(): |
|
3733 | 3717 |
utils.ForceDictType(specs, forced_type, allowed_values=allowed_values) |
3734 | 3718 |
|
3735 | 3719 |
# then transpose |
3736 |
ipolicy_out = objects.MakeEmptyIPolicy() |
|
3737 |
for name, specs in ipolicy_transposed.iteritems(): |
|
3720 |
for (name, specs) in ispecs_transposed.iteritems(): |
|
3738 | 3721 |
assert name in constants.ISPECS_PARAMETERS |
3739 | 3722 |
for key, val in specs.items(): # {min: .. ,max: .., std: ..} |
3740 |
ipolicy_out[key][name] = val |
|
3723 |
ipolicy[key][name] = val |
|
3724 |
|
|
3725 |
|
|
3726 |
def CreateIPolicyFromOpts(ispecs_mem_size=None, |
|
3727 |
ispecs_cpu_count=None, |
|
3728 |
ispecs_disk_count=None, |
|
3729 |
ispecs_disk_size=None, |
|
3730 |
ispecs_nic_count=None, |
|
3731 |
ipolicy_disk_templates=None, |
|
3732 |
ipolicy_vcpu_ratio=None, |
|
3733 |
ipolicy_spindle_ratio=None, |
|
3734 |
group_ipolicy=False, |
|
3735 |
allowed_values=None, |
|
3736 |
fill_all=False): |
|
3737 |
"""Creation of instance policy based on command line options. |
|
3738 |
|
|
3739 |
@param fill_all: whether for cluster policies we should ensure that |
|
3740 |
all values are filled |
|
3741 |
|
|
3742 |
|
|
3743 |
""" |
|
3744 |
|
|
3745 |
ipolicy_out = objects.MakeEmptyIPolicy() |
|
3746 |
_InitIspecsFromOpts(ipolicy_out, ispecs_mem_size, ispecs_cpu_count, |
|
3747 |
ispecs_disk_count, ispecs_disk_size, ispecs_nic_count, |
|
3748 |
group_ipolicy, allowed_values) |
|
3741 | 3749 |
|
3742 | 3750 |
if ipolicy_disk_templates is not None: |
3743 | 3751 |
ipolicy_out[constants.IPOLICY_DTS] = list(ipolicy_disk_templates) |
Also available in: Unified diff