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