Github user Graeme-Miller commented on a diff in the pull request:

    https://github.com/apache/brooklyn-docs/pull/140#discussion_r96874537
  
    --- Diff: guide/ops/locations/_azure-classic.md ---
    @@ -0,0 +1,235 @@
    +---
    +section: Azure Compute Classic
    +section_type: inline
    +section_position: 2.1
    +---
    +
    +### Azure Compute Classic
    + 
    +Azure is a cloud computing platform and infrastructure created by 
Microsoft. Apache Brooklyn includes support for both Azure Classic and Azure 
ARM, as
    +one of the [Apache jclouds](http://jclouds.org) supported clouds 
`Microsoft Azure Compute`.
    +
    +The two modes of using Azure are the "classic deployment" model and the 
newer "resource manager deployment" (ARM)
    +model. See 
https://azure.microsoft.com/en-gb/documentation/articles/resource-manager-deployment-model/
    +for details.
    +
    +
    +#### Setup the Azure credentials
    +
    +Microsoft Azure requests are signed by SSL certificate. You need to upload 
one into your account in order to use an Azure
    +location.
    +
    +{% highlight bash %}
    +# create the certificate request
    +mkdir -m 700 $HOME/.brooklyn
    +openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout 
$HOME/.brooklyn/azure.pem -out $HOME/.brooklyn/azure.pem
    +# create the p12 file, and note your export password. This will be your 
test credentials.
    +openssl pkcs12 -export -out $HOME/.brooklyn/azure.p12 -in 
$HOME/.brooklyn/azure.pem -name "brooklyn :: $USER"
    +# create a cer file
    +openssl x509 -inform pem -in $HOME/.brooklyn/azure.pem -outform der -out 
$HOME/.brooklyn/azure.cer
    +{% endhighlight %}
    +
    +Finally, upload .cer file to the management console at 
https://manage.windowsazure.com/@myId#Workspaces/AdminTasks/ListManagementCertificates
 to authorize this certificate.
    +
    +Please note, you can find the "myId" value for this link by looking at the 
URL when logged into the Azure management portal.
    +
    +**Note**, you will need to use `.p12` format in the `brooklyn.properties`.
    +
    +
    +#### How to configure Apache Brooklyn to use Azure Compute
    +
    +First, in your `brooklyn.properties` define a location as follows:
    +
    +{% highlight properties %}
    +brooklyn.location.jclouds.azurecompute.identity=$HOME/.brooklyn/azure.p12
    +brooklyn.location.jclouds.azurecompute.credential=<P12_EXPORT_PASSWORD>
    
+brooklyn.location.jclouds.azurecompute.endpoint=https://management.core.windows.net/<YOUR_SUBSCRIPTION_ID>
    +brooklyn.location.jclouds.azurecompute.vmNameMaxLength=45
    
+brooklyn.location.jclouds.azurecompute.jclouds.azurecompute.operation.timeout=120000
    +brooklyn.location.jclouds.azurecompute.user=<USER_NAME>
    +brooklyn.location.jclouds.azurecompute.password=<PASSWORD>
    +{% endhighlight %}
    +
    +During the VM provisioning, Azure will set up the account with 
`<USER_NAME>` and `<PASSWORD>` automatically.
    +Notice, `<PASSWORD>` must be a minimum of 8 characters and must contain 3 
of the following: a lowercase character, an uppercase
    +character, a number, a special character.
    +
    +To force Apache Brooklyn to use a particular image in Azure, say Ubuntu 
14.04.1 64bit, one can add:
    +
    +    
brooklyn.location.jclouds.azurecompute.imageId=b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20150123-en-us-30GB
    +
    +From $BROOKLYN_HOME, you can list the image IDs available using the 
following command:
    +
    +    ./bin/client "list-images --location azure-west-europe"
    +
    +To force Brooklyn to use a particular hardwareSpec in Azure, one can add 
something like:
    +
    +    brooklyn.location.jclouds.azurecompute.hardwareId=BASIC_A2
    +
    +From $BROOKLYN_HOME, you can list the hardware profile IDs available using 
the following command:
    +
    +    ./bin/client "list-hardware-profiles --location azure-west-europe"
    +
    +At the time of writing, the classic deployment model has the possible 
values shown below.
    +See 
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/
    +for further details, though that description focuses on the new "resource 
manager deployment"
    +rather than "classic".
    +
    + * `Basic_A0` to `Basic_A4`
    + * `Standard_D1` to `Standard_D4`
    + * `Standard_G1` to `Standard_G5`
    + * `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`
    +
    +
    +##### Named location
    +
    +For convenience, you can define a named location, like:
    +
    +{% highlight properties %}
    +brooklyn.location.named.azure-west-europe=jclouds:azurecompute:West Europe
    +brooklyn.location.named.azure-west-europe.displayName=Azure West Europe
    
+brooklyn.location.named.azure-west-europe.imageId=b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20150123-en-us-30GB
    +brooklyn.location.named.azure-west-europe.hardwareId=BASIC_A2
    +brooklyn.location.named.azure-west-europe.user=test
    +brooklyn.location.named.azure-west-europe.password=MyPassword1!
    +{% endhighlight %}
    +
    +This will create a location named `azure-west-europe`. It will inherit all 
the configuration
    +defined on `brooklyn.location.jclouds.azurecompute`. It will also augment 
and override this
    +configuration (e.g. setting the display name, image id and hardware id).
    +
    +On Linux VMs, The `user` and `password` will create a user with that name 
and set its password,
    +disabling the normal login user and password defined on the `azurecompute` 
location.
    +
    +
    +#### Windows VMs on Azure
    +
    +The following configuration options are important for provisioning Windows 
VMs in Azure:
    +
    +* `osFamily: windows` tells Apache Brooklyn to consider it as a Windows 
machine
    +
    +* `useJcloudsSshInit: false` tells jclouds to not try to connect to the VM
    +
    +* `vmNameMaxLength: 15` tells the cloud client to strip the VM to maximum 
15 characters. 
    +  This is the maximum size supported by Azure Windows VMs.
    +
    +* `winrm.useHttps` tells Apache Brooklyn to configure the WinRM client to 
use HTTPS.
    +  
    +  This is currently not supported in the default configuration for other 
clouds, where
    +  Apache Brooklyn is deploying Windows VMs.
    +
    +  If the parameter value is `false` the default WinRM port is 5985; if 
`true` the default port 
    +  for WinRM will be 5986. Use of default ports is stongly recommended.
    +
    +* `winrm.useNtlm` tells Apache Brooklyn to configure the WinRM client to 
use NTLM protocol.
    +
    +  For Azure, this is mandatory.
    +  
    +  For other clouds, this value is used in the cloud init script to 
configure WinRM on the VM.   
    +  If the value is `true` then Basic Authentication will be disabled and 
the WinRM client will only use Negotiate plus NTLM.  
    +  If the value is `false` then Basic Authentication will be enabled and 
the WinRM client will use Basic Authentication.
    +
    +  NTLM is the default Authentication Protocol.
    +
    +  The format of this configuration option is subject to change: WinRM 
supports several 
    +  authentication mechanisms, so this may be changed to a prioritised list 
so as to
    +  provide fallback options.
    +
    +* `user` tells Apache Brooklyn the user to login as (in this case using 
WinRM).  
    --- End diff --
    
    "in this case" not sure I understand what the case is here?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to