Skip to content

Latest commit

 

History

History
118 lines (80 loc) · 4.25 KB

File metadata and controls

118 lines (80 loc) · 4.25 KB

Contributing

Thank you for your interest in contributing to the Azure Local Load Tools project. Contributions are welcome — especially around testing with different workload profiles, Azure Local configurations, and performance benchmarking tools.

Before You Start

  • Read the README for an overview of the project
  • This project runs performance and load testing tools on Azure Local clusters — test all changes in a non-production environment
  • Check open issues and pull requests to avoid duplicate work

How to Contribute

Reporting Bugs

Use the bug report issue template. Include:

  • Azure Local version (22H2, 23H2, etc.)
  • Cluster and storage configuration
  • Which tool or script failed (VMFleet, fio, iPerf, HammerDB, stress-ng)
  • Full error message and relevant log output

Suggesting Features

Use the feature request issue template. Describe the use case, not just the solution.

Documentation Issues

Use the documentation issue template for missing, incorrect, or unclear docs.

Submitting Pull Requests

  1. Fork the repo and create a branch from main
  2. Name branches using conventional types: feat/vmfleet-monitoring, fix/iperf-timeout, docs/workload-profiles
  3. Keep changes focused — one logical change per PR
  4. Update the README and relevant docs/ pages if your change affects usage or prerequisites
  5. Add an entry to CHANGELOG.md under [Unreleased]
  6. Test your changes against at least one real Azure Local environment before submitting
  7. Fill out the pull request template completely

Commit Messages

This project uses Conventional Commits:

<type>(<scope>): <description>
Type When
feat New feature
fix Bug fix
docs Documentation only
infra CI/CD, workflows, config
chore Maintenance
refactor Code improvement, no behavior change
test Tests

Examples:

  • feat(vmfleet): add IOPS trending dashboard
  • fix(fio): correct block size parameter parsing
  • docs(getting-started): add cluster prerequisites

Development Guidelines

PowerShell Style

  • Use approved PowerShell verbs (Get-, Set-, New-, Remove-, etc.)
  • Include [CmdletBinding()] and param() blocks on all scripts
  • Use Write-Verbose for diagnostic output, Write-Warning for non-fatal issues, Write-Error for failures
  • Guard destructive operations with -WhatIf / -Confirm where practical

Testing

  • Test against a real Azure Local environment before submitting
  • Include performance baselines or comparative results when relevant
  • Describe your test environment and results in the PR

Standards

This project follows the org-wide AzureLocal standards documented at azurelocal.cloud/standards. Key references:

Working Independently

This repository can be used as a standalone project without the parent multi-root workspace.

Open Only This Repository

  1. Open VS Code
  2. File > Open Workspace from File > select azurelocal-loadtools.code-workspace
  3. All recommended extensions will be prompted for installation

Prerequisites

  • Python 3.x and pip (for MkDocs documentation)
  • MkDocs Material: pip install mkdocs-material

Run Documentation Locally

mkdocs serve

Browse to http://127.0.0.1:8000

Build Documentation

mkdocs build

Code of Conduct

Be respectful and constructive. Keep discussions on-topic and collaborative.