diff --git a/build/package.xml b/build/package.xml index fce58ddcd5e..8ef81bef0d9 100755 --- a/build/package.xml +++ b/build/package.xml @@ -111,6 +111,7 @@ + diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 1e8e3255050..d41da6cfda2 100644 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -299,6 +299,21 @@ public class StorageManagerImpl implements StorageManager { return vols; } + //if we have a system vm + //get the storage pool + //if pool is in maintenance + //add to recreate vols, and continue + if(vm.getType().equals(VirtualMachine.Type.ConsoleProxy) || vm.getType().equals(VirtualMachine.Type.DomainRouter) || vm.getType().equals(VirtualMachine.Type.SecondaryStorageVm)) + { + StoragePoolVO sp = _storagePoolDao.findById(vol.getPoolId()); + + if(sp.getStatus().equals(Status.PrepareForMaintenance)) + { + recreateVols.add(vol); + continue; + } + } + StoragePoolHostVO ph = _storagePoolHostDao.findByPoolHost(vol.getPoolId(), host.getId()); if (ph == null) { if (s_logger.isDebugEnabled()) { @@ -1954,8 +1969,8 @@ public class StorageManagerImpl implements StorageManager { @DB public boolean preparePrimaryStorageForMaintenance(long primaryStorageId, long userId) { - boolean destroyVolumes = false; long count = 1; + boolean restart = true; try { //1. Get the primary storage record @@ -1968,17 +1983,15 @@ public class StorageManagerImpl implements StorageManager { } //check to see if other ps exist - //if they do, then we can migrate over the system vms to them, destroy volumes for sys vms - //if they dont, then do NOT destroy the volumes on this one + //if they do, then we can migrate over the system vms to them + //if they dont, then just stop all vms on this one count = _storagePoolDao.countBy(primaryStorage.getId(), Status.Up); - if(count>1) - { - destroyVolumes = true; - } + if(count == 1) + restart = false; + //2. Get a list of all the volumes within this storage pool List allVolumes = _volsDao.findByPoolId(primaryStorageId); - List markedVolumes = new ArrayList(); //3. Each volume has an instance associated with it, stop the instance if running for(VolumeVO volume : allVolumes) @@ -1991,11 +2004,7 @@ public class StorageManagerImpl implements StorageManager { //if the instance is of type consoleproxy, call the console proxy if(vmInstance.getType().equals(VirtualMachine.Type.ConsoleProxy)) - { - //add this volume to be removed if flag=true - if(destroyVolumes) - markedVolumes.add(volume); - + { //make sure it is not restarted again, update config to set flag to false _configMgr.updateConfiguration(userId, "consoleproxy.restart", "false"); @@ -2010,25 +2019,21 @@ public class StorageManagerImpl implements StorageManager { _storagePoolDao.persist(primaryStorage); return false; } - else + else if(restart) { - if(destroyVolumes) - { - //create a dummy event - long eventId1 = saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_PROXY_START, "starting console proxy with Id: "+vmInstance.getId()); - - //Restore config val for consoleproxy.restart to true - _configMgr.updateConfiguration(userId, "consoleproxy.restart", "true"); - - if(_consoleProxyMgr.startProxy(vmInstance.getId(), eventId1)==null) - { - s_logger.warn("There was an error starting the console proxy id: "+vmInstance.getId()+" on another storage pool, cannot enable primary storage maintenance"); - primaryStorage.setStatus(Status.ErrorInMaintenance); - _storagePoolDao.persist(primaryStorage); - return false; - } - - } + //create a dummy event + long eventId1 = saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_PROXY_START, "starting console proxy with Id: "+vmInstance.getId()); + + //Restore config val for consoleproxy.restart to true + _configMgr.updateConfiguration(userId, "consoleproxy.restart", "true"); + + if(_consoleProxyMgr.startProxy(vmInstance.getId(), eventId1)==null) + { + s_logger.warn("There was an error starting the console proxy id: "+vmInstance.getId()+" on another storage pool, cannot enable primary storage maintenance"); + primaryStorage.setStatus(Status.ErrorInMaintenance); + _storagePoolDao.persist(primaryStorage); + return false; + } } } @@ -2048,10 +2053,6 @@ public class StorageManagerImpl implements StorageManager { //if the instance is of type secondary storage vm, call the secondary storage vm manager if(vmInstance.getType().equals(VirtualMachine.Type.SecondaryStorageVm)) { - //add this volume to be removed if flag=true - if(destroyVolumes) - markedVolumes.add(volume); - //create a dummy event long eventId1 = saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_SSVM_STOP, "stopping ssvm with Id: "+vmInstance.getId()); @@ -2062,31 +2063,23 @@ public class StorageManagerImpl implements StorageManager { _storagePoolDao.persist(primaryStorage); return false; } - else + else if(restart) { - if(destroyVolumes) - { - //create a dummy event and restart the ssvm immediately - long eventId = saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_SSVM_START, "starting ssvm with Id: "+vmInstance.getId()); - if(_secStorageMgr.startSecStorageVm(vmInstance.getId(), eventId)==null) - { - s_logger.warn("There was an error starting the ssvm id: "+vmInstance.getId()+" on another storage pool, cannot enable primary storage maintenance"); - primaryStorage.setStatus(Status.ErrorInMaintenance); - _storagePoolDao.persist(primaryStorage); - return false; - } - } + //create a dummy event and restart the ssvm immediately + long eventId = saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_SSVM_START, "starting ssvm with Id: "+vmInstance.getId()); + if(_secStorageMgr.startSecStorageVm(vmInstance.getId(), eventId)==null) + { + s_logger.warn("There was an error starting the ssvm id: "+vmInstance.getId()+" on another storage pool, cannot enable primary storage maintenance"); + primaryStorage.setStatus(Status.ErrorInMaintenance); + _storagePoolDao.persist(primaryStorage); + return false; + } } - } //if the instance is of type domain router vm, call the network manager if(vmInstance.getType().equals(VirtualMachine.Type.DomainRouter)) { - //add this volume to be removed if flag=true - if(destroyVolumes) - markedVolumes.add(volume); - //create a dummy event long eventId2 = saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_ROUTER_STOP, "stopping domain router with Id: "+vmInstance.getId()); @@ -2097,17 +2090,22 @@ public class StorageManagerImpl implements StorageManager { _storagePoolDao.persist(primaryStorage); return false; } + else if(restart) + { + //create a dummy event and restart the domr immediately + long eventId = saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_PROXY_START, "starting domr with Id: "+vmInstance.getId()); + if(_networkMgr.startRouter(vmInstance.getId(), eventId)==null) + { + s_logger.warn("There was an error starting the omr id: "+vmInstance.getId()+" on another storage pool, cannot enable primary storage maintenance"); + primaryStorage.setStatus(Status.ErrorInMaintenance); + _storagePoolDao.persist(primaryStorage); + return false; + } + } } - } } - //4. Mark the volumes as removed - for(VolumeVO vol : markedVolumes) - { - _volsDao.remove(vol.getId()); - } - //5. Update the status primaryStorage.setStatus(Status.Maintenance); _storagePoolDao.persist(primaryStorage); diff --git a/tools/systemvm/debian/config/etc/haproxy/haproxy.cfg b/tools/systemvm/debian/config/etc/haproxy/haproxy.cfg new file mode 100644 index 00000000000..1a34373de68 --- /dev/null +++ b/tools/systemvm/debian/config/etc/haproxy/haproxy.cfg @@ -0,0 +1,26 @@ +global + log 127.0.0.1:3914 local0 info + chroot /var/lib/haproxy + user haproxy + group haproxy + daemon + +defaults + log global + mode tcp + option dontlognull + retries 3 + option redispatch + option forwardfor + stats enable + stats uri /admin?stats + stats realm Haproxy\ Statistics + stats auth admin1:AdMiN123 + option forceclose + timeout connect 5000 + timeout client 50000 + timeout server 50000 + + +listen 0.0.0.0:9 + option transparent diff --git a/tools/systemvm/debian/config/etc/init.d/cloud-early-config b/tools/systemvm/debian/config/etc/init.d/cloud-early-config index c90297821b9..0c4eded6140 100755 --- a/tools/systemvm/debian/config/etc/init.d/cloud-early-config +++ b/tools/systemvm/debian/config/etc/init.d/cloud-early-config @@ -28,10 +28,12 @@ patch() { local PATCH_MOUNT=/media/cdrom local patchfile=$PATCH_MOUNT/cloud-scripts.tgz local md5file=/var/cache/cloud/cloud-scripts-signature + local privkey=$PATCH_MOUNT/authorized_keys local shouldpatch=false mkdir -p $PATCH_MOUNT if [ -e /dev/xvdd ]; then mount -o ro /dev/xvdd $PATCH_MOUNT + [ -f $privkey ] && cp -f $privkey /root/.ssh/ && chmod go-rwx /root/.ssh/authorized_keys local oldmd5= [ -f ${md5file} ] && oldmd5=$(cat ${md5file}) local newmd5= diff --git a/tools/systemvm/debian/config/root/edithosts.sh b/tools/systemvm/debian/config/root/edithosts.sh index 5193376b8b5..0f2cca229bc 100755 --- a/tools/systemvm/debian/config/root/edithosts.sh +++ b/tools/systemvm/debian/config/root/edithosts.sh @@ -5,11 +5,11 @@ # $3 : the hostname wait_for_dnsmasq () { - local _pid=$(/sbin/pidof dnsmasq) + local _pid=$(pidof dnsmasq) for i in 0 1 2 3 4 5 6 7 8 9 10 do sleep 1 - _pid=$(/sbin/pidof dnsmasq) + _pid=$(pidof dnsmasq) [ "$_pid" != "" ] && break; done [ "$_pid" != "" ] && return 0; @@ -17,6 +17,9 @@ wait_for_dnsmasq () { return 1 } +[ ! -f /etc/dhcphosts.txt ] && touch /etc/dhcphosts.txt +[ ! -f /var/lib/misc/dnsmasq.leases ] && touch /var/lib/misc/dnsmasq.leases + #delete any previous entries from the dhcp hosts file sed -i /$1/d /etc/dhcphosts.txt sed -i /$2,/d /etc/dhcphosts.txt @@ -39,7 +42,7 @@ sed -i /"$3"/d /etc/hosts echo "$2 $3" >> /etc/hosts # make dnsmasq re-read files -pid=$(/sbin/pidof dnsmasq) +pid=$(pidof dnsmasq) if [ "$pid" != "" ] then service dnsmasq restart diff --git a/tools/systemvm/debian/config/var/lib/misc/dnsmasq.leases b/tools/systemvm/debian/config/var/lib/misc/dnsmasq.leases new file mode 100644 index 00000000000..e69de29bb2d diff --git a/ui/new/css/main.css b/ui/new/css/main.css index 1c6ac42a7d4..5d766d2e048 100644 --- a/ui/new/css/main.css +++ b/ui/new/css/main.css @@ -988,6 +988,90 @@ a:visited { color:#FFF; } +.revwiz_loadingbox { + width:180px; + height:50px; + position:absolute; + background:#FFF repeat top left; + border:1px solid #999; + z-index:1100; + top:47%; + left:45%; +} + +.revwiz_loadingbox p{ + width:auto; + height:auto; + float:left; + text-align:left; + color:#666; + font-weight:normal; + font-size:25px; + margin:10px 0 0 20px; + display:inline; +} + + +.revwiz_message_container { + width:300px; + height:auto; + position:absolute; + background:url(../images/loading_messagebg.gif) #d3d3d3 repeat-x top left; + border:1px solid #CCC; + z-index:1100; + top:47%; + left:45%; + display:inline; + margin:0; + padding:0; +} + + +.revwiz_message_top { + width:99%; + height:auto; + float:left; + margin:0; + padding:2px 5px 0 5px; + overflow:hidden; +} + +.revwiz_message_top p { + width:auto; + height:25px; + margin:0; + padding:0; + color:#333; + text-align:left; + font-weight:normal; + font-size:11px; + display:inline; +} + +.revwiz_message_bottom { + width:100%; + height:20px; + float:left; + margin:0; + padding:0; + +} + + +.revwizcontinue_button { + width:60px; + height:17px; + float:right; + margin-right:5px; + padding:0; + background:url(../images/vm_continuebutton.gif) no-repeat top left; + text-decoration:none; +} + +.revwizcontinue_button:hover { + background:url(../images/vm_continuebutton_hover.gif) no-repeat top left; +} + .revwiz_formcontent_title { width:800px; height:auto; @@ -2021,10 +2105,10 @@ a:visited { } .grid_actionbox { - width:33px; - height:15px; + width:35px; + height:17px; float:right; - background:url(../images/gird_actions.gif) no-repeat top left; + background:url(../images/gird_actions.png) no-repeat top left; margin:2px 10px 0 0; padding:0; cursor:pointer; @@ -2032,5 +2116,5 @@ a:visited { } .grid_actionbox:hover { - background:url(../images/gird_actions_hover.gif) no-repeat top left; + background:url(../images/gird_actions_hover.png) no-repeat top left; } \ No newline at end of file diff --git a/ui/new/images/accounts_leftmenuicon.png b/ui/new/images/accounts_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/accountstitle_icons.gif b/ui/new/images/accountstitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/action_ddarow.png b/ui/new/images/action_ddarow.png old mode 100755 new mode 100644 diff --git a/ui/new/images/actionpanel_bg.gif b/ui/new/images/actionpanel_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/actionpanel_border.gif b/ui/new/images/actionpanel_border.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/actionpanel_hover.gif b/ui/new/images/actionpanel_hover.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/actions_actionicon.gif b/ui/new/images/actions_actionicon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/actions_actionicon.png b/ui/new/images/actions_actionicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/addvm_actionicon.gif b/ui/new/images/addvm_actionicon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/addvm_actionicon.png b/ui/new/images/addvm_actionicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/alert_icon.png b/ui/new/images/alert_icon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/alerttitle_icons.gif b/ui/new/images/alerttitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/configuration_leftmenuicon.png b/ui/new/images/configuration_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/consoletb_box.gif b/ui/new/images/consoletb_box.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/contenttab_selected.gif b/ui/new/images/contenttab_selected.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/contenttab_unselected.gif b/ui/new/images/contenttab_unselected.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/contenttab_unselected_hover.gif b/ui/new/images/contenttab_unselected_hover.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/cproxytitle_icons.gif b/ui/new/images/cproxytitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/cpu_icon.gif b/ui/new/images/cpu_icon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/cross_icon.gif b/ui/new/images/cross_icon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/dashboardtitle_icons.gif b/ui/new/images/dashboardtitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/db_leftmenuicon.png b/ui/new/images/db_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/domain_leftmenuicon.png b/ui/new/images/domain_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/domaintitle_icons.gif b/ui/new/images/domaintitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/events_leftmenuicon.png b/ui/new/images/events_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/eventstitle_icons.gif b/ui/new/images/eventstitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/footer_bg.gif b/ui/new/images/footer_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/gird_actions.png b/ui/new/images/gird_actions.png new file mode 100644 index 00000000000..7ed5a7ea64a Binary files /dev/null and b/ui/new/images/gird_actions.png differ diff --git a/ui/new/images/gird_actions_hover.png b/ui/new/images/gird_actions_hover.png new file mode 100644 index 00000000000..de19b924fcb Binary files /dev/null and b/ui/new/images/gird_actions_hover.png differ diff --git a/ui/new/images/group_icon.gif b/ui/new/images/group_icon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/header_bg.gif b/ui/new/images/header_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/hostnetwork_icon.gif b/ui/new/images/hostnetwork_icon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/hosts_leftmenuicon.png b/ui/new/images/hosts_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/hosttitle_icons.gif b/ui/new/images/hosttitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/info_icon.gif b/ui/new/images/info_icon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/infoerror_icon.gif b/ui/new/images/infoerror_icon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/instance_leftmenuicon.png b/ui/new/images/instance_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/instancetitle_icons.gif b/ui/new/images/instancetitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/iptitle_icons.gif b/ui/new/images/iptitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/laststep_bg.gif b/ui/new/images/laststep_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/laststep_slectedbg.gif b/ui/new/images/laststep_slectedbg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/leftmenu_closedarrow.gif b/ui/new/images/leftmenu_closedarrow.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/leftmenu_closedarrow.png b/ui/new/images/leftmenu_closedarrow.png old mode 100755 new mode 100644 diff --git a/ui/new/images/leftmenu_dashedborder.gif b/ui/new/images/leftmenu_dashedborder.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/leftmenu_hover.gif b/ui/new/images/leftmenu_hover.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/leftmenu_openarrow.gif b/ui/new/images/leftmenu_openarrow.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/leftmenu_openarrow.png b/ui/new/images/leftmenu_openarrow.png old mode 100755 new mode 100644 diff --git a/ui/new/images/loading_messagebg.gif b/ui/new/images/loading_messagebg.gif new file mode 100644 index 00000000000..bd374437b5c Binary files /dev/null and b/ui/new/images/loading_messagebg.gif differ diff --git a/ui/new/images/loadnetwork_titleicon.gif b/ui/new/images/loadnetwork_titleicon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/loadtitle_icons.gif b/ui/new/images/loadtitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/login_bg.gif b/ui/new/images/login_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/login_button.gif b/ui/new/images/login_button.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/login_button_hover.gif b/ui/new/images/login_button_hover.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/login_logo.gif b/ui/new/images/login_logo.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/login_textbg.gif b/ui/new/images/login_textbg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/loginbox_bot.gif b/ui/new/images/loginbox_bot.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/loginbox_mid.gif b/ui/new/images/loginbox_mid.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/loginbox_mid.png b/ui/new/images/loginbox_mid.png old mode 100755 new mode 100644 diff --git a/ui/new/images/loginbox_top.gif b/ui/new/images/loginbox_top.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/loginbox_top.png b/ui/new/images/loginbox_top.png old mode 100755 new mode 100644 diff --git a/ui/new/images/logo.gif b/ui/new/images/logo.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/memory_icon.gif b/ui/new/images/memory_icon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/mgmtconsole_logo.gif b/ui/new/images/mgmtconsole_logo.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/midmenu_dashedborder.gif b/ui/new/images/midmenu_dashedborder.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/midmenu_hover.gif b/ui/new/images/midmenu_hover.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/midmenu_navbg.gif b/ui/new/images/midmenu_navbg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/network_leftmenuicon.png b/ui/new/images/network_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/next_midnav.gif b/ui/new/images/next_midnav.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/next_midnav_hover.gif b/ui/new/images/next_midnav_hover.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/offeringbox_bg.gif b/ui/new/images/offeringbox_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/offeringbox_destop.gif b/ui/new/images/offeringbox_destop.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/othersteps_bg.gif b/ui/new/images/othersteps_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/poweredby.gif b/ui/new/images/poweredby.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/prev_midnav.gif b/ui/new/images/prev_midnav.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/prev_midnav_hover.gif b/ui/new/images/prev_midnav_hover.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/primestoragetitle_icons.gif b/ui/new/images/primestoragetitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/refresh_actionicon.png b/ui/new/images/refresh_actionicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/reviewboxeven_bg.gif b/ui/new/images/reviewboxeven_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/revwiz_nonselcted_tempbut.gif b/ui/new/images/revwiz_nonselcted_tempbut.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/revwiz_nonselcted_tempbut_hover.gif b/ui/new/images/revwiz_nonselcted_tempbut_hover.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/revwiz_nonselectednumber.gif b/ui/new/images/revwiz_nonselectednumber.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/revwiz_selcted_tempbut.gif b/ui/new/images/revwiz_selcted_tempbut.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/routers_leftmenuicon.png b/ui/new/images/routers_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/routerstitle_icons.gif b/ui/new/images/routerstitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/secondstoragetitle_icons.gif b/ui/new/images/secondstoragetitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/selected_loader.gif b/ui/new/images/selected_loader.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/serach_textbox.gif b/ui/new/images/serach_textbox.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/serviceofftitle_icons.gif b/ui/new/images/serviceofftitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/sgtitle_icons.gif b/ui/new/images/sgtitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/sprite_leftmenu.gif b/ui/new/images/sprite_leftmenu.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/status_gray.png b/ui/new/images/status_gray.png old mode 100755 new mode 100644 diff --git a/ui/new/images/status_green.png b/ui/new/images/status_green.png old mode 100755 new mode 100644 diff --git a/ui/new/images/status_red.png b/ui/new/images/status_red.png old mode 100755 new mode 100644 diff --git a/ui/new/images/step1_bg.png b/ui/new/images/step1_bg.png old mode 100755 new mode 100644 diff --git a/ui/new/images/step1_bg_unselected.png b/ui/new/images/step1_bg_unselected.png old mode 100755 new mode 100644 diff --git a/ui/new/images/step2_bg.gif b/ui/new/images/step2_bg.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/step2_selected.gif b/ui/new/images/step2_selected.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/storage_leftmenuicon.png b/ui/new/images/storage_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/systems_leftmenuicon.png b/ui/new/images/systems_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/temp_centosicon.gif b/ui/new/images/temp_centosicon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/temp_linuxicon.gif b/ui/new/images/temp_linuxicon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/temp_windowsicon.gif b/ui/new/images/temp_windowsicon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/templates_leftmenuicon.png b/ui/new/images/templates_leftmenuicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/templatestitle_icons.gif b/ui/new/images/templatestitle_icons.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/tick_icon.gif b/ui/new/images/tick_icon.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/tick_review.png b/ui/new/images/tick_review.png old mode 100755 new mode 100644 diff --git a/ui/new/images/vm_console.gif b/ui/new/images/vm_console.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/vm_continuebutton.gif b/ui/new/images/vm_continuebutton.gif new file mode 100644 index 00000000000..2f9585ae718 Binary files /dev/null and b/ui/new/images/vm_continuebutton.gif differ diff --git a/ui/new/images/vm_continuebutton_hover.gif b/ui/new/images/vm_continuebutton_hover.gif new file mode 100644 index 00000000000..48aea0b94ea Binary files /dev/null and b/ui/new/images/vm_continuebutton_hover.gif differ diff --git a/ui/new/images/vmpopup_bot.gif b/ui/new/images/vmpopup_bot.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/vmpopup_bot.png b/ui/new/images/vmpopup_bot.png old mode 100755 new mode 100644 diff --git a/ui/new/images/vmpopup_mid.gif b/ui/new/images/vmpopup_mid.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/vmpopup_nextbut.gif b/ui/new/images/vmpopup_nextbut.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/vmpopup_prevbut.gif b/ui/new/images/vmpopup_prevbut.gif old mode 100755 new mode 100644 diff --git a/ui/new/images/vmpopup_top.png b/ui/new/images/vmpopup_top.png old mode 100755 new mode 100644 diff --git a/ui/new/images/whiteopened_arrow.png b/ui/new/images/whiteopened_arrow.png old mode 100755 new mode 100644 diff --git a/ui/new/images/zone_ipicon.png b/ui/new/images/zone_ipicon.png old mode 100755 new mode 100644 diff --git a/ui/new/images/zone_zoneicon.png b/ui/new/images/zone_zoneicon.png old mode 100755 new mode 100644 diff --git a/ui/new/jsp/tab_account.jsp b/ui/new/jsp/tab_account.jsp index c64d2ae9301..d9409c1089a 100644 --- a/ui/new/jsp/tab_account.jsp +++ b/ui/new/jsp/tab_account.jsp @@ -1,114 +1,115 @@ - - -<%@ page import="java.util.*" %> -<%@ page import="com.cloud.utils.*" %> - -<% - - Locale browserLocale = request.getLocale(); - CloudResourceBundle t = CloudResourceBundle.getBundle("resources/resource", browserLocale); -%> - - - - - Account - - - - - - - - - <%=t.t("Details")%> - - - - - - <%=t.t("Role")%>: - - - - - - - - - - <%=t.t("Account")%>: - - - - - - - - - - <%=t.t("Domain")%>: - - - - - - - - - - <%=t.t("VMs")%>: - - - - - - - - - - <%=t.t("IPs")%>: - - - - - - - - - - <%=t.t("Bytes.Received")%>: - - - - - - - - - - <%=t.t("Bytes.Sent")%>: - - - - - - - - - - <%=t.t("State")%>: - - - - - - - - + + + +<%@ page import="java.util.*" %> +<%@ page import="com.cloud.utils.*" %> + +<% + + Locale browserLocale = request.getLocale(); + CloudResourceBundle t = CloudResourceBundle.getBundle("resources/resource", browserLocale); +%> + + + + + + Accounts + + + + + + + + + <%=t.t("Details")%> + + + + + + + <%=t.t("Role")%>: + + + + + + + + + + <%=t.t("Account")%>: + + + + + + + + + + <%=t.t("Domain")%>: + + + + + + + + + + <%=t.t("VMs")%>: + + + + + + + + + + <%=t.t("IPs")%>: + + + + + + + + + + <%=t.t("Bytes.Received")%>: + + + + + + + + + + <%=t.t("Bytes.Sent")%>: + + + + + + + + + + <%=t.t("State")%>: + + + + + + + + + \ No newline at end of file diff --git a/ui/new/jsp/tab_volume.jsp b/ui/new/jsp/tab_volume.jsp index a62ac59a713..33d59de8ef9 100644 --- a/ui/new/jsp/tab_volume.jsp +++ b/ui/new/jsp/tab_volume.jsp @@ -1,144 +1,139 @@ - - -<%@ page import="java.util.*" %> -<%@ page import="com.cloud.utils.*" %> - -<% - - Locale browserLocale = request.getLocale(); - CloudResourceBundle t = CloudResourceBundle.getBundle("resources/resource", browserLocale); -%> - - - - - Volume - - - - - - - - - <%=t.t("Details")%> - - - - - - <%=t.t("ID")%>: - - - - - - - - - - <%=t.t("Name")%>: - - - - - - - - - - <%=t.t("Type")%>: - - - - - - - - - - <%=t.t("Zone")%>: - - - - - - - - - - <%=t.t("Instance.Name")%>: - - - - - - - - - - <%=t.t("Device.ID")%>: - - - - - - - - - - <%=t.t("Size")%>: - - - - - - - - - - <%=t.t("State")%>: - - - - - - - - - - <%=t.t("Created")%>: - - - - - - - - - - <%=t.t("Storage")%>: - - - - - - - - - - <%=t.t("Account")%>: - - - - - - - - + + + +<%@ page import="java.util.*" %> +<%@ page import="com.cloud.utils.*" %> + +<% + + Locale browserLocale = request.getLocale(); + CloudResourceBundle t = CloudResourceBundle.getBundle("resources/resource", browserLocale); +%> + + + + + + + + + <%=t.t("Details")%> + + + + + + + <%=t.t("ID")%>: + + + + + + + + + + <%=t.t("Name")%>: + + + + + + + + + + <%=t.t("Type")%>: + + + + + + + + + + <%=t.t("Zone")%>: + + + + + + + + + + <%=t.t("Instance.Name")%>: + + + + + + + + + + <%=t.t("Device.ID")%>: + + + + + + + + + + <%=t.t("Size")%>: + + + + + + + + + + <%=t.t("State")%>: + + + + + + + + + + <%=t.t("Created")%>: + + + + + + + + + + <%=t.t("Storage")%>: + + + + + + + + + + <%=t.t("Account")%>: + + + + + + + + + \ No newline at end of file