If it's a separate project, can it be extended to perform out of band discovery too..? That way there will be a single service to perform in-band as well as out of band discoveries.. May be it could follow driver framework for discovering nodes, where one driver could be native (in-band) and other could be iLO specific etc...
Just a thought. -Om -----Original Message----- From: Dmitry Tantsur [mailto:dtant...@redhat.com] Sent: 07 January 2015 14:34 To: openstack-dev@lists.openstack.org Subject: Re: [openstack-dev] [Ironic] ironic-discoverd status update On 01/07/2015 09:58 AM, Zhou, Zhenzan wrote: > So is it possible to just integrate this project into ironic? I mean when you > create an ironic node, it will start discover in the background. So we don't > need two services? Well, the decision on the summit was that it's better to keep it separate. Please see https://review.openstack.org/#/c/135605/ for details on future interaction between discoverd and Ironic. > Just a thought, thanks. > > BR > Zhou Zhenzan > > -----Original Message----- > From: Dmitry Tantsur [mailto:dtant...@redhat.com] > Sent: Monday, January 5, 2015 4:49 PM > To: openstack-dev@lists.openstack.org > Subject: Re: [openstack-dev] [Ironic] ironic-discoverd status update > > On 01/05/2015 09:31 AM, Zhou, Zhenzan wrote: >> Hi, Dmitry >> >> I think this is a good project. >> I got one question: what is the relationship with ironic-python-agent? >> Thanks. > Hi! > > No relationship right now, but I'm hoping to use IPA as a base for > introspection ramdisk in the (near?) future. >> >> BR >> Zhou Zhenzan >> >> -----Original Message----- >> From: Dmitry Tantsur [mailto:dtant...@redhat.com] >> Sent: Thursday, December 11, 2014 10:35 PM >> To: OpenStack Development Mailing List (not for usage questions) >> Subject: [openstack-dev] [Ironic] ironic-discoverd status update >> >> Hi all! >> >> As you know I actively promote ironic-discoverd project [1] as one of the >> means to do hardware inspection for Ironic (see e.g. spec [2]), so I decided >> it's worth to give some updates to the community from time to time. This >> email is purely informative, you may safely skip it, if you're not >> interested. >> >> Background >> ========== >> >> The discoverd project (I usually skip the "ironic-" part when talking >> about it) solves the problem of populating information about a node >> in Ironic database without help of any vendor-specific tool. This >> information usually includes Nova scheduling properties (CPU, RAM, >> disk >> size) and MAC's for ports. >> >> Introspection is done by booting a ramdisk on a node, collecting data there >> and posting it back to discoverd HTTP API. Thus actually discoverd consists >> of 2 components: the service [1] and the ramdisk [3]. The service handles 2 >> major tasks: >> * Processing data posted by the ramdisk, i.e. finding the node in Ironic >> database and updating node properties with new data. >> * Managing iptables so that the default PXE environment for >> introspection does not interfere with Neutron >> >> The project was born from a series of patches to Ironic itself after we >> discovered that this change is going to be too intrusive. Discoverd was >> actively tested as part of Instack [4] and it's RPM is a part of Juno RDO. >> After the Paris summit, we agreed on bringing it closer to the Ironic >> upstream, and now discoverd is hosted on StackForge and tracks bugs on >> Launchpad. >> >> Future >> ====== >> >> The basic feature of discoverd: supply Ironic with properties required for >> scheduling, is pretty finished as of the latest stable series 0.2. >> >> However, more features are planned for release 1.0.0 this January [5]. >> They go beyond the bare minimum of finding out CPU, RAM, disk size and NIC >> MAC's. >> >> Plugability >> ~~~~~~~~~~~ >> >> An interesting feature of discoverd is support for plugins, which I prefer >> to call hooks. It's possible to hook into the introspection data processing >> chain in 2 places: >> * Before any data processing. This opens opportunity to adopt discoverd to >> ramdisks that have different data format. The only requirement is that the >> ramdisk posts a JSON object. >> * After a node is found in Ironic database and ports are created for MAC's, >> but before any actual data update. This gives an opportunity to alter, which >> properties discoverd is going to update. >> >> Actually, even the default logic of update Node.properties is >> contained in a plugin - see SchedulerHook in >> ironic_discoverd/plugins/standard.py >> [6]. This plugability opens wide opportunities for integrating with 3rd >> party ramdisks and CMDB's (which as we know Ironic is not ;). >> >> Enrolling >> ~~~~~~~~~ >> >> Some people have found it limiting that the introspection requires power >> credentials (IPMI user name and password) to be already set. The recent set >> of patches [7] introduces a possibility to request manual power on of the >> machine and update IPMI credentials via the ramdisk to the expected values. >> Note that support of this feature in the reference ramdisk [3] is not ready >> yet. Also note that this scenario is only possible when using discoverd >> directly via it's API, not via Ironic API like in [2]. >> >> Get Involved >> ============ >> >> Discoverd terribly lacks reviews. Out team is very small and >> self-approving is not a rare case. I'm even not against fast-tracking >> any existing Ironic core to a discoverd core after a couple of >> meaningful reviews :) >> >> And of course patches are welcome, especially plugins for integration with >> existing systems doing similar things and CMDB's. Patches are accepted via >> usual Gerrit workflow. Ideas are accepted as Launchpad blueprints (we do not >> follow the Gerrit spec process right now). >> >> Finally, please comment on the Ironic spec [2], I'd like to know what you >> think. >> >> References >> ========== >> >> [1] https://pypi.python.org/pypi/ironic-discoverd >> [2] https://review.openstack.org/#/c/135605/ >> [3] >> https://github.com/openstack/diskimage-builder/tree/master/elements/i >> r >> onic-discoverd-ramdisk [4] >> https://github.com/agroup/instack-undercloud/ >> [5] https://bugs.launchpad.net/ironic-discoverd/+milestone/1.0.0 >> [6] >> https://github.com/stackforge/ironic-discoverd/blob/master/ironic_dis >> c >> overd/plugins/standard.py >> [7] >> https://blueprints.launchpad.net/ironic-discoverd/+spec/setup-ipmi-cr >> e >> dentials >> >> _______________________________________________ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> _______________________________________________ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> > > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev