X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=db-config.d%2F010-slice_tags;h=92372526c3531a877bbfc6fd591b89ebc7bf1f5f;hb=6c98ac7b4385db298d2a545c4ef11f3f7ebad61d;hp=f304f8bdce8f5c9dc42d4d2be692e70121baa002;hpb=49165bd333502f655a6ac6b5cf6ae205c4072d82;p=plcapi.git diff --git a/db-config.d/010-slice_tags b/db-config.d/010-slice_tags index f304f8b..9237252 100644 --- a/db-config.d/010-slice_tags +++ b/db-config.d/010-slice_tags @@ -1,152 +1,156 @@ # -*-python-*- -#################### slice tag types +# slice tag types # xxx this should move to PLC/Accessors # vref is now defined in an accessor # initscript is now defined in an accessor - + # Setup default slice tag types slicetag_types = \ -[ - # Slice type (only vserver is supported) - {'tagname': "type", - 'description': "Type of slice (e.g. vserver)", - 'category' : 'slice/general', - 'roles': ['admin','pi']}, - - # System slice - {'tagname': "system", - 'description': "Is a default system slice (1) or not (0 or unset)", - 'category' : 'slice/general'}, - - # Slice enabled (1) or suspended (0) - {'tagname': "enabled", - 'description': "Slice enabled (1 or unset) or suspended (0)", - 'category' : 'slice/general'}, - - # IP Addresses for a Slice - {'tagname': "ip_addresses", - 'description': "Add an ip address to a slice/sliver.", - 'category' : 'slice/rspec'}, - {'tagname': "isolate_loopback", - 'description': "Create an isolated loopback interface within the vserver rather than sharing with all vservers.", - 'category' : 'slice/rspec'}, - - # CPU share - {'tagname': "cpu_pct", - 'description': "Reserved CPU percent", - 'category' : 'slice/rspec'}, - {'tagname': "cpu_share", - 'description': "Number of CPU shares", - 'category' : 'slice/rspec'}, - {'tagname': "cpu_cores", - 'description': "Number of CPU cores", - 'category': 'slice/rspec'}, - {'tagname': "cpu_freezable", - 'description': "Slice processes should be frozen if cpu_cores is 0", - 'category': 'slice/rspec'}, - - # Bandwidth limits - {'tagname': "net_min_rate", - 'description': "Minimum bandwidth (kbps)", - 'category' : 'slice/rspec'}, - {'tagname': "net_max_rate", - 'description': "Maximum bandwidth (kbps)", - 'category' : 'slice/rspec'}, - {'tagname': "net_i2_min_rate", - 'description': "Minimum bandwidth over I2 routes (kbps)", - 'category' : 'slice/rspec'}, - {'tagname': "net_i2_max_rate", - 'description': "Maximum bandwidth over I2 routes (kbps)", - 'category' : 'slice/rspec'}, - {'tagname': "net_max_kbyte", - 'description': "Maximum daily network Tx KByte limit.", - 'category' : 'slice/rspec'}, - {'tagname': "net_thresh_kbyte", - 'description': "KByte limit before warning and throttling.", - 'category' : 'slice/rspec'}, - {'tagname': "net_i2_max_kbyte", - 'description': "Maximum daily network Tx KByte limit to I2 hosts.", - 'category' : 'slice/rspec'}, - {'tagname': "net_i2_thresh_kbyte", - 'description': "KByte limit to I2 hosts before warning and throttling.", - 'category' : 'slice/rspec'}, - {'tagname': "net_share", - 'description': "Number of bandwidth shares", - 'category' : 'slice/rspec'}, - {'tagname': "net_i2_share", - 'description': "Number of bandwidth shares over I2 routes", - 'category' : 'slice/rspec'}, - - # Disk quota - {'tagname': "disk_max", - 'description': "Disk quota (1k disk blocks)", - 'category' : 'slice/rspec'}, - - # deprecated in nov. 2010 - # Proper operations - #{'tagname': "proper_op", - # 'description': "Proper operation (e.g. bind_socket)", - # 'category' : 'slice/rspec'}, - - # VServer capabilities - {'tagname': "capabilities", - 'description': "VServer bcapabilities (separate by commas)", - 'category' : 'slice/rspec'}, - - # Vsys - {'tagname': "vsys", - 'description': "Bind vsys script fd's to a slice's /vsys directory.", - 'category' : 'slice/rspec'}, - {'tagname': "vsys_vnet", - 'description': """Specify the IP range that can be used in a given slice + [ + + # this applies on Node, not on Slice + # Slice type (only vserver is supported) + # {'tagname': "type", + # 'description': "Type of slice (e.g. vserver)", + # 'category' : 'slice/general', + # 'roles': ['admin','pi']}, + + # System slice + {'tagname': "system", + 'description': "Is a default system slice (1) or not (0 or unset)", + 'category': 'slice/general'}, + + # Slice enabled (1) or suspended (0) + {'tagname': "enabled", + 'description': "Slice enabled (1 or unset) or suspended (0)", + 'category': 'slice/general'}, + + # IP Addresses for a Slice + {'tagname': "ip_addresses", + 'description': "Add an ip address to a slice/sliver.", + 'category': 'slice/rspec'}, + {'tagname': "isolate_loopback", + 'description': "Create an isolated loopback interface within the vserver rather than sharing with all vservers.", + 'category': 'slice/rspec'}, + + # CPU share + {'tagname': "cpu_pct", + 'description': "Reserved CPU percent", + 'category': 'slice/rspec'}, + {'tagname': "cpu_share", + 'description': "Number of CPU shares", + 'category': 'slice/rspec'}, + {'tagname': "cpu_cores", + 'description': "Number of CPU cores", + 'category': 'slice/rspec'}, + {'tagname': "cpu_freezable", + 'description': "Slice processes should be frozen if cpu_cores is 0", + 'category': 'slice/rspec'}, + + # Bandwidth limits + {'tagname': "net_min_rate", + 'description': "Minimum bandwidth (kbps)", + 'category': 'slice/rspec'}, + {'tagname': "net_max_rate", + 'description': "Maximum bandwidth (kbps)", + 'category': 'slice/rspec'}, + {'tagname': "net_i2_min_rate", + 'description': "Minimum bandwidth over I2 routes (kbps)", + 'category': 'slice/rspec'}, + {'tagname': "net_i2_max_rate", + 'description': "Maximum bandwidth over I2 routes (kbps)", + 'category': 'slice/rspec'}, + {'tagname': "net_max_kbyte", + 'description': "Maximum daily network Tx KByte limit.", + 'category': 'slice/rspec'}, + {'tagname': "net_thresh_kbyte", + 'description': "KByte limit before warning and throttling.", + 'category': 'slice/rspec'}, + {'tagname': "net_i2_max_kbyte", + 'description': "Maximum daily network Tx KByte limit to I2 hosts.", + 'category': 'slice/rspec'}, + {'tagname': "net_i2_thresh_kbyte", + 'description': "KByte limit to I2 hosts before warning and throttling.", + 'category': 'slice/rspec'}, + {'tagname': "net_share", + 'description': "Number of bandwidth shares", + 'category': 'slice/rspec'}, + {'tagname': "net_i2_share", + 'description': "Number of bandwidth shares over I2 routes", + 'category': 'slice/rspec'}, + + # Disk quota + {'tagname': "disk_max", + 'description': "Disk quota (1k disk blocks)", + 'category': 'slice/rspec'}, + + # deprecated in nov. 2010 + # Proper operations + # {'tagname': "proper_op", + # 'description': "Proper operation (e.g. bind_socket)", + # 'category' : 'slice/rspec'}, + + # VServer capabilities + {'tagname': "capabilities", + 'description': "VServer bcapabilities (separate by commas)", + 'category': 'slice/rspec'}, + + # Vsys + # need to allow this one so that slice can have that set from PLC_VSYS_DEFAULT + {'tagname': "vsys", + 'description': "Bind vsys script fd's to a slice's /vsys directory.", + 'category': 'slice/rspec', + 'roles': AllPersonRoles()}, + {'tagname': "vsys_vnet", + 'description': """Specify the IP range that can be used in a given slice for virtual devices involved in topologies, e.g. 192.168.100.0/24""", - 'category': 'slice/rspec'}, - - # CoDemux - {'tagname': "codemux", - 'description': "Demux HTTP between slices using localhost ports. Value in the form 'host, localhost port'.", - 'category' : 'slice/rspec'}, - - # Delegation - {'tagname': "delegations", - 'description': "Coma seperated list of slices to give delegation authority to.", - 'category' : 'slice/rspec', - 'roles' : ['admin','pi','user']}, - - # Capability to give a sliver access to unused raw disk - {'tagname': "rawdisk", - 'description': "map unused raw disk devices into the slice", - 'category' : 'slice/access', # we should get rid of this category thing - 'roles': ['admin','pi']}, - - { 'tagname' : 'exempt_slice_until', - 'description' : 'Exclude this slice from MyOps until given date (YYYYMMDD)', - 'category' : 'slice/myops'}, - - # DistributedRateLimiting slice - {'tagname': "drl", - 'description': "Is a default Distributed Rate Limiting slice (1) or not (0 or unset)", - 'category' : 'slice/general'}, - - {'tagname' : 'interface', - 'description' : 'The interface tag holds network configuraiton information until VirtualInterface objects are in PLCAPI', - 'category' : 'slice/network'}, - -] + 'category': 'slice/rspec'}, + + # CoDemux + {'tagname': "codemux", + 'description': "Demux HTTP between slices using localhost ports. Value in the form 'host, localhost port'.", + 'category': 'slice/rspec'}, + + # Delegation + {'tagname': "delegations", + 'description': "Coma seperated list of slices to give delegation authority to.", + 'category': 'slice/rspec', + 'roles': ['admin', 'pi', 'user']}, + + # Capability to give a sliver access to unused raw disk + {'tagname': "rawdisk", + 'description': "map unused raw disk devices into the slice", + 'category': 'slice/access', # we should get rid of this category thing + 'roles': ['admin', 'pi']}, + + {'tagname': 'exempt_slice_until', + 'description': 'Exclude this slice from MyOps until given date (YYYYMMDD)', + 'category': 'slice/myops'}, + + # DistributedRateLimiting slice + {'tagname': "drl", + 'description': "Is a default Distributed Rate Limiting slice (1) or not (0 or unset)", + 'category': 'slice/general'}, + + {'tagname': 'interface', + 'description': 'The interface tag holds network configuration information until VirtualInterface objects are in PLCAPI', + 'category': 'slice/network'}, + + ] import resource # add in the platform supported rlimits to the default_attribute_types -for entry in resource.__dict__.keys() + ["VLIMIT_OPENFD"]: - if entry.find("LIMIT_")==1: +for entry in list(resource.__dict__.keys()) + ["VLIMIT_OPENFD"]: + if entry.find("LIMIT_") == 1: rlim = entry[len("RLIMIT_"):] rlim = rlim.lower() - for ty in ("min","soft","hard"): + for ty in ("min", "soft", "hard"): attribute = { - 'tagname': "%s_%s"%(rlim,ty), - 'description': "Per sliver RLIMIT %s_%s."%(rlim,ty), + 'tagname': "%s_%s" % (rlim, ty), + 'description': "Per sliver RLIMIT %s_%s." % (rlim, ty), 'category': 'slice/limit', - } + } slicetag_types.append(attribute) for slicetag_type in slicetag_types: