summaryrefslogtreecommitdiffstats
path: root/doc/client/metadata.txt
diff options
context:
space:
mode:
authorSol Jerome <solj@ices.utexas.edu>2010-02-22 16:50:42 +0000
committerSol Jerome <solj@ices.utexas.edu>2010-02-22 16:50:42 +0000
commit5408ea0e26b4546b70eab328e2a4b953bc33dde2 (patch)
tree8d22d45d602317a13b4a57823d3eed4e04722bf1 /doc/client/metadata.txt
parent999544fdb0760bbb048cadd4003227c268f272af (diff)
downloadbcfg2-5408ea0e26b4546b70eab328e2a4b953bc33dde2.tar.gz
bcfg2-5408ea0e26b4546b70eab328e2a4b953bc33dde2.tar.bz2
bcfg2-5408ea0e26b4546b70eab328e2a4b953bc33dde2.zip
doc: Formatting fixes
Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5739 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'doc/client/metadata.txt')
-rw-r--r--doc/client/metadata.txt79
1 files changed, 64 insertions, 15 deletions
diff --git a/doc/client/metadata.txt b/doc/client/metadata.txt
index 6675f59d7..2a19f3a1a 100644
--- a/doc/client/metadata.txt
+++ b/doc/client/metadata.txt
@@ -6,39 +6,88 @@
Client Metadata
===============
-This page describes ClientMetadata objects. These are used to describe clients in terms of a variety of parameters, group memberships, and so forth.
+This page describes ClientMetadata objects. These are used to describe
+clients in terms of a variety of parameters, group memberships, and
+so forth.
Construction
============
-ClientMetadata instances are constructed whenever the server needs to recognize a client. This occurs in every aspect of client server interaction:
+ClientMetadata instances are constructed whenever the server needs
+to recognize a client. This occurs in every aspect of client server
+interaction:
* Probing
* Configuration Generation
* Statistics Upload
-This construction process spans several server plugins. The [wiki:Plugins/Metadata Metadata plugin] is responsible for initial instance creation, including the client hostname, profile, and basic group memberships. After this initial creation, Connector plugins (such as [wiki:Plugins/Probes Probes] or [wiki:Plugins/Properties Properties]) can add additional group memberships for clients. These memberships are merged into the instance; that is, the new group memberships are treated as if they were included in groups.xml. If any of these groups are defined in groups.xml, then groups included there are included in the ClientMetadata instance group list. At the end of this process, the ClientMetadata instance has its complete set of group memberships. At this point, each connector plugin has the opportunity to return an additional object which will be placed in an attribute corresponding to the Connector name. For example, the Probes plugin returns a dictionary of probe name to probe result mappings for the client. This dictionary is available as the "Probes" attribute. With this, ClientMetadata resolution is complete, and the ClientMetadata instance can be used by the rest of the system.
+This construction process spans several server plugins. The
+:ref:`server-plugins-grouping-metadata` is responsible for initial
+instance creation, including the client hostname, profile, and basic
+group memberships. After this initial creation, Connector plugins (such as
+:ref:`server-plugins-probes-index` or :ref:`server-plugins-properties`)
+can add additional group memberships for clients. These memberships
+are merged into the instance; that is, the new group memberships are
+treated as if they were included in groups.xml. If any of these groups
+are defined in groups.xml, then groups included there are included in
+the ClientMetadata instance group list. At the end of this process, the
+ClientMetadata instance has its complete set of group memberships. At this
+point, each connector plugin has the opportunity to return an additional
+object which will be placed in an attribute corresponding to the Connector
+name. For example, the Probes plugin returns a dictionary of probe name
+to probe result mappings for the client. This dictionary is available as
+the "Probes" attribute. With this, ClientMetadata resolution is complete,
+and the ClientMetadata instance can be used by the rest of the system.
Contents
========
-ClientMetadata instances contain all of the information needed to differentiate clients from one another. This data includes:
+ClientMetadata instances contain all of the information needed to
+differentiate clients from one another. This data includes:
* hostname
* groups
* profile group
* address information (if specified)
-ClientMetadata instances also contain a query object. This can be used to query the metadata of other clients. Currently, several methods are supported. In this table, we refer to the instance as meta. Each of these is a function that must be called.
+ClientMetadata instances also contain a query object. This can be used
+to query the metadata of other clients. Currently, several methods are
+supported. In this table, we refer to the instance as meta. Each of
+these is a function that must be called.
-|| Name || Description || Return Type ||
-|| meta.query.names_by_groups([group list]) || Returns names of clients which are members of all groups || List of client names ||
-|| meta.query.names_by_profile(profile) || Returns names of clients which use profile group || List of client names ||
-|| meta.query.all_clients() || Returns names of all clients || List of client names ||
-|| meta.query.all_groups() || Returns names of all groups || List of group names ||
-|| meta.query.all() || Returns metadata for all clients || List of ClientMetadata instances ||
-|| meta.query.by_name(name) || Returns metadata for named client || ClientMetadata instance ||
-|| meta.query.by_groups([group list]) || Returns metadata for all members of all groups || List of ClientMetadata instances ||
-|| meta.query.by_profile(profile) || Returns metadata for all profile havers || List of ClientMetadata instances ||
++------------------------------------------+-------------------+----------------+
+| Name | Description | Return Type |
++==========================================+===================+================+
+| meta.query.names_by_groups([group list]) | Returns names of | List of |
+| | clients which are | client names |
+| | members of all | |
+| | groups | |
++------------------------------------------+-------------------+----------------+
+| meta.query.names_by_profile(profile) | Returns names of | List of |
+| | clients which use | client names |
+| | profile group | |
++------------------------------------------+-------------------+----------------+
+| meta.query.all_clients() | Returns names of | List of |
+| | all clients | client names |
++------------------------------------------+-------------------+----------------+
+| meta.query.all_groups() | Returns names of | List of |
+| | all groups | group names |
++------------------------------------------+-------------------+----------------+
+| meta.query.all() | Returns metadata | List of |
+| | for all clients | ClientMetadata |
+| | | instances |
++------------------------------------------+-------------------+----------------+
+| meta.query.by_name(name) | Returns metadata | ClientMetadata |
+| | for named client | instance |
++------------------------------------------+-------------------+----------------+
+| meta.query.by_groups([group list]) | Returns metadata | List of |
+| | for all members | ClientMetadata |
+| | of all groups | instances |
++------------------------------------------+-------------------+----------------+
+| meta.query.by_profile(profile) | Returns metadata | List of |
+| | for all profile | ClientMetadata |
+| | havers | instances |
++------------------------------------------+-------------------+----------------+
-In general, there is no substantial benefit to using name returning versions of the query functions; metadata resolution is (in general) fast.
+In general, there is no substantial benefit to using name returning
+versions of the query functions; metadata resolution is (in general) fast.