Wednesday, March 27, 2019

On HP Thinpro based Thin Clients, locally added printers disappears after reboot.

Symptoms:

On HP Thinpro based Thin Clients, locally added printers disappears after reboot.

In VDI environments, locally attached printers can be used in two ways. "USB redirection" and "printer redirection".
For USB redirection, Printer driver must be installed on VDI desktops (master images in case of Non persistant VDI)
But Printer redirection allows the user to add local printer to VDI desktop without install driver on master image.
In printer redirection, drivers has to be installed on the Thin clients. locally added printer will be redirected to remote VDI.

But whenever we add local printer to an "HP Thipro Based Thin Clients" (HP T5740, T520), it is observed that added printers are disappearing on each reboot.

Solution:

After adding the printer on ThinPro control pannel, reboot the "CUPS" service (Common Unix Printing System)


Steps:


1. Add the printers from "Administrative Mode > Peripherals > Printers.
2. Go to "Administrative Mode > Advance > X Terminal.
3. type, "service cups restart" and press enter.
4. Reboot the Thin Client and ensure recently added printer existing.


VMware Thinapp: Launching Native installed Application from VMware ThinApp Bubble

VMware Thinapp: Launching Native installed Application from VMware ThinApp Bubble.

1. In normal desktops, while launching some of the native installed application, some other application add-ins or tool bar are loading by default. But in VDI environments if the application is virtualized by VMware ThinApp, native applications will not recognize Thinapp packaged
applications.
2. Some natively installed application may require integration with Thinapp packaged application, but native application usually cannot
recognize Thinapp packaged application

Example:

I have VMware VDI environment using non-Persistant linked clone VDI desktops. Office 2013 is installed natively on all VDI desktops, but
Endnote 8 application is using via VMware ThinApp. In normal desktop environments, while launching "MS Word", Endnote tool bar menu will appear.
Since here I am using EndNote via Thinapp, Natively installed "Word" will not recognise ThinApp Packaged EndNote. Endnote package is packaged
application which is not installed on the machine. Endnote ThinApp always launch on Virtual bubble.

Solution:

Execute the native installed application from virtual bubble. Natively installed application will execute inside the virtual bubble and all

native and packaged components will be availble on lauched application.

Steps:

1. Create a shortcut file of natively installed application. Example "word.lnk" which points to "C:\Program Files\Microsoft Office\Office15\Winword.exe"
2. Go to "ThinApp project directory" and  Copy the shortcut file inside %drive_C%.
3. Edit package.ini and add below entry to enable new Thinapp Entry point.

[WordWithEndNote.exe]
Source=%drive_C%\word.lnk
ReadOnlyData=Package.ro.tvr

4. Rebuild the Thinapp by executing "build.bat" inside project directory.
5. Once build complete, new entry point will be created with name "WordWithEndNote.exe".
6. Publish this entry point to users who need to work "word" with "Endnote"
7. Configure File Type Association (FTA) accordingly to ensure all work files are lauching with this entry point by default.

Tuesday, March 26, 2019

OVM_STATISTIC Table Growing abnormally on OVM Manager 3.4, Unable to Login to "OVM Manager", OVM manager login failed and repeatedly asking login credentials.

OVM_STATISTIC Table Growing abnormally on OVM Manager 3.4. OVM Manager Stopped Working.



Symptoms:

OVM Manager login is very slow.
OVM manager login failed and repeatedly asking login credentials.
OVM Manager "Server and VM Statistics" menu not responding.



AdminServer.log showing event,

####<2017-12-07T08:16:39.005-0500> <Warning> <com.oracle.odof.util.PersistUtils> <ovmmgr.<domain.name> <AdminServer> <[ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <a5fed4f7-6dfb-4b3c-befd-ed62a6f7823c-0000055a> <1478524599005><BEA-000000> <Error executing query: select c from CertificateEntity c where c.fingerprint = :fingerprint

javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
Error Code: 0
Call: SELECT ID, CERTIFICATE, FINGERPRINT, VERSION, USER FROM OVM_USER_CERTIFICATE WHERE (FINGERPRINT = ?)
bind => [1 parameter bound]
Query: ReadAllQuery(referenceClass=CertificateEntity sql="SELECT ID, CERTIFICATE, FINGERPRINT, VERSION, USER FROM OVM_USER_CERTIFICATE WHERE
(FINGERPRINT = ?)")
at org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:378)
at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:260)
at org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:469)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2280)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2196)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1575)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused By: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
Error Code: 0
Call: SELECT ID, CERTIFICATE, FINGERPRINT, VERSION, USER FROM OVM_USER_CERTIFICATE WHERE (FINGERPRINT = ?)
bind => [1 parameter bound]
Query: ReadAllQuery(referenceClass=CertificateEntity sql="SELECT ID, CERTIFICATE, FINGERPRINT, VERSION, USER FROM OVM_USER_CERTIFICATE WHERE (FINGERPRINT = ?)")

Reason:

Disk is full on OVM manager Server, and OVM_STATISTIC.ibd of OVMM database is growing too large

# du -hs /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC*
16K /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC.frm
62G /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC.ibd <--- this file

# mysql ovs -u ovs -p -S /u01/app/oracle/mysql/data/mysqld.sock
mysql> select count(*) from OVM_STATISTIC;
+----------+
| count(*) |
+----------+
| 97127984 |
+----------+


Solution:

Truncate the huge OVM_STATISTIC table as workaround. 

# mysql ovs -u ovs -p -S /u01/app/oracle/mysql/data/mysqld.sock
mysql> truncate table OVM_STATISTIC;


there is no reported/known issue or side effect for truncating the table.

But need to analyze the root cause of abnormal DB growth if this issue is repeating.