Overview
Now that the preparation work has been done, I am now ready to IAAS (Infrastructure as a Service) on my private cloud.
References
- Oracle® Enterprise Manager Cloud Administration Guide 12c Release 3 (12.1.0.3)
- Oracle® Enterprise Manager Cloud Control Administrator's Guide 12c Release 3 (12.1.0.3)
- EM 12c: OVM Manager Metric Collection Error or Registration not working after upgrading to Enterprise Manager 12c Release 2 (Doc ID 1490283.1)
Procedure
4.1 Getting Started
Following the procedure in 4.1 Getting Started , I think I have all the necessary elements in place:
- OVM Manager has been installed on MELBOURNE .
- OVM Server has been installed on VICTORIA .
- Network Accessible Storage is available on NARRABRI .
4.1 Cloud Infrastructure Privileges
Since this is a test installation of a private cloud, I will skip over the procedure in 4.1 Cloud Infrastructure Privileges . There is no need for a sophisticated security model at this stage.
4.2 Registering the Oracle VM Manager
Enable Remote Log-Ins for OVMM
Following the procedure in 4.2 Registering the Oracle VM Manager , I discovered I had to enable remote log ins as described in 03 Enabling Remote Log Ins before I could proceed.
Update .bash_profile
On
MELBOURNE
, I added the following variables to
~/.bash_profile
for
oracle
:
export JAVA_HOME=/u01/app/oracle/java export AGENT_INSTANCE_HOME=/u01/app/oracle/agent/agent_inst export OVM_MANAGER_HOME=/u01/app/oracle/ovm-manager-3
I set these variables as follows:
. ~/.bash_profile
Export OVMM Certificate
On MELBOURNE , I exported the OVMM certificate generated in 03 Enabling Remote Log Ins , as follows:
${JAVA_HOME}/bin/keytool -keystore ${OVM_MANAGER_HOME}/ovmmCoreTcps.ks -exportcert -alias ovmm -file /tmp/ovmm_cert
I entered the OVMM Key Store password when prompted as follows:
Enter keystore password: Certificate stored in file </tmp/ovmm_cert>
Import OVMM Certificate into OEM Agent
I used the following command to import the exported OVMM certificate into the key store for the OEM agent on MELBOURNE :
${AGENT_INSTANCE_HOME}/bin/emctl secure add_trust_cert_to_jks -trust_certs_loc /tmp/ovmm_cert -alias ovmm
I entered
welcome
when prompted below:
Oracle Enterprise Manager Cloud Control 12c Release 3 Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved. Password: Message : Certificate was added to keystore ExitStatus: SUCCESS
Remove the Exported OVMM Certificate
On MELBOURNE , I cleaned up the exported OVMM certificate as follows:
rm -f /tmp/ovmm_cert
Deploy Virtualization Plug-In
I used the plug-in deployment procedure described in 15.4.7 Deploying Plug-Ins on Oracle Management Agent to deploy the Oracle Virtualization (12.1.0.5.0) Plug-In to the OEM agent on MELBOURNE only:
First Attempt to Register OVMM
I used the following parameters to register the OVMM on MELBOURNE :
Parameter | Value |
---|---|
Name | Melbourne |
Monitoring Agent | melbourne.yaocm.id.au:3872 |
Oracle VM Manager URL | tcps://melbourne.yaocm.id.au:54322/ |
Oracle VM Manager Console URL | https://melbourne.yaocm.id.au:7002/ |
Username | admin |
Use Administration Credentials |
No
|
Automatic Synchronization with Oracle VM Manager | Yes |
The job failed with the following messages:
4321: Error getting uuid.
Executing command /u01/app/oracle/agent/core/12.1.0.3.0/jdk/bin/java -Xmx256m -Djavax.net.ssl.trustStore=/u01/app/oracle/agent/agent_inst/sysman/config/montrust/AgentTrust.jks -classpath /u01/app/oracle/agent/core/12.1.0.3.0/sysman/jlib/emagentSDK.jar:/u01/app/oracle/agent/core/12.1.0.3.0/sysman/jlib/log4j-core.jar:/u01/app/oracle/agent/core/12.1.0.3.0/sysman/jlib/emagentSDK-intg.jar:/u01/app/oracle/agent/core/12.1.0.3.0/jlib/gcagent_core.jar:/u01/app/oracle/agent/plugins/oracle.sysman.vt.agent.plugin_12.1.0.5.0/archives/OvmClient.jar:/u01/app/oracle/agent/plugins/oracle.sysman.vt.agent.plugin_12.1.0.5.0/archives/commons-logging-1.0.4.jar:/u01/app/oracle/agent/plugins/oracle.sysman.vt.agent.plugin_12.1.0.5.0/archives/em-vt-fetchlet-pojo.jar:/u01/app/oracle/agent/plugins/oracle.sysman.vt.agent.plugin_12.1.0.5.0/archives/em-vt-ovmintegration-pojo.jar:/u01/app/oracle/agent/plugins/oracle.sysman.vt.agent.plugin_12.1.0.5.0/archives/em-vt-ovmintegrationcore-pojo.jar:/u01/app/oracle/agent/core/12.1.0.3.0/lib/jsch.jar oracle.sysman.vt.fetchlet.pojo.AsyncOVMWrapper
OVM Manager URL = <sensitive value not to be displayed>
OVM Manager Username = <sensitive value not to be displayed>
OVM Manager Password = <sensitive value not to be displayed>
OVM Manager UUID = <sensitive value not to be displayed>
Manager ID = SyncManager
Method Name = getOvmMgrUuid
Param Types = <sensitive value not to be displayed>
paramValues = <sensitive value not to be displayed>
Retry Count = 0
Retry Sleep Interval = 0
Operation failed
oracle.sysman.vt.ovm.integration.api.EMOVMCommunicationServiceException: 1010: Error while performing the operation: Connection to the remote OVM Manager URL tcps://melbourne.yaocm.id.au:54322 failed. Ensure that the OVM Manager version is 3.0.2 or greater and the service URL and the credentials are correct.Check exception cause and logs for more details.[com.oracle.ovm.mgr.api.exception.FailedOperationException:OVMAPI_6000E Internal Error: Connection refused Connection refused ]
at oracle.sysman.vt.ovm.integration.core.OVMMConnectionCreatorValidator.checkForDone(OVMMConnectionCreatorValidator.java:212)
at oracle.sysman.vt.ovm.integration.core.OVMMConnectionCreatorValidator.create(OVMMConnectionCreatorValidator.java:87)
at oracle.sysman.vt.ovm.integration.core.OVMManagerConnection.createOvmManagerConnection(OVMManagerConnection.java:448)
at oracle.sysman.vt.ovm.integration.core.OVMManagerConnection.connect(OVMManagerConnection.java:271)
at oracle.sysman.vt.ovm.integration.core.AbstractCoreManager.init(AbstractCoreManager.java:58)
at oracle.sysman.vt.ovm.integration.core.SyncManagerImpl.getOvmMgrUuid(SyncManagerImpl.java:592)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at oracle.sysman.vt.fetchlet.pojo.OVMDataFetchletUtil.executeOperation(OVMDataFetchletUtil.java:265)
at oracle.sysman.vt.fetchlet.pojo.OVMDataFetchletUtil.executeOperation(OVMDataFetchletUtil.java:144)
at oracle.sysman.vt.fetchlet.pojo.OVMDataFetchletUtil.executeOperation(OVMDataFetchletUtil.java:72)
at oracle.sysman.vt.fetchlet.pojo.AsyncOVMWrapper.main(AsyncOVMWrapper.java:126)
Exit code: 242
Diagnosis of Error
Yury Velikanov at Oracle VM Manager: OVMAPI_6000E Internal Error: Connection Refused says that:
If you see that error and try looking for a solution on Google, then unfortunately for you it is a very generic error message (a.k.a. ORA-600 in Oracle VM world ;) ) and you will need to dig a bit to find out what exactly is wrong in your case.
Following Yuri's advice, I ran the following command:
grep -i "error" /u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/logs/AdminServer.log
The results are:
wlw.logErrorsToConsole = false
####<May 17, 2014 6:35:21 PM EST> <Info> <com.oracle.odof.core.WorkflowManager> <melbourne.yaocm.id.au> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <0000KO9KP^XFW7WFLzuHOA1JTlwK000002> <1400315721569> <BEA-000000> <Failed to start tcps service at port: 54322 message: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
Caused By: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
Issue
This was investigated as the issue described in OVMM Fails to Enable TCPS Connections .