Пример #1
0
        //[Fact]
        public void TestResizeCluster()
        {
            var handler = new RecordedDelegatingHandler {StatusCodeToReturn = HttpStatusCode.OK};

            using (var context = UndoContext.Current)
            {
                context.Start();

                var client = HDInsightManagementTestUtilities.GetHDInsightManagementClient(handler);
                var resourceManagementClient = HDInsightManagementTestUtilities.GetResourceManagementClient(handler);

                var resourceGroup = HDInsightManagementTestUtilities.CreateResourceGroup(resourceManagementClient);
                const string dnsname = "hdisdk-resizetest";

                var spec = GetClusterSpecHelpers.GetPaasClusterSpec();

                client.Clusters.Create(resourceGroup, dnsname, spec);

                var cluster = client.Clusters.Get(resourceGroup, dnsname);

                var resizeParams = new ClusterResizeParameters
                {
                    TargetInstanceCount = 2
                };

                client.Clusters.Resize(resourceGroup, dnsname, resizeParams);

                cluster = client.Clusters.Get(resourceGroup, dnsname);

                client.Clusters.Delete(resourceGroup, dnsname);
            }
        }
 /// <summary>
 /// Begins resizing the specified HDInsight cluster.
 /// </summary>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='clusterName'>
 /// Required. The name of the cluster.
 /// </param>
 /// <param name='targetInstanceCount'>
 /// Required. The target instance count for the resize operation.
 /// </param>
 /// <param name='cancellationToken'>
 /// Cancellation token.
 /// </param>
 /// <returns>
 /// The cluster long running operation response.
 /// </returns>
 public async Task<HDInsightOperationResponse> BeginResizingAsync(string resourceGroupName, string clusterName, int targetInstanceCount,
     CancellationToken cancellationToken)
 {
     try
     {
         var resizeParams = new ClusterResizeParameters { TargetInstanceCount = targetInstanceCount };
         return await BeginResizingAsync(resourceGroupName, clusterName, resizeParams, cancellationToken);
     }
     catch (Exception ex)
     {
         throw new CloudException(ex.Message);
     }
 }
 public SetAzureHDInsightClusterSizeCommand()
 {
     resizeParams = new ClusterResizeParameters();
 }
 /// <summary>
 /// Begins a resize operation on the specified HDInsight cluster.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.HDInsight.IClusterOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='clusterName'>
 /// Required. The name of the cluster.
 /// </param>
 /// <param name='resizeParameters'>
 /// Required. The parameters for the resize operation.
 /// </param>
 /// <returns>
 /// The cluster long running operation response.
 /// </returns>
 public static Task<HDInsightOperationResponse> BeginResizingAsync(this IClusterOperations operations, string resourceGroupName, string clusterName, ClusterResizeParameters resizeParameters)
 {
     return operations.BeginResizingAsync(resourceGroupName, clusterName, resizeParameters, CancellationToken.None);
 }
 /// <summary>
 /// Begins a resize operation on the specified HDInsight cluster.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.HDInsight.IClusterOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='clusterName'>
 /// Required. The name of the cluster.
 /// </param>
 /// <param name='resizeParameters'>
 /// Required. The parameters for the resize operation.
 /// </param>
 /// <returns>
 /// The cluster long running operation response.
 /// </returns>
 public static HDInsightOperationResponse BeginResizing(this IClusterOperations operations, string resourceGroupName, string clusterName, ClusterResizeParameters resizeParameters)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IClusterOperations)s).BeginResizingAsync(resourceGroupName, clusterName, resizeParameters);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Resizes the specified HDInsight cluster.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.HDInsight.IClusterOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='clusterName'>
 /// Required. The name of the cluster.
 /// </param>
 /// <param name='resizeParameters'>
 /// Required. The parameters for the resize operation.
 /// </param>
 /// <returns>
 /// The azure async operation response.
 /// </returns>
 public static Task<OperationResource> ResizeAsync(this IClusterOperations operations, string resourceGroupName, string clusterName, ClusterResizeParameters resizeParameters)
 {
     return operations.ResizeAsync(resourceGroupName, clusterName, resizeParameters, CancellationToken.None);
 }
 public virtual HDInsightLongRunningOperationResponse ResizeCluster(string resourceGroupName, string clusterName, ClusterResizeParameters resizeParams)
 {
     return HdInsightManagementClient.Clusters.Resize(resourceGroupName, clusterName, resizeParams);
 }
Пример #8
0
        public void ResizeWithMissingTargetInstanceCount(HDInsightManagementClient client, string resourceGroup, string dnsname)
        {
            var resizeParams = new ClusterResizeParameters();

            try
            {
                client.Clusters.Resize(resourceGroup, dnsname, resizeParams);
            }
            catch (CloudException ex)
            {
                Assert.Equal(ex.Response.StatusCode, HttpStatusCode.BadRequest);
            }
        }
Пример #9
0
        public void ResizeWithOngoingResize(HDInsightManagementClient client, string resourceGroup, string dnsname)
        {
            var cluster = client.Clusters.Get(resourceGroup, dnsname);
            var role = cluster.Cluster.Properties.ComputeProfile.Roles.FirstOrDefault(r => r.Name == "workernode");
            Assert.NotNull(role);
            var targetInstanceCount = role.TargetInstanceCount;

            var resizeParams = new ClusterResizeParameters
            {
                TargetInstanceCount = targetInstanceCount + 1
            };

            client.Clusters.BeginResizing(resourceGroup, dnsname, resizeParams);

            try
            {
                client.Clusters.Resize(resourceGroup, dnsname, resizeParams);
            }
            catch
            {
                
            }
        }