Merge branch 'master' of ssh://git.cloud.com/var/lib/git/cloudstack-oss

This commit is contained in:
Jessica Wang 2010-10-26 15:25:33 -07:00
commit ee902f4e75
8 changed files with 144 additions and 77 deletions

View File

@ -120,7 +120,7 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
if (dirCreated)
{
if(s_logger.isDebugEnabled())
s_logger.info("Directory: " + strDirectoy + " created");
s_logger.debug("Directory: " + strDirectoy + " created");
//copy cert to the dir
FileWriter fstream = new FileWriter("/etc/cloud/consoleproxy/cert/customcert");
BufferedWriter out = new BufferedWriter(fstream);

View File

@ -2487,9 +2487,12 @@ public class StorageManagerImpl implements StorageManager {
// Check that the volume is stored on shared storage
if (!volumeOnSharedStoragePool(volume)) {
throw new InvalidParameterValueException("Please specify a volume that has been created on a shared storage pool.");
}
// NOTE: We used to ensure the volume is on shared storage before deleting. However, this seems like an unnecessary check since all we allow
// is deleting a detached volume. Is there a technical reason why the volume has to be on shared storage? If so, uncomment this...otherwise,
// just delete the detached volume regardless of storage pool.
// if (!volumeOnSharedStoragePool(volume)) {
// throw new InvalidParameterValueException("Please specify a volume that has been created on a shared storage pool.");
// }
// Check that the volume is not currently attached to any VM
if (volume.getInstanceId() != null) {

View File

@ -2006,6 +2006,7 @@ a:hover.search_button {
height:auto;
float:left;
text-align:left;
background:#FFF url(../images/midmenu_hover.gif) repeat-x top left;
color:#CCC;
font-size:11px;
font-weight:normal;
@ -2251,6 +2252,25 @@ a:hover.search_button {
color:#999;
}
.midmenu_emptymsgbox {
width:220px;
height:auto;
float:left;
background:#d4d4d4 url(../images/midmenu_emptymsg.gif) repeat-x top left;
margin:0 0 0 0;
padding:0;
}
.midmenu_emptymsgbox p{
width:200px;
height:auto;
float:left;
color:#666;
font-size:11px;
font-weight:normal;
margin:0 0 0 0;
padding:0;
}
.main_contentarea_with_midmenu {
width:auto;
@ -3067,7 +3087,7 @@ a:hover.search_button {
height:auto;
float:left;
position:absolute;
background:#FFF url(../images/midmenu_hover.gif) repeat top left;
background:#FFF repeat top left;
border:1px solid #CCC;
top:18px;
right:1px;

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

View File

@ -316,7 +316,7 @@ long milliseconds = new Date().getTime();
<!-- Mid Menu starts here-->
<div class="midmenu_panel" id="middle_menu">
<div class="midmenu_box" id="midmenu_container">
<div class="midmenu_emptymsgbox"><p>No Items Available</p></div>
</div>
</div>
<!-- Mid Menu ends here-->
@ -346,6 +346,51 @@ long milliseconds = new Date().getTime();
</div>
<div id="leftmenu_instance_expandedbox" class="leftmenu_expandedbox" style="display: none">
<div class="leftmenu_expandedlist" id="leftmenu_instances_my_instances_container" style="display:none">
<div class="leftmenu_content" id="leftmenu_instances_my_instances">
<div class="leftmenu_secondindent">
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
</div>
<span id="label">My Instances</span>
</div>
</div>
</div>
<div class="leftmenu_expandedlist" id="leftmenu_instances_all_instances_container" style="display:none">
<div class="leftmenu_content" id="leftmenu_instances_all_instances">
<div class="leftmenu_secondindent">
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
</div>
<span id="label">All Instances</span>
</div>
</div>
</div>
<div class="leftmenu_expandedlist" id="leftmenu_instances_running_instances_container" style="display:none">
<div class="leftmenu_content" id="leftmenu_instances_running_instances">
<div class="leftmenu_secondindent">
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
</div>
<span id="label">Running Instances</span>
</div>
</div>
</div>
<div class="leftmenu_expandedlist" id="leftmenu_instances_stopped_instances_container" style="display:none">
<div class="leftmenu_content" id="leftmenu_instances_stopped_instances">
<div class="leftmenu_secondindent">
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
</div>
<span id="label">Stopped Instances</span>
</div>
</div>
</div>
<div class="leftmenu_expandedlist" id="leftmenu_instances_destroyed_instances_container" style="display:none">
<div class="leftmenu_content" id="leftmenu_instances_destroyed_instances">
<div class="leftmenu_secondindent">
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
</div>
<span id="label">Destroyed Instances</span>
</div>
</div>
</div>
</div>
</div>

View File

@ -64,66 +64,70 @@ $(document).ready(function() {
});
// Setup 2nd level navigation
function buildSecondLevelNavigation() {
bindAndListMidMenuItems($("#leftmenu_event"), "listEvents", "listeventsresponse", "event", "jsp/event.jsp", afterLoadEventJSP, eventToMidmenu, eventToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_alert"), "listAlerts", "listalertsresponse", "alert", "jsp/alert.jsp", afterLoadAlertJSP, alertToMidmenu, alertToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_volume"), "listVolumes", "listvolumesresponse", "volume", "jsp/volume.jsp", afterLoadVolumeJSP, volumeToMidmenu, volumeToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_snapshot"), "listSnapshots", "listsnapshotsresponse", "snapshot", "jsp/snapshot.jsp", afterLoadSnapshotJSP, snapshotToMidmenu, snapshotToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
//bindAndListMidMenuItems("leftmenu_router", "listRouters", "listroutersresponse", "router", "jsp/router.jsp", afterLoadRouterJSP, routerToMidmenu, routerToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_template"), "listTemplates&templatefilter=self", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_template"), "listTemplates&templatefilter=featured", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_template"), "listTemplates&templatefilter=community", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_iso"), "listIsos&isofilter=self", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_iso"), "listIsos&isofilter=featured", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_iso"), "listIsos&isofilter=community", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_service_offering"), "listServiceOfferings", "listserviceofferingsresponse", "serviceoffering", "jsp/serviceoffering.jsp", afterLoadServiceOfferingJSP, serviceOfferingToMidmenu, serviceOfferingToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_disk_offering"), "listDiskOfferings", "listdiskofferingsresponse", "diskoffering", "jsp/diskoffering.jsp", afterLoadDiskOfferingJSP, diskOfferingToMidmenu, diskOfferingToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_global_setting"), "listConfigurations", "listconfigurationsresponse", "configuration", "jsp/globalsetting.jsp", afterLoadGlobalSettingJSP, globalSettingToMidmenu, globalSettingToRightPanel, globalSettingGetMidmenuId, false);
$("#leftmenu_instances").bind("click", function(event) {
selectLeftMenu($(this), true);
instanceBuildSubMenu();
return false;
});
$("#leftmenu_domain").bind("click", function(event) {
selectLeftMenu($(this), true);
hideMiddleMenu();
disableMultipleSelectionInMidMenu();
clearMiddleMenu();
bindEventHandlerToDomainTreeNode();
refreshWholeTree(g_domainid, defaultRootLevel);
return false;
});
$("#leftmenu_resource").bind("click", function(event) {
showMiddleMenu();
disableMultipleSelectionInMidMenu();
clearMiddleMenu();
$arrowIcon = $(this).find("#resource_arrow");
if($arrowIcon.hasClass("expanded_close") == true) {
$arrowIcon.removeClass("expanded_close").addClass("expanded_open");
buildZoneTree();
} else {
$arrowIcon.removeClass("expanded_open").addClass("expanded_close");
$("#leftmenu_zone_tree").find("#tree_container").empty();
}
// Instance sub menus
bindAndListMidMenuItems($("#leftmenu_instances_my_instances"), "listVirtualMachines&domainid="+g_domainid+"&account="+g_account, "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_instances_all_instances"), "listVirtualMachines", "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_instances_running_instances"), "listVirtualMachines&state=Running", "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_instances_stopped_instances"), "listVirtualMachines&state=Stopped", "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_instances_destroyed_instances"), "listVirtualMachines&state=Destroyed", "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
showPage($("#resource_page"), null);
return false;
});
bindAndListMidMenuItems($("#leftmenu_event"), "listEvents", "listeventsresponse", "event", "jsp/event.jsp", afterLoadEventJSP, eventToMidmenu, eventToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_alert"), "listAlerts", "listalertsresponse", "alert", "jsp/alert.jsp", afterLoadAlertJSP, alertToMidmenu, alertToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_volume"), "listVolumes", "listvolumesresponse", "volume", "jsp/volume.jsp", afterLoadVolumeJSP, volumeToMidmenu, volumeToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_snapshot"), "listSnapshots", "listsnapshotsresponse", "snapshot", "jsp/snapshot.jsp", afterLoadSnapshotJSP, snapshotToMidmenu, snapshotToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
//bindAndListMidMenuItems("leftmenu_router", "listRouters", "listroutersresponse", "router", "jsp/router.jsp", afterLoadRouterJSP, routerToMidmenu, routerToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_template"), "listTemplates&templatefilter=self", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_template"), "listTemplates&templatefilter=featured", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_template"), "listTemplates&templatefilter=community", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_iso"), "listIsos&isofilter=self", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_iso"), "listIsos&isofilter=featured", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_iso"), "listIsos&isofilter=community", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_service_offering"), "listServiceOfferings", "listserviceofferingsresponse", "serviceoffering", "jsp/serviceoffering.jsp", afterLoadServiceOfferingJSP, serviceOfferingToMidmenu, serviceOfferingToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_disk_offering"), "listDiskOfferings", "listdiskofferingsresponse", "diskoffering", "jsp/diskoffering.jsp", afterLoadDiskOfferingJSP, diskOfferingToMidmenu, diskOfferingToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_global_setting"), "listConfigurations", "listconfigurationsresponse", "configuration", "jsp/globalsetting.jsp", afterLoadGlobalSettingJSP, globalSettingToMidmenu, globalSettingToRightPanel, globalSettingGetMidmenuId, false);
$("#leftmenu_instances").bind("click", function(event) {
instanceBuildSubMenu();
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_domain").bind("click", function(event) {
selectLeftMenu($(this), true);
hideMiddleMenu();
disableMultipleSelectionInMidMenu();
clearMiddleMenu();
bindEventHandlerToDomainTreeNode();
refreshWholeTree(g_domainid, defaultRootLevel);
return false;
});
$("#leftmenu_resource").bind("click", function(event) {
showMiddleMenu();
disableMultipleSelectionInMidMenu();
clearMiddleMenu();
$arrowIcon = $(this).find("#resource_arrow");
if($arrowIcon.hasClass("expanded_close") == true) {
$arrowIcon.removeClass("expanded_close").addClass("expanded_open");
buildZoneTree();
} else {
$arrowIcon.removeClass("expanded_open").addClass("expanded_close");
$("#leftmenu_zone_tree").find("#tree_container").empty();
}
showPage($("#resource_page"), null);
return false;
});
}
$("#midmenu_action_link").bind("mouseover", function(event) {
$(this).find("#action_menu").show();
@ -347,6 +351,8 @@ $(document).ready(function() {
$.cookie('directattacheduntaggedenabled', g_directAttachedUntaggedEnabled, { expires: 1});
$.cookie('systemvmuselocalstorage', g_systemVmUseLocalStorage, { expires: 1});
buildSecondLevelNavigation();
$("#main_username").text(g_username);
$("#login_wrapper").hide();
$("#main").show();
@ -450,6 +456,7 @@ $(document).ready(function() {
dataType: "json",
async: false,
success: function(json) {
buildSecondLevelNavigation();
$("#main_username").text(g_username);
$("#leftmenu_dashboard").click();
$("#main").show();

View File

@ -18,19 +18,11 @@
var $instanceSubMenuContainer;
function instanceBuildSubMenu() {
$instanceSubMenuContainer = $("#leftmenu_instance_expandedbox").empty();
if (isAdmin() || isDomainAdmin()) {
instanceBuildSubMenu2("My Instances", ("listVirtualMachines&domainid="+g_domainid+"&account="+g_account));
instanceBuildSubMenu2("All Instances", "listVirtualMachines");
instanceBuildSubMenu2("Running Instances", "listVirtualMachines&state=Running");
instanceBuildSubMenu2("Stopped Instances", "listVirtualMachines&state=Stopped");
instanceBuildSubMenu2("Destroyed Instances", "listVirtualMachines&state=Destroyed");
if (isAdmin() || isDomainAdmin()) {
$("#leftmenu_instance_expandedbox").find("#leftmenu_instances_my_instances_container, #leftmenu_instances_all_instances_container, #leftmenu_instances_running_instances_container, #leftmenu_instances_stopped_instances_container, #leftmenu_instances_destroyed_instances_container ").show();
}
else if(isUser()) {
instanceBuildSubMenu2("All Instances", "listVirtualMachines");
instanceBuildSubMenu2("Running Instances", "listVirtualMachines&state=Running");
instanceBuildSubMenu2("Stopped Instances", "listVirtualMachines&state=Stopped");
else if(isUser()) {
$("#leftmenu_instance_expandedbox").find("#leftmenu_instances_all_instances_container, #leftmenu_instances_running_instances_container, #leftmenu_instances_stopped_instances_container").show();
$.ajax({
cache: false,
data: createURL("command=listInstanceGroups"),

View File

@ -959,7 +959,7 @@ function showStorageTab(domainId, targetTab) {
switch (linkAction) {
case "volume_action_delete" :
//check if this volume is attached to a virtual machine. If yes, can't be deleted.
if(vmname != null && (vmname != "" || vmname != "none")) {
if(vmname != null && vmname != "" && vmname != "none") {
$("#dialog_alert").html("<p>This volume is attached to virtual machine " + vmname + " and can't be deleted.</p>")
$("#dialog_alert").dialog("open");
return;