加热模板中的Openstack风味验证

时间:2017-11-07 12:33:37

标签: openstack openstack-heat

我正在验证用户在热模板中传递的味道。目前,热模板允许我在允许的值中提及风味的名称。下面的小代码片段,

parameters:
flavor_type:  
type: string
        label: Flavor type
        description: Type of instance (flavor) to be used
        constraints:
          - allowed_values: [m1.xlarge ]
            description: Value must be one of m1.xlarge.

当用户传递名称为m1.xlarge但未传递其他名称的flavor时,此方法有效。

我想允许具有特定尺寸的定制口味(RAM-8,HD-150,VCPU-8)。我希望在热模板中验证这些单独的值,并通过味道。

我觉得这是一个有效的用例来检查口味。热模板中是否有可能?

谢谢, Rama Krishna

1 个答案:

答案 0 :(得分:1)

Heat Spec具有自定义约束的概念。搜索"自定义约束"在https://docs.openstack.org/heat/pike/template_guide/hot_spec.html。您可以利用它来验证输入是使用该模板的用户可用的风格之一

>>> from sympy import *
>>> x = Symbol('x')
>>> f = x**4 - 24*x**2 + 80
>>> fd = diff(f)
>>> fdd = diff(fd)
>>> polyRoots = solveset(f, x)
>>> dRoots = solveset(fd, x)
>>> ddRoots = solveset(fdd, x)
>>> dRoots
{0, -2*sqrt(3), 2*sqrt(3)}
>>> [_ for _ in dRoots]
[0, -2*sqrt(3), 2*sqrt(3)]
>>> [f.subs(x, _) for _ in dRoots]
[80, -64, -64]