cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1399
Views
0
Helpful
6
Replies

LMS 4.2.5 soft-appliance - cannot generate EOS/EOL report because cannot process the PSIRT job XMLs

Norbert Rozs
Level 1
Level 1

Hello Community,

I am experiencing problems when trying to generate EOS/EOL report in LMS 4.2.5 on a soft appliance. It fails because Compliance Policy and PSIRT/EOX Job fails therefore there is no data in LMS to do the report.. I attached the logs of the jobs. I tried to use the direct Cisco.com access as well as manually downloading and parsing the XML files in the zip files EOX_SOFTWARE.zip and PSIRT_EOX_OFFLINE.zip. Nothing works - it throws an exception when parsing the XML and looking for /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml/temp/IOS_030.xml which is not there in the unzipped XMLs. I used the following document: http://www.cisco.com/c/en/us/td/docs/net_mgmt/ciscoworks_lan_management_solution/4-2/user/guide/admin/admin/collection.html#pgfId-1226300
 

1-   Unziped again the PSIRT_EOX_OFFLINE.zip file and extract the text file and put it under     /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml - even thought it was already there I downloaded again and unzipped

2-   Copy the EOX_SOFTWARE.zip file to /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml - no unzipping and even thought it was already there I downloaded it again

3-   Go to Admin > Network > PSIRT/EOS and EOL Settings and select PSIRT/EOX reports option as local - it was already "local" but set it again

4-   Schedule PSIRT Job - scheduled, ran, failed

5-   After the job is completed, update the status, if the job is successful please check EOS/EOL hardware and software report. - So I cannot do this..


Please see the directory content in /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml:

[GB-TSMK-LMS1/root-ade local_xml]# pwd
/var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml
[GB-TSMK-LMS1/root-ade local_xml]# ls -al
total 819896
drwxr-xr-x 2 casuser casusers      4096 Mar 20 11:30 .
drwxr-xr-x 4 casuser casusers      4096 Mar 19 15:09 ..
-rw-rw-rw- 1 root    gadmin       21018 Nov 12 12:01 EOX_SOFTWARE.zip
-rw-rw-rw- 1 root    gadmin   806091545 Nov  5 16:13 PSIRT_EOX_OFFLINE.txt
-rw-r----- 1 root    gadmin    32614976 Mar 19 13:58 PSIRT_EOX_OFFLINE.zip


So basically this is what happens:

 

At the moment the the directory content in /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml:

[GB-TSMK-LMS1/root-ade local_xml]# ls -al
total 820228
drwxr-xr-x 2 casuser casusers      4096 Mar 20 11:50 .
drwxr-xr-x 4 casuser casusers      4096 Mar 19 15:09 ..
-rw-rw-rw- 1 root    gadmin       21018 Nov 12 12:01 EOX_SOFTWARE.zip
-rw-rw-rw- 1 root    gadmin   806091545 Nov  5 16:13 PSIRT_EOX_OFFLINE.txt
-rw-r----- 1 root    gadmin    32614976 Mar 19 13:58 PSIRT_EOX_OFFLINE.zip
-rw-r----- 1 casuser casusers    332482 Mar 20 11:45 eox_soft.xml



The log shows there was an exception - I waited literally half an hour - just to be sure that I miss nothing:

[GB-TSMK-LMS1/root-ade local_xml]# date
Fri Mar 20 12:15:32 UTC 2015
[GB-TSMK-LMS1/root-ade local_xml]# cat /var/adm/CSCOpx/files/rme/jobs/inventory/reports/jobs/4776.4/4776.4.log
[ Fri Mar 20  11:45:00 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.job.SystemJobExecutor,<init>,?,
  Starting the JOB 4776.4
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,fetchEoxSoftwareZip,?,Inside the fetchEoxSoftwareZip option Value = local
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,updateDB,?,inside the updateDB()
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,updateDB,?,/var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/eox_soft.xml
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,updateDB,?,Beofore UnZipping the software details
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,unZipEoxSoftDetails,?,Inside the unZipEoxSoftDetails
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,unZipEoxSoftDetails,?,xmlDir = /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/EOX_SOFTWARE.zip
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,unZipEoxSoftDetails,?,Reading the ZIP file
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,unZipEoxSoftDetails,?,UnZipping the Local Zip File
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,unZipEoxSoftDetails,?,Temp XML file for Local Mode = /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml/eox_soft.xml
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,unZipEoxSoftDetails,?,EOX_SOFTWARE.zip isExist = true
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,unZipEoxSoftDetails,?,isTemp XML exist = false
[ Fri Mar 20  11:45:02 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,unZipEoxSoftDetails,?,creating the eox_soft.xml File
[ Fri Mar 20  11:45:03 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,updateDB,?,After UnZipping the software detailstrue
[ Fri Mar 20  11:45:03 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,updateDB,?,Inside the eoxDeviceFile.exists()
[ Fri Mar 20  11:45:03 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,readDeviceXML,?,EOX-Software XML READING STARTED
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,readDeviceXML,?,EOX-Software READING COMPLETED
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,updateDB,?,com.cisco.nm.rmeng.inventory.reports.datastructures.EoxSoftwareData@8c4a77
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,116,Inside ICSDatabaseConnection, MAX_COUNT =5
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnection,<init>,54,Calling set MAX_COUNT
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnection,<init>,56,Calling set MAX_COUNT done
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
[ Fri Mar 20  11:45:04 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
[ Fri Mar 20  11:45:05 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
[ Fri Mar 20  11:45:05 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
[ Fri Mar 20  11:45:05 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.inventory.reports.util.EOXSoftwareXMLParser,updateDB,?,After updateEOXSoftwareTables
[ Fri Mar 20  11:45:05 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
[ Fri Mar 20  11:45:06 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_120.xml
[ Fri Mar 20  11:45:07 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_121.xml
[ Fri Mar 20  11:45:08 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_122.xml
[ Fri Mar 20  11:45:10 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_123.xml
[ Fri Mar 20  11:45:17 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_124.xml
[ Fri Mar 20  11:45:20 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_150.xml
[ Fri Mar 20  11:45:20 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_151.xml
[ Fri Mar 20  11:45:21 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_152.xml
[ Fri Mar 20  11:45:21 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****IOS_153.xml
[ Fri Mar 20  11:45:21 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,getFileName,296,Here *****PSIRT_DETAILS.xml
[ Fri Mar 20  11:45:21 UTC 2015 ],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,xml_generator,219,Exception occurred
[ Fri Mar 20  11:45:21 UTC 2015],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,xml_generator,221,/var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml/temp/IOS_030.xml (No such file or directory)java.io.FileNotFoundException: /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml/temp/IOS_030.xml (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:120)
        at java.io.FileInputStream.<init>(FileInputStream.java:79)
        at java.io.FileReader.<init>(FileReader.java:41)
        at com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser.xml_generator(LocalXMLParser.java:175)
        at com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser.getIOSVersions(LocalXMLParser.java:101)
        at com.cisco.nm.rmeng.inventory.reports.util.PSIRTXMLParser.fetch_PSIRT_IOS(Unknown Source)
        at com.cisco.nm.rmeng.inventory.reports.util.PSIRTDBUtil.fetchAndUpdateDB(Unknown Source)
        at com.cisco.nm.rmeng.inventory.reports.datagenerators.SystemPsirtRDG.getData(Unknown Source)
        at com.cisco.nm.rmeng.inventory.reports.job.SystemJobExecutor.generatePsirtData(Unknown Source)
        at com.cisco.nm.rmeng.inventory.reports.job.SystemJobExecutor.main(Unknown Source)
 
[ Fri Mar 20  11:50:40 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnection,<init>,54,Calling set MAX_COUNT
[ Fri Mar 20  11:50:40 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnection,<init>,56,Calling set MAX_COUNT done
[ Fri Mar 20  11:50:40 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
[ Fri Mar 20  12:00:35 UTC 2015 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,129,resource is not null....
 
 
Please pay attention that the script is looking for a file probably generated from a section in the file PSIRT_EOX_OFFLINE.txt (LMS is parsing that text file to several XML files but there is no section like "IOS_030.xml" in the PSIRT offline text file therefore *no* IOS_030.xml has been generated):
 
Error message in log:
[ Fri Mar 20  11:45:21 UTC 2015],ERROR,[main],com.cisco.nm.rmeng.inventory.reports.util.LocalXMLParser,xml_generator,221,/var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml/temp/IOS_030.xml (No such file or directory)java.io.FileNotFoundException: /var/adm/CSCOpx/files/rme/jobs/inventory/reports/EOX_PSIRT/local_xml/temp/IOS_030.xml (No such file or directory)
 



XML sections in the raw text file PSIRT_EOX_OFFLINE.txt:

[GB-TSMK-LMS1/root-ade local_xml]# egrep xml PSIRT_EOX_OFFLINE.txt
*****eox_card.xml
*****eox_device.xml
*****IOS_110.xml
*****IOS_111.xml
*****IOS_112.xml
*****IOS_113.xml
*****IOS_12(.xml
*****IOS_120.xml
*****IOS_121.xml
*****IOS_122.xml
*****IOS_123.xml
*****IOS_124.xml
*****IOS_150.xml
*****IOS_151.xml
*****IOS_152.xml
*****IOS_153.xml
*****IOS_154.xml
*****PSIRT_DETAILS.xml

 

IOS_030.xml is not there - but the scripts are looking for it? Am I right? Is this a problem of the LMS system or a problem of the text in the downloaded PSIRT_EOX_OFFLINE.zip file?


The zip files have been downloaded from the following URLs (I know them from a job's log that used the "Cisco.com" method):

http://dl.cisco.com/swc/esd/11/280915376/contract/PSIRT_EOX_OFFLINE.zip
http://dl.cisco.com/swc/esd/11/280915376/contract/EOX_SOFTWARE.zip

 

WebUI shows that it is in state "Running" but it don't put any more info the the log - it stucked/stopped. The next schedule (it is daily now) will not start since this one is in state "Running". To create a new PSIRT/EOX report I have to stop (not delete) this job and schedule another one.

So, I enabled debugging in Admin > System > Debug Settings > Config and Image Management Debugging settings and choose InvReport and created another job - job failed and debug file attached.



Please, do anybody out there facing the same problem? Do anybody knows a workaround or am I missing something?



Thank you!

______
Norbert

6 Replies 6

Norbert Rozs
Level 1
Level 1

Bump!

I have had this working at a customer site that allowed the server to connect to CCO.

The scheduled PSIRT job should check and pull down the latest data.

The PSIRT report job uses that data.

 

I don't see what you do wrong here nor why it fails.

Apart from making all files owned by casuser to avoid any possible issues I have little advise for you.

 

Open a TAC case.

 

I might be that you need a patch to make it work. I needed one when I got it to work in LMS 4.1.

Why the patch is not a part of the latest LMS release is up to cisco to answer.

Thank you for your answer, Michel.

Thing is that the system has access to CCO and the ZIP file is the official from Cisco *but* it does not have the file IOS_030.xml. I already opened a TAC case but I started this thread to see if anybody else in the World (power of community) has the same problem as I have, and may be that could speed up the process to find why Cisco does not include that one XML - so may be somebody have the correct up-to-date ZIP and may be Cisco just forgot to update the files on the servers? Nobody - even Cisco - does not know what is going on and why it is missing/not working..

Some news: If I create a PSIRT job it runs for 2.5 hours and says it failed at the end. If you want to check the job details in the WebUI it opens a window but immediately closes it. If I create (for instance) a Hardware EOS/EOL report *without* any device running on IOS-XR I can have a report.. but If I choose any of these IOS-XR running devices it fails with "no data avaliable" - obvisouly, because the info for these devices should be in IOS_030.xml. Others seems to be working - but I don't think this is reliable..

 

OK, I did not read you post carefully enough. Sorry.

 

Indeed it should work then. Strange the file is not there.

I don't think this EOL/EOS functionality is ported to PI yet, so maybe cisco will abandon this service.

That could mean a BU has already stopped providing the data required to build the complete eox_soft.xml

We have used this service in the past to convince customer to buy new equipment because the old was going towards end of support.

 

I believe you can hire cisco profesional services to inventory your network, but they bring their own tools, not LMS. So shifting strategies and priorities at cisco perhaps.

 

Good luck,

 

Michel

I've used the (free) Cisco Active Advisor successfully at a couple of clients. It's a little-known tool that I first saw 2 years ago at Cisco Live. Simple and easy to use.

Professional services tends to steer us (partners) towards using the Netformx tool to discover the networks and then upload to Cisco for an EoX report.

I have to use this tool as the project goal is to implement and use this server..

It's been turned out that even though LMS reports that the job has been failed it is actually not true..

If you select manual update (and copied the files already) LMS is importing everything correctly - but even though you selected the manual method it still tries to access cisco.com and because my server has no access to the internet so it obviously fails - so the job "fails" as well, but actually it seems to be okay.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: