Git Product home page Git Product logo

azure / azure-quickstart-templates Goto Github PK

View Code? Open in Web Editor NEW
13.7K 736.0 15.9K 812.78 MB

Azure Quickstart Templates

Home Page: https://aka.ms/azqst

License: MIT License

Shell 20.79% Python 0.47% PowerShell 21.52% Groovy 0.03% JavaScript 17.93% Batchfile 0.01% XSLT 0.07% HTML 0.09% HCL 0.13% Java 0.12% CSS 0.14% Dockerfile 0.01% C# 0.21% TSQL 0.01% HiveQL 0.01% Solidity 0.01% Bicep 38.49%
azure templates arm bicep bicep-templates arm-templates

azure-quickstart-templates's Introduction

Azure Resource Manager QuickStart Templates

This repo contains all currently available Azure Resource Manager templates contributed by the community. A searchable template index is maintained at azure.com.

See the Contribution guide for how to use or contribute to this repo.

NOTE

We have finished migration of the samples to subfolders, see azure.com if you need help finding a sample. A few obsolete samples were removed in the migration.

Final Note

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

azure-quickstart-templates's People

Contributors

akhilthomas011 avatar akinfemi avatar alex-frankel avatar amalik99 avatar bingosummer avatar bmoore-msft avatar chlync avatar darrinhodges avatar gatneil avatar gbowerman avatar johnathonmohr avatar johndowns avatar kenazk avatar leestott avatar liupeirong avatar marcvaneijk avatar markjbrown avatar mcklmt avatar mksuni avatar mssedusch avatar mumian avatar nepomuceno avatar olga-spektra avatar praveenanil avatar rahulkadam5991 avatar rarsan avatar singhkays avatar trentmswanson avatar varunbeesu avatar yane3628 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

azure-quickstart-templates's Issues

The bot that checks pull requests gives erroneous messages

If someone improves an existing template and issues a pull request the bot will respond:

"The following issues were detected in this pull request:

Template: CentOS-2nics-lb-cluster
•The 'githubUsername' property in metadata.json does not match the name of the author of the pull request (aculich)."

This is problematic in many ways. Firstly, the person issuing the pull request is not the original author and so the metadata property will be difference.

Secondly, providing credit for the original contributor, but not subsequent contributors misses the point of community contributions.

Finally, what if a subsequent contributor improves the template significantly and, as a result, the new version barely resembles the original. Do we change the author at this point? If so when do we change it and what does that say about the original contributor?

What's the solution?

Personally I would use Git history to identify authors but an alternative approach would be to allow multiple values in the metadata file.

Thoughts?

VM deployment failures from template in US West

I have a template that can deploy a large # of VMs at once...I typically use US West for region, and just yesterday I started receiving this error in Azure as VM deployments failed (but not all of the VMs, just most of them):

{"status":"Failed","error":{"code":"ResourceDeploymentFailure","message":"The resource operation completed with terminal provisioning state 'Failed'.","details":[{"code":"ArtifactNotFound","message":"The VM extension with publisher 'Microsoft.WindowsAzure.GuestAgent', and type 'CRPProd', could not be found in location 'westus'."}]

I'm not really sure what this means...any ideas?

The template I'm using is here: https://github.com/bkvarda/sioazure/blob/master/sioazure/Templates/DeploymentTemplate.json

diskraid-ubuntu-vm 'The template parameter 'osSettings' is not valid.'

Beginning in line192:

"storageProfile": {
          "imageReference": "[parameters('osSettings').imageReference]",
          "osDisk": {
            "name": "osdisk",
            "vhd": {
              "uri": "[concat('http://', parameters('storageAccountName'),'.blob.core.windows.net/vhds/', 'myvm', '-osdisk.vhd')]"
            },
            "caching": "ReadWrite",
            "createOption": "FromImage"
          },

The problem is:
"imageReference": "[parameters('osSettings').imageReference]",
Because there is no 'osSettings' parameter in parameters decalred at the beginning of the template.

Fix "drone" template to use the new Docker extension

The drone template currently uses the old Docker VM Extension MSOpenTech.Extensions.DockerExtension which is being deprecated. This should be replaced with new one.

Opening an issue here to remind the template owner @anweiss for the 3rd time now. :-)

201-dependency-between-scripts-using-extensions does not work

  1. When I deploy it, I got the message from portal:
    {"error":{"code":"BadRequest","message":"Multiple extensions per handler not supported for OS type 'Linux'. Extension 'installmongo' with handler 'Microsoft.OSTCExtensions.CustomScriptForLinux' already added."}}
  2. "fileUris" in azuredeploy.json should be https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-dependency-between-scripts-using-extensions/mongo-configure-ubuntu.sh.

DomainJoin DSC template fails frequently

Roughly 20% of the time, the domainjoin DSC script fails with:

[[xWaitForADDomain]WaitForDomain] Checking for domain 'relad.local' ...
[[xWaitForADDomain]WaitForDomain] Domain 'relad.local' NOT found.

It does that 20 times and fails the DSC extension. However, when I log into the box to find out what happened, the box was actually successfully added to the domain.

Custom Template Deployment Not Working on Ibiza Portal

This is not a GitHub repo issue per se, but it's a bit related. Here's the issue:

Clicking on the Deploy to Azure button from both the GitHub repo or the templates gallery on http://azure.microsoft.com/en-us/documentation/templates/ has not been working since early this morning (7/11/2015). The original URL (e.g.: https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fdocker-simple-on-ubuntu%2Fazuredeploy.json) which typically resulted in the custom template being loaded into the portal blade is now getting redirected to the blank template instead (https://portal.azure.com/#create/Microsoft.Template).

FYI, here's what the experience currently looks like after clicking on the Deploy to Azure button:
deploymenttemplateportalissue-7-11-2015-1

And this is what it looks like after clicking on the Create button:
deploymenttemplateportalissue-7-11-2015-2

101-simple-linux-vm : Ubuntu 14.10 not available (new)

Today my templates, which are in part based on the quick start template mentioned in the title above, started to fail with Azure complaining that Ubuntu 14.10 couldn't be found. The quick start template also fails with the same message:

{"error":{"code":"NotFound","target":"imageReference","message":"The platform image 'Canonical:UbuntuServer:14.10' is not available. Verify that all fields in the storage profile are correct."}}

Does anyone know where there is a catalog of all available resources and their current configuration parameters? This has happened to me before with a chef extension and I got lucky finding the correct version number.

Input endpoints via template?

I created a VM using the portal and configured some endpoints to expose some special ports to the outside. I wanted to see what the configuration looked like using Azure Resource Explorer(Preview) and it shows input endpoints under the networkProfile of the VM. How can I set up these endpoints for a VM using a resource template? I didn't see anything in the schema definitions about it.

excerpt from Resource Explorer (resources.azure.com) for my VM:

"networkProfile": {
"inputEndpoints": [
{
"endpointName": "ESAdmin",
"privatePort": 2113,
"publicPort": 2113,
"protocol": "tcp",
"enableDirectServerReturn": false
},
{
"endpointName": "ESTCP",
"privatePort": 1113,
"publicPort": 1113,
"protocol": "tcp",
"enableDirectServerReturn": false
},
{
"endpointName": "Remote Desktop",
"privatePort": 3389,
"publicPort": 3389,
"protocol": "tcp",
"enableDirectServerReturn": false
},
{
"endpointName": "WinRM",
"privatePort": 5986,
"publicPort": 5986,
"protocol": "tcp",
"enableDirectServerReturn": false
}
]
}

How to deploy VMs in Existing Virtual Network without creating new one?

I have a preconfigured virtual network in azure and it is already connected to on premise network via dynamic gateway. I can deploy virtual machines inside VNET using powershell commands.

Equivalent PS command :
New-AzureVM -ServiceName VNETVMS -VMs ( ( New-AzureVMConfig -Name VNETVMS-role-0 -InstanceSize Small -ImageName CENTOS67-WA2014-PREPARED-20150812 | Add-AzureProvisioningConfig -Linux -LinuxUser test -Password "L---e" | Set-AzureSubnet -SubnetNames Subnet2 | Set-AzureEndpoint -Name "SSH" -LocalPort "22" -PublicPort "22" -Protocol "tcp" | Add-AzureEndpoint -Name "TCPtest" -LocalPort "750" -PublicPort "750" -Protocol "tcp" | Add-AzureEndpoint -Name "UDPtest" -LocalPort "990" -PublicPort "990" -Protocol "udp" ) , ( New-AzureVMConfig -Name VNETVMS-role-1 -InstanceSize Small -ImageName CENTOS67-WA2014-PREPARED-20150812 | Add-AzureProvisioningConfig -Linux -LinuxUser test -Password "L---e" -SSHPublicKeys | Set-AzureSubnet -SubnetNames Subnet1 | Set-AzureEndpoint -Name "SSH" -LocalPort "22" -PublicPort "222" -Protocol "tcp" | Add-AzureEndpoint -Name "TCPtest" -LocalPort "2750" -PublicPort "2750" -Protocol "tcp" | Add-AzureEndpoint -Name "UDPtest" -LocalPort "2990" -PublicPort "2990" -Protocol "udp" ) ) -VNetName AzureDTAP02Net -DnsSettings (New-AzureDns -Name "DNSsettings" -IPAddress "192.168.3.120")

This command deploys two VMs in "AzureDTAP02Net" Virtual Network. How do I achieve this using Azure Resource Manager?

Error when extensions are provisioning

I have a deployment template that has worked for some time...today though I'm getting this error when VM extensions are being provisioned:

{"error":{"code":"VMArtifactRepositoryInternalError","message":"An error occurred while communicating with the artifact repository to retrieve VM artifact details."}}

Any ideas?

How to connect the PXC cluster

I used mysql-ha-pxc to build up pxc cluster.
I have tried several quickstart templates using the Deploy to Azure button and built up successfully.

I didn't figure out that how to connect to the cluster by "mysql -h 'azure dns' -u test -p" and then I tried to ping the public IP such like 'ping 138.91.147.179' and request was timed out.

Change azuredeploy.net links with new ones

Some README files still have the old Deploy to Azure links that redirect to the old website:

$ ack 'href="https?://azuredeploy.net/?"'
101-webapp-with-golang/README.md
3:<a href="https://azuredeploy.net/" target="_blank">

201-list-storage-keys-windows-vm/README.md
3:<a href="https://azuredeploy.net" target="_blank">

arm-asm-s2s/README.md
3:<a href="https://azuredeploy.net/" target="_blank">

coreos-with-fleet-multivm/README.md
3:<a href="https://azuredeploy.net/" target="_blank">

deis-cluster-coreos/README.md
3:<a href="https://azuredeploy.net/" target="_blank">

vm-d14-high-iops-32-data-disks/README.md
5:<a href="https://azuredeploy.net" target="_blank">

web-app-dsc-vm/README.md
3:<a href="https://azuredeploy.net/" target="_blank">

VM extension error when deploying CentOS-2nics-lb-cluster template

Using the deploy template for https://github.com/Azure/azure-quickstart-templates/tree/master/CentOS-2nics-lb-cluster I receive this VM extension error message:

statusCode:Conflict
statusMessage:{"status":"Failed","error":{"code":"ResourceDeploymentFailure","message":"The resource operation completed with terminal provisioning state 'Failed'.","details":[{"code":"VMExtensionProvisioningError","message":"VM has reported a failure when processing extension 'extension'. Error message: \"Enable failed:HTTP Error 404: Not Found\"."}]}}

Look like the setting comes from azuredeploy.json#L476.

Community Ask: How should we rename/move templates?

Hi Community,

We're excited to see tremendous excitement regarding templates from you :) We want to make sure this repo continues to drive value for you and your voice is heard when we make changes that will affect the way you consume this resource.

Over the past few weeks, we've been thinking about organizing the repo so it provides a better experience for those just getting started with templates. The intended learning pattern is to go through 101->201->Application templates however we've seen some templates that could be served better if they had a 101 or 201 prefix (e.g. windows-vm-push-certificate, windows-vm-custom-script). We realize that you might have taken a dependency on the URLs for these template folders and by renaming we would break you, leading to a 404. This brings me to our proposal for balancing our needs for organizing and your bookmarked URLs leading you to the right place. The proposed process will serve for any future renaming needs.

  1. Create a new folder with the preferred name
  2. Move over all the files from the old folder to the new folder
  3. Create a readme.md file in the old folder with a URL to the new location
  4. Remove the old folder after 60 days

Please let us know your thoughts on the above process or any other solutions.

cc: @rgardler @johngossman

Linux chef client extension not valid

The type and typehandlerversion parameters ("LinuxChefClient" and "1204.12") shown in various Chef client examples seem to be invalid - Azure complains that the extension could not be found in the extension repository. I am guessing that the version has probably been updated since the the example templates were created. In general, does anyone know where to find a complete listing of all extensions and their versions? Also, the example templates should be updated.

Here is the example template I derived my template from, though they all appear to use the same type and version info:

https://github.com/Azure/azure-quickstart-templates/tree/b1908e74259da56a92800cace97350af1f1fc32b/chef-json-parameters-ubuntu-vm

Also, here is the Azure complaint:
Microsoft.Compute/virtualMachines/extensions 'hazelcast-vm/chefClient' failed
17:35:31 - with message 'Extension with publisher 'Chef.Bootstrap.WindowsAzure', type
17:35:31 - 'LinuxChefClient', and type handler version '1204.12' could not be found in
17:35:31 - the extension repository.'

Should downscale work?

My template uses the copy function to create a variable number of VM and Nic's. I have noticed that upscaling works perfectly - if I redeploy with a new number (parameter) of nodes more get added. If I try to reduce the number, however, nothing gets removed. Is this the intended behavior?

sql-server-2014-alwayson-dsc - DSC Failure on Backup DC

Update 1 - it's not the Install-DscExtensionPhaseTwo function, that doesn't appear to ever be called..

Update 2 - manually creating the file "Install-Continue.dsc" (normally done in "Step 2" on line 372 of Install.psm1) and re-running enable.ps1 continues to run successfully, and pulls down CreateADBDC.ps1.0 as expected

When deploying this ARM template, it repeatedly fails to enable the DSC extension on the backup DC.

After diving into the DSC Logs from the dc-bdc machine, it seems that the issue could be in the function Install-DscExtensionPhaseTwo within the Install.psm1 module, based on the log entries below; from what I can gather I would expect to see a log entry for "Verifying that the WMF package was installed..." that the script is falling through Step 3 of the Install.psm1 module, and perhaps Step 2 isn't creating the Install-Continue.dsc file in the DSCWork directory.

CommandExecution_0:
image

CommandExecution_1:
image

CommandExecution_2:
image

dynamic key names?

I'm creating a template for azure website. Trying to add a connection string, but I want the name of the string to be passed in as a parameter. So that the template can be more generic for various projects.

obviously the following doesn't work. Any suggestions?

                {
                    "apiVersion": "2015-04-01",
                    "name": "connectionstrings",
                    "type": "config",
                    "properties": {
                        "[parameters['connStringName]": {
                            "value": "[parameters('sqlConn')]",
                            "type": "SQLAzure"
                        }
                    }
                }

Complaining:

verbose: Error: Deployment template validation failed: 'The template resource 'connectionstrings' at line '1' and column '1959' is not valid: Template language expression '[parameters('connStringName')]' is not expected at this location..'.
    at Function.ServiceClient._normalizeError (/usr/local/lib/node_modules/azure-cli/node_modules/azure-common/lib/services/serviceclient.js:815:23)
    at /usr/local/lib/node_modules/azure-cli/node_modules/azure-common/lib/services/filters/errorhandlingfilter.js:44:29
    at Request._callback (/usr/local/lib/node_modules/azure-cli/node_modules/azure-common/lib/http/request-pipeline.js:109:14)
    at Request.self.callback (/usr/local/lib/node_modules/azure-cli/node_modules/azure-common/node_modules/request/request.js:199:22)
    at Request.emit (events.js:110:17)
    at Request.<anonymous> (/usr/local/lib/node_modules/azure-cli/node_modules/azure-common/node_modules/request/request.js:1160:14)
    at Request.emit (events.js:129:20)
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/azure-cli/node_modules/azure-common/node_modules/request/request.js:1111:12)
    at IncomingMessage.emit (events.js:129:20)
    at _stream_readable.js:908:16

Error while deploying Create Cluster extension in sql-server alwayson cluster template

Gives the following error
statusMessage:{"status":"Failed","error":{"code":"ResourceDeploymentFailure","message":"The resource operation completed with terminal provisioning state 'Failed'.","details":[{"code":"VMExtensionProvisioningError","message":"VM has reported a failure when processing extension 'CreateCluster'. Error message: "DSC Configuration completed with error(s)."."}]}}
Any hints ?

Is ARM support the Resource Provider "Microsoft.ClassicCompute"?

In 101-simple-linux-vm, I want to replace "Microsoft.Compute" with "Microsoft.ClassicCompute" to support V1 VM, but failed.

Is ARM support the Resource Provider "Microsoft.ClassicCompute", "Microsoft.ClassicStorage" and "Microsoft.ClassicNetwork"? Should I change the API version to "2015-06-01"?Thanks.

User image must be in same resource group as deployment!??!?!

The 101-vm-from-user-image template shows how to utilize a custom image in a template. It appears, however, that the image must preexist in the resource group, which of course doesn't make sense because you are using the template to create the resource group in the first place. This seems like a terrible implementation. Is there some way around this?

We want to have our user images in a separate storage account and just reference them in our resource manager templates. Is there some way to add them to a private gallery that is accessible to all our deployments?

How to deploy a template in Azure China Cloud?

I deployed microbosh-setup in Azure China Cloud with the following Powershell cmdlet:
New-AzureResourceGroup -Name "cf-china" -Location "China East" -TemplateUri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/microbosh-setup/azuredeploy.json"
After applying the parameters, I got error messages:
The resource namespace 'Microsoft.Network' is invalid.
The resource namespace 'Microsoft.Storage' is invalid.

How should I change the template json file to support Azure China Cloud?
Thanks

How to redeploy the template?

If I failed to deploy a template for the first time, I want to re-deploy it. It seems I have to deploy it from scratch. Is there a way to re-deploy it with the previous parameters? Thanks.

201-web-app-sql-database: 'Subscription '' does not have the server 'myserver'.'

I tried running the 201-web-app-sql-database template using the following parameters:

siteName: mySite
hostingPlanName: myPlan
siteLocation: West Europe
serverName: myserver
serverLocation: West Europe
databaseName: mydatabase

I created a new resource group MyResourceGroup which I used for the deployment. Deployment failed with the following error:

New-AzureResourceGroupDeployment : 15:17:22 - Resource Microsoft.Sql/servers 'myserver' failed with message

'Subscription '' does not have the server 'myserver'.'
At line:1 char:1
+ New-AzureResourceGroupDeployment -Name TestDeployment -ResourceGroupName MyRe ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzureResourceGroupDeployment], Exception
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Resources.NewAzureResourceGroupDeploymentCommand

The SQL Server does not exists yet and I would expect it to be provisioned through the template. Any ideas what's causing this error?

bosh-setup - Lost on deployment

Been trying to deploy azurebosh via the arm template, per the guide that is floating around, but apparently something has changed and it does not work the same. After deploying the template, it appears to be doing a regular bosh deployment vs using microbosh. After the rg is deployed, I install npm, azure cli, etc., & setup the SPN & such. I then update the ~/bosh.yml file to reflect subscription ID, app id, etc., then kick off the deploy_bosh.sh installer, which appears to succeed, but then because the guide directions are skewed, I don't know where the stemcell is that is to be uploaded.

Is the project in a state of flux now or something? Should I use the manual process?

201-site-to-site-vpn multiple subnets

how can you define two local address Prefixs ?

For example I want to connect to the local networks of 10.1.0.0/24 and 192.168.200./24 through a single S2S VPN.

VMsize choice

Why is the VMSize choice limited to the DS series only? These are premium SSD based series. It would be great if other regular VM sizes are allowed - it will be helpful for testing/lab work.

Can not deploy 201-vm-domain-join with New-AzureResourcegroup cmdlet

When attempting to deploy the example 201-vm-domain-join or any template with a DSC Configuration line 'ConfigurationFunction' the New-AzureResourceGroup and New-AzureResourcegroupDeployment cmdlets return a terminating exception.

if you use the preview portal's Custom deployment, no exceptions or errors occur at deployment time.

image

Environment
Windows 8.1
Windows powershell version 5.0.10105.0
Azure Powershell module 0.9.7

Growing a community around ARM templates: governance model

We want to grow a viable community around ARM templates. The goal is to ensure we can scale to accommodate as many contributions as we attract (truth is we are already struggling to stay on top of the pull requests - keep it up folks!)

To this end I propose the following lightweight governance model. It's heavily based on the model found in Apache projects and seeks to recognize and reward merit through active contribution. I welcome comments...

Overview

This is a meritocratic, consensus-based community project. Anyone with an interest in the project can join the community, contribute to our templates and supporting materials and participate in the decision making process. This document describes how that participation takes place and how to set about earning merit within the project community.

Roles and responsibilities

We are a self-organizing groups. Roles are defined to help people identify how they can help. There are a few things (like commit access to our repository) that require people to earn merit first, but in the whole everyone should feel free to help in any of the roles and responsibilities identified below.

Users

Users are community members who find our project outputs useful. Users are the most important members of the community. Without them the project would have no purpose. Anyone can be a user; there are no special requirements.
User contributions enable the project team to ensure that they are satisfying people's needs. Common user contributions include (but are not limited to):

  • evangelizing about the project (e.g. a link on a website, tweets, blogs and word-of-mouth awareness raising)
  • informing developers of strengths and weaknesses from a new user perspective • providing moral support (a ‘thank you’ goes a long way)

Users who continue to engage with the project and its community will often become more and more involved. Such users may find themselves becoming contributors, as described in the next section.

Contributors

Contributors are community members who contribute directly to the deliverables of the project. Anyone can become a contributor, and contributions can take many forms. There is no expectation of commitment to the project, no specific skill requirements and no selection process.
In addition to their actions as users, contributors may also find themselves doing one or more of the following:

  • supporting new users (existing users are often the best people to support new users)
  • reporting bugs
  • reviewing pull requests
  • identifying requirements
  • providing graphics and web design
  • programming
  • assisting with project infrastructure
  • writing documentation
  • fixing bugs
  • adding features

Contributors engage with the project through the issue tracker (which is fully integrated into mail clients for those who prefer such approaches). Changes to project resources such as templates, code and documentation are submitted via pull requests. These pull requests will be considered for inclusion in the project by project maintainers (see next section).

As contributors gain experience and familiarity with the project, their profile within, and commitment to, the community will increase. At some stage, they may find themselves being nominated as a committer.

Committer

Committers are community members who have shown that they are committed to the continued development of the project through ongoing engagement with the community. Being a committer allows contributors to more easily carry on with their project related activities by giving them write access to the project’s resources. That is, they can make changes directly to project outputs, without having to wait for another maintainer to review them.

This does not mean that a committer is free to do what they want. In fact, committers have no more authority over the project than contributors. While being a committer makes it faster to get changes into the project repositories this work continues to be reviewed by the community before formal acceptance into the project. The key difference between a committer and a contributor is when this approval is sought from the community. A committer seeks approval after the contribution is made, rather than before (this is called commit-then-review, while contributors operate through a review-then-commit process using pull requests).

It is more efficient to allow trusted people to make direct contributions, as the majority of those contributions will be accepted by the project. The project employs various communication mechanisms to ensure that all contributions are reviewed by the community as a whole. By the time a contributor is invited to become a committer, they will have become familiar with the project’s review processes and acceptance criteria.

Anyone can become a committer; there are no special requirements, other than to have shown a willingness and ability to participate in the project as a team player. Typically, a committer will demonstrate that they have an understanding of the project, its objectives and its strategy. They will also have provided valuable contributions to the project over a period of time.

New committers can be nominated by any existing committer. Once they have been nominated, there will be a vote by the project management committee (PMC; see below). Committer voting is one of the few activities that takes place on the project’s private management list. This is to allow PMC members to freely express their opinions about a nominee without causing embarrassment.

It is important to recognize that commitership is a privilege, not a right. That privilege must be earned and once earned it can be removed by the PMC (see next section) in extreme circumstances. However, under normal circumstances committership exists for as long as the committer wishes to continue engaging with the project.

A committer who shows an above-average level of contribution to the project, particularly with respect to its strategic direction and long-term health, may be nominated to become a member of the PMC. This role is described below.

Project Management Committee

The Project Management Committee (PMC) consists of those individuals identified as ‘project owners’ on the development site. The PMC has additional responsibilities over and above those of a committer. These responsibilities ensure the smooth running of the project. PMC members are expected to review all contribution to project outputs, participate in strategic planning, approve changes to the governance model and manage the copyrights within the project outputs.

Members of the PMC do not have significant authority over other members of the community, although it is the PMC that votes on new committers. It also makes decisions when community consensus cannot be reached. In addition, the PMC has access to the project’s private mailing list and its archives. This list is used for sensitive issues, such as votes for new committers and legal matters that cannot be discussed in public. It is never used for project management or planning.
Membership of the PMC is by invitation from the existing PMC members. A nomination will result in discussion and then a vote by the existing PMC members. PMC membership votes are subject to consensus approval of the current PMC members.

Chair

The PMC Chair is a single individual, voted for by the PMC members. Once someone has been appointed Chair, they remain in that role until they choose to retire, or the PMC casts a two-thirds majority vote to remove them.

The PMC Chair has no additional authority over other members of the PMC: the role is one of coordinator and facilitator. The Chair is also expected to ensure that all governance processes are adhered to, and has the casting vote when the project fails to reach consensus.

Example for placing vm into existing vnet

I'm trying to figure out how to make resource templates that integrate with existing resources (such as storage accounts and virtual networks). OSDisks reference storage accounts simply using the storage account URL, so that one is easy. However, I'm having problems with deploying a vm into an existing vnet (the vnet lives in another resource group). I'm sure I'm missing something, since a hard requirement on vm and vnet in the same resource group would just be plain stupid, but I can't seem to figure it out. I'd love to see an example template for that scenario.

201-site-to-site-vpn localNetworkGateways Resource fails to deploy

using the azure deploy button to start a custom deployment results in the localnetworkgateway failing to deploy.

STATUSMESSAGE
{"status":"Failed","error":{"code":"ResourceDeploymentFailure","message":"The resource operation completed with terminal provisioning state 'Failed'.","details":[{"code":"InternalServerError","message":"An error occured.","details":[]}]}}
RESOURCE
localGateway

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.