From 8c925aed5e239f233c6c790e3a63fc549f1742cc Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Tue, 30 Nov 2010 14:48:08 +0100 Subject: [PATCH] cleanup tag types definition b/w db-config.d and accessors --- PLC/Accessors/Accessors_standard.py | 55 +++++++++++++++-------------- db-config.d/010-slice_tags | 24 +++++-------- 2 files changed, 37 insertions(+), 42 deletions(-) diff --git a/PLC/Accessors/Accessors_standard.py b/PLC/Accessors/Accessors_standard.py index f368a2c..176c4fe 100644 --- a/PLC/Accessors/Accessors_standard.py +++ b/PLC/Accessors/Accessors_standard.py @@ -17,11 +17,6 @@ current_module = sys.modules[__name__] # NOTE. # The 'Get' and 'Set' accessors defined here automagically create the corresponding TagType in the database # for safety, some crucial tags are forced to be created at plc startup time, through the db-config.d mechanism -# You might wish to keep this roughly in sync with db-config.d/011-standard_tags -# - -# -### system slices - at least planetflow - still rely on 'vref' # # These following accessors are mostly of interest for implementing the @@ -31,7 +26,10 @@ current_module = sys.modules[__name__] ### slice vref define_accessors(current_module, Slice, "Vref", "vref", "slice/config", "vserver reference image name", - get_roles=all_roles, set_roles=["admin"], expose_in_api=True) + set_roles=["admin","pi","user"], expose_in_api=True) +define_accessors(current_module, Slice, "Initscript","initscript", + "slice/usertools", "Slice initialization script", + set_roles=["admin","pi","user"], expose_in_api=True) # xxx the accessor factory should enforce the category and descriptions provided here. # and BTW the tag should be created right away as far as possible, or at least when a Get is issued @@ -39,65 +37,70 @@ define_accessors(current_module, Slice, "Vref", "vref", # so you should make sure to use the same category/description for both define_accessors(current_module, Slice, "Arch", "arch", "node/slice/config", "node arch or slivers arch", - get_roles=all_roles, set_roles=["user"], expose_in_api=True) + set_roles=["pi","user","tech"], expose_in_api=True) define_accessors(current_module, Slice, "Pldistro", "pldistro", "node/slice/config", "PlanetLab distribution to use for node or slivers", - get_roles=all_roles, set_roles=["admin"], expose_in_api=True) + set_roles=["pi","user","tech"], expose_in_api=True) define_accessors(current_module, Slice, "Fcdistro", "fcdistro", "node/slice/config", "Fedora or CentOS distribution to use for node or slivers", - get_roles=all_roles, set_roles=["admin"], expose_in_api=True) + set_roles=["pi","user","tech"], expose_in_api=True) # Ditto for the GetNodeFlavour method define_accessors(current_module, Node, "Arch", "arch", "node/slice/config", "node arch or slivers arch", - get_roles=all_roles, set_roles=tech_roles, expose_in_api=True) + set_roles=["pi","user","tech"], expose_in_api=True) define_accessors(current_module, Node, "Pldistro", "pldistro", "node/slice/config", "PlanetLab distribution to use for node or slivers", - get_roles=all_roles, set_roles=["admin"], expose_in_api=True) + set_roles=["pi","user","tech"], expose_in_api=True) define_accessors(current_module, Node, "Fcdistro", "fcdistro", "node/slice/config", "Fedora or CentOS distribution to use for node or slivers", - get_roles=all_roles, set_roles=["admin"], expose_in_api=True) + set_roles=["pi","user","tech"], expose_in_api=True) # node deployment (alpha, beta, ...) define_accessors(current_module, Node, "Deployment", "deployment", "node/operation", 'typically "alpha", "beta", or "production"', - get_roles=all_roles, set_roles=["admin"], expose_in_api=True) -# extension + set_roles=["admin"], expose_in_api=True) +# extensions - leave this to admin only until the semantics is made more clear define_accessors(current_module, Node, "Extensions", "extensions", "node/config", "space-separated list of extensions to install", - get_roles=all_roles, set_roles=["admin"],expose_in_api=True) + set_roles=["admin"],expose_in_api=True) # access HRN - this is the ideal definition of roles, even if AddNodeTag cannot handle this define_accessors(current_module, Node, "Hrn","hrn", "node/sfa", "SFA human readable name", - get_roles=all_roles, set_roles=["admin","pi","tech"], expose_in_api=True) + set_roles=all_roles, expose_in_api=True) # test nodes perform their installation from an uncompressed bootstrapfs define_accessors(current_module, Node, "PlainBootstrapfs", "plain-bootstrapfs", "node/config", "use uncompressed bootstrapfs when set", - get_roles=all_roles, set_roles=tech_roles) + set_roles=tech_roles) # the tags considered when creating a boot CD define_accessors(current_module, Node, "Serial", "serial", - "node/bootcd", "serial to use when creating the boot CD -- see GetBootMedium") + "node/bootcd", "serial to use when creating the boot CD -- see GetBootMedium", + set_roles=tech_roles) define_accessors(current_module, Node, "Cramfs", "cramfs", - "node/bootcd", "boot CD to use cramfs if set -- see GetBootMedium") + "node/bootcd", "boot CD to use cramfs if set -- see GetBootMedium", + set_roles=tech_roles) define_accessors(current_module, Node, "Kvariant", "kvariant", - "node/bootcd", "the variant to use for creating the boot CD -- see GetBootMedium") + "node/bootcd", "the variant to use for creating the boot CD -- see GetBootMedium", + set_roles=tech_roles) define_accessors(current_module, Node, "Kargs", "kargs", - "node/bootcd", "extra args to pass the kernel on the Boot CD -- see GetBootMedium") + "node/bootcd", "extra args to pass the kernel on the Boot CD -- see GetBootMedium", + set_roles=tech_roles) define_accessors(current_module, Node, "NoHangcheck", "no-hangcheck", - "node/bootcd", "disable hangcheck on the boot CD if set -- see GetBootMedium") + "node/bootcd", "disable hangcheck on the boot CD if set -- see GetBootMedium", + set_roles=tech_roles) # interface # xxx - don't expose yet in api interface and slices dont know how to use that yet define_accessors(current_module, Interface, "Ifname", "ifname", "interface/config", "linux name", - get_roles=all_roles, set_roles=tech_roles, expose_in_api=True) + set_roles=tech_roles, expose_in_api=True) define_accessors(current_module, Interface, "Driver", "driver", "interface/config", "driver name", - get_roles=all_roles, set_roles=tech_roles) + set_roles=tech_roles) define_accessors(current_module, Interface, "Alias", "alias", "interface/config", "interface alias", - get_roles=all_roles, set_roles=tech_roles) + set_roles=tech_roles) define_accessors(current_module, Interface, "Backdoor", "backdoor", "interface/hidden", "For testing new settings", - get_roles=all_roles, set_roles=admin_roles) + set_roles=admin_roles) diff --git a/db-config.d/010-slice_tags b/db-config.d/010-slice_tags index 91ffa33..9910217 100644 --- a/db-config.d/010-slice_tags +++ b/db-config.d/010-slice_tags @@ -2,6 +2,9 @@ #################### 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 = \ [ @@ -21,18 +24,6 @@ slicetag_types = \ 'description': "Slice enabled (1 or unset) or suspended (0)", 'category' : 'slice/general'}, - # Slice reference image - {'tagname': "vref", - 'description': "Reference image", - 'category' : 'slice/config', - 'roles' : ['admin','pi','user']}, - - # Slice initialization script - {'tagname': "initscript", - 'description': "Slice initialization script", - 'category' : 'slice/usertools', - 'roles' : ['admin','pi','user']}, - # IP Addresses for a Slice {'tagname': "ip_addresses", 'description': "Add an ip address to a slice/sliver.", @@ -83,10 +74,11 @@ slicetag_types = \ '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'}, + #{'tagname': "proper_op", + # 'description': "Proper operation (e.g. bind_socket)", + # 'category' : 'slice/rspec'}, # VServer capabilities {'tagname': "capabilities", @@ -95,7 +87,7 @@ slicetag_types = \ # Vsys {'tagname': "vsys", - 'description': "Bind vsys script fd's to a slice's vsys directory.", + 'description': "Bind vsys script fd's to a slice's /vsys directory.", 'category' : 'slice/rspec'}, # CoDemux -- 2.43.0