'Validate for Rackspace Cloud specific parameters'

def validate(self):

    super(CloudServer, self).validate()
    flavor = self.properties[self.FLAVOR]
    flavor_obj = self.client_plugin().get_flavor(flavor)
    fl_xtra_specs = flavor_obj.to_dict().get(self.FLAVOR_EXTRA_SPECS, {})
    flavor_type = fl_xtra_specs.get(self.FLAVOR_CLASS, None)
    image = self.properties.get(self.IMAGE)
    if (not image):
        if (flavor_type in self.NON_BFV):
            msg = (_('Flavor    %s    cannot    be    booted    from    volume.') % flavor)
            raise exception.StackValidationFailed(message=msg)
        else:
            return
    if (not self._image_flavor_class_match(flavor_type, image)):
        msg = (_('Flavor    %(flavor)s    cannot    be    used    with    image    %(image)s.') % {'image': image, 'flavor': flavor})
        raise exception.StackValidationFailed(message=msg)
    if (flavor_type in self.BFV_VOLUME_REQUIRED):
        msg = (_('Flavor    %(flavor)s    must    be    booted    from    volume,    but    image    %(image)s    was    also    specified.') % {'flavor': flavor, 'image': image})
        raise exception.StackValidationFailed(message=msg)
