[RFE] Collect processor, memory and bios info using dmidecode

Bug #1635057 reported by Ramamani Yeleswarapu
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ironic-python-agent
Fix Released
Wishlist
Ramamani Yeleswarapu

Bug Description

I would like to propose a new collector for Ironic Python Agent. The purpose of this collector is to provide data to facilitate smart scheduling and also health checking of the nodes in Ironic.

The information collected using dmidecode will be useful for deployer to select node(s) matching specific criteria. This info will help future enabling of smart selectors using filters and weights to select nodes.

The proposal is to collect the output of dmidecode for 'processor', 'memory' and 'bios' in IPA.

Sample json output of dmidecode collector in the inventory after node inspection:
http://paste.openstack.org/show/65vIdwM5NwzeubTrtjzt/

Tags: rfe needs-spec
description: updated
Revision history for this message
Jay Faulkner (jason-oldos) wrote :

What specific information do you intend to gather? Some CPU and memory information is already gathered in IPA. Can you give me an example dict of new information you'll be gathering?

description: updated
summary: - [RFE] Collect dmidecode info
+ [RFE] Collect processor, memory and bios info using dmidecode
Revision history for this message
Jay Faulkner (jason-oldos) wrote :

I'm still not sure I understand what we're reporting here, specifically. I don't think it's reasonable to collect the entire set of information from dmidecode about CPUs and BIOS, and for Memory, we already report physical_mb size: https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/hardware.py#L575

Can we pick out exactly the fields we'll need to collect?

description: updated
Changed in ironic-python-agent:
importance: Undecided → Wishlist
Changed in ironic-python-agent:
assignee: nobody → Ramamani Yeleswarapu (ramamani-yeleswarapu)
Changed in ironic-inspector:
assignee: nobody → Ramamani Yeleswarapu (ramamani-yeleswarapu)
Changed in ironic-inspector:
importance: Undecided → Wishlist
Revision history for this message
Dmitry Tantsur (divius) wrote :

Hi! I'd like to see 1. the reasoning behind collecting every field, 2. the resulting inventory example.

Changed in ironic-python-agent:
status: New → Incomplete
description: updated
description: updated
description: updated
Revision history for this message
Anton Arefiev (aarefiev) wrote :

I'm fine with gathering proposed info, also I've seen folks show interest in some of them before. I'd just like to bring to attention to "Inspector allows filtering", IPA should filtering all this fields and send to Inspector, which only process provided info via plugins.

Also this change require spec against ironic-inspector-specs, like this https://review.openstack.org/#/c/396147/ (btw, also collect some cpu info). Spec should contain the format of proposed data - example of inventory.

tags: added: needs-spec
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic-inspector-specs (master)

Fix proposed to branch: master
Review: https://review.openstack.org/406790

Changed in ironic-inspector:
status: New → In Progress
Revision history for this message
Łukasz Leszczuk (lleszczuk) wrote :

@Anton,
If we filter data on the IPA level, we need to rebuild IPA image every time we want to add/delete fields to gather. In the same time from Ironic Inspector perspective, it's super easy to just change config file to inform Inspector, that we want to start gathering another field.

Changed in ironic-python-agent:
status: Incomplete → In Progress
description: updated
no longer affects: ironic-inspector
description: updated
Revision history for this message
Ramamani Yeleswarapu (ramamani-yeleswarapu) wrote :

Hi Dmitri, Anton, Lucasz, Jay,

A spec has been submitted for adding this collector to IPA: https://review.openstack.org/#/c/406790/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic-python-agent (master)

Fix proposed to branch: master
Review: https://review.openstack.org/435573

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic-python-agent (master)

Reviewed: https://review.openstack.org/435573
Committed: https://git.openstack.org/cgit/openstack/ironic-python-agent/commit/?id=c5544fb7a0d9d2a1481b3256c3587259368b599e
Submitter: Jenkins
Branch: master

commit c5544fb7a0d9d2a1481b3256c3587259368b599e
Author: Ramamani Yeleswarapu <email address hidden>
Date: Fri Feb 17 11:24:37 2017 -0800

    Collect processor, memory and BIOS output of dmidecode

    Implements an optional collector 'collect_dmidecode_info' for
    collecting detailed info of processor, memory and BIOS and
    adds it to the inspection data.

    Collects BIOS, processor, memory info and adds under the 'dmi' key.

    Change-Id: Ida9b418ca579b15de70d17886631f3b21697987e
    Closes-Bug: #1635057

Changed in ironic-python-agent:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic-python-agent (master)

Fix proposed to branch: master
Review: https://review.openstack.org/487866

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic-python-agent (master)

Reviewed: https://review.openstack.org/487866
Committed: https://git.openstack.org/cgit/openstack/ironic-python-agent/commit/?id=3ab779c8976116db3b9c6edc5ea8227a19e41f3f
Submitter: Jenkins
Branch: master

commit 3ab779c8976116db3b9c6edc5ea8227a19e41f3f
Author: Ramamani Yeleswarapu <email address hidden>
Date: Thu Jul 27 07:29:00 2017 -0700

    Collect processor, memory and BIOS output of dmidecode - follow-up

    Fixes nits, modifies unit tests.

    This is a follow-up to commit c5544fb7a0d9d2a1481b3256c3587259368b599e.

    Change-Id: Ibca82cc6e32311b1ff0be7137d8392f63e12639b
    Closes-Bug: #1635057

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/ironic-python-agent 2.2.0

This issue was fixed in the openstack/ironic-python-agent 2.2.0 release.

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.