Import facs from puppet fails

> Hi,
>
> We are running Foreman 1.1 stable-3 on a postgresql database. When
> importing facts trough the ENC from our puppet master with the ruby script
> importing fails, in our foreman logging we see:
>
> Failed to save xxxxxxxx: ActiveRecord::RecordNotSaved
>
> Below there is a complete debugging logging. Can anyone help me out?
>
> Thanks,
>
> Alwin.
>
> Started POST "/fact_values/create?format=yml" for 10.100.2.151 at Thu Mar 28
> 12:35:08 +0100 2013
> Processing by FactValuesController#create as YML
> Parameters: {"facts"=>"[FILTERED]"}
> SQL (1.1ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod),
> d.adsrc, a.attnotnull
> FROM pg_attribute a LEFT JOIN pg_attrdef d
> ON a.attrelid = d.adrelid AND a.attnum = d.adnum
> WHERE a.attrelid = '"features_smart_proxies"'::regclass
> AND a.attnum > 0 AND NOT a.attisdropped
> ORDER BY a.attnum
>
> SmartProxy Load (0.9ms) SELECT "smart_proxies".* FROM "smart_proxies"
> INNER JOIN "features_smart_proxies" ON
> "features_smart_proxies"."smart_proxy_id" = "smart_proxies"."id" INNER JOIN
> "features" ON "features"."id" = "features_smart_proxies"."feature_id" WHERE
> "features"."name" = 'Puppet' ORDER BY LOWER(smart_proxies.name)
> Verifying request from xxxxxxxx against ["xxxxxxxxx"]
> User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."login" =
> 'admin' LIMIT 1
> Setting current user thread-local variable to admin
> Setting current organization thread-local variable to none
> Setting current location thread-local variable to none
> Host Load (1.1ms) SELECT "hosts".* FROM "hosts" WHERE "hosts"."name" =
> 'xxxxxxxxxx' LIMIT 1
> Puppet::Rails::FactValue Load (2.5ms) SELECT "fact_values".* FROM
> "fact_values" WHERE ("fact_values".host_id = 2)
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'timezone' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'selinux_enforced' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'selinux' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'osfamily' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'ipaddress_eth1' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'uptime' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.9ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'kernelrelease' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'macaddress_eth0' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'is_virtual' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'operatingsystem' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (1.0ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'kernel' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'clientcert' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'scheduler' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'domain' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'selinux_current_mode' ORDER BY
> LOWER(fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.8ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'kernelversion' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'boardserialnumber' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.8ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'mtu_lo' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'swapsize' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'netmask_eth0' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'processorcount' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'network_lo' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'mtu_eth0' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'rubyversion' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (2.1ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'sshdsakey' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'macaddress' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'fqdn' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'ps' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'sshrsakey' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'manufacturer' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'selinux_mode' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'network_eth1' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'uptime_hours' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'clientversion' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'ipaddress_eth0' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'augeasversion' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'architecture' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'swapfree' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'id' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'processor0' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'operatingsystemrelease' ORDER BY
> LOWER(fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'uptime_seconds' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'productname' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'kernelmajversion' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'path' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'virtual' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'boardproductname' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'boardmanufacturer' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (1.1ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'uniqueid' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'interfaces' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'selinux_policyversion' ORDER BY
> LOWER(fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'macaddress_eth1' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'selinux_config_mode' ORDER BY
> LOWER(fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'hardwareisa' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'ipaddress_lo' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = '_timestamp' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'hostname' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'network_eth0' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'puppetversion' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'type' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'memorytotal' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'physicalprocessorcount' ORDER BY
> LOWER(fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'selinux_config_policy' ORDER BY
> LOWER(fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'hardwaremodel' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'netmask' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'uptime_days' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'facterversion' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'ipaddress' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'memoryfree' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'cfkey' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'netmask_eth1' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'serialnumber' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.8ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'mtu_eth1' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'netmask_lo' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.6ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'memorysize' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> Puppet::Rails::FactName Load (0.7ms) SELECT "fact_names".* FROM
> "fact_names" WHERE "fact_names"."name" = 'rubysitedir' ORDER BY LOWER(
> fact_names.name) LIMIT 1
> SQL (0.5ms) BEGIN
> Role Load (0.7ms) SELECT "roles".* FROM "roles" INNER JOIN "user_roles"
> ON "roles".id = "user_roles".role_id WHERE (("user_roles".user_id = 1))
> SQL (0.5ms) ROLLBACK
> Domain Load (0.6ms) SELECT "domains".* FROM "domains" WHERE
> "domains"."name" = 'xxxxxxxx' ORDER BY LOWER(domains.name) LIMIT 1
> Architecture Load (0.5ms) SELECT "architectures".* FROM "architectures"
> WHERE "architectures"."name" = 'x86_64' LIMIT 1
> Operatingsystem Load (0.6ms) SELECT "operatingsystems".* FROM
> "operatingsystems" WHERE "operatingsystems"."minor" = '4' AND
> "operatingsystems"."name" = 'RedHat' AND "operatingsystems"."major" = '6'
> ORDER BY LOWER(operatingsystems.name) LIMIT 1
> SQL (0.4ms) BEGIN
> SQL (0.4ms) ROLLBACK
> Failed to save xxxxxxxx: ActiveRecord::RecordNotSaved
>
>
This trace looks related to when a puppet client upload its facts, its not
related to class import at all? could you try to run it again when no
clients are checking in?

additionally, did you upgrade your proxy as well?

Ohad

··· On Thu, Mar 28, 2013 at 1:43 PM, Alwin wrote:


You received this message because you are subscribed to the Google Groups
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-users+unsubscribe@googlegroups.com.
To post to this group, send email to foreman-users@googlegroups.com.
Visit this group at http://groups.google.com/group/foreman-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.