Exemple #1
0
class ActionCreateRequestBody(base.SenlinObject):
    fields = {
        'name': fields.NameField(),
        'cluster_id': fields.StringField(),
        'action': fields.StringField(),
        'inputs': fields.JsonField(nullable=True, default={}),
    }
Exemple #2
0
class ClusterCreateRequestBody(base.SenlinObject):

    fields = {
        'name':
        fields.NameField(),
        'profile_id':
        fields.StringField(),
        'min_size':
        fields.CapacityField(nullable=True,
                             minimum=0,
                             default=consts.CLUSTER_DEFAULT_MIN_SIZE),
        'max_size':
        fields.CapacityField(nullable=True,
                             minimum=-1,
                             default=consts.CLUSTER_DEFAULT_MAX_SIZE),
        'desired_capacity':
        fields.CapacityField(nullable=True,
                             minimum=0,
                             default=consts.CLUSTER_DEFAULT_MIN_SIZE),
        'metadata':
        fields.JsonField(nullable=True, default={}),
        'timeout':
        fields.NonNegativeIntegerField(nullable=True,
                                       default=CONF.default_action_timeout),
    }
Exemple #3
0
class ClusterCreateRequestBody(base.SenlinObject):

    # VERSION 1.0: initial version
    # VERSION 1.1: added field 'config'
    VERSION = '1.1'
    VERSION_MAP = {
        '1.7': '1.1',
    }

    fields = {
        'name': fields.NameField(),
        'profile_id': fields.StringField(),
        'min_size': fields.CapacityField(
            nullable=True, minimum=0,
            default=consts.CLUSTER_DEFAULT_MIN_SIZE),
        'max_size': fields.CapacityField(
            nullable=True, minimum=-1,
            default=consts.CLUSTER_DEFAULT_MAX_SIZE),
        'desired_capacity': fields.CapacityField(
            nullable=True, minimum=0),
        'metadata': fields.JsonField(nullable=True, default={}),
        'timeout': fields.NonNegativeIntegerField(
            nullable=True, default=CONF.default_action_timeout),
        'config': fields.JsonField(nullable=True, default={}),
    }

    def obj_make_compatible(self, primitive, target_version):
        super(ClusterCreateRequest, self).obj_make_compatible(
            primitive, target_version)
        target_version = versionutils.convert_version_to_tuple(target_version)
        if target_version < (1, 1):
            if 'config' in primitive['senlin_object.data']:
                del primitive['senlin_object.data']['config']
Exemple #4
0
class ProfileCreateRequestBody(base.SenlinObject):

    fields = {
        'name': fields.NameField(),
        'spec': fields.JsonField(),
        'metadata': fields.JsonField(nullable=True, default={}),
    }
Exemple #5
0
class ClusterUpdateRequest(base.SenlinObject):

    # VERSION 1.0: initial version
    # VERSION 1.1: added field 'profile_only'
    # VERSION 1.2: added field 'config'
    VERSION = '1.2'
    VERSION_MAP = {
        '1.6': '1.1',
        '1.7': '1.2',
    }

    fields = {
        'identity': fields.StringField(),
        'name': fields.NameField(nullable=True),
        'profile_id': fields.StringField(nullable=True),
        'metadata': fields.JsonField(nullable=True),
        'timeout': fields.NonNegativeIntegerField(nullable=True),
        'profile_only': fields.BooleanField(nullable=True),
        'config': fields.JsonField(nullable=True),
    }

    def obj_make_compatible(self, primitive, target_version):
        super(ClusterUpdateRequest, self).obj_make_compatible(
            primitive, target_version)
        target_version = versionutils.convert_version_to_tuple(target_version)
        if target_version < (1, 1):
            if 'profile_only' in primitive['senlin_object.data']:
                del primitive['senlin_object.data']['profile_only']
        if target_version < (1, 2):
            if 'config' in primitive['senlin_object.data']:
                del primitive['senlin_object.data']['config']
Exemple #6
0
class ReceiverUpdateRequest(base.SenlinObject):

    fields = {
        'identity': fields.StringField(),
        'name': fields.NameField(nullable=True),
        'action': fields.ClusterActionNameField(nullable=True),
        'params': fields.JsonField(nullable=True, default={})
    }
Exemple #7
0
class NodeUpdateRequest(base.SenlinObject):

    fields = {
        'identity': fields.StringField(),
        'metadata': fields.JsonField(nullable=True),
        'name': fields.NameField(nullable=True),
        'profile_id': fields.StringField(nullable=True),
        'role': fields.fields.StringField(nullable=True)
    }
Exemple #8
0
class NodeCreateRequestBody(base.SenlinObject):

    fields = {
        'cluster_id': fields.StringField(nullable=True, default=''),
        'metadata': fields.JsonField(nullable=True, default={}),
        'name': fields.NameField(),
        'profile_id': fields.StringField(),
        'role': fields.fields.StringField(nullable=True, default='')
    }
Exemple #9
0
class ClusterUpdateRequest(base.SenlinObject):

    fields = {
        'identity': fields.StringField(),
        'name': fields.NameField(nullable=True),
        'profile_id': fields.StringField(nullable=True),
        'metadata': fields.JsonField(nullable=True),
        'timeout': fields.IntegerField(nullable=True),
    }
Exemple #10
0
class ReceiverCreateRequestBody(base.SenlinObject):

    fields = {
        'name': fields.NameField(),
        'type': fields.ReceiverTypeField(),
        'cluster_id': fields.StringField(nullable=True),
        'action': fields.ClusterActionNameField(nullable=True),
        'actor': fields.JsonField(nullable=True, default={}),
        'params': fields.JsonField(nullable=True, default={})
    }
Exemple #11
0
class NodeAdoptRequest(base.SenlinObject):

    fields = {
        'identity': fields.StringField(),
        'type': fields.StringField(),
        'name': fields.NameField(nullable=True),
        'role': fields.StringField(nullable=True),
        'metadata': fields.JsonField(nullable=True, default={}),
        'overrides': fields.JsonField(nullable=True),
        'snapshot': fields.BooleanField(nullable=True, default=False)
    }
Exemple #12
0
class ClusterPolicyListRequest(base.SenlinObject):

    fields = {
        'identity':
        fields.StringField(),
        'policy_name':
        fields.NameField(nullable=True),
        'policy_type':
        fields.StringField(nullable=True),
        'enabled':
        fields.BooleanField(nullable=True),
        'sort':
        fields.SortField(valid_keys=list(consts.CLUSTER_POLICY_SORT_KEYS),
                         nullable=True)
    }
Exemple #13
0
    def setUp(self):
        super(TestName, self).setUp()

        self.field = senlin_fields.NameField()
        self.coerce_good_values = [
            ('name1', 'name1'),  # plain string
            ('name2.sec', 'name2.sec'),  # '.' okay
            ('123-sec', '123-sec'),  # '-' okay
            ('123_sec', '123_sec'),  # '_' okay
            ('123~sec', '123~sec'),  # '~' okay
            ('557', '557'),  # pure numeric okay
        ]
        self.coerce_bad_values = [
            '',  # too short
            's' * 300,  # too long
            'ab/',  # '/' illegal
            's123$',  # '$' illegal
            '13^gadf',  # '^' illegal
            'sad&cheer',  # '&' illegal
            'boo**',  # '*' illegal
            'kwsqu()',  # '(' and ')' illegal
            'bing+bang',  # '+' illegal
            'var=value',  # '=' illegal
            'quicksort[1]',  # '[' and ']' illegal
            'sdi{"gh"}',  # '{' and '}' illegal
            'gate open',  # ' ' illegal
            '12.64%',  # '%' illegal
            'name#sign',  # '#' illegal
            'back\slash',  # '\' illegal
            ' leading',  # leading blank illegal
            'trailing ',  # trailing blank illegal
            '!okay',  # '!' illegal
            '@author',  # '@' illegal
            '`info`',  # '`' illegal
            '"partial',  # '"' illegal
            "'single",  # ''' illegal
            '<max',  # '<' illegal
            '>min',  # '>' illegal
            'question?',  # '?' illegal
            'first,second',  # ',' illegal
        ]
        self.to_primitive_values = self.coerce_good_values[0:1]
        self.from_primitive_values = self.coerce_good_values[0:1]
Exemple #14
0
class NodeUpdateRequest(base.SenlinObject):

    VERSION = '1.1'
    VERSION_MAP = {'1.13': '1.1'}

    fields = {
        'identity': fields.StringField(),
        'metadata': fields.JsonField(nullable=True),
        'name': fields.NameField(nullable=True),
        'profile_id': fields.StringField(nullable=True),
        'role': fields.StringField(nullable=True),
        'tainted': fields.BooleanField(nullable=True)
    }

    def obj_make_compatible(self, primitive, target_version):
        super(NodeUpdateRequest,
              self).obj_make_compatible(primitive, target_version)
        target_version = versionutils.convert_version_to_tuple(target_version)
        if target_version < (1, 13):
            if 'tainted' in primitive['senlin_object.data']:
                del primitive['senlin_object.data']['tainted']
Exemple #15
0
class ProfileUpdateRequestBody(base.SenlinObject):

    fields = {
        'name': fields.NameField(nullable=True),
        'metadata': fields.JsonField(nullable=True)
    }
Exemple #16
0
class PolicyUpdateRequestBody(base.SenlinObject):

    fields = {'name': fields.NameField()}
Exemple #17
0
class PolicyCreateRequestBody(base.SenlinObject):

    fields = {
        'name': fields.NameField(),
        'spec': fields.JsonField(),
    }