Commit 09b1f322 authored by Attila Farkas's avatar Attila Farkas
Browse files

update readme and requirements

parent 4bc0835e
......@@ -3,7 +3,7 @@
A next generation of https://gitlab.ics.muni.cz/KYPO-content/KYPO-Creator
generate.py is a python program that generates a vagrant source file from a definition in yaml.
generate.py is a python program that generates a vagrant source file from a definition in yaml. This yaml file contains definitions of devices (hosts and routers) and networks. Its structure is described below.
### Usage:
1. Clone the project.
......@@ -11,34 +11,32 @@ generate.py is a python program that generates a vagrant source file from a defi
3. Type `$ python generate.py yaml_file.yaml`. There is a test yaml file in the repository called test.yaml.
4. Run `$ vagrant up`
### Implemented attribute types:
- all simple vagrant attributes
- flavors, memory, cpus
- a simple network (assigning ip and netmask to a device)
### Input yaml file structure
### Not implemented yet:
- VirtualBox and OpenStack attributes
- other network configuration
### Working yaml attributes
- hosts
- all string, integer and boolean [vagrant attributes](https://www.vagrantup.com/docs/vagrantfile/machine_settings.html) (mappings of vagrant attribute names to yaml attributes are in name_mapping/mapping.yml)
- flavor
- memory
- cpus
- networks
- name
- cidr
- net_mappings
- host
- network
- ip
- routers
- name
- router_mappings
- router
- network
- ip
- `hosts`: a list of host devices. All attributes of these virtual machines are defined here. Every host must have a unique `name` and a `base_box`.
- `name`: unique name of the device (required)
- `base_box`: an OS image that will be installed on the machine (required)
- `cpus`: number of CPU units
- `memory`: required memory size in MB
- `flavors`: a quick definition of memory and cpus (details below)
- other simple [vagrant attributes](https://www.vagrantup.com/docs/vagrantfile/machine_settings.html)
- `routers`: a list of routers. Routers need only a unique name. All other attributes are preset (Debian 10 with 256MB memory and 2 CPUs).
- `name`: a unique router name (required)
- `networks`: list of networks
- `name`: unique name of the network (required)
- `cidr`: ip address of the network in cidr notation
- `net_mappings`: mappings of host machines to a network. This list defines the ip addresses of host in certain networks
- `host`: name of an existing host
- `network`: name of an existing network
- `ip`: ip address of the host in the network
- `router_mappings`: similar to net_mappings. It defines the addresses of routers inside networks.
- `router`: name of an existing router
- `network`: name of an existing network
- `ip`: ip address of the router in the network
#### Flavors
......@@ -58,6 +56,16 @@ Flavors provide a quick way to choose hardware specs (like number of cpus and me
| csirtmu.jumbo16x32 | 16 | 32768 |
| csirtmu.jumbo16x64 | 16 | 65536 |
### Implemented attribute types:
- all simple vagrant attributes
- flavors, memory, cpus
- a simple network (assigning ip and netmask to a device)
- simple routing (one router between networks)
### Not implemented yet:
- other VirtualBox attributes
- more complex routing
### Known [issues](https://gitlab.ics.muni.cz/cs4eu/sandbox-creator/issues):
- after running on Windows the output may contain invalid multibyte chars
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment