/// <summary> /// Initalizes iscsidisk instance /// </summary> /// <param name="iscsiDisk"></param> /// <param name="dataPolicy"></param> public static void Initialize(this ISCSIDisk iscsiDisk, DataPolicy dataPolicy) { iscsiDisk.Description = "Demo IscsiDisk for SDK Test " + dataPolicy.ToString(); iscsiDisk.AccessControlRecords = new List <string>(); iscsiDisk.DataPolicy = dataPolicy; iscsiDisk.DiskStatus = DiskStatus.Online; iscsiDisk.ProvisionedCapacityInBytes = TestConstants.ProvisionedCapacityInBytesForDisk; iscsiDisk.MonitoringStatus = MonitoringStatus.Enabled; }
/// <summary> /// Returns metrics definition for given iscsi disk /// </summary> /// <param name="iscsiDisk"></param> /// <param name="deviceName"></param> /// <param name="iscsiServerName"></param> /// <returns></returns> public static IEnumerable <MetricDefinition> GetMetricsDefinition( this ISCSIDisk iscsiDisk, string deviceName, string iscsiServerName) { return(iscsiDisk.Client.IscsiDisks.ListMetricDefinition( deviceName, iscsiServerName, iscsiDisk.Name, iscsiDisk.ResourceGroupName, iscsiDisk.ManagerName)); }
/// <summary> /// Returns metrics of a given iscsi disk /// </summary> /// <param name="iscsiDisk"></param> /// <param name="deviceName"></param> /// <param name="iscsiServerName"></param> /// <param name="odataQuery"></param> /// <returns></returns> public static IEnumerable <Metrics> GetMetrics( this ISCSIDisk iscsiDisk, string deviceName, string iscsiServerName, ODataQuery <MetricFilter> odataQuery) { return(iscsiDisk.Client.IscsiDisks.ListMetrics( deviceName, iscsiServerName, iscsiDisk.Name, iscsiDisk.ResourceGroupName, iscsiDisk.ManagerName, odataQuery)); }
/// <summary> /// Triggers clone operation on a iscsiserver for given backupset /// </summary> /// <param name="backupSet"></param> /// <param name="deviceName"></param> /// <param name="isciServer"></param> /// <param name="backupElementName"></param> /// <param name="endPointName"></param> public static void Clone( this Backup backupSet, string deviceName, ISCSIServer isciServer, string backupElementName, string endPointName) { var device = backupSet.Client.Devices.Get( deviceName, backupSet.ResourceGroupName, backupSet.ManagerName); Assert.True( device != null, "no matching device found with name:" + deviceName); Assert.True( isciServer != null, "iscsiServer param is null"); var restoreIscsiDisk = new ISCSIDisk( backupSet.Client, backupSet.ResourceGroupName, backupSet.ManagerName, endPointName); restoreIscsiDisk.Initialize(DataPolicy.Tiered); restoreIscsiDisk.Description = "Restore Disk "; var cloneRequest = new CloneRequest() { NewEndpointName = endPointName, TargetAccessPointId = isciServer.Id, TargetDeviceId = device.Id, Disk = restoreIscsiDisk }; backupSet.Client.Backups.Clone( device.Name.GetDoubleEncoded(), backupSet.Name.GetDoubleEncoded(), backupElementName, cloneRequest, backupSet.ResourceGroupName, backupSet.ManagerName); }
/// <summary> /// Create or update iscsi disk /// </summary> /// <param name="iscsiDisk"></param> /// <param name="deviceName"></param> /// <param name="fileServerName"></param> /// <returns></returns> public static ISCSIDisk CreateOrUpdate( this ISCSIDisk iscsiDisk, string deviceName, string fileServerName) { var isciDiskCreated = iscsiDisk.Client.IscsiDisks.CreateOrUpdate( deviceName.GetDoubleEncoded(), fileServerName.GetDoubleEncoded(), iscsiDisk.Name.GetDoubleEncoded(), iscsiDisk, iscsiDisk.ResourceGroupName, iscsiDisk.ManagerName); isciDiskCreated.SetBaseResourceValues( iscsiDisk.Client, iscsiDisk.ResourceGroupName, iscsiDisk.ManagerName); return(isciDiskCreated); }
/// <summary> /// Returns disks from a given iscsiserver on a device /// </summary> /// <param name="iscsiServer"></param> /// <param name="deviceName"></param> /// <returns></returns> public static IEnumerable <ISCSIDisk> GetIscsiDisks( this ISCSIServer iscsiServer, string deviceName) { var iscsiDisks = iscsiServer.Client.IscsiDisks.ListByIscsiServer( deviceName.GetDoubleEncoded(), iscsiServer.Name.GetDoubleEncoded(), iscsiServer.ResourceGroupName, iscsiServer.ManagerName); if (iscsiDisks == null || !iscsiDisks.Any()) { // Create a IscsiDisk with Tiered data policy var iscsiDisktoCreate = new ISCSIDisk( iscsiServer.Client, iscsiServer.ResourceGroupName, iscsiServer.ManagerName, TestConstants.DefaultTieredIscsiDiskName); iscsiDisktoCreate.Initialize(DataPolicy.Tiered); var iscsiDisk = iscsiDisktoCreate.CreateOrUpdate( iscsiServer.Name, iscsiServer.Name); } iscsiDisks = iscsiServer.Client.IscsiDisks.ListByIscsiServer( deviceName.GetDoubleEncoded(), iscsiServer.Name.GetDoubleEncoded(), iscsiServer.ResourceGroupName, iscsiServer.ManagerName); foreach (var iscsiDisk in iscsiDisks) { iscsiDisk.SetBaseResourceValues( iscsiServer.Client, iscsiServer.ResourceGroupName, iscsiServer.ManagerName); } return(iscsiDisks); }
public void TestCreateOrUpdateIscsiDisk() { try { var iSCSIServers = TestUtilities.GetIscsiServers( this.Client, this.ResourceGroupName, this.ManagerName); Assert.True( iSCSIServers != null && iSCSIServers.Any(), $"No iscsiservers were found in the manger {this.ManagerName}"); // Select the first iscsiserver var iscsiServer = iSCSIServers.First(); // Create a iscsidisk with Tiered data policy var iscsiDisk = new ISCSIDisk( this.Client, this.ResourceGroupName, this.ManagerName, "Auto-TestIscsiDisk1"); iscsiDisk.Initialize(DataPolicy.Tiered); var iscsiDiskCreated = iscsiDisk.CreateOrUpdate( iscsiServer.Name, iscsiServer.Name); // Create a iscsidisk with tiered data policy var iscsiDisk2 = new ISCSIDisk( this.Client, this.ResourceGroupName, this.ManagerName, "Auto-TestIscsiDisk2"); iscsiDisk2.Initialize(DataPolicy.Tiered); var iscsiDiskCreated2 = iscsiDisk2.CreateOrUpdate( iscsiServer.Name, iscsiServer.Name); // Update Description and ShareStatus iscsiDiskCreated.Description = "Updated: " + iscsiDiskCreated.Description; iscsiDiskCreated.DiskStatus = DiskStatus.Offline; iscsiDiskCreated = iscsiDiskCreated.CreateOrUpdate( iscsiServer.Name, iscsiServer.Name); // Validate iscsi disks by Managers var iscsiDisksByIscsiServer = this.Client.IscsiDisks.ListByIscsiServer( iscsiServer.Name, iscsiServer.Name, this.ResourceGroupName, this.ManagerName); var iscsiDisksByDevice = this.Client.IscsiDisks.ListByDevice( iscsiServer.Name, this.ResourceGroupName, this.ManagerName); } catch (Exception e) { Assert.Null(e); } #endregion Test methods }
/// <summary> /// Creates or updates the iscsi disk. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='deviceName'> /// The device name. /// </param> /// <param name='iscsiServerName'> /// The iscsi server name. /// </param> /// <param name='diskName'> /// The disk name. /// </param> /// <param name='iscsiDisk'> /// The iscsi disk. /// </param> /// <param name='resourceGroupName'> /// The resource group name /// </param> /// <param name='managerName'> /// The manager name /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <ISCSIDisk> BeginCreateOrUpdateAsync(this IIscsiDisksOperations operations, string deviceName, string iscsiServerName, string diskName, ISCSIDisk iscsiDisk, string resourceGroupName, string managerName, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(deviceName, iscsiServerName, diskName, iscsiDisk, resourceGroupName, managerName, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Creates or updates the iscsi disk. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='deviceName'> /// The device name. /// </param> /// <param name='iscsiServerName'> /// The iscsi server name. /// </param> /// <param name='diskName'> /// The disk name. /// </param> /// <param name='iscsiDisk'> /// The iscsi disk. /// </param> /// <param name='resourceGroupName'> /// The resource group name /// </param> /// <param name='managerName'> /// The manager name /// </param> public static ISCSIDisk BeginCreateOrUpdate(this IIscsiDisksOperations operations, string deviceName, string iscsiServerName, string diskName, ISCSIDisk iscsiDisk, string resourceGroupName, string managerName) { return(operations.BeginCreateOrUpdateAsync(deviceName, iscsiServerName, diskName, iscsiDisk, resourceGroupName, managerName).GetAwaiter().GetResult()); }