   "update instance id"
   (when (s/system-exists? (spec :system-id))
      (s/partial-system (spec :system-id) {:openstack {:instance-id id}})))
+
 
 (defconstrainedrecord Instance [tenant spec user]
   "An Openstack compute instance"


  (start [this]
     (with-instance-id
       (debug "starting" instance-id )
       (.action (servers tenant) instance-id Action/START)
       (wait-for-ssh 
         (system-val spec [:machine :ip]) (get-in spec [:machine :user]) [5 :minute])))

  (delete [this]
     (with-instance-id 

    {:type ::openstack:status-failed :timeout timeout} 
      "Timed out on waiting for ip to be available"))

(defn running? [this] (= (.status this) "running"))

(defn wait-for-start [this timeout]
  "Wait for an ip to be avilable"
  (wait-for {:timeout timeout} #(running? this)
    {:type ::openstack:status-failed :timeout timeout} 
      "Timed out on waiting for ip to be available"))

(defn system-val
  "grabbing instance id of spec"
   [spec ks]
