VMware {code} Community
CathyBr
Enthusiast
Enthusiast
Jump to solution

Received HTTP 404 when trying to load the index.html of Remote Plugin in vSphere Client 6.8.8.10000

Hi,

I have been sporatically working on a remote plugin development over the last few months.  We got a new release of vsphere, so I decided to move my development to this one.

I performed the registration and started my remote plug-in accordingly.  When I start the vSphere Client, I see that my plugin.json is deployed, and I see the Menu Item in the top navigation as expected.

When I click on the item, I see the title and instance information in the content banner.

But my index.html does not get loaded.  In the browser console I found the following:

Request URL: https://vcsa-68.acme.net/plugins/com.acme.remote~1.0.0.0~249087908/plugin-server.acme.net-8991/acme-...

Request Method: GET

Status Code: 404

Remote Address: 111.11.11.11:443

Referrer Policy: no-referrer-when-downgrade

content-length: 0

content-security-policy: block-all-mixed-content

content-type: text/plain;

charset=utf-8

date: Mon, 24 Jun 2019 07:53:38 GMT

server: envoy

status: 404

strict-transport-security: max-age=31536000

x-content-type-options: nosniff

x-envoy-upstream-service-time: 0

x-frame-options: DENY

x-xss-protection: 1

Wenn I call the link directly from the browser

https://plugin-server.acme.net:8991/acme-remote-ui/index.html?view=entry-point

I am able to load the page (with errors of course) - And in the plugin I have the logging set, so I can see that the request was recieved and served.  When I call it from the vSphere Client, I don't see any requests comming in.

I went through thousands of log files on the vcenter - but could not find anything that could help me diagnose the problem.

I checked that both the server thumbprint in the registration, and the vcenter info in the startup.bat are correct.

Could you please give me a hint where I can find out what is not working correctly?

thanks

Cathy

0 Kudos
1 Solution

Accepted Solutions
CathyBr
Enthusiast
Enthusiast
Jump to solution

Just one more comment,  I think it would be very helpful in a case such as this, that some log entries are made - maybe in the virgo.log or something else.

We still (quite often) have problems with customers, who install our local plug-in, but don't see it in the gui.  Most of the time it happens because the plugin.zip can't be downloaded (network, dns problems) -

Sometimes other problems happen, but it always helps to look into the virgo.log

If a remote plug-in is not reachable for some reason, it would be also very helpful to check the virgo.log and see what went wrong ...

View solution in original post

0 Kudos
5 Replies
_vladi_
VMware Employee
VMware Employee
Jump to solution

Hi Cathy,

This is unofficial version so this must be a fairly recent dev build that might contain issues. Could you please provide the build number? In any case such builds are not recommended unless it is some beta for testing and validation.

Please check the following:

  1. Is the plugin icon displayed in the Object Navigator / Main Menu? The icon is fetched through the same internal flow as the index.html content.
  2. Are you able to see the full icon URL in the browser like: https://vcsa-68.acme.net/plugins/com.acme.remote~1.0.0.0~249087908/plugin-server.acme.net-8991/acme-...?
  3. Check the reverse proxy for errors (/storage/log/vmware/rhttpproxy) and for entries for your plugin (/etc/vmware-rhttpproxy/endpoints.conf.d/ui-plugins.conf). The configuration should contain your plugin to be able to proxy the requests for content.

Hope this helps.

Cheers,

Vladi

0 Kudos
CathyBr
Enthusiast
Enthusiast
Jump to solution

Hi _vladi_

thanks for your answer.

The version number I said was a typeo - sorry.  It was

VMware vCenter Server Appliance 6.8.9.10000

No the requests to get the naviation icon failed with 404 as well.

I looked in the ui-plugins.conf, and there is indeed an entry for the remote plugin.

In the rhttpproxy.log I found the entry

New/Update Endpoint added: /plugins/com.acme.remote... - as expected, but no other error messages which would help.

I'm going back to working with a 6.7U2 vCenter - and wait for another release.

Cathy

0 Kudos
CathyBr
Enthusiast
Enthusiast
Jump to solution

Just one more comment,  I think it would be very helpful in a case such as this, that some log entries are made - maybe in the virgo.log or something else.

We still (quite often) have problems with customers, who install our local plug-in, but don't see it in the gui.  Most of the time it happens because the plugin.zip can't be downloaded (network, dns problems) -

Sometimes other problems happen, but it always helps to look into the virgo.log

If a remote plug-in is not reachable for some reason, it would be also very helpful to check the virgo.log and see what went wrong ...

0 Kudos
CathyBr
Enthusiast
Enthusiast
Jump to solution

Here's an update -

after rebooting the vcenter appliance a few times,and restarting the services manually, I am now able to use our remote plug-in.

I don't know why - but now it works....

0 Kudos
_vladi_
VMware Employee
VMware Employee
Jump to solution

Hi Cathy,

Thanks for the follow up.

You seem to be working with a very recent dev build (the dev vCenter I am using has the same version Smiley Happy ). This is great for validation but keep in mind there could be ongoing dev issues within the vCenter itself.

I am completely with you on the point about troubleshooting plugins.

This is also why we have introduced the Plugin Management UI in 6.7U2. Plugins are now missing from the UI only if they are not registered. The feature means that all plugins should be visible in the Client plug-ins page together with any plugin error that happened. The feature covers more than 12 specific plugin error scenarios but we did not include 2-3 cases for remote plugins (e.g. errors in Reverse proxy configuration) which is exactly what you are hitting. I've made sure those are covered in future release versions.

The feature essentially removes the need to look into the vsphere_client_virgo.log (if you want to use it search for PluginStatusServiceImpl and PluginStatusTaskManager entries which are now responsible for logging plugin deployment progress). Now you can troubleshoot all errors from the UI and so can the customer, which should also decrease the amount of incoming requests you are getting. Any feedback on this if greatly appreciated!

More info on the Plugin Management UI:

Cheers,

Vladi

0 Kudos