Skip to content

Support creating Spark 2.0 cluster using Azure HDInsight PowerShell #3110

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Oct 26, 2016
Merged

Support creating Spark 2.0 cluster using Azure HDInsight PowerShell #3110

merged 5 commits into from
Oct 26, 2016

Conversation

iyerrb
Copy link
Contributor

@iyerrb iyerrb commented Oct 21, 2016

Description


This checklist is used to make sure that common guidelines for a pull request are followed. You can find a more complete discussion of PowerShell cmdlet best practices here.

General Guidelines

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.
  • The pull request does not introduce breaking changes (unless a major version change occurs in the assembly and module).

Testing Guidelines

  • Pull request includes test coverage for the included changes.
  • PowerShell scripts used in tests should do any necessary setup as part of the test or suite setup, and should not use hard-coded values for locations or existing resources.

Cmdlet Signature Guidelines

  • New cmdlets that make changes or have side effects should implement ShouldProcess and have SupportShouldProcess=true specified in the cmdlet attribute. You can find more information on ShouldProcess here.
  • Cmdlet specifies OutputType attribute if any output is produced - if the cmdlet produces no output, it should implement a PassThrough parameter.

Cmdlet Parameter Guidelines

  • Parameter types should not expose types from the management library - complex parameter types should be defined in the module.
  • Complex parameter types are discouraged - a parameter type should be simple types as often as possible. If complex types are used, they should be shallow and easily creatable from a constructor or another cmdlet.
  • Cmdlet parameter sets should be mutually exclusive - each parameter set must have at least one mandatory parameter not in other parameter sets.
    version of a service. Added a new cmdlet
    Add-AzureRmHDInsightComponentVersion to specify the component version of
    the service during cluster creation. Get-AzureRmHDInsightCluster cmdlet
    will also return the component version of the service if specified during
    cluster creation

version of a service. Added a new cmdlet
Add-AzureRmHDInsightComponentVersion to specify the component version of
the service during cluster creation. Get-AzureRmHDInsightCluster cmdlet
will also return the component version of the service if specified during
cluster creation
@azurecla
Copy link

Hi @iyerrb, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!


It looks like you're working at Microsoft (riyer). If you're full-time, we DON'T require a contribution license agreement.



If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@azuresdkci
Copy link

Can one of the admins verify this patch?

@cormacpayne
Copy link
Member

@azuresdkci add to whitelist

@cormacpayne
Copy link
Member

@iyerrb Hey Rajesh, the build is failing because the cmdlet Add-AzureRmHDInsightComponentVersion does not implement ShouldProcess.

You can check out the guide here on how to implement ShouldProcess.

@@ -20,7 +20,8 @@ namespace Microsoft.Azure.Commands.HDInsight
{
[Cmdlet(
VerbsCommon.Add,
Constants.CommandNames.AzureHDInsightComponentVersion),
Constants.CommandNames.AzureHDInsightComponentVersion,
SupportsShouldProcess = true),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is not all. You also need to either call ConfirmAction or ShoudlProcess correctly during cmdlet execution. See: https://gist.github.com/markcowl/338e16fe5c8bbf195aff9f8af0db585d

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have updated the PR with a call to ConfirmAction from the cmdlet

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have any more comments on this change?
Thanks

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@markcowl ping

{
Config.ComponentVersion.Add(ComponentName, ComponentVersion);
WriteObject(Config);
})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iyerrb the build is failing because you are missing a semicolon here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

have fixed this and the other error due to 'Name' parameter in ConfirmAction

@shefaliv
Copy link
Contributor

Can we get this merged please?

@markcowl
Copy link
Member

@@ -47,12 +47,12 @@ public class AddAzureHDInsightComponentVersionCommand : HDInsightCmdletBase

public override void ExecuteCmdlet()
{
ConfirmAction("Adding Component Version", Name,
ConfirmAction("Adding Component Version", "AzureHDInsightConfig",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be 'ComponentName'?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the resource being modified is the AzureHDInsightConfig because there's no ComponentName object

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have attached a picture of the confirm action prompt for this cmdlet.
componentversioncmdlet

@markcowl markcowl self-assigned this Oct 26, 2016
@iyerrb
Copy link
Contributor Author

iyerrb commented Oct 26, 2016

Is today the cutoff to get on the next release train due next Tuesday (first Tuesday of the month?)

@markcowl markcowl merged commit 3c33667 into Azure:dev Oct 26, 2016
@iyerrb
Copy link
Contributor Author

iyerrb commented Oct 26, 2016

I wanted to update my manager whether this change will be shipped next week or next month. Kindly let me know the ship date for this change.

@cormacpayne
Copy link
Member

@iyerrb this will be shipped next Wednesday for the November release of Azure PowerShell

@itaysk
Copy link

itaysk commented Nov 18, 2016

What's the -ComponentVersion parameter on the New-AzureRmHDInsightCluster cmdlet? How can we populate it instead of using the dedicated cmdlet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants