Class: Bosh::OpenstackRegistry::Runner

Inherits:
Object
  • Object
show all
Includes:
YamlHelper
Defined in:
lib/openstack_registry/runner.rb

Instance Method Summary collapse

Methods included from YamlHelper

#load_yaml_file

Constructor Details

#initialize(config_file) ⇒ Runner

Returns a new instance of Runner.



7
8
9
10
11
12
13
14
# File 'lib/openstack_registry/runner.rb', line 7

def initialize(config_file)
  Bosh::OpenstackRegistry.configure(load_yaml_file(config_file))

  @logger = Bosh::OpenstackRegistry.logger
  @http_port = Bosh::OpenstackRegistry.http_port
  @http_user = Bosh::OpenstackRegistry.http_user
  @http_password = Bosh::OpenstackRegistry.http_password
end

Instance Method Details

#runObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/openstack_registry/runner.rb', line 16

def run
  @logger.info("BOSH OpenStack Registry starting...")
  EM.kqueue if EM.kqueue?
  EM.epoll if EM.epoll?

  EM.error_handler { |e| handle_em_error(e) }

  EM.run do
    start_http_server
  end
end

#start_http_serverObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/openstack_registry/runner.rb', line 34

def start_http_server
  @logger.info "HTTP server is starting on port #{@http_port}..."
  @http_server = Thin::Server.new("0.0.0.0", @http_port, :signals => false) do
    Thin::Logging.silent = true
    map "/" do
      run Bosh::OpenstackRegistry::ApiController.new
    end
  end
  @http_server.start!
end

#stopObject



28
29
30
31
32
# File 'lib/openstack_registry/runner.rb', line 28

def stop
  @logger.info("BOSH OpenStack Registry shutting down...")
  @http_server.stop! if @http_server
  EM.stop
end