Skip to content

XML-RPC server, simulator of OpenNebula cloud responses.

Notifications You must be signed in to change notification settings

goat-project/xmlrpc-server

Repository files navigation

XML-RPC server, simulator of OpenNebula cloud responses

XML-RPC server simulates OpenNebula cloud responses for testing of Goat.

Requirements

Simulated functions

Input files

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:

  1. The number of events to generate (required)
  2. First TimeStamp of the whole simulation (format YYYY-MM-DD, defalut=today)
  3. Max number of available existing objects (required)
  4. The percentage number of objects out of the maximum, which should exist on average (default=50)
  5. The number of users using simulated cloud (default=20)
  6. The number of groups in the simulated cloud (default=7)
  7. The name of the cloud (default='MADCLOUD')
  8. In which mode will MAD Generator run ['vm', 'network', 'storage'] (required)

Installation

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

Configuration

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 and PORT 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)

Example

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

Container

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

Contributing

  1. Fork xmlrpc-server.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin my-new-feature).
  5. Create a new Pull Request.

About

XML-RPC server, simulator of OpenNebula cloud responses.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published