class DHCP::Server

Attributes

address[R]
port[R]

Public Class Methods

new(address, port) click to toggle source
# File lib/dhcp.rb, line 6
def initialize(address, port)
    @address = address
    @port = port
end

Public Instance Methods

add_lease(lease) click to toggle source
# File lib/dhcp.rb, line 11
def add_lease(lease)
    File.open('/tmp/add_pxe_lease','w') do |file|
        file.puts "server #{@address}"
        file.puts "server #{@port}"
        file.puts "connect"
        file.puts "new host"
        file.puts "set name = \"#{lease.name}\""
        file.puts "set hardware-address = #{lease.mac}"
        file.puts "set hardware-type = 1"
        file.puts "set ip-address = #{lease.ip}"
        file.puts "set statements = \"#{lease.statements_string}\""
        file.puts "create"
    end

    #execute!
    `cat /tmp/add_pxe_lease | omshell`
    `rm /tmp/add_pxe_lease`
end
del_lease(lease) click to toggle source
# File lib/dhcp.rb, line 30
def del_lease(lease)
    File.open('/tmp/del_pxe_lease','w') do |file|
        file.puts "server #{address}"
        file.puts "server #{port}"
        file.puts "connect"
        file.puts "new host"
        file.puts "set name = \"#{lease.name}\""
        file.puts "open"
        file.puts "remove"
    end

    #execute!
    `cat /tmp/del_pxe_lease | omshell`
    `rm /tmp/del_pxe_lease`
end