This is a paragraph.
This is a another paragraph.
See how markdown treats these two lines like one paragraph.
This is a paragraph.
This is a another paragraph.
See how markdown treats these two lines like one paragraph.
\#\!ipxe | |
set base-url http://stable.release.core-os.net/amd64-usr/current | |
kernel ${base-url}/coreos\_production\_pxe.vmlinuz initrd=coreos\_production\_pxe\_image.cpio.gz coreos.first\_boot=1 coreos.config.url=https://example.com/pxe-config.ign | |
initrd ${base-url}/coreos\_production\_pxe\_image.cpio.gz | |
boot |
Branch pdb-809 (master basically) with 1 node of facts: | |
Expanded display is used automatically. | |
Timing is on. | |
Null display is "<<NULL>>". | |
QUERY PLAN | |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
Hash Join (cost=689.44..711.69 rows=72 width=730) (actual time=3.193..3.810 rows=102 loops=1) | |
Hash Cond: (fs.certname = certnames.name) |
lein test :only com.puppetlabs.puppetdb.test.http.facts/factset-queries | |
FAIL in (factset-queries) (facts.clj:892) | |
Testing version :v4 factset queries should return appropriate results | |
expected: (= (into {} (first responses)) {"facts" {"my_structured_fact" {"a" 1, "b" 3.14, "c" ["a" "b" "c"], "d" {"n" ""}, "e" "1", "f" nil}, "domain" "testing.com", "uptime_seconds" "4000", "test#~delimiter" "foo"}, "timestamp" (to-string current-time), "environment" "DEV", "certname" "foo1"}) | |
actual: (not (= {"facts" {"test#~delimiter" "foo", "uptime_seconds" "4000", "domain" "testing.com", "my_structured_fact" {"b" 3.14, "a" 1, "e" "1", "d" {"n" ""}, "f" nil, "c" ["a" "b" "c"]}}, "timestamp" "2014-07-31T23:27:45.298Z", "environment" "DEV", "certname" "foo1"} {"facts" {"uptime_seconds" "4000", "domain" "testing.com", "test#~delimiter" "foo", "my_structured_fact" {"d" {"n" ""}, "f" nil, "e" "1", "a" 1, "b" 3.14, "c" ["a" "b" "c"]}}, "timestamp" "2014-07-31T23:27:45.297Z", "environment" "DEV", "certname" "foo1"})) | |
lein test :o |
# curl -G 'http://localhost:8080/v4/factsets' --data-urlencode 'query=["in", "certname", ["extract", "certname", ["select-facts", ["and", ["=", "name", "operatingsystem"], ["=", "value", "Darwin"]]]]]' | |
[ { | |
"facts" : { | |
"ipaddress_en2" : "192.168.1.65", | |
"kernel" : "Darwin", | |
"macaddress_bridge0" : "42:6c:8f:c1:8e:00", | |
"kernelrelease" : "13.3.0", | |
"network_vmnet8" : "192.168.182.0", | |
"is_pe" : false, | |
"sp_serial_number" : "C02K50H1DKQ5", |
# puppet agent -t | |
Info: Retrieving pluginfacts | |
Info: Retrieving plugin | |
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid relationship: File[/tmp/foo] { require => Package[foobar1] }, because Package[foobar1] doesn't seem to be in the catalog | |
Warning: Not using cache on failed catalog | |
Error: Could not retrieve catalog; skipping run | |
root@puppetdb1:/etc/puppet/manifests# curl 'http://localhost:8080/v4/reports' | |
[ { | |
"hash" : "24274701699ddee1b538ffb8400d0b17bf911405", | |
"puppet-version" : "3.6.2", |
2014-07-10 18:14:00,049 ERROR [c.p.p.command] [d2a06fe2-64d1-40ff-ab5b-c8c38b2f5f4e] [replace catalog] Retrying after attempt 4, due to: clojure.lang.ExceptionInfo: Value does not match schema: {:producer-timestamp (not (instance? java.lang.String a-java.sql.Timestamp))} {:schema {:name java.lang.String, :version java.lang.String, :environment (maybe java.lang.String), :transaction-uuid (maybe java.lang.String), :producer-timestamp (maybe java.lang.String), :edges (either [{Any Any}] #{{Any Any}}), :resources (either [{Any Any}] {Any {Any Any}})}, :value {:resources ({:tags ["stage"], :type "Stage", :title "main", :parameters {"alias" ["main"], "name" "main"}, :exported false} {:tags ["class" "file"], :file "/Users/ken/.puppet/manifests/site.pp", :type "File", :title "/tmp", :line 1, :parameters {"ensure" "directory"}, :exported false} {:tags ["class"], :type "Class", :title "main", :parameters {"alias" ["main"], "name" "main"}, :exported false} {:tags ["class" "file"], :file "/Users/ken/.puppet/manifests/sit |
# curl 'http://localhost:8080/v4/nodes?query=\["=","certname","puppetdb1.vm"\]' | |
[ { | |
"deactivated" : null, | |
"report-environment" : "production", | |
"certname" : "puppetdb1.vm", | |
"facts-timestamp" : "2014-07-05T18:50:19.413Z", | |
"facts-environment" : "production", | |
"catalog-timestamp" : "2014-07-05T13:32:33.554Z", | |
"report-timestamp" : "2014-07-05T18:50:18.633Z", | |
"catalog-environment" : "production" |
diff --git a/puppet/lib/puppet/indirector/catalog/puppetdb.rb b/puppet/lib/puppet/indirector/catalog/puppetdb.rb | |
index 6bcb50a..7202539 100644 | |
--- a/puppet/lib/puppet/indirector/catalog/puppetdb.rb | |
+++ b/puppet/lib/puppet/indirector/catalog/puppetdb.rb | |
@@ -12,6 +12,8 @@ class Puppet::Resource::Catalog::Puppetdb < Puppet::Indirector::REST | |
end | |
def save(request) | |
+ require 'pp' | |
+ Puppet.warning(request.instance.pretty_inspect) |
inet6 sets RES_USE_INET6 in _res.options. This has the | |
effect of trying a AAAA query before an A query inside | |
the gethostbyname(3) function, and of mapping IPv4 | |
responses in IPv6 "tunneled form" if no AAAA records | |
are found but an A record set exists. |