Subversion Repositories DevTools

Rev

Rev 29 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 29 Rev 3911
Line 9... Line 9...
9
			<named helpstring="Bom ID" name="bom_id" required="false" type="string"/>
9
			<named helpstring="Bom ID" name="bom_id" required="false" type="string"/>
10
		</runtime>
10
		</runtime>
11
		<object id="Oracle_Objects_For_OLE" progid="OracleInProcServer.XOraServer" events="true"/>
11
		<object id="Oracle_Objects_For_OLE" progid="OracleInProcServer.XOraServer" events="true"/>
12
		<script language="VBScript" src="common_subs.vbs"/>
12
		<script language="VBScript" src="common_subs.vbs"/>
13
		<script language="VBScript" src="config.vbs"/>
13
		<script language="VBScript" src="config.vbs"/>
-
 
14
		<script language="VBScript" src="../common/nodeSpec.vbs"/>
14
		<script id="GenerateNodeSpecFiles" language="VBScript">
15
		<script id="GenerateNodeSpecFiles" language="VBScript">
15
<![CDATA[
16
<![CDATA[
16
Option Explicit
17
Option Explicit
17
'=====================================================
18
'=====================================================
18
'        Name: 	GetNodesSpecFiles
19
'        Name: 	GetNodesSpecFiles
Line 52... Line 53...
52
	
53
	
53
	lastRow = UBound( aNetworkNodes, 2 )
54
	lastRow = UBound( aNetworkNodes, 2 )
54
	DateString = DateReversed( Date )
55
	DateString = DateReversed( Date )
55
	
56
	
56
	For row = 0 To lastRow
57
	For row = 0 To lastRow
57
		
-
 
-
 
58
		WScript.Echo "OSID:" & aNetworkNodes( 10, row )
58
		NodeSpec = Null
59
		NodeSpec = Null
-
 
60
		NodeSpec = GenerateOsSpec( aNetworkNodes( 10, row ) )
59
	
61
	
60
		NodeSpec = NodeSpec &_
-
 
61
		"#Copyright ERG Transit Systems (c) 1998-2008, All Rights Reserved"& vbNewLine &_
-
 
62
		"#----------------------------------------------------------------"& vbNewLine &_
-
 
63
  		"#**** Source Information ****"& vbNewLine &_
-
 
64
	  	"#"& vbNewLine &_
-
 
65
	  	"#Source File Name: "& aNetworkNodes( 6, row ) & vbNewLine &_
-
 
66
		"#"& vbNewLine &_
-
 
67
		"#Source File Type: PERL Module File (.pm)"& vbNewLine &_
-
 
68
		"#"& vbNewLine &_
-
 
69
		"#Author: Deployment Manager"& vbNewLine &_
-
 
70
		"#"& vbNewLine &_
-
 
71
		"#Purpose: This file contains the package specification for"& vbNewLine &_
-
 
72
		"#	"& aNetworkNodes( 1, row ) & " node."& vbNewLine &_
-
 
73
		"#"& vbNewLine &_
-
 
74
		"#	The data is provided in the form of two PERL preinitialised"& vbNewLine &_
-
 
75
		"#	HASH of HASHES"& vbNewLine &_
-
 
76
		"#"& vbNewLine &_
-
 
77
		"#	The first hash contains all details regarding the persistant"& vbNewLine &_
-
 
78
		"#	processes running on the node. It contains the following fields,"& vbNewLine &_
-
 
79
		"#"& vbNewLine &_
-
 
80
		"#	-PkgOnwer"& vbNewLine &_
-
 
81
		"#	-PkgHealthTag"& vbNewLine &_
-
 
82
		"#	-PkgDesc"& vbNewLine &_
-
 
83
		"#	-CmdInterface"& vbNewLine &_
-
 
84
		"#"& vbNewLine &_
-
 
85
		"#	The second hash contains all details regarding the deployed"& vbNewLine &_
-
 
86
		"#	packages installed on the node. It contains the following fields,"& vbNewLine &_
-
 
87
		"#"& vbNewLine &_
-
 
88
		"#	-ERGPkgFlag"& vbNewLine &_
-
 
89
		"#	-CheckVersionFlag"& vbNewLine &_
-
 
90
		"#	-PkgVersion"& vbNewLine &_
-
 
91
		"#	-PkgBuildNo"& vbNewLine &_
-
 
92
		"#	-PkgDesc"& vbNewLine &_
-
 
93
		"#"& vbNewLine &_
-
 
94
		"#----------------------------------------------------------------"& vbNewLine &_
-
 
95
		""& vbNewLine &_
-
 
96
		"%pkgmnt::G_NodeDmInfo = (" & vbNewLine &_
-
 
97
		"	BomName		=> '"& aNetworkNodes( 8, row ) &"',"& vbNewLine &_
-
 
98
		"	BranchName	=> '"& aNetworkNodes( 4, row ) &"',"& vbNewLine &_
-
 
99
		"	NodeName	=> '"& aNetworkNodes( 1, row ) &"',"& vbNewLine &_
-
 
100
		"	OsName		=> '"& aNetworkNodes( 7, row ) &"',"& vbNewLine &_
-
 
101
		"	ProjectName	=> '"& aNetworkNodes( 9, row ) &"',"& vbNewLine &_
-
 
102
		"	_ForceVersion	=> {},"& vbNewLine &_
-
 
103
		"	_NoAdd		=> {}"& vbNewLine &_
-
 
104
		");"& vbNewLine &_
-
 
105
		""& vbNewLine &_
-
 
106
		"$pkgmnt::G_NodeSBOMVersion = '"& aNetworkNodes( 11, row) &"';"& vbNewLine &_
-
 
107
		""& vbNewLine &_
-
 
108
		"$pkgmnt::G_NodeName = '"& aNetworkNodes( 1, row) &"';"& vbNewLine &_
-
 
109
		""& vbNewLine 	
-
 
110
 
-
 
111
 
-
 
112
		'-- Get Node Process Hash Details --
-
 
113
		NodeSpec = NodeSpec & GetNodeProcessConfigDetails ( aNetworkNodes( 10, row ) ) & vbNewLine 
-
 
114
 
-
 
115
		
-
 
116
		'-- Get Node Product/Package Details --
-
 
117
		NodeSpec = NodeSpec & GetNodeProductDetails ( aNetworkNodes( 10, row ) ) & vbNewLine 
-
 
118
		
-
 
119
		
-
 
120
		' Close node spec before saving
-
 
121
		NodeSpec = NodeSpec & vbNewLine & "1;"
-
 
122
		
-
 
123
		'WScript.Echo XMLNode
62
		'WScript.Echo XMLNode
124
		
63
		
125
		
-
 
126
		' Save to a file
64
		' Save to a file
127
		Call SaveFile( DateString, rsQry("version"), rsQry("branch_name"), "\\auperaunx26\releases\nodespecfiles",  ( aNetworkNodes( 6, row ) ) , NodeSpec )
65
		'Call SaveFile( DateString, rsQry("version"), rsQry("branch_name"), "\\auperaunx26\releases\nodespecfiles",  ( aNetworkNodes( 6, row ) ) , NodeSpec )
128
		Call SaveFile( DateString, rsQry("version"), rsQry("branch_name"), APP_ROOT &"nodespecfiles",  ( aNetworkNodes( 6, row ) ) , NodeSpec )
66
		Call SaveFile( DateString, rsQry("version"), rsQry("branch_name"), APP_ROOT &"nodespecfiles",  ( aNetworkNodes( 6, row ) ) , NodeSpec )
129
		
67
		
130
		
68
		
131
	Next
69
	Next
132
	
-
 
133
	
-
 
134
	
-
 
135
		  
-
 
136
		  	
-
 
137
End Sub
-
 
138
'-----------------------------------------------------------------------------------------------------------------
-
 
139
Function FormatFileName ( sFileName )
-
 
140
	Dim sReturn
-
 
141
	
-
 
142
	sReturn = Replace ( sFileName, "/", "" ) 	
-
 
143
	sReturn = Replace ( sReturn, "\", "" ) 	
-
 
144
	sReturn = Replace ( sReturn, "&", "And" ) 	
-
 
145
	sReturn = Replace ( sReturn, " ", "_" ) 	
-
 
146
	
-
 
147
	FormatFileName = sReturn
-
 
148
	
-
 
149
End Function
-
 
150
'-----------------------------------------------------------------------------------------------------------------
-
 
151
Function GetNodeProcessConfigDetails ( nOsId )
-
 
152
	Dim rsQry, NodeProcessString, RecNum
-
 
153
	
-
 
154
	OraDatabase.Parameters.Add "OS_ID", nOsId, ORAPARM_INPUT, ORATYPE_NUMBER 
-
 
155
		  
-
 
156
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("OsProcessConfig.sql"), ORADYN_DEFAULT )
-
 
157
 
-
 
158
	
-
 
159
	OraDatabase.Parameters.Remove "OS_ID"
-
 
160
	
-
 
161
	NodeProcessString = NULL
-
 
162
	RecNum = 0
-
 
163
 
-
 
164
 
-
 
165
	If rsQry.RecordCount <> 0 Then
-
 
166
		NodeProcessString = NodeProcessString &_
-
 
167
		"%pkgmnt::G_NodeProcessHash = ("& vbNewLine
-
 
168
	Else
-
 
169
		NodeProcessString = NodeProcessString &_
-
 
170
		"%pkgmnt::G_NodeProcessHash = ("
-
 
171
	End If
-
 
172
 
-
 
173
	While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
-
 
174
		
-
 
175
		RecNum = RecNum + 1
-
 
176
 
-
 
177
		'NodeProcessString for Processes.
-
 
178
		NodeProcessString = NodeProcessString &_
-
 
179
		"	"& rsQry("PKG_HEALTH_TAG") &" => {" & vbNewLine &_
-
 
180
		"		CmdInterface	=> '"& rsQry("CMD_INTERFACE") &"',"& vbNewLine &_
-
 
181
		"		IsInterface	=> '"& rsQry("IS_INTERFACE") &"',"& vbNewLine &_
-
 
182
		"		Pkg		=> '"& rsQry("PKG_NAME") &"',"& vbNewLine &_
-
 
183
		"		PkgHealthTag	=> '"& rsQry("PKG_HEALTH_TAG") &"',"& vbNewLine &_
-
 
184
		"		PkgOnwer	=> '"& rsQry("PKG_OWNER") &"'"& vbNewLine 
-
 
185
		
-
 
186
		If (rsQry.RecordCount <> RecNum) AND (rsQry.RecordCount <> 1) Then
-
 
187
			NodeProcessString = NodeProcessString &_
-
 
188
			"	},"& vbNewLine
-
 
189
		Else
-
 
190
			NodeProcessString = NodeProcessString &_
-
 
191
			"	}"& vbNewLine
-
 
192
		End If
-
 
193
 
-
 
194
		
-
 
195
		rsQry.MoveNext()
-
 
196
	Wend	
-
 
197
 
-
 
198
	NodeProcessString = NodeProcessString &_
-
 
199
	");"& vbNewLine
-
 
200
 
-
 
201
	
-
 
202
	rsQry.Close()
-
 
203
	Set rsQry = Nothing
-
 
204
	
-
 
205
	' Return string
-
 
206
	GetNodeProcessConfigDetails = NodeProcessString	
-
 
207
	
-
 
208
End Function
-
 
209
'-----------------------------------------------------------------------------------------------------------------
-
 
210
Function GetNodeProductDetails ( nOsId )
-
 
211
	Dim rsQry, NodeProcessString, RecNum, Ext, PkgName, PkgFlag, VersionFlag, PkgVersion, Description
-
 
212
	
-
 
213
	OraDatabase.Parameters.Add "OS_ID", nOsId, ORAPARM_INPUT, ORATYPE_NUMBER 
-
 
214
		  
-
 
215
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ExportOsProductList.sql"), ORADYN_DEFAULT )
-
 
216
	
-
 
217
	OraDatabase.Parameters.Remove "OS_ID"
-
 
218
 
-
 
219
	NodeProcessString = NULL
-
 
220
	RecNum = 0
-
 
221
	
-
 
222
 
-
 
223
 
-
 
224
	NodeProcessString = NodeProcessString &_
-
 
225
	"%pkgmnt::G_NodePkgHash = ("& vbNewLine
-
 
226
	
-
 
227
	
-
 
228
	While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
-
 
229
		
-
 
230
		RecNum = RecNum + 1
-
 
231
 
-
 
232
		
-
 
233
		Ext = rsQry("v_ext")
-
 
234
		PkgVersion = rsQry("pkg_version")
-
 
235
 
-
 
236
		If IsNull(rsQry("sunos_electronic_name")) Then
-
 
237
			PkgName = rsQry("pkg_name")
-
 
238
		Else
-
 
239
			PkgName = rsQry("sunos_electronic_name")			
-
 
240
		End If
-
 
241
 
-
 
242
		' Format Extension
-
 
243
		If NOT IsNull(Ext) Then
-
 
244
			' Remove first dot from extension
-
 
245
			If InStr( 1, Ext, "." ) = 1 Then
-
 
246
				Ext = Right( Ext, Len(Ext) - 1 )
-
 
247
				PkgVersion = Left(PkgVersion, Len(PkgVersion) - Len(Ext) - 1 )
-
 
248
			End If
-
 
249
		Else
-
 
250
			Ext="???"
-
 
251
		End If
-
 
252
 
-
 
253
		' Format Description
-
 
254
		Description = rsQry("pv_description")
-
 
255
		If NOT IsNull(Description) Then
-
 
256
			Description = Replace ( Description, VBNewLine, "" )
-
 
257
			Description = Replace ( Description, """", "" )
-
 
258
		End if
-
 
259
 
-
 
260
 
-
 
261
 
70
 
262
			
-
 
263
 
-
 
264
 
-
 
265
 
-
 
266
		'Hard-coded AceTao as it has been identified as an ERG product.
-
 
267
		If InStr(1, PkgName, "ERG") = 1 Or PkgName = "AceTao"  Then
-
 
268
			PkgFlag = "T"
-
 
269
			VersionFlag = "T"
-
 
270
		Else
-
 
271
			PkgFlag = "F"
-
 
272
			VersionFlag = "F"		
-
 
273
		End If
71
End Sub
274
 
-
 
275
		'NodeProcessString for packages.
-
 
276
		NodeProcessString = NodeProcessString &_
-
 
277
		"	"& rsQry("PKG_NAME") &" => {" & vbNewLine &_
-
 
278
		"		CheckVersionFlag		=> '"& VersionFlag &"',"& vbNewLine &_
-
 
279
		"		ERGPkgFlag		=> '"& PkgFlag &"',"& vbNewLine &_
-
 
280
		"		PkgDesc			=> '"& Description &"',"& vbNewLine &_
-
 
281
		"		PkgProjAcronym		=> '"& Ext &"',"& vbNewLine &_
-
 
282
		"		PkgVersion		=> '"& PkgVersion &"'"& vbNewLine 
-
 
283
		
-
 
284
		If (rsQry.RecordCount <> RecNum) AND (rsQry.RecordCount <> 1) Then
-
 
285
			NodeProcessString = NodeProcessString &_
-
 
286
			"	},"& vbNewLine
-
 
287
		Else
-
 
288
			NodeProcessString = NodeProcessString &_
-
 
289
			"	}"& vbNewLine
-
 
290
		End If
-
 
291
 
-
 
292
		
-
 
293
		
-
 
294
		
-
 
295
		
-
 
296
		rsQry.MoveNext()
-
 
297
	Wend	
-
 
298
	
-
 
299
	NodeProcessString = NodeProcessString &_
-
 
300
	");"& vbNewLine
-
 
301
 
-
 
302
	rsQry.Close()
-
 
303
	Set rsQry = Nothing
-
 
304
	
-
 
305
	' Return string
-
 
306
	GetNodeProductDetails = NodeProcessString	
-
 
307
	
-
 
308
End Function
-
 
309
'-----------------------------------------------------------------------------------------------------------------
72
'-----------------------------------------------------------------------------------------------------------------
310
 
73
 
311
 
-
 
312
 
-
 
313
'=================================== MAIN LINE ======================================
74
'=================================== MAIN LINE ======================================
314
WScript.Echo "==================== job:GenerateNodesSpecDefinitons ===================="
75
WScript.Echo "==================== job:GenerateNodesSpecDefinitons ===================="
315
 
76
 
316
Set objArgs = WScript.Arguments
77
Set objArgs = WScript.Arguments
317
 
78