After a fresh install of Spectrum 23.3.11, unable to launch the OneClick WebApp, it shows a blank screen.
The following error was found in the $SPECROOT/Install-Tools/LOGS/<version>_yyyymmdd/postinst.hh.mm log file:
cd $SPECROOT/Install-Tools/LOGS/23.3.11.0.9_20240725/
cat postinst.17.19
webtomcatinstall: Does "/webtomcat" exist?: no
webtomcatinstall: Does "/usr/Spectrum/newwebtomcat" exist?: yes
webtomcatinstall: New tomcat installation
webtomcatinstall: unzipping the webswing zip file
Install-Tools/postinst_engine: line 2235: unzip: command not found
webtomcatinstall: copying the spectrum.war to webtomcat webapps
cp: cannot stat '/usr/Spectrum/webtomcat/webswing/spectrum.war': No such file or directory
webtomcatinstall: copying the admin.war to webtomcat webapps
cp: cannot stat '/usr/Spectrum/webtomcat/webswing/admin/admin.war': No such file or directory
webtomcatinstall: copying webswing.properties to webtomcat bin
cp: cannot stat '/usr/Spectrum/webtomcat/webswing/webswing.properties': No such file or directory
webtomcatinstall: copying webswing-admin.properties to webtomcat bin
cp: cannot stat '/usr/Spectrum/webtomcat/webswing/admin/webswing-admin.properties': No such file or directory
webtomcatinstall: webswing fresh install successful
The following error was found in the $SPECROOT/tomcat/logs/catalina.out file:
2024-07-25 17:33:46,081 [Thread-15] WARN com.aprisma.errorlog - Failed to connect to Webtomcat on HTTP. Response code: 404
2024-07-25 17:33:46,086 [Thread-15] WARN com.aprisma.errorlog - IOException: Unsupported or unrecognized SSL message
The following error was found in the $SPECROOT/webtomcat/logs/catalina.out file:
25-Jul-2024 17:30:46.043 INFO [http-nio-9443-exec-3] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x030x010xcb0x010x000x010xc70x030x03x0x0a>Tz0x980xc70xad0xe60x0a'0xf10xc40x97~0xb70x170x990xc4d0xa60x160xb40x830xd1va0x160x0e0x05R0xb9 ]. HTTP method names must be tokens
DX NetOps Spectrum 23.3.x in Linux
WebTomcat was not successfully installed due to the missing Linux unzip package.
Run the following syntax to check whether the unzip utility is installed:
which unzip
See the following section of the Spectrum guide about system requirements to install Spectrum in Linux:
You can also run the script from this KB article:
How to ensure all required packages are present for a Linux DX NetOps Spectrum installation or upgrade?
https://knowledge.broadcom.com/external/article?articleNumber=250690
There are two ways to resolve the issue:
a) Install the missing unzip package and uninstall and re-install Spectrum OneClick.
Or
b) Manually fix the issue:
1. Install the missing unzip package.
2. Unzip the webswing.zip file:
cd $SPECROOT/webtomcat/
unzip webswing.zip
3. Copy the files after unzipping the webswing.zip file:
cd $SPECROOT/webtomcat/
cp webswing/spectrum.war webapp/
cp webswing/admin/admin.war webapps/
cp webswing/admin/webswing-admin.properties bin/
cp webswing/webswing.properties bin/
4. Edit the $SPECROOT/webtomcat/bin/webswing.properties file and add the following lines at the end of the file:
webswing.server.publicUrl = http://<FQHN>:9443/spectrum
webswing.server.websocketUrl = ws://<FQHN>:9443/spectrum
Where <FQHN> is the OneClick Fully Qualified Host Name
5. Edit the $SPECROOT/webtomcat/bin/webswing-admin.properties file and replace the localhost with the OneClick FQHN:
From:
webswing.server.publicUrl = http://localhost:9443/spectrum
webswing.server.websocketUrl = ws://localhost:9443/spectrum
To:
webswing.server.publicUrl = http://<FQHN>:9443/spectrum
webswing.server.websocketUrl = ws://<FQHN>:9443/spectrum
Where <FQHN> is the OneClick Fully Qualified Host Name
6. Edit the $SPECROOT/webtomcat/webswing/webswing.config file and replace this line:
From:
"adminConsoleUrl" : "../admin"
To:
"adminConsoleUrl" : "http://<FQHN>:9443/admin"
Where <FQHN> is the OneClick Fully Qualified Host Name
7. Edit the $SPECROOT/webtomcat/conf/catalina.properties file and add the following lines at the end of the file:
webswing.warLocation=../webapps/spectrum.war
webswing.configFile=../webswing/webswing.config
webswing.tempDirBase=../webswing/tmp
webswing.propertiesFile.admin=webswing-admin.properties
webswing.useGrizzlyWebsocketContainer=true
8. Stop Spectrum WebTomcat if running - from $SPECROOT/webtomcat/bin - ./stopWebTomcat.sh
9. Start Spectrum WebTomcat - from $SPECROOT/webtomcat/bin - ./startWebTomcat.sh
If you see the following error in the $SPECROOT/webtomcat/webswing/bin/webswing.log file:
2024-07-25 19:34:13,435 ERROR [http-nio-9443-exec-3] (WebswingServlet.java:109) Initialization of Webswing failed.
com.google.inject.CreationException: Unable to create injector, see the following errors:
1) [Guice/ErrorInjectingConstructor]: IllegalStateException: WsInitException: Invalid system property webswing.configFile: File /usr/Spectrum/webtomcat/bin/webswing.config or /usr/Spectrum/webtomcat/bin/webswing.config not found.
at DefaultInitializer.<init>(DefaultInitializer.java:16)
while locating DefaultInitializer
at WebswingServerModule.configure(WebswingServerModule.java:44)
while
Review step 7.