codehaus


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[neutron][ironic][nova][routed_network] what's normal workflow when ironic host added to nova from neutron?


Hi,

Actually I know only the "ironicless" usecases of routed provider networks.
As I know neutron has the hostname from the agent (even from config or if
not defined from socket.gethostname()).
For a similar feature (which uses placement guaranteed minimum bandwidth)
there was a change that come from a
bug with perhaps Ironic usecases:
https://review.opendev.org/696600
the bug: https://bugs.launchpad.net/neutron/+bug/1853840

The solution was to introduce a new config option
called resource_provider_hypervisors
(
https://review.opendev.org/#/c/696600/3/neutron/conf/plugins/ml2/drivers/mech_sriov/agent_common.py
 )
Without having experience with ironic based on your description your
problem with routed provider nets is
similar and the config option should be used to make segments plugin use
that for resource provider / host aggregate creation.

Regards
Lajos

ì??ì? ì?? <ileixe at gmail.com> ezt írta (idÅ?pont: 2020. febr. 10., H, 10:42):

> Hi stacker,
>
> I'm trying to use ironic routed network from stein.
>
> I do not sure how the normal workflow works in nova/neutron/ironic
> side for routed network, so I sent this mail to get more information.
> From what I understand for ironic routed network, what I did
>
> - Enable segment plugin in Neutron
> - Add ironic 'node'
> - Add ironic port with physical network
> - network-baremetal plugin reports neutron from all ironic nodes.
>    - It sent 'physical_network' and 'ironic node uuid' to Neutron
>      - It make 'segmenthostmapping' entry with ('node uuid', 'segment_id')
>  -  Add segment for the subnet.
>
> At last step, I encountered the strange. In detail,
> - Neutron subnet update callback call nova inventory registration
>   - Neutron ask placement to create resource provider for segment
>   - Neutron ask nova to create aggregate for segment
>   - Neutron request placement to associate nova aggregate to resource
> provider.
>   - (Bug?) Neutron add hosts came from 'segmenthostmapping' to nova
> aggregate
>
> Since 'segmenthostmapping' has 'ironic node uuid' for host, nova deny
> to register the host to aggregate emitting the exception like below
>
> Returning 404 to user: Compute host
> 27004f76-2606-4e4a-980e-a385a01f04de could not be found. __call__
>
> What's strange for me is why neutron ask 'ironic node uuid' for host
> when nova aggregate only look for host from HostMapping which came
> from 'host' in compute_nodes.
>
> I could not find the code related to how 'ironic node uuid' can be
> registered in nova aggregate.
>
>
> Please someone who knows what's going on shed light on me.
>
> Thanks.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20200210/f5a19ee6/attachment.html>