def _compare_product_version(hyper_version, image_props): version_required = image_props.get('img_hv_requested_version') if not (hypervisor_version and version_required): return True img_prop_predicate = versionpredicate.VersionPredicate( 'image_prop (%s)' % version_required) hyper_ver_str = versionutils.convert_version_to_str(hyper_version) return img_prop_predicate.satisfied_by(hyper_ver_str)
def coerce(obj, attr, value): try: versionpredicate.VersionPredicate('check (%s)' % value) except ValueError: raise ValueError(_('Version %(val)s is not a valid predicate in ' 'field %(attr)s') % {'val': value, 'attr': attr}) return value
def _matches_version(self, version, version_requires): predicate = versionpredicate.VersionPredicate('prop (%s)' % version_requires) return predicate.satisfied_by(version)