Let me ask my question more precise:
In settings phase I collect some values from target node, in a test phase I try to access these values:
(defn settings []
(let [action-netstat (actions/exec-script ("netstat" "-tulpen"))
action-package (actions/exec-script ("dpkg" "-l"))]
(crate/assoc-settings
:dda-servertest-fact {:netstat action-netstat} {:instance-id (crate/target-node)})
(crate/assoc-settings
:dda-servertest-fact {:package action-package} {:instance-id (crate/target-node)})
)
)
(defn test []
(let [facts (crate/get-settings :dda-servertest-fact {:instance-id (crate/target-node)})]
(do
(println "--------------1--------------")
(println (-> facts :netstat))
(actions/as-action
(println "--------------2--------------")
(println (-> facts :netstat)))
(actions/as-action
(println "--------------3--------------")
(println (first (-> facts :netstat)))
)
)
))
as output I get:
--------------1--------------
#object[pallet.node_value.NodeValue 0x125500c6 {:status :pending, :val nil}]
--------------2--------------
#object[pallet.node_value.NodeValue 0x125500c6 {:status :ready, :val {:context nil, :action-symbol pallet.actions/exec-script*, :out Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp6 0 0 :::22 :::* LISTEN 0 15431 1229/sshd
...
, :exit 0, :flags #{}, :flag-values {}, :script #!/usr/bin/env bash
set -h
netstat -tulpen
exit $?, :summary nil}}]
--------------3--------------
07:40:26.297 [operate-90] WARN pallet.core.primitives - async-fsm failed
java.lang.AbstractMethodError: null
at clojure.lang.RT.seqFrom(RT.java:514)
at clojure.lang.RT.seq(RT.java:509)
at clojure.lang.RT.first(RT.java:654)
at clojure.core$first__4110.invoke(core.clj:55)
at org.domaindrivenarchitecture.pallet.crate.managed_vm.test_vm$test_vm$action__2643__auto___direct__26942$clj_action26941__26943.invoke(test_vm.clj:60)
...
How can I access contents of node-values?
BR,
Michael