Activity log for bug #1554800

Date Who What changed Old value New value Message
2016-03-08 23:47:35 Oleksandr Martsyniuk bug added bug
2016-03-08 23:53:45 Oleksandr Martsyniuk description Steps to reproduce: 1 Create an environment with "Neutron with tunneling segmentation" as a network configuration 2 Enable and configure Contrail plugin 3 Add a controller and compute nodes 4 Add a node with "contrail-db", "contarail-config" and "contrail-control" roles 5 Deploy cluster Actual result: Deployment failed, from astute log 2016-03-08 22:59:28 ERR [710] Unexpected error Failed to execute hook 'contrail-3.0.0' Puppet run failed. Check puppet logs for details --- uids: - '1' parameters: puppet_modules: puppet/modules:/etc/puppet/modules puppet_manifest: puppet/manifests/common-repo.pp timeout: 720 cwd: "/etc/fuel/plugins/contrail-3.0/" priority: 2800 fail_on_error: true type: puppet diagnostic_name: contrail-3.0.0 from puppet log 2016-03-08 22:59:27 +0000 Puppet (err): Could not run: Could not retrieve facts for node-1.domain.tld: No such file or directory - /etc/astute.yaml /etc/fuel/plugins/contrail-3.0/puppet/modules/contrail/lib/facter/sriov_devices.rb:24:in `initialize' /etc/fuel/plugins/contrail-3.0/puppet/modules/contrail/lib/facter/sriov_devices.rb:24:in `open' /etc/fuel/plugins/contrail-3.0/puppet/modules/contrail/lib/facter/sriov_devices.rb:24:in `<top (required)>' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:95:in `load' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:95:in `load_file' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:46:in `block (2 levels) in load_all' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:41:in `each' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:41:in `block in load_all' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:38:in `each' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:38:in `load_all' /usr/lib/ruby/vendor_ruby/facter/util/collection.rb:115:in `load_all' /usr/lib/ruby/vendor_ruby/facter.rb:248:in `loadfacts' /usr/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:13:in `reload_facter' /usr/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:78:in `find' /usr/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:201:in `find' /usr/lib/ruby/vendor_ruby/puppet/node.rb:94:in `fact_merge' /usr/lib/ruby/vendor_ruby/puppet/indirector/node/plain.rb:17:in `find' /usr/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:201:in `find' /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:182:in `main' /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:146:in `run_command' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `block (2 levels) in run' /usr/lib/ruby/vendor_ruby/puppet/application.rb:470:in `plugin_hook' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `block in run' /usr/lib/ruby/vendor_ruby/puppet/util.rb:478:in `exit_on_fail' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `run' /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:137:in `run' /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:91:in `execute' /usr/bin/puppet:4:in `<main>' Possible cause of problem is a custom fact sriov_devices, which requires /etc/astute.yaml file, which may be not available on pre-deploy. Proposed solution - convert the fact into custom parser function, which will be called only from manifests that actually make use of it. Pre-deployment plugin tasks will fail if there is no /etc/astute.yaml file, the issue was found while working on upgrade procedure. Actual result: Deployment failed, from astute log 2016-03-08 22:59:28 ERR [710] Unexpected error Failed to execute hook 'contrail-3.0.0' Puppet run failed. Check puppet logs for details --- uids: - '1' parameters:   puppet_modules: puppet/modules:/etc/puppet/modules   puppet_manifest: puppet/manifests/common-repo.pp   timeout: 720   cwd: "/etc/fuel/plugins/contrail-3.0/" priority: 2800 fail_on_error: true type: puppet diagnostic_name: contrail-3.0.0 from puppet log 2016-03-08 22:59:27 +0000 Puppet (err): Could not run: Could not retrieve facts for node-1.domain.tld: No such file or directory - /etc/astute.yaml /etc/fuel/plugins/contrail-3.0/puppet/modules/contrail/lib/facter/sriov_devices.rb:24:in `initialize' /etc/fuel/plugins/contrail-3.0/puppet/modules/contrail/lib/facter/sriov_devices.rb:24:in `open' /etc/fuel/plugins/contrail-3.0/puppet/modules/contrail/lib/facter/sriov_devices.rb:24:in `<top (required)>' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:95:in `load' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:95:in `load_file' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:46:in `block (2 levels) in load_all' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:41:in `each' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:41:in `block in load_all' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:38:in `each' /usr/lib/ruby/vendor_ruby/facter/util/loader.rb:38:in `load_all' /usr/lib/ruby/vendor_ruby/facter/util/collection.rb:115:in `load_all' /usr/lib/ruby/vendor_ruby/facter.rb:248:in `loadfacts' /usr/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:13:in `reload_facter' /usr/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:78:in `find' /usr/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:201:in `find' /usr/lib/ruby/vendor_ruby/puppet/node.rb:94:in `fact_merge' /usr/lib/ruby/vendor_ruby/puppet/indirector/node/plain.rb:17:in `find' /usr/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:201:in `find' /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:182:in `main' /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:146:in `run_command' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `block (2 levels) in run' /usr/lib/ruby/vendor_ruby/puppet/application.rb:470:in `plugin_hook' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `block in run' /usr/lib/ruby/vendor_ruby/puppet/util.rb:478:in `exit_on_fail' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `run' /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:137:in `run' /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:91:in `execute' /usr/bin/puppet:4:in `<main>' Possible cause of problem is a custom fact sriov_devices, which requires /etc/astute.yaml file, which may be not available on pre-deploy. Proposed solution - convert the fact into custom parser function, which will be called only from manifests that actually make use of it.
2016-03-08 23:55:18 Oleksandr Martsyniuk bug added subscriber Vegas
2016-03-09 09:20:55 Illia Polliul fuel-plugins: status New In Progress
2016-03-09 09:21:00 Illia Polliul fuel-plugins: importance Undecided Critical
2016-03-09 09:21:58 Illia Polliul fuel-plugins: assignee Fuel Plugin Contrail (fuel-plugin-contrail) Przemysław Szypowicz (pszypowicz)
2016-03-10 15:57:49 Illia Polliul fuel-plugins: status In Progress Fix Committed
2016-03-10 16:07:25 Iryna Vovk fuel-plugins: status Fix Committed Fix Released