示例#1
0
def validate_labels_image_providers(labels):
    """Validate mesos_agent_image_providers"""
    mesos_agent_image_providers = labels.get('mesos_agent_image_providers')
    mesos_agent_image_providers_list = mesos_agent_image_providers.split(',')
    isolation_with_valid_data = False
    for image_providers_val in mesos_agent_image_providers_list:
        image_providers_val = image_providers_val.lower()
        if image_providers_val not in SUPPORTED_IMAGE_PROVIDERS:
            raise exception.InvalidParameterValue(
                _('property "labels/mesos_agent_image_providers" with value '
                  '"%(image_providers)s" is not supported, supported values '
                  'are: %(supported_image_providers)s') % {
                      'image_providers':
                      image_providers_val,
                      'supported_image_providers':
                      ', '.join(SUPPORTED_IMAGE_PROVIDERS + ['unspecified'])
                  })

        if image_providers_val == 'docker':
            mesos_agent_isolation = labels.get('mesos_agent_isolation')
            if mesos_agent_isolation is not None:
                mesos_agent_isolation_list = mesos_agent_isolation.split(',')
                for isolations_val in mesos_agent_isolation_list:
                    if isolations_val == 'docker/runtime':
                        isolation_with_valid_data = True
            if mesos_agent_isolation is None or not isolation_with_valid_data:
                raise exception.RequiredParameterNotProvided(
                    _("Docker runtime isolator has to be specified if 'docker' "
                      "is included in 'mesos_agent_image_providers' Please add "
                      "'docker/runtime' to 'mesos_agent_isolation' labels "
                      "flags"))
示例#2
0
    def set_param(self, params, cluster_template, cluster):
        value = self.get_value(cluster_template, cluster)
        if self.required and value is None:
            kwargs = dict(heat_param=self.heat_param)
            raise exception.RequiredParameterNotProvided(**kwargs)

        if value is not None:
            value = self.param_type(value)
            params[self.heat_param] = value
示例#3
0
    def set_param(self, params, baymodel, bay):
        value = None

        if (self.baymodel_attr
                and getattr(baymodel, self.baymodel_attr, None) is not None):
            value = getattr(baymodel, self.baymodel_attr)
        elif (self.bay_attr and getattr(bay, self.bay_attr, None) is not None):
            value = getattr(bay, self.bay_attr)
        elif self.required:
            kwargs = dict(heat_param=self.heat_param)
            raise exception.RequiredParameterNotProvided(**kwargs)

        if value is not None:
            value = self.param_type(value)
            params[self.heat_param] = value
示例#4
0
    def set_param(self, params, cluster_template, cluster):
        value = None

        if (self.cluster_template_attr and
                getattr(cluster_template, self.cluster_template_attr, None)
                is not None):
            value = getattr(cluster_template, self.cluster_template_attr)
        elif (self.cluster_attr and
                getattr(cluster, self.cluster_attr, None) is not None):
            value = getattr(cluster, self.cluster_attr)
        elif self.required:
            kwargs = dict(heat_param=self.heat_param)
            raise exception.RequiredParameterNotProvided(**kwargs)

        if value is not None:
            value = self.param_type(value)
            params[self.heat_param] = value