Merge pull request #285 from GaborApatiNagy/master

CA-84876: Show more infrastructure information for objects
This commit is contained in:
Mihaela Stoica 2015-01-14 17:04:09 +00:00
commit 4bbf261e91
10 changed files with 207 additions and 41 deletions

View File

@ -2622,7 +2622,7 @@ namespace XenAdmin
else if (!SearchMode && SelectionManager.Selection.ContainsOneItemOfType<IXenObject>())
{
IXenObject xenObject = SelectionManager.Selection[0].XenObject;
TitleLabel.Text = GetTitleLabel(xenObject);
TitleLabel.Text = xenObject.NameWithLocation;
TitleIcon.Image = Images.GetImage16For(xenObject);
// When in folder view only show the logged in label if it is clear to which connection the object belongs (most likely pools and hosts)
@ -2677,22 +2677,6 @@ namespace XenAdmin
pluginMenuItemStartIndexes[viewToolStripMenuItem] = viewToolStripMenuItem.DropDownItems.IndexOf(toolStripSeparator24) + 1;
}
string GetTitleLabel(IXenObject xenObject)
{
string name = Helpers.GetName(xenObject);
VM vm = xenObject as VM;
if (vm != null && vm.is_a_real_vm)
{
Host server = vm.Home();
if (server != null)
return string.Format(Messages.VM_ON_SERVER, name, server);
Pool pool = Helpers.GetPool(vm.Connection);
if (pool != null)
return string.Format(Messages.VM_IN_POOL, name, pool);
}
return name;
}
void navigationPane_DragDropCommandActivated(string cmdText)
{
SetStatusBar(null, cmdText);

View File

@ -16949,6 +16949,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to in &apos;{0}&apos;.
/// </summary>
public static string IN_POOL {
get {
return ResourceManager.GetString("IN_POOL", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to In progress.
/// </summary>
@ -20486,6 +20495,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to {0} {1}.
/// </summary>
public static string NAME_WITH_LOCATION {
get {
return ResourceManager.GetString("NAME_WITH_LOCATION", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Select the SR to reattach or create a new SR.
/// </summary>
@ -23402,6 +23420,24 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to {0} in &apos;{1}&apos;.
/// </summary>
public static string OBJECT_IN_POOL {
get {
return ResourceManager.GetString("OBJECT_IN_POOL", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to {0} on &apos;{1}&apos;.
/// </summary>
public static string OBJECT_ON_SERVER {
get {
return ResourceManager.GetString("OBJECT_ON_SERVER", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Objects with tag &apos;{0}&apos;.
/// </summary>
@ -23493,6 +23529,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to on &apos;{0}&apos;.
/// </summary>
public static string ON_SERVER {
get {
return ResourceManager.GetString("ON_SERVER", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 1 VM selected.
/// </summary>
@ -28070,6 +28115,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to {0} (snapshot of &apos;{1}&apos; {2}).
/// </summary>
public static string SNAPSHOT_OF_TITLE {
get {
return ResourceManager.GetString("SNAPSHOT_OF_TITLE", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Snapshots require XenServer 5.5 or later.
/// </summary>
@ -32168,6 +32222,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to {0} on &apos;{1}&apos; {2}.
/// </summary>
public static string VDI_ON_SR_TITLE {
get {
return ResourceManager.GetString("VDI_ON_SR_TITLE", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Vendor.
/// </summary>
@ -32582,15 +32645,6 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to {0} in &apos;{1}&apos;.
/// </summary>
public static string VM_IN_POOL {
get {
return ResourceManager.GetString("VM_IN_POOL", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Memory and/or VCPU changes will take effect when you restart the VM..
/// </summary>
@ -32690,15 +32744,6 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to {0} on &apos;{1}&apos;.
/// </summary>
public static string VM_ON_SERVER {
get {
return ResourceManager.GetString("VM_ON_SERVER", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to This VM is paused..
/// </summary>

View File

@ -11271,8 +11271,8 @@ To learn more about the XenServer Dynamic Workload Balancing feature or to start
<data name="VM_GENERAL_TAB_TITLE" xml:space="preserve">
<value>VM General Properties</value>
</data>
<data name="VM_IN_POOL" xml:space="preserve">
<value>{0} in '{1}'</value>
<data name="IN_POOL" xml:space="preserve">
<value>in '{0}'</value>
</data>
<data name="VM_LIVE_CHANGES_NOT_SUPPORTED_MESSAGE" xml:space="preserve">
<value>Memory and/or VCPU changes will take effect when you restart the VM.</value>
@ -11307,8 +11307,8 @@ To learn more about the XenServer Dynamic Workload Balancing feature or to start
<data name="VM_NOT_SUSPENDED" xml:space="preserve">
<value>This VM is not suspended.</value>
</data>
<data name="VM_ON_SERVER" xml:space="preserve">
<value>{0} on '{1}'</value>
<data name="ON_SERVER" xml:space="preserve">
<value>on '{0}'</value>
</data>
<data name="VM_PAUSED" xml:space="preserve">
<value>This VM is paused.</value>
@ -12251,7 +12251,22 @@ You will need to navigate to the Console on each of the selected VMs to complete
</data>
<data name="YOU_ARE_HERE" xml:space="preserve">
<value>You are here</value>
</data>
<data name="SNAPSHOT_OF_TITLE" xml:space="preserve">
<value>{0} (snapshot of '{1}' {2})</value>
</data>
<data name="NAME_WITH_LOCATION" xml:space="preserve">
<value>{0} {1}</value>
</data>
<data name="OBJECT_IN_POOL" xml:space="preserve">
<value>{0} in '{1}'</value>
</data>
<data name="OBJECT_ON_SERVER" xml:space="preserve">
<value>{0} on '{1}'</value>
</data>
<data name="VDI_ON_SR_TITLE" xml:space="preserve">
<value>{0} on '{1}' {2}</value>
</data>
<data name="PATCHINGWIZARD_UPLOADPAGE_TEXT" xml:space="preserve">
<value>Upload</value>
</data>
@ -12271,6 +12286,6 @@ You will need to navigate to the Console on each of the selected VMs to complete
<value>Uploading...</value>
</data>
<data name="UPLOAD_PATCH_TITLE" xml:space="preserve">
<value>Upload</value>
<value>Upload</value>
</data>
</root>

View File

@ -1324,6 +1324,15 @@ namespace XenAPI
get { return license_params.ContainsKey("grace"); }
}
internal override string LocationString
{
get
{
//for standalone hosts we do not show redundant location info
return Helpers.GetPool(Connection) == null ? string.Empty : base.LocationString;
}
}
#region Supplemental Packs
// From http://scale.uk.xensource.com/confluence/display/engp/Supplemental+Pack+product+design+notes#SupplementalPackproductdesignnotes-XenAPI:

View File

@ -65,5 +65,6 @@ namespace XenAPI
string SaveChanges(Session session, IXenObject beforeObject);
string Description { get; }
string NameWithLocation { get; }
}
}

View File

@ -69,6 +69,14 @@ namespace XenAPI
}
}
internal override string LocationString
{
get
{
return string.Empty;
}
}
public List<SR> GetHAHeartbeatSRs()
{
List<SR> result = new List<SR>();

View File

@ -760,6 +760,28 @@ namespace XenAPI
}
}
public override string NameWithLocation
{
get
{
//return only the Name for local SRs
if (Connection != null && !shared)
{
return Name;
}
return base.NameWithLocation;
}
}
internal override string LocationString
{
get
{
return Home != null ? Home.LocationString : base.LocationString;
}
}
private bool CheckMultipathString(String status)
{
int current;

View File

@ -201,7 +201,21 @@ namespace XenAPI
return Util.DiskSizeString(virtual_size);
}
}
public override string NameWithLocation
{
get
{
if (Connection != null)
{
var srOfVdi = Connection.Resolve(SR);
return string.Format(Messages.VDI_ON_SR_TITLE, Name, srOfVdi.Name, srOfVdi.LocationString);
}
return base.NameWithLocation;
}
}
#region IEquatable<VDI> Members
/// <summary>

View File

@ -1086,6 +1086,51 @@ namespace XenAPI
}
}
public override string NameWithLocation
{
get
{
if (this.Connection != null)
{
if (this.is_a_real_vm)
{
return base.NameWithLocation;
}
else if (this.is_a_snapshot)
{
var snapshotOf = this.Connection.Resolve(this.snapshot_of);
return string.Format(Messages.SNAPSHOT_OF_TITLE, Name, snapshotOf.Name, LocationString);
}
else if (this.is_a_template)
{
if (Helpers.IsPool(Connection))
return string.Format(Messages.OBJECT_IN_POOL, Name, Connection.Name);
return string.Format(Messages.OBJECT_ON_SERVER, Name, Connection.Name);
}
}
return NameWithLocation;
}
}
internal override string LocationString
{
get
{
Host server = this.Home();
if (server != null)
return string.Format(Messages.ON_SERVER, server);
Pool pool = Helpers.GetPool(this.Connection);
if (pool != null)
return string.Format(Messages.IN_POOL, pool);
return string.Empty;
}
}
public static List<HA_Restart_Priority> GetAvailableRestartPriorities(IXenConnection connection)
{
var restartPriorities = new List<HA_Restart_Priority>();

View File

@ -34,6 +34,7 @@ using System.Collections.Generic;
using System.Reflection;
using XenAdmin.Core;
using XenAdmin.Network;
using XenAdmin;
namespace XenAPI
{
@ -267,5 +268,27 @@ namespace XenAPI
{
get { return ""; }
}
public virtual string NameWithLocation
{
get
{
return string.Format(Messages.NAME_WITH_LOCATION, Name, LocationString);
}
}
internal virtual string LocationString
{
get
{
if (Connection == null)
return string.Empty;
if (Helpers.IsPool(Connection))
return string.Format(Messages.IN_POOL, Connection.Name);
return string.Format(Messages.ON_SERVER, Connection.Name);
}
}
}
}