blob: 99baaffb8ec2cf99bca391babda314b8714c90b0 [file] [log] [blame]
Dennis Dmitriev6f59add2016-10-18 13:45:27 +03001# Copyright 2016 Mirantis, Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
15import collections
16
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030017
18def enum(*values, **kwargs):
19 names = kwargs.get('names')
20 if names:
21 return collections.namedtuple('Enum', names)(*values)
22 return collections.namedtuple('Enum', values)(*values)
23
Dina Belovae6fdffb2017-09-19 13:58:34 -070024
Dennis Dmitriev53d3b772016-10-18 14:31:58 +030025UNDERLAY_NODE_ROLES = enum(
Dennis Dmitrievb5d74242016-10-18 14:05:29 +030026 'salt_master',
27 'salt_minion',
vrovachev99228d32017-06-08 19:46:10 +040028 'k8s_virtlet',
Victor Ryzhenkin66d39372017-09-28 19:25:48 +040029 'k8s_controller',
Dennis Dmitrievf3f90a52017-08-10 14:37:05 +030030 'decapod_mon',
31 'decapod_osd',
32 'decapod_all',
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030033)
34
Dina Belovae6fdffb2017-09-19 13:58:34 -070035
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030036NETWORK_TYPE = enum(
37 'private',
disc5298382016-11-23 16:03:33 +020038 'admin'
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030039)
40
Dina Belovae6fdffb2017-09-19 13:58:34 -070041
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030042SNAPSHOT = enum(
43 'hardware',
44 'underlay',
Dennis Dmitriev010f4cd2016-11-01 20:43:51 +020045 'salt_deployed',
46 'common_services_deployed',
Dennis Dmitrieveac3aab2017-07-12 16:36:41 +030047 'oss_deployed',
Dennis Dmitriev010f4cd2016-11-01 20:43:51 +020048 'openstack_deployed',
Tatyana Leontovich5acc82a2017-05-23 15:41:35 +030049 'sl_deployed',
vrovachevbc2f5ce2017-05-22 19:37:24 +040050 'virtlet_deployed',
Victor Ryzhenkin655587f2017-05-24 20:00:07 +040051 'virtlet_ceph_deployed',
Dennis Dmitrievf3f90a52017-08-10 14:37:05 +030052 'k8s_deployed',
53 'decapod_deployed',
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030054)
55
Dina Belovae6fdffb2017-09-19 13:58:34 -070056
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030057LOG_LEVELS = enum(
58 'INFO',
59 'WARNING',
60 'ERROR',
61 'CRITICAL',
62 'DEBUG',
63 'NOTE'
64)