From 7822643a2019ba7b000d8dae67bfa9c12e8170ed Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 8 Aug 2018 14:44:15 +0530 Subject: [PATCH 1/3] vmware: reboot VR after mac updates This re-introduces the rebooting of VR after setup of nics/macs in case of VMware. It also adds a minor enhancement to show the console esp. for root admins when VRs and systemvms are in starting state. Signed-off-by: Rohit Yadav --- .../consoleproxy/ConsoleProxyManagerImpl.java | 4 ++-- systemvm/debian/opt/cloud/bin/setup/router.sh | 4 ++++ ui/scripts/system.js | 16 ++++++++++++---- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index e6c0a8da6ecf..e9cf926ac5a7 100644 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -401,9 +401,9 @@ public ConsoleProxyVO doAssignProxy(long dataCenterId, long vmId) { return null; } - if (vm != null && vm.getState() != State.Running) { + if (vm != null && vm.getState() != State.Starting && vm.getState() != State.Running) { if (s_logger.isInfoEnabled()) { - s_logger.info("Detected that vm : " + vmId + " is not currently at running state, we will fail the proxy assignment for it"); + s_logger.info("Detected that vm : " + vmId + " is not currently in starting or running state, we will fail the proxy assignment for it"); } return null; } diff --git a/systemvm/debian/opt/cloud/bin/setup/router.sh b/systemvm/debian/opt/cloud/bin/setup/router.sh index f41e57e63750..2a8a4ad5d56a 100755 --- a/systemvm/debian/opt/cloud/bin/setup/router.sh +++ b/systemvm/debian/opt/cloud/bin/setup/router.sh @@ -61,6 +61,10 @@ setup_router() { then log_it "Reloading udev for new udev NIC assignment" udevadm control --reload-rules && udevadm trigger + if [ "$HYPERVISOR" == "vmware" ]; then + sync + reboot + fi fi fi diff --git a/ui/scripts/system.js b/ui/scripts/system.js index ef944d958dbb..48fddf395fc7 100755 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -22126,6 +22126,10 @@ allowedActions.push('upgradeRouterToUseNewerTemplate'); } + if (isAdmin() || jsonObj.state == 'Running') { + allowedActions.push("viewConsole"); + } + if (jsonObj.state == 'Running') { allowedActions.push("stop"); @@ -22136,7 +22140,6 @@ allowedActions.push("restart"); allowedActions.push("remove"); - allowedActions.push("viewConsole"); if (isAdmin()) allowedActions.push("migrate"); @@ -22155,10 +22158,12 @@ var jsonObj = args.context.item; var allowedActions =[]; + if (isAdmin() || jsonObj.state == 'Running') { + allowedActions.push("viewConsole"); + } + if (jsonObj.state == 'Running') { allowedActions.push("stop"); - - allowedActions.push("viewConsole"); if (isAdmin()) allowedActions.push("migrate"); } else if (jsonObj.state == 'Stopped') { @@ -22171,6 +22176,10 @@ var jsonObj = args.context.item; var allowedActions =[]; + if (isAdmin() || jsonObj.state == 'Running') { + allowedActions.push("viewConsole"); + } + if (jsonObj.state == 'Running') { allowedActions.push("stop"); allowedActions.push("restart"); @@ -22181,7 +22190,6 @@ allowedActions.push("scaleUp"); } - allowedActions.push("viewConsole"); if (isAdmin()) allowedActions.push("migrate"); } else if (jsonObj.state == 'Stopped') { From 2edb3bfdc9a1d9e0486a28f0799aa6117dca6f65 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 8 Aug 2018 15:36:09 +0530 Subject: [PATCH 2/3] show console for starting guest vms to root admin Signed-off-by: Rohit Yadav --- ui/scripts/instances.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index 1a2a6409ccaa..f33aac027ff0 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -3292,6 +3292,9 @@ allowedActions.push("resetSSHKeyForVirtualMachine"); } else if (jsonObj.state == 'Starting') { // allowedActions.push("stop"); + if (isAdmin()) { + allowedActions.push("viewConsole"); + } } else if (jsonObj.state == 'Error') { allowedActions.push("destroy"); } else if (jsonObj.state == 'Expunging') { From 51ae2319e9bf751a13f7b1a3895ce0ac1688718e Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 8 Aug 2018 15:57:53 +0530 Subject: [PATCH 3/3] reformat ui code Signed-off-by: Rohit Yadav --- ui/scripts/system.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 48fddf395fc7..b568d49fe72e 100755 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -22126,10 +22126,6 @@ allowedActions.push('upgradeRouterToUseNewerTemplate'); } - if (isAdmin() || jsonObj.state == 'Running') { - allowedActions.push("viewConsole"); - } - if (jsonObj.state == 'Running') { allowedActions.push("stop"); @@ -22140,9 +22136,14 @@ allowedActions.push("restart"); allowedActions.push("remove"); + allowedActions.push("viewConsole"); if (isAdmin()) allowedActions.push("migrate"); + } else if (jsonObj.state == 'Starting') { + if (isAdmin()) { + allowedActions.push("viewConsole"); + } } else if (jsonObj.state == 'Stopped') { allowedActions.push("start"); @@ -22158,14 +22159,15 @@ var jsonObj = args.context.item; var allowedActions =[]; - if (isAdmin() || jsonObj.state == 'Running') { - allowedActions.push("viewConsole"); - } - if (jsonObj.state == 'Running') { allowedActions.push("stop"); + allowedActions.push("viewConsole"); if (isAdmin()) allowedActions.push("migrate"); + } else if (jsonObj.state == 'Starting') { + if (isAdmin()) { + allowedActions.push("viewConsole"); + } } else if (jsonObj.state == 'Stopped') { allowedActions.push("start"); } @@ -22176,10 +22178,6 @@ var jsonObj = args.context.item; var allowedActions =[]; - if (isAdmin() || jsonObj.state == 'Running') { - allowedActions.push("viewConsole"); - } - if (jsonObj.state == 'Running') { allowedActions.push("stop"); allowedActions.push("restart"); @@ -22190,8 +22188,13 @@ allowedActions.push("scaleUp"); } + allowedActions.push("viewConsole"); if (isAdmin()) allowedActions.push("migrate"); + } else if (jsonObj.state == 'Starting') { + if (isAdmin()) { + allowedActions.push("viewConsole"); + } } else if (jsonObj.state == 'Stopped') { allowedActions.push("start");