     [slingshot.slingshot :refer  [throw+]]
     [celestial.persistency.systems :as s]
     [celestial.common :refer (import-logging)]
-    [openstack.networking :refer (first-ip update-ip assoc-floating dissoc-ip)]
+    [openstack.networking :refer (first-ip update-ip assoc-floating dissoc-floating)]
     [clojure.java.data :refer [from-java]]
     [celestial.provider :refer (wait-for wait-for-ssh)]
     [openstack.validations :refer (provider-validation)]

   [nets]
  (mapv #(hypervisor :openstack :networks %) nets))

(defn servers [tenant]
  (let [{:keys [username password endpoint]} (hypervisor :openstack)]
    (-> (OSFactory/builder) 
        (.endpoint endpoint)
        (.credentials username password)
        (.tenantName tenant)
        (.authenticate)
        (.compute)
        (.servers))))

(defn model [{:keys [machine openstack] :as spec}]
  (-> (Builders/server) 

  (delete [this]
     (with-instance-id 
       (debug "deleting" instance-id)
       (let [servers' (servers tenant)]
         (when-let [ip (get-in spec [:openstack :floating-ip])]
           (dissoc-floating (floating-ips tenant) (.get servers' instance-id) ip))
         (.delete servers' instance-id))))

  (stop [this]
     (with-instance-id 
       (debug "stopping" instance-id )
       (.action (servers tenant) instance-id Action/STOP)
       (wait-for-stop this [5 :minute])))

  (status [this] 
     (if-let [instance-id (instance-id* spec)]
