test
parent
f28150b9f5
commit
9d9429ea13
|
|
@ -1,5 +1,7 @@
|
||||||
class TestController < ApplicationController
|
class TestController < ApplicationController
|
||||||
def myip
|
before_action :set_host_by_uuid
|
||||||
|
def get_default_cloudinit
|
||||||
|
uuid="uuid-#{sourceip}"
|
||||||
@host = Host.new()
|
@host = Host.new()
|
||||||
sourceip = client_ip
|
sourceip = client_ip
|
||||||
uuid="uuid-#{sourceip}"
|
uuid="uuid-#{sourceip}"
|
||||||
|
|
@ -10,15 +12,46 @@ class TestController < ApplicationController
|
||||||
randomstring = SecureRandom.hex(12)
|
randomstring = SecureRandom.hex(12)
|
||||||
@host = Host.new(hostname: hostname,uuid: uuid, installip: sourceip, installtemplate: @template,site: @site, mac: "00:00:00:00:00:00", status: "discover", discover: true,installed: false, toinstall: false,rootaccount: @account, mainaccount: @account, luskkey: randomstring )
|
@host = Host.new(hostname: hostname,uuid: uuid, installip: sourceip, installtemplate: @template,site: @site, mac: "00:00:00:00:00:00", status: "discover", discover: true,installed: false, toinstall: false,rootaccount: @account, mainaccount: @account, luskkey: randomstring )
|
||||||
@host.save!
|
@host.save!
|
||||||
|
script = @host.installtemplate.install.content
|
||||||
string = "You IP address is #{sourceip}"
|
template = @host.installtemplate
|
||||||
render plain: string
|
@site = @host.site
|
||||||
|
host = @host
|
||||||
|
@template = @host.installtemplate
|
||||||
|
@host.update({status: "System Install"})
|
||||||
|
result = render inline: script, layout: false, content_type: 'text/plain'
|
||||||
|
@host.update({lastinstallgenerated: result})
|
||||||
end
|
end
|
||||||
def create
|
def get_ressource
|
||||||
|
if @host
|
||||||
|
script = Script.find_by(name:params[:name]).content
|
||||||
|
sourceip=request.headers['REMOTE_ADDR']
|
||||||
|
template = @host.installtemplate
|
||||||
|
@site = @host.site
|
||||||
|
host = @host
|
||||||
|
@template = @host.installtemplate
|
||||||
|
@host.update({status: "System Install"})
|
||||||
|
result = render inline: script, layout: false, content_type: 'text/plain'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
private
|
private
|
||||||
def client_ip
|
def client_ip
|
||||||
request.remote_ip
|
request.remote_ip
|
||||||
end
|
end
|
||||||
|
def entry_params
|
||||||
|
params.permit(:name)
|
||||||
|
end
|
||||||
|
def set_host_by_uuid
|
||||||
|
@host = Host.find_by(uuid: params[:uuid])
|
||||||
|
if ! @host
|
||||||
|
logger.debug "> NEW HOST DETECTED !!!"
|
||||||
|
sourceip=request.headers['REMOTE_ADDR']
|
||||||
|
log=Log.new({source: "#{sourceip}", crit: "warning",message: "New host with uuid #{params[:uuid]} Detected."})
|
||||||
|
log.save()
|
||||||
|
@template = Installtemplate.find_by(name:"default")
|
||||||
|
@site = Site.find_by(name:"default")
|
||||||
|
@account = Account.find_by(name:"default")
|
||||||
|
@host = Host.new(hostname: "New host detected",uuid: params["uuid"], installip: params["installip"], installtemplate: @template,site: @site, mac: params["mac"], status: "discover", discover: true,installed: false, toinstall: false,rootaccount: @account, mainaccount: @account)
|
||||||
|
@host.save!
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ class Host
|
||||||
field :lastbootgenerated, type: String , default: ''
|
field :lastbootgenerated, type: String , default: ''
|
||||||
field :lastinstallgenerated, type: String , default: ''
|
field :lastinstallgenerated, type: String , default: ''
|
||||||
field :lastpostinstallgenerated, type: String, default: ''
|
field :lastpostinstallgenerated, type: String, default: ''
|
||||||
|
field :luskdisk, type: String, default: '/dev/sda3'
|
||||||
field :luskkey, type: String, default: '123456789123456789'
|
field :luskkey, type: String, default: '123456789123456789'
|
||||||
belongs_to :installtemplate , class_name: "Installtemplate", inverse_of: :hostreferences
|
belongs_to :installtemplate , class_name: "Installtemplate", inverse_of: :hostreferences
|
||||||
belongs_to :site , class_name: "Site", inverse_of: :sitereferences
|
belongs_to :site , class_name: "Site", inverse_of: :sitereferences
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,18 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="field is-horizontal">
|
||||||
|
<div class="field-label is-small">
|
||||||
|
<label class="label">Lusk Disk</label>
|
||||||
|
</div>
|
||||||
|
<div class="field-body">
|
||||||
|
<div class="field">
|
||||||
|
<div class="control">
|
||||||
|
<%= form.text_field :luskdisk , { class: "input"} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label is-small">
|
<div class="field-label is-small">
|
||||||
<label class="label">Interface</label>
|
<label class="label">Interface</label>
|
||||||
|
|
|
||||||
|
|
@ -35,5 +35,7 @@ Rails.application.routes.draw do
|
||||||
get '/api/host/cloudinit/:uuid/vendor-data', to: "engine#generate_metadata", defaults: { format: 'text' }
|
get '/api/host/cloudinit/:uuid/vendor-data', to: "engine#generate_metadata", defaults: { format: 'text' }
|
||||||
|
|
||||||
# test
|
# test
|
||||||
get '/test/myip', to: "test#myip", defaults: { format: 'text' }
|
get '/test/get_default_cloudinit', to: "test#get_default_cloudinit", defaults: { format: 'text' }
|
||||||
|
get '/test/get_ressource', to: "test#get_ressource", defaults: { format: 'text' }
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue