XML-RPC server simulates OpenNebula cloud responses for testing of Goat.
- one.vmpool.info
- http://docs.opennebula.org/5.10/integration/system_interfaces/api.html#one-vmpool-info
- Retrieves information for all or part of the VMs in the pool.
- Retrieves information for VMs in the pool specified for the user by ID.
- one.vm.info
- http://docs.opennebula.org/5.10/integration/system_interfaces/api.html#one-vm-info
- Retrieves information for the virtual machine.
- one.userpool.info
- http://docs.opennebula.org/5.10/integration/system_interfaces/api.html#one-userpool-info
- Retrieves information for all the users in the pool.
- one.imagepool.info
- http://docs.opennebula.org/5.10/integration/system_interfaces/api.html#one-imagepool-info
- Retrieves information for all or part of the images in the pool.
- one.vnpool.info
- http://docs.opennebula.org/5.10/integration/system_interfaces/api.html#one-vnpool-info
- Retrieves information for all or part of the virtual networks in the pool.
- one.hostpool.info
- http://docs.opennebula.org/5.10/integration/system_interfaces/api.html#one-hostpool-info
- Retrieves information for all the hosts in the pool.
- one.clusterpool.info
- http://docs.opennebula.org/5.10/integration/system_interfaces/api.html#one-clusterpool-info
- Retrieves information for all the clusters in the pool.
Input files should be generated by MAD generator. It creates directory with subdirectories
in <resource>_inputs/
format (for example vm_inputs/
, user_inputs/
, etc.) and each subdirectory contains
XML representation of given resource. Generated resources are: virtual machine (vm), user, image, host, cluster.
The MAD simulates cloud life and generates accounting records based on received arguments. The program is used to generate consistent data for functional and scaling tests.
The MAD has to be run with --output-type=opennebulaxml
flag to generate OpenNebula responses in XML format. The MAD also contains settings of:
- The number of events to generate (required)
- First TimeStamp of the whole simulation (format YYYY-MM-DD, defalut=today)
- Max number of available existing objects (required)
- The percentage number of objects out of the maximum, which should exist on average (default=50)
- The number of users using simulated cloud (default=20)
- The number of groups in the simulated cloud (default=7)
- The name of the cloud (default='MADCLOUD')
- In which mode will MAD Generator run ['vm', 'network', 'storage'] (required)
The recommended way to install xmlrpc-server is using git clone
:
git clone git@github.com:goat-project/xmlrpc-server.git
or
git clone https://github.com/goat-project/xmlrpc-server.git
usage: server.py [-h] [--host HOST] [--port PORT] --input-dir INPUT_DIR
[-d DEBUG] [--log-path LOG_PATH]
the following arguments are required: --input-dir
HOST
andPORT
create address where the xmlrpc-server listens (default=localhost:2633
)INPUT_DIR
is path to directory where resources are in xml format (REQUIRED)DEBUG
True for debug mode; False otherwise (default=False)LOG_PATH
Path to log (default=log)
Run xmlrpc-server at 192.168.122.213:2634
and use input directory inputs
.
python3 server.py --host 192.168.122.213 --port 2634 --input-dir inputs
The xmlrpc-server should run into the container described in Dockerfile. Build and run commands:
docker build -t xmlrpc-server .
docker run --rm --network host --name server xmlrpc-server
- Fork xmlrpc-server.
- Create your feature branch (git checkout -b my-new-feature).
- Commit your changes (git commit -am 'Add some feature').
- Push to the branch (git push origin my-new-feature).
- Create a new Pull Request.