Class: Bosh::OpenstackRegistry::ServerManager

Inherits:
Object
  • Object
show all
Defined in:
lib/openstack_registry/server_manager.rb

Instance Method Summary collapse

Constructor Details

#initializeServerManager

Returns a new instance of ServerManager.



7
8
9
10
# File 'lib/openstack_registry/server_manager.rb', line 7

def initialize
  @logger = Bosh::OpenstackRegistry.logger
  @openstack = Bosh::OpenstackRegistry.openstack
end

Instance Method Details

#delete_settings(server_id) ⇒ Object



39
40
41
# File 'lib/openstack_registry/server_manager.rb', line 39

def delete_settings(server_id)
  get_server(server_id).destroy
end

#read_settings(server_id, remote_ip = nil) ⇒ Object

Reads server settings

Parameters:

  • server_id (String)

    OpenStack server id

  • remote_ip (optional, String) (defaults to: nil)

    If this IP is provided, check will be performed to see if the server id actually has this IP address according to OpenStack.



33
34
35
36
37
# File 'lib/openstack_registry/server_manager.rb', line 33

def read_settings(server_id, remote_ip = nil)
  check_instance_ips(remote_ip, server_id) if remote_ip

  get_server(server_id).settings
end

#update_settings(server_id, settings) ⇒ Object

Updates server settings

Parameters:

  • server_id (String)

    OpenStack server id (server record will be created in DB if it doesn’t already exist)

  • settings (String)

    New settings for the server



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

def update_settings(server_id, settings)
  params = {
    :server_id => server_id
  }

  server = Models::OpenstackServer[params] || Models::OpenstackServer.new(params)
  server.settings = settings
  server.save
end