Python script that manages resources in the System Center Virtual Machine Manager (SCVMM), in a declarative way, based on a YAML configuration file.
- The inventory file schema has completely changed. See the inventory_example.yaml file for more details.
- The command parameters were renamed to be more consistent.
- The API and inventory schema are now stable.
You need a Windows machine, which will serve as the access point to SCVMM, with the following tools:
- OpenSSH
- SCVMM's PowerShell Module (virtualmachinemanager), installed with the Virtual Machine Manager (VMM) Console. You can also get it at https://github.com/MP-ES/VirtualMachineManager-PowerShellModule
pip install -U vmm-manager
Use the command below to see the available options:
vmm_manager -h
You can set environment variables to avoid passing the same parameters every time you run the script. See an example in the .env.default file.
Run the following commands to install Poetry:
# install
curl -sSL https://install.python-poetry.org | python3 -
# auto-completion
# Bash
poetry completions bash >> ~/.bash_completion
Use the .env.default file as a template to create a .env file with the environment variables needed to run the script. You can load them by running the command export $(cat .env | xargs)
before executing the script.
# Loading environment variables (optional)
export $(cat .env | xargs)
# Install dependencies
poetry install --no-root
# Run
poetry run python -m vmm_manager -h
# Poetry shell
poetry shell
# Add a dependency
poetry add <pacote> [--dev]
# Update dependencies
poetry update
# Run linting
./lint.sh
# Fix dependencies sorting
isort .
# Run tests
python -m pytest -vv
# List virtualenvs
poetry env list
# Remove a virtualenv
poetry env remove <name>