Using examples/example_cli_provisioning.yaml fails with 'undefined method `[]' for nil:NilClass'

Bug #1258472 reported by Kirill Zaborsky
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
Critical
Vladimir Sharshov

Bug Description

I'm trying to run astute provisioning using CLI. I use examples/example_cli_provisioning.yaml with fixed MACs (and also there was missing 'mac' entry on node level) and when I run 'astute -f myconfig.yaml -c provistion' after messages about reboot astute outputs:

--------
Starting OS provisioning for nodes: 4
Some error occurred when prepare LogParser: undefined method `[]' for nil:NilClass, trace: /opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser/provision.rb:23:in `get_pattern_for_node'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser.rb:193:in `block in patterns_for_nodes'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser.rb:192:in `map'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser.rb:192:in `patterns_for_nodes'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser.rb:176:in `prepare'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:292:in `block in prepare_logs_for_parsing'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:311:in `call'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:311:in `sleep_not_greater_than'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:289:in `prepare_logs_for_parsing'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:90:in `watch_provision_progress'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/bin/astute:105:in `console_provision'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/bin/astute:109:in `<top (required)>'
-e:1:in `load'
-e:1:in `<main>'
Not target nodes will be rejected
Not provisioned: 4, got target OSes:
Nodes list length is not equal to target nodes list length: 1 != 0
Some error occurred when parse logs for nodes progress: undefined method `[]' for nil:NilClass, trace: /opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser/provision.rb:23:in `get_pattern_for_node'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser.rb:193:in `block in patterns_for_nodes'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser.rb:192:in `map'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser.rb:192:in `patterns_for_nodes'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/logparser.rb:146:in `progress_calculate'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:383:in `report_about_progress'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:107:in `block (4 levels) in watch_provision_progress'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:311:in `call'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:311:in `sleep_not_greater_than'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:97:in `block (3 levels) in watch_provision_progress'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:96:in `loop'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:96:in `block (2 levels) in watch_provision_progress'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:95:in `catch'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:95:in `block in watch_provision_progress'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/timeout.rb:68:in `timeout'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/lib/astute/orchestrator.rb:94:in `watch_provision_progress'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/bin/astute:105:in `console_provision'
/opt/rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/astute-0.0.2/bin/astute:109:in `<top (required)>'
-e:1:in `load'
-e:1:in `<main>'
--------

The last error repeating many times as timeout expires.
And in VirtualBox for the slave I try to provision I get an installation error - http://imgur.com/2nkQsO3

Is it a problem of example configuration being too old or I am doing something wrong here?

Tags: astute
Mike Scherbakov (mihgen)
Changed in fuel:
milestone: none → 4.0
assignee: nobody → Vladimir Sharshov (vsharshov)
Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

which version of FUEL are you using. Looks like 3.1 which is not supported right now. CLI provisioning changed a lot since 3.2

Changed in fuel:
milestone: 4.0 → none
status: New → Incomplete
Revision history for this message
Kirill Zaborsky (qrilka) wrote :

I use MirantisOpenStack-3.2.iso downloaded some days ago and config from examples in github repo.
BTW I could not find any docs about CLI for version 3.2 only for 3.1 - is it intentional?

Revision history for this message
Evgeniy L (rustyrobot) wrote :
Revision history for this message
Kirill Zaborsky (qrilka) wrote :

Thanks a lot for the link - I'll take a close look at it on monday.
BTW myabe it should be noticed in README or in the docs? fuel-astute's Readme.md also has a broken link in it I've created pull request - https://github.com/stackforge/fuel-astute/pull/1 before I realized that you use openstack workflow and github works like a readonly clone.
And as for this issue - should I assume that astute command is deprecated in 3.2 and this ticket comes from deprecated use of Fuel CLI? If it's the case then either astute should output some warnings about deprecation or ar least it should not give errors (and "nil" looks like some bug in code)

Revision history for this message
Mike Scherbakov (mihgen) wrote :

Wrong documentation is always more worse than no documentation at all. Please fix wrong README.md in astute repo, and refer to docs.mirantis.com/fuel-dev/

Vladimir - please also consider suggestions about deprecation warnings.

Kirill - user documentation, including CLI, is actually here: docs.mirantis.com. Previous link given by Evgeniy points you to sources of this documentation.

Changed in fuel:
status: Incomplete → Triaged
importance: Undecided → Critical
milestone: none → 4.0
Revision history for this message
Kirill Zaborsky (qrilka) wrote :

Well it looks like I've missed the right part of the docs and Google brought me to documentation of 3.1
Mike what do you mean with "fix wrong README.md"? If it's about incorrect fuel-astute repo URL then it would be a little bit more logical and easier for Mirantis devs to fix 1 line. And I didn't get why do you mention docs.mirantis.com/fuel-dev/

Revision history for this message
Vladimir Sharshov (vsharshov) wrote :

Deprecation warnings:

CLI interface in Astute no longer supported. Please use new Fuel-CLI. More details you can get by link: https://github.com/Mirantis/fuel-docs/blob/master/pages/user-guide/cli.rst

We will show this message if user try to use astute as CLI. Also we should return exit code 1 and do nothing.

Revision history for this message
Mike Scherbakov (mihgen) wrote :

It's fine. I would rather suggest to reference docs.mirantis.com instead as a compiled version of documentation.

Revision history for this message
Vladimir Sharshov (vsharshov) wrote :

In this case we only can give link http://docs.mirantis.com/fuel/fuel-3.2.1/pdf/Mirantis-OpenStack-3.2.1-UserGuide.pdf and user to search section `Understanding Environment deployment with Fuel-CLI` by himself. Also we should not forget update this link at every release.

Revision history for this message
Kirill Zaborsky (qrilka) wrote :
Revision history for this message
Vladimir Sharshov (vsharshov) wrote :

Kirill, thanks! But still present problem with actual state of this link, because it not direct depend of Astute and me should watch this moment.

Changed in fuel:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-astute (master)

Reviewed: https://review.openstack.org/61005
Committed: http://github.com/stackforge/fuel-astute/commit/ae026938f272f69afbe89c9900bf1c3df483557c
Submitter: Jenkins
Branch: master

commit ae026938f272f69afbe89c9900bf1c3df483557c
Author: Vladimir <email address hidden>
Date: Tue Dec 10 08:11:47 2013 +0400

    Promote new Fuel-CLI

    Remove cli functions, update README, add new CLI promotion.
    Closes-Bug: #1258472

    Change-Id: Ie247dbddd84b63166087a9caddc5b6ea38f77377

Changed in fuel:
status: In Progress → Fix Committed
Changed in fuel:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.