bootstrap-vz/bootstrapvz/base/remote/server.py
Anders Ingemann e271f3e49a Initial work on integration testing started.
The work consists of three parts:
* Allow for bootstrapping remotely,
  this makes it possible to run the tests
  on e.g. OSX with VirtualBox installed
* Make bootstrapping a fully automated process
  where the manifests can be generated by the tests
  and the tests can call the bootstrapper directly in python
* Create a framework wherein instances can be booted up
  using the bootstrapped images and subsequently tested
2015-04-16 22:15:17 +02:00

50 lines
1,008 B
Python

def main():
opts = getopts()
log_forwarder = setup_logging()
serve(opts, log_forwarder)
def setup_logging():
import logging
from log import LogForwarder
log_forwarder = LogForwarder()
root = logging.getLogger()
root.addHandler(log_forwarder)
root.setLevel(logging.NOTSET)
return log_forwarder
def serve(opts, log_forwarder):
class Server(object):
def run(self, *args, **kwargs):
from bootstrapvz.base.main import run
return run(*args, **kwargs)
def set_log_server(self, server):
return log_forwarder.set_server(server)
def ping(self):
return 'pong'
server = Server()
import Pyro4
daemon = Pyro4.Daemon('localhost', port=int(opts['--listen']), unixsocket=None)
daemon.register(server, 'server')
daemon.requestLoop()
def getopts():
from docopt import docopt
usage = """bootstrap-vz-server
Usage: bootstrap-vz-server [options]
Options:
--listen <port> Serve on specified port [default: 46675]
-h, --help show this help
"""
return docopt(usage)