Class: PuavoRest::LtspServer
- Inherits:
-
Host
show all
- Includes:
- LocalStore
- Defined in:
- resources/ltsp_servers.rb
Constant Summary
Constant Summary
Constants inherited
from LdapModel
LdapModel::ESCAPES, LdapModel::ESCAPE_RE, LdapModel::KRB_LOCK, LdapModel::PROF
Instance Attribute Summary
Attributes inherited from LdapModel
#ldap_attr_store, #serialize_attrs
Class Method Summary
(collapse)
Instance Method Summary
(collapse)
Methods included from LocalStore
close_connection, included, #local_store, #local_store_del, #local_store_expire, #local_store_get, #local_store_set
Methods inherited from Host
#boot_duration, by_mac_address!, #grub_boot_configuration, #grub_configuration, #grub_header, #grub_kernel_arguments, #grub_kernel_version, #grub_type, #instance_key, #localboot?, #netboot?, #organisation, #preferred_boot_image, #save_boot_time, specialized_instance!
Methods inherited from LdapModel
#[], #[]=, _class_store, #add, #add_validation_error, after, all, #as_json, #assert_validation, before, by_attr, by_attr!, by_dn, by_dn!, by_dn_array, by_id, by_id!, by_ldap_attr, by_ldap_attr!, callable_from_instance, #changed?, class_store, clear_setup, computed_attr, connection, #create!, create_connection, create_filter_lambda, #dirty?, dn_bind, #empty?, escape, filter, from_ldap_hash, #get_own, #get_raw, inherited, #initialize, is_dn, is_not_found?, ldap_attrs, ldap_map, #ldap_merge!, ldap_op, #ldap_set, #link, #merge, #new?, #object_model, organisation, organisation?, pretty_attrs_to_ldap, raw_by_dn, raw_filter, sasl_bind, #save!, search, search_filters, #set, settings, settings=, setup, skip_serialize, #to_json, #to_ldap_hash, #transform, #update!, #validate, #validate!, #validate_unique, #write_raw
Constructor Details
This class inherits a constructor from LdapModel
Class Method Details
+ (Object) all_with_state
121
122
123
124
125
|
# File 'resources/ltsp_servers.rb', line 121
def self.all_with_state
all.select do |server|
not server.state.nil?
end
end
|
+ (Object) base_filter
Bootservers are saved to same ldap branch as ltsp servers so we must filter
with type too
104
105
106
|
# File 'resources/ltsp_servers.rb', line 104
def self.base_filter
"(puavoDeviceType=ltspserver)"
end
|
+ (Object) by_fqdn!(fqdn)
116
117
118
119
|
# File 'resources/ltsp_servers.rb', line 116
def self.by_fqdn!(fqdn)
hostname = fqdn.split(".").first
by_hostname!(hostname)
end
|
+ (Object) by_hostname(hostname)
108
109
110
|
# File 'resources/ltsp_servers.rb', line 108
def self.by_hostname(hostname)
by_attr(:hostname, hostname)
end
|
+ (Object) by_hostname!(hostname)
112
113
114
|
# File 'resources/ltsp_servers.rb', line 112
def self.by_hostname!(hostname)
by_attr!(:hostname, hostname)
end
|
+ (Object) ldap_base
98
99
100
|
# File 'resources/ltsp_servers.rb', line 98
def self.ldap_base
"ou=Servers,ou=Hosts,#{ organisation["base"] }"
end
|
Instance Method Details
- (Object) mountpoints
157
158
159
160
161
162
163
|
# File 'resources/ltsp_servers.rb', line 157
def mountpoints
schools_mountpoints = []
schools.each do |school|
schools_mountpoints += school.mountpoints
end
schools_mountpoints
end
|
- (Object) preferred_image
148
149
150
151
152
153
154
|
# File 'resources/ltsp_servers.rb', line 148
def preferred_image
if get_own(:preferred_image).nil?
organisation.preferred_image
else
get_own(:preferred_image).strip
end
end
|
- (Object) save_state(state)
131
132
133
134
135
|
# File 'resources/ltsp_servers.rb', line 131
def save_state(state)
state["updated"] = Time.now.to_i
local_store[state_key] = state.to_json
state
end
|
- (Object) schools
165
166
167
|
# File 'resources/ltsp_servers.rb', line 165
def schools
@schools ||= school_dns.map{ |dn| School.by_dn(dn) }
end
|
- (Object) state
137
138
139
140
|
# File 'resources/ltsp_servers.rb', line 137
def state
json = local_store[state_key]
JSON.parse(json) if json
end
|
- (Object) state_key
127
128
129
|
# File 'resources/ltsp_servers.rb', line 127
def state_key
"ltsp_server:#{ hostname }:state"
end
|
- (Object) timezone
169
170
171
172
173
174
175
|
# File 'resources/ltsp_servers.rb', line 169
def timezone
if get_own(:timezone).nil?
organisation.timezone
else
get_own(:timezone)
end
end
|
- (Object) to_hash
142
143
144
145
146
|
# File 'resources/ltsp_servers.rb', line 142
def to_hash
o = super
o["state"] = state
o
end
|