Today’s post looks at an issue with 11.1.2.4 not correctly picking up Windows 2012 and explores the reasoning behind it.
If installing EPM 11.1.2.4 on Windows 2012 Server the following OS information is shown in the installer prerequisite checks:
So the installer picks up the operating system as “Windows NT (unknown)” which I did mention in my post about the 11.1.2.4 installation and configuration.
This has a knock on effect as when you configure the EPM Registry the same values are written to the registry.
Running the deployment report outputs the same information as it is read from the EPM registry.
So why is this happening? Well we will need to look closer at the versions of Java being deployed with 11.1.2.4, Java being an integral part of EPM.
I think it’s worth highlighting the versions of Java automatically that are deployed with each release of 11.1.2
Each release up to 11.1.2.4 has been 12 months apart and in every case the versions of Java have been updated.
So how about 11.1.2.4 which was released nearly two years after 11.1.2.3, you certainly would expect later releases of Java to be deployed.
Worryingly the versions are exactly the same as the previous release.
Even more concerning is the warning message you receive when trying to download a version of Java 6.
“WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.”
It stands out even further when you look at the Java release update table to see how far behind 11.1.2.4 is.
The last public update for Java 6 was update 45 was way back at the beginning of 2013 and update 35 which 11.1.2.4 is using was released in August 2012.
Just this month the pre-release of Java 9 was made available.
There have been a huge amount of security fixes since the versions of Java in 11.1.2.4 and on this world we live in, security should be taken extremely seriously.
In fact it’s not just the versions of Java that have remained static as it is the same story across the middleware components.
I understand that 11.1.1.7 middleware components which are installed with 11.1.2.4 do support Java 7 so it seems strange why this version was not introduced
Anyway let’s get back to the reason why the OS is being picked up incorrectly.
The Java code behind EPM uses the System class and Properties object to generate OS information, if you want more detailed information then have a look here.
I wrote a simple Java program using the os.name and os.version keys to output OS information like generated in EPM.
First using the EPM Java JDK version.
As you see it is generating incorrect information, now using a later JDK 7 release.
So this highlights it is the down to the version of Java which is causing the issue.
I looked into this further and noticed that this issue was resolved in Java 6 Update 38.
Update 38 was released in December 2012.
As a test I thought I would start up the EPM installer using a later version of Java but first checked out the version being used.
The version of Java that the installer uses is 6 update 29 which is even older than the version that is deployed.
If you are interested in updating the registry so the OS information is correct then you can simply use the EPM system registry tool.
The above is based on a single host but can easily updated against multiple hosts.
Once the registry is updated the registry and deployment report will display the correct information.
From an infrastructure perspective if you take HFM out of the picture, is 11.1.2.4 really 11.1.2.3 in disguise :)
If installing EPM 11.1.2.4 on Windows 2012 Server the following OS information is shown in the installer prerequisite checks:
So the installer picks up the operating system as “Windows NT (unknown)” which I did mention in my post about the 11.1.2.4 installation and configuration.
This has a knock on effect as when you configure the EPM Registry the same values are written to the registry.
Running the deployment report outputs the same information as it is read from the EPM registry.
So why is this happening? Well we will need to look closer at the versions of Java being deployed with 11.1.2.4, Java being an integral part of EPM.
I think it’s worth highlighting the versions of Java automatically that are deployed with each release of 11.1.2
Each release up to 11.1.2.4 has been 12 months apart and in every case the versions of Java have been updated.
So how about 11.1.2.4 which was released nearly two years after 11.1.2.3, you certainly would expect later releases of Java to be deployed.
Worryingly the versions are exactly the same as the previous release.
Even more concerning is the warning message you receive when trying to download a version of Java 6.
“WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.”
It stands out even further when you look at the Java release update table to see how far behind 11.1.2.4 is.
The last public update for Java 6 was update 45 was way back at the beginning of 2013 and update 35 which 11.1.2.4 is using was released in August 2012.
Just this month the pre-release of Java 9 was made available.
There have been a huge amount of security fixes since the versions of Java in 11.1.2.4 and on this world we live in, security should be taken extremely seriously.
In fact it’s not just the versions of Java that have remained static as it is the same story across the middleware components.
I understand that 11.1.1.7 middleware components which are installed with 11.1.2.4 do support Java 7 so it seems strange why this version was not introduced
Anyway let’s get back to the reason why the OS is being picked up incorrectly.
The Java code behind EPM uses the System class and Properties object to generate OS information, if you want more detailed information then have a look here.
I wrote a simple Java program using the os.name and os.version keys to output OS information like generated in EPM.
First using the EPM Java JDK version.
As you see it is generating incorrect information, now using a later JDK 7 release.
So this highlights it is the down to the version of Java which is causing the issue.
I looked into this further and noticed that this issue was resolved in Java 6 Update 38.
Update 38 was released in December 2012.
As a test I thought I would start up the EPM installer using a later version of Java but first checked out the version being used.
The version of Java that the installer uses is 6 update 29 which is even older than the version that is deployed.
Using a later version of Java the operating system information
is now generated correctly, please not this was just a test and I don’t suggest
trying to install or configure with different versions.
If you are interested in updating the registry so the OS information is correct then you can simply use the EPM system registry tool.
The above is based on a single host but can easily updated against multiple hosts.
Once the registry is updated the registry and deployment report will display the correct information.
From an infrastructure perspective if you take HFM out of the picture, is 11.1.2.4 really 11.1.2.3 in disguise :)