10 martin 1.5 // Permission is hereby granted, free of charge, to any person obtaining a
11 // copy of this software and associated documentation files (the "Software"),
12 // to deal in the Software without restriction, including without limitation
13 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 // and/or sell copies of the Software, and to permit persons to whom the
15 // Software is furnished to do so, subject to the following conditions:
|
22 martin 1.5 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
29 schuur 1.1
30 Shared Schema support - PEP 129
31
32 Shared Schema support has been added, see PEP 130 for a detailed description.
33
34 The namespace directories now carry additional informatio about namespace sharing.
35
36 In addition to the classes, qualifiers and instances directories a special direcory entry
37 is used to carry namespace sharing information. This directory start with the letter "S",
38 its format is: the letter "S" followed by either the letter "R" or "W" (defining read-only
39 or read-write), followed by the letter "S or "F" (defining whether this namspace can be shared
40 or not), optionally followed by the name of the parent namespace directory name. The directory
41 itself is empty.
42
43 examples:
44
45 SRF Meaning a read-only, non-shareable primary namespace. This is
46 normally set after the namespace is loaded with schema data.
47
48 SWF Meaning a read-write, non-shareable primary namespace. This is
49 the default namespace setting. If no sharing information is found,
50 schuur 1.1 this is assumed.
51
52 SWS Meaning a read-write, shareable primary namespace.
53
54 SWSroot#cim_v27 Meaning this is a secondary, read-write, shareable namespace.
55 Its parent namespace directory is root#cim_v27
56
57 SRSroot#cim_v27 Meaning this is a secondary, read-only, shareable namespace.
58 Its parent namespace directory is root#cim_v27
59
60 SRFroot#cim_v27 Meaning this is a secondary, read-only, non-shareable namespace.
61 Its parent namespace directory is root#cim_v27
62
63 This special directory entry is the sole soure of shared schema information. The CIM_Namespace
64 provider uses this information. This implies, that by modifying this diretory entry (and performing
65 a subsequent cimserver restart) one can modify the schema sharing characteristics.
66
67 Since the CIM_Namespace control provider is not ready yet, the following script can be used
68 to create a shared schema environment for Pegasus 2.4 basd im CIM schema version 2.7:
69
70 When executed, the repository will have the following charecteristics:
71 schuur 1.1
72 root#PG_Internal Default primary namespace (implied SWF)
73 root#cim_v27 Read-write, shareable, primary namespace containing all CIM 2.7 schemas
74 root#PG_InterOp Read-write, non-shareable secondaty namespace. Parent is root#cim_v27.
75 Contains InterOp schema only
76 root#cimv2 Read-write, shareable, secondary namespace. Parent is root#cim_v27.
77 This namespace is empty and can be used to hold provider schemata.
78
79 echo clear repository directory structure
80 mkdir -p $PEGASUS_HOME/repository/
81 rm -rf $PEGASUS_HOME/repository/*
82
83 echo create root/PG_Internal - primary namespace directory structure
84 mkdir -p $PEGASUS_HOME/repository/root#PG_Internal/classes
85 mkdir -p $PEGASUS_HOME/repository/root#PG_Internal/qualifiers
86 mkdir -p $PEGASUS_HOME/repository/root#PG_Internal/instances
87
88 echo create root/cim_v27 - primary namespace directory structure
89 mkdir -p $PEGASUS_HOME/repository/root#cim_v27/classes
90 mkdir -p $PEGASUS_HOME/repository/root#cim_v27/qualifiers
91 mkdir -p $PEGASUS_HOME/repository/root#cim_v27/instances
92 schuur 1.1 mkdir -p $PEGASUS_HOME/repository/root#cim_v27SWS
93
94 echo create root/PG_InterOp - secondary RW namespace directory structure - parent root/cim_v27
95 mkdir -p $PEGASUS_HOME/repository/root#PG_InterOp/classes
96 mkdir -p $PEGASUS_HOME/repository/root#PG_InterOp/qualifiers
97 mkdir -p $PEGASUS_HOME/repository/root#PG_InterOp/instances
98 mkdir -p $PEGASUS_HOME/repository/root#PG_InterOp/SWFroot#cim_v27
99
100 echo create root/cimv2 - secondary RW namespace directory structure - parent root/cim_v27
101 mkdir -p $PEGASUS_HOME/repository/root#cimv2/classes
102 mkdir -p $PEGASUS_HOME/repository/root#cimv2/qualifiers
103 mkdir -p $PEGASUS_HOME/repository/root#cimv2/instances
104 mkdir -p $PEGASUS_HOME/repository/root#cimv2/SWSroot#cim_v27
105
106
107 echo +++++ Loading Core27_Qualifiers.mof into root/PG_Internal namespace ...
108 cimmofl -R$PEGASUS_HOME -nroot/PG_Internal $PEGASUS_HOME/Schemas/CIM27/Core27_Qualifiers.mof
109 echo +++++ Loading PG_InternalSchema20.mof into root/PG_Internal namespace...
110 cimmofl -R$PEGASUS_HOME -I$PEGASUS_HOME/Schemas/Pegasus/Internal/VER20 -nroot/PG_Internal $PEGASUS_HOME/Schemas/Pegasus/Internal/VER20/PG_InternalSchema20.mof
111
112 echo +++++ Loading CIM_Schema27 into root/cim_v27 namespace ...
113 schuur 1.1 cimmofl -R$PEGASUS_HOME -I$PEGASUS_HOME/Schemas/CIM27 -nroot/cim_v27 $PEGASUS_HOME/Schemas/CIM27/CIM_Schema27.mof
114 echo +++++ Loading PG_ManagedSystemSchema20 into root/cim_v27 namespace ...
115 cimmofl -R$PEGASUS_HOME -I$PEGASUS_HOME/Schemas/Pegasus/ManagedSystem/VER20 -nroot/cim_v27 $PEGASUS_HOME/Schemas/Pegasus/ManagedSystem/VER20/PG_ManagedSystemSchema20.mof
116
117 echo +++++ Loading PG_InterOpSchema20.mof into root/PG_InterOp namespace...
118 cimmofl -R$PEGASUS_HOME -I$PEGASUS_HOME/Schemas/Pegasus/InterOp/VER20 -nroot/PG_InterOp $PEGASUS_HOME/Schemas/Pegasus/InterOp/VER20/PG_InterOpSchema20.mof
119
120 echo +++++ Registering Providers for PG_ManagedSystemSchema20 ...
121 cimmofl -R$PEGASUS_HOME -I$PEGASUS_HOME/Schemas/Pegasus/ManagedSystem/VER20 -nroot/PG_InterOp $PEGASUS_HOME/Schemas/Pegasus/ManagedSystem/VER20/PG_ManagedSystemSchema20R.mof
|