Hi,
I have been working on a prototype for a Remote Plugin. I have registered the plugin, started it and was able to view the plugin in the web-client. That worked well by just following the documentation.
Working in another location, behind tunnels and firewalls, I try to view the plug-in, but the remote vCenter can't download the plugin.json from my location - I had expected this.
So I tried starting the webClient from the sdk (startup.bat) on my local machine. This webClient is attached to the remote sso server, so it found the registration - it was able to download the plugin.json and performed the validation checks on it (seen in the virgo.log) - After the checks are completed, the reverse proxy should be configured. But this causes an exception.
[2019-05-22T13:22:31.590+02:00] [INFO ] rpx-configurer-thread 70000028 100002 200001 c.v.v.extensionfw.impl.remote.RemotePluginReverseProxyConfigurer Reverse proxy call took 2063ms. [2019-05-22T13:22:31.594+02:00] [ERROR] plugin-discovery4 70000028 100002 200001 com.vmware.vise.vim.extension.VcExtensionManager Couldn't configure reverse proxy. com.vmware.vise.extensionfw.impl.remote.RemotePluginProxyConfigurationException: An error occurred while configuring reverse proxy using EndpointConfig (com.vmware.rhttpproxy.client.model.endpoint_config) => {
fileContent = [EndpointConfigEntry (com.vmware.rhttpproxy.client.model.endpoint_config_entry) => {
comment = , endpoint = EndpointSpec (com.vmware.rhttpproxy.client.model.endpoint_spec) => {
proxyUri = /plugins/acme.remote~1.0.0/localClient.local-8991,
mappingType = remotessl,
serverUri = localClient.local:8991/,
httpConnectAction = reject,
httpsConnectAction = allow,
thumbprint = 55:5d:b1:0d:e0:33:3e:10:ab:1e:f4:86:62:61:f0:7f:93:fe:f6:9b
}
}]
}
at com.vmware.vise.extensionfw.impl.remote.RemotePluginReverseProxyConfigurer.configureProxy(RemotePluginReverseProxyConfigurer.java:190)
at com.vmware.vise.extensionfw.impl.remote.RemotePluginReverseProxyConfigurer.addProxyRules(RemotePluginReverseProxyConfigurer.java:122)
at com.vmware.vise.extensionfw.impl.remote.RemotePluginReverseProxyServiceImpl.addProxyRules(RemotePluginReverseProxyServiceImpl.java:53)
...
Caused by: java.lang.RuntimeException: http://localhost:549/rhttpproxy/config/endpoints/ui-plugins.conf invocation failed with "org.apache.http.conn.HttpHostConnectException: Connect to localhost:549 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect"
... 15 common frames omitted
It seems like the htmlClient is looking for the rhttpproxy on my local host - instead of on the vCenter Server. I found this entry in the virgo.log
[2019-05-22T06:50:27.379+02:00] [ERROR] equinox-activator com.vmware.vise.extensionfw.impl.remote.RemotePluginConfig Did not manage to find reverse proxy configuration file at C:\ProgramData\VMware\vCenterServer\cfg\vmware-rhttpproxy\config.xml. Will try to make requests to the RPx REST API on port 549
And of course that is true, I don't have the file there. I looked in the SDK, but did not find one as well. I found the file on the remote vcenter, but do not know what values to change and how.
I reran the dev-setup.sh on the vCenter, hoping that maybe a config.xml would be generated, but that is not true.
Can some one help me here? I want to tell the RemotePluginReferseProxy to use the rhttpproxy on the remote vcenter - not on local host. (If I understand it correctly)
thanks
Cathy