02 Setting Cloud for IaaS


Overview

Now that the preparation work has been done, I am now ready to IAAS (Infrastructure as a Service) on my private cloud.

References

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 .