https://github.com/mp-es/vmm_manager
Management of resources on System Center Virtual Machine Manager (SCVMM) in a declarative way.
https://github.com/mp-es/vmm_manager
ansible hacktoberfest python scvmm
Last synced: about 1 year ago
JSON representation
Management of resources on System Center Virtual Machine Manager (SCVMM) in a declarative way.
- Host: GitHub
- URL: https://github.com/mp-es/vmm_manager
- Owner: MP-ES
- License: mit
- Created: 2020-03-18T18:10:11.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-07T23:02:59.000Z (over 1 year ago)
- Last Synced: 2025-03-27T02:07:58.505Z (over 1 year ago)
- Topics: ansible, hacktoberfest, python, scvmm
- Language: Python
- Homepage:
- Size: 424 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vmm-manager
Python script that manages resources in the System Center Virtual Machine Manager (SCVMM), in a declarative way, based on a YAML configuration file.
[](LICENSE)
[](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3AIntegration)
[](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3ARelease)
[](https://pypi.python.org/pypi/vmm-manager)
[](https://pypi.python.org/pypi/vmm-manager)
## Breaking changes
### 1.0.0
- The inventory file schema has completely changed. See the [**inventory_example.yaml**](inventory_example.yaml) file for more details.
- The command parameters were renamed to be more consistent.
- The API and inventory schema are now stable.
## Prerequisites
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
## Installation
```shell
pip install -U vmm-manager
```
## How to use
Use the command below to see the available options:
```shell
vmm_manager -h
```
### Environment variables
You can set environment variables to avoid passing the same parameters every time you run the script. See an example in the [**.env.default**](.env.default) file.
### Example of a inventory file
[inventory_example.yaml](inventory_example.yaml)
## Development
### Install Poetry
Run the following commands to install Poetry:
```shell
# install
curl -sSL https://install.python-poetry.org | python3 -
# auto-completion
# Bash
poetry completions bash >> ~/.bash_completion
```
### Environment variables (optional)
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.
### How to run
```shell
# Loading environment variables (optional)
export $(cat .env | xargs)
# Install dependencies
poetry install --no-root
# Run
poetry run python -m vmm_manager -h
```
### Helpful commands
```shell
# Add a dependency
poetry add [--dev]
# Update dependencies
poetry update
# Run linting
poetry run ./lint.sh
# Fix dependencies sorting
poetry run isort .
# Run tests
poetry run python -m pytest -vv
# List virtualenvs
poetry env list
# Remove a virtualenv
poetry env remove
```
## References
- [Virtual Machine Manager](https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/?view=systemcenter-ps-2019)
- [Poetry](https://python-poetry.org/)