(when foundp
(hostprop-default vmhost :vm-role :host)
(hostprop-default host :vm-role :guest)
- (pushnew host (hostprop vmhost :guests))
+ (let ((guests (or (hostprop vmhost :guests)
+ (setf (hostprop vmhost :guests)
+ (make-array 16
+ :adjustable t
+ :fill-pointer 0)))))
+ (vector-push-extend host guests))
(dolist (prop '(:location :hypervisor))
(multiple-value-bind (value foundp) (hostprop vmhost prop)
(when foundp (hostprop-default host prop value))))))))
(defhook (prio-groups)
(let ((server-roles nil))
(dohosts (host)
- (dolist (role (hostprop host :server))
- (pushnew role server-roles)))
+ (map 'nil (lambda (role) (pushnew role server-roles))
+ (hostprop host :server)))
(dolist (r server-roles)
(let ((role r))
(add-group (intern (concatenate 'string (string role) "-SERVERS"))
:predicate (lambda (h)
- (member role (hostprop h :server))))))))
+ (find role (hostprop h :server))))))))
;;;----- That's all, folks --------------------------------------------------