RDO tickets are now tracked in Jira https://issues.redhat.com/projects/RDO/issues/
Bug 1270818 - Two ironic-inspector processes are running on the undercloud, breaking the introspection
Summary: Two ironic-inspector processes are running on the undercloud, breaking the in...
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: RDO
Classification: Community
Component: rdo-manager
Version: Liberty
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: Liberty
Assignee: Hugh Brock
QA Contact: Shai Revivo
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-10-12 12:54 UTC by Marius Cornea
Modified: 2016-04-18 08:50 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-04-18 08:50:12 UTC
Embargoed:


Attachments (Terms of Use)
openstack-ironic-inspector log (66.18 KB, application/x-gzip)
2015-10-19 10:33 UTC, Marius Cornea
no flags Details

Description Marius Cornea 2015-10-12 12:54:07 UTC
Description of problem:
openstack baremetal introspection bulk status reports 'Unexpected exception in background introspection thread ' for one of the nodes

Version-Release number of selected component (if applicable):
python-ironicclient-0.8.2-dev1.el7.centos.noarch
openstack-ironic-api-4.2.1-dev5.el7.centos.noarch
openstack-ironic-conductor-4.2.1-dev5.el7.centos.noarch
openstack-ironic-common-4.2.1-dev5.el7.centos.noarch
openstack-ironic-inspector-2.2.2-dev1.el7.centos.noarch
python-ironic-inspector-client-1.2.1-dev3.el7.centos.noarch


How reproducible:
100%

Steps to Reproduce:
1. Follow the docs at https://repos.fedorapeople.org/repos/openstack-m/rdo-manager-docs/liberty/
2. Register 8 nodes:
openstack baremetal import --json instackenv.json
3. openstack baremetal configure boot
4. openstack baremetal introspection bulk start 

Actual results:
Introspection completed with errors. When running 'openstack baremetal introspection bulk status' one of the nodes shows 'Unexpected exception in background introspection thread' in the Error column.

Expected results:
Introspections completes ok for all the nodes.

Additional info:
Even though the introspection reports errors, the discovered properties are there for the node. 

[stack@instack ~]$ openstack baremetal introspection bulk status | grep 1f3f4aa1-783e-4053-8c6a-f0cd88ac312d
| 1f3f4aa1-783e-4053-8c6a-f0cd88ac312d | True     | Unexpected exception in background introspection thread |

[stack@instack ~]$ ironic node-show 1f3f4aa1-783e-4053-8c6a-f0cd88ac312d | grep -A1 properties
| properties             | {u'memory_mb': u'8192', u'cpu_arch': u'x86_64', u'local_gb': u'40',   |
|                        | u'cpus': u'4', u'capabilities': u'boot_option:local'}                 |

Comment 1 Dmitry Tantsur 2015-10-19 09:03:51 UTC
Hi! Please provide logs for ironic-inspector:

 sudo journalctl -u openstack-ironic-inspector

Comment 2 Marius Cornea 2015-10-19 10:33:09 UTC
Created attachment 1084328 [details]
openstack-ironic-inspector log

Attached. Thanks!

Comment 3 Dmitry Tantsur 2015-10-19 11:38:22 UTC
Related logs:

ironic-inspector : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/ironic-inspector-rootwrap /etc/ironic-inspector/rootwrap.conf iptables -w -E ironic-inspector_temp ironic-inspector
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.firewall [-] iptables ('-E', 'ironic-inspector_temp', 'ironic-inspector') failed:
iptables: No chain/target/match by that name.
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect [-] Unexpected exception in background introspection thread
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect Traceback (most recent call last):
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect   File "/usr/lib/python2.7/site-packages/ironic_inspector/introspect.py", line 106, in _handle_exceptions
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect     _background_introspect(ironic, node_info)
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect   File "/usr/lib/python2.7/site-packages/ironic_inspector/introspect.py", line 127, in _background_introspect
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect     firewall.update_filters(ironic)
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect   File "/usr/lib/python2.7/site-packages/ironic_inspector/firewall.py", line 149, in update_filters
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect     _iptables('-E', NEW_CHAIN, CHAIN)
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect   File "/usr/lib/python2.7/site-packages/ironic_inspector/firewall.py", line 42, in _iptables
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect     subprocess.check_output(cmd, **kwargs)
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect   File "/usr/lib64/python2.7/subprocess.py", line 575, in check_output
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect     raise CalledProcessError(retcode, cmd, output=output)
2015-10-19 10:25:52.051 16410 ERROR ironic_inspector.introspect CalledProcessError: Command '('sudo', 'ironic-inspector-rootwrap', '/etc/ironic-inspector/rootwrap.conf', 'iptables', '-w', '-E', 'ironic-inspector_temp', 'ironic-inspector')' returned non-zero exit status 1

Comment 4 Dmitry Tantsur 2015-10-19 11:45:21 UTC
One more thing: how reproduceable is this problem?

Comment 5 Marius Cornea 2015-10-19 12:07:43 UTC
It only shows up when I register more nodes, last time I registered 15 for example, with 6 it didn't show up.

python-eventlet-0.17.4-1.el7.noarch

Comment 6 Dmitry Tantsur 2015-10-19 13:53:38 UTC
Hi! When looking into the log we've noticed something weird: it looks like there's several PID's in log. Could you please check that you don't have several instances of inspector running? Namely, PID's 16338 and 16410

Comment 7 Marius Cornea 2015-10-19 21:22:27 UTC
I don't have that environment available anymore but checking another environment I can see 2 inspector processes:

stack@instack:~>>> ps axu | grep ironic-inspector | grep -v grep
ironic-+ 16293  1.2  0.3 331856 51556 ?        Ss   11:47   6:54 /usr/bin/python2 /usr/bin/ironic-inspector --config-file /etc/ironic-inspector/inspector.conf
nobody   16320  0.0  0.0  15496   404 ?        S    11:47   0:00 /sbin/dnsmasq --conf-file=/etc/ironic-inspector/dnsmasq.conf
ironic-+ 16365  1.0  0.3 338216 55912 ?        S    11:47   6:00 /usr/bin/python2 /usr/bin/ironic-inspector --config-file /etc/ironic-inspector/inspector.conf

Comment 8 Dmitry Tantsur 2015-10-20 08:01:43 UTC
Hmmm, this is not supposed to work, probably puppet folks should take a look.

Comment 11 Dmitry Tantsur 2016-04-18 08:50:12 UTC
I haven't seen this or complaints about this for a long time already, so I assume it's fixed now. Please reopen if you can reproduce with the latest code.


Note You need to log in before you can comment on or make changes to this bug.