Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 month 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 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-04T00:33:16.000Z (about 1 month ago)
- Last Synced: 2024-10-14T20:41:06.867Z (about 1 month ago)
- Topics: ansible, hacktoberfest, python, scvmm
- Language: Python
- Homepage:
- Size: 385 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
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://img.shields.io/github/license/MP-ES/vmm_manager.svg)](LICENSE)
[![Integration](https://github.com/MP-ES/vmm_manager/workflows/Integration/badge.svg)](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3AIntegration)
[![Release](https://github.com/MP-ES/vmm_manager/workflows/Release/badge.svg)](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3ARelease)
[![Python](https://img.shields.io/pypi/pyversions/vmm-manager.svg)](https://pypi.python.org/pypi/vmm-manager)
[![PyPI](http://img.shields.io/pypi/v/vmm-manager.svg)](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
# Poetry shell
poetry shell# Add a dependency
poetry add [--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
```## References
- [Virtual Machine Manager](https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/?view=systemcenter-ps-2019)
- [Poetry](https://python-poetry.org/)