VMs not visible in Sunstone after upgrade to 5.0.2

Hello,

I have just upgraded my OpenNebula from 4.14.2 to 5.0.2 (including onedb fsck, and so on). Now I can see my hosts, users. vnets and datastores in Sunstone, but there are no VMs, templates, images or files. Neither in the dashboard, nor in the tabs like “Instances”, etc. In the Sunstone dashboard, there is not even the number “0” for running VMs - the numbers are completely missing: the VMs section header reads: “VMs ACTIVE PENDING FAILED”.

The command-line tools can see the VMs correcty: onevm list, onetemplate list, oneimage list, etc. all return the data about preexisting VMs, templates, images, etc.

The hosts in my cluster are all visible in Sunstone and have the status “ON” (and some of them DISABLED, as they were before the upgrade).

I am not aware of doing anything strange during the upgrade. There were two “nonstandard” things during the upgrade:

  • questions from “onedb upgrade”, which asked about the VLAN attribute for all my VNETs:

Net #5 (sit43) has VN_MAD='ebtables' but it also has VLAN=NO. Change to 'fw'? (y/n)

(I answered “no” for all my VNETs).

  • The onehost sync command reported that it failed to update about 10 out of 27 hosts, but after a minute or so, another onehost sync reported that there were no hosts to update.

What should I do to debug the problem? Thanks,

-Yenya

Hi,

Can you please open your browser developer console and see if you get any error message there?

Thank you

I see three errors there:

InvalidCharacterError: String contains an invalid character     main.js?v=5.0.2 (line 81666)
InvalidCharacterError: String contains an invalid character     main.js?v=5.0.2 (line 102124)
"NetworkError: 401 Unauthorized - https://my.sunstone.host/support/request?timeout=false&csrftoken=...5040482" request...5040482

Also, I have discovered that when I log in as an ordinary user instead of oneadmin, I can see only the grey box on the left (“OpenNebula 5.0.2 by OpenNebula Systems”), and an animated spinner in the middle. The error messages are the following:

unreachable code after return statement main.js:69875:16
mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create main.js:124410:19794
Error: No tabs/oneflow-dashboard-tab

FWIW, my hosts are CentOS 7 and OpenNebula packages were installed from the tarball for RHEL7/CentOS7 linked from http://opennebula.org/software/.

I guess I am doing something very stupid somewhere :-), but I cannot figure out what it is.

Hi,

Those two problems have been reported and fixed today. There should be a new package already uploaded with the fixes.

Apologies for the inconvenience, and thank you for reporting the issue.

http://dev.opennebula.org/issues/4677
http://dev.opennebula.org/issues/4674

Hello,

thanks for the quick fix, I will look at it. However: you seem to abuse the “release:” tag in the RPM packages: the RPM package name consists of the following parts: name-version-release.arch.rpm: the name is, of course, opennebula (or opennebula-whatever). The version part should be the “upstream” source code version, from which the RPM packages are created. Should the upstream source change, the version should be changed as well. The name-version should refer to a particular source code tarball. The release part should refer solely to the packaging modifications of the same source code tarball. I.e. the features specific to the RPM (or DEB) packaging, such asi init scripts, %post scripts, or whatever.

Today, you have apparently upgraded opennebula-whatever-5.0.2-1.arch.rpm to opennebula-whatever-5.0.2-2.arch.rpm. This suggests only the parts specific to RPM packaging were changed, and nothing else. Definitely not the “upstream” source code. However, running diff -u ${name%.rpmsave} ${name} on my computer reveals that significant upstream changes has been made, for example:

--- ./sunstone-views/admin_vcenter.yaml.rpmsave 2016-07-22 16:58:05.602832571 +0200
+++ ./sunstone-views/admin_vcenter.yaml 2016-07-22 17:45:30.000000000 +0200
@@ -122,7 +122,6 @@
             - 5         # Memory
             - 6         # CPU
             #- 7         # Labels
-            #- 8        # Search data
         actions:
             Group.refresh: true
             Group.create_dialog: true
@@ -147,7 +146,6 @@
             - 6         # VNets
             - 7         # Datastores
             #- 8         # Labels
-            #- 9        # Search data
         actions:
             Vdc.refresh: true
             Vdc.create_dialog: true
@@ -186,7 +184,7 @@
             - 4         # Name
             - 5         # Registration time
             #- 6         # Labels
-            #- 7        # Search data
+            #- 7         # Search data
         actions:
             Template.refresh: true
             Template.create_dialog: true@@ -410,6 +408,30 @@
         Service.delete: true
         Service.edit_labels: true
         Service.menu_labels: true
+    vrouters-tab:
+        panel_tabs:
+            virtual_router_info_tab: true
+            virtual_router_vms_tab: true
+        table_columns:
+            - 0         # Checkbox
+            - 1         # ID
+            - 2         # Owner
+            - 3         # Group
+            - 4         # Name
+            #- 5        # Labels
+            #- 6        # Search data
+        actions:
+            VirtualRouter.refresh: true
+            VirtualRouter.create_dialog: true
+            VirtualRouter.rename: true
+            VirtualRouter.chown: true
+            VirtualRouter.chgrp: true
+            VirtualRouter.chmod: true
+            VirtualRouter.delete: true
+            VirtualRouter.attachnic: true
+            VirtualRouter.detachnic: true
+            VirtualRouter.edit_labels: true
+            VirtualRouter.menu_labels: true
     infrastructure-top-tab:
         panel_tabs:
         actions:

This is definitely not a modification specific to the RPM packaging, This is an upstream source code modification, which should result in the “version:” tag increment. Please be bold enough to call it 5.0.3 or whatever, and do not try to hide behind the RPM packaging release number.

In order to keep my local modifications to the OpenNebula configuration files manageable I would kindly like to ask you to bump the “version” part up every time the “upstream” sources are modified, and keep the “release” number increments solely for modifications related to RPM (or DEB) packaging.

Thanks in advance,

-Yenya