[RFE] Implement neutron routed networks support in Ironic

Bug #1658964 reported by Vasyl Saienko on 2017-01-24
32
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Wishlist
Harald Jensås
networking-baremetal
Fix Released
Wishlist
Harald Jensås

Bug Description

In many cases, physical data center networks are architected with a differentiation between layers 2 and 3. Said another way, there are distinct L2 network segments which are only available to a subset of compute hosts. Routing allows traffic to cross these boundaries. These topologies are used to manage network resource capacity (IP addresses, broadcast domain size, ARP tables, etc.) to allow for large scale networks.

Operators from the Large Deployers Team (LDT) and others would like an operator-provisioned Neutron construct that is exposed to users and maps onto this kind of physical network. They would like this construct to represent an L3 domain, in general having a larger scope than each of the physical L2 segments that contribute to it. Users must be able to specify that VMs are booted anywhere in such a domain - as opposed to on a particular physical L2 segment. Consequently the only guaranteed connectivity between VMs on this construct/domain is at L3; as the data path between any two VMs may involve IP routing hops. Fortunately many workloads only require L3 connectivity.

More info can be found: https://specs.openstack.org/openstack/neutron-specs/specs/newton/routed-networks.html
and https://specs.openstack.org/openstack/nova-specs/specs/newton/implemented/neutron-routed-networks.html

Ironic node should become L2 segment aware (we should know which L2 segments are available for particular node) to correctly pick subnet (ip address) when doing provisioning/cleaning.

Dmitry Tantsur (divius) on 2017-02-13
tags: added: rfe
Changed in ironic:
status: New → Confirmed
importance: Undecided → Wishlist
Sam Betts (sambetts) on 2017-05-25
Changed in ironic:
assignee: nobody → Sam Betts (sambetts)
Miguel Lavalle (minsel) wrote :

@Sam,

Please read the following exchange between hjensas and kevinbenton: http://eavesdrop.openstack.org/irclogs/%23openstack-neutron/%23openstack-neutron.2017-05-24.log.html#t2017-05-24T22:42:12

On the Neutron side, what we need Ironic to give us is a host_id. We maintain a segments to hosts map in Neutron. So, if we get the host id, we can do the rest. No need to duplicate the mapping

Dmitry Tantsur (divius) on 2017-08-07
tags: added: rfe-approved
removed: rfe

Related fix proposed to branch: master
Review: https://review.openstack.org/536040

Changed in ironic:
status: Confirmed → In Progress
assignee: Sam Betts (sambetts) → Harald Jensås (harald-jensas)

Related fix proposed to branch: master
Review: https://review.openstack.org/537353

Related fix proposed to branch: master
Review: https://review.openstack.org/537354

Reviewed: https://review.openstack.org/536040
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=cd7fd1feff9932b330bd2337d9e91e3e07995164
Submitter: Zuul
Branch: master

commit cd7fd1feff9932b330bd2337d9e91e3e07995164
Author: Harald Jensas <email address hidden>
Date: Sat Jan 20 01:39:16 2018 +0100

    Flat networks use node.uuid when binding ports.

    The flat driver will use the ironic node uuid as
    binding:host_id when ports are bound. Also the
    binding:vnic_type will be baremetal so that the mechanism
    driver in networking-baremetal can bind the port.

    Related-Bug: 1658964
    Depends-On: I952c7afbef5e80e3fd2a7f32f11bdc522e1ea397
    Change-Id: I7841d59c3590106dd8ac7e625a9db7b47674fe29

Reviewed: https://review.openstack.org/537353
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=3ad7a3e4adcfaf7b4595cdf816d5fe4ec1615f99
Submitter: Zuul
Branch: master

commit 3ad7a3e4adcfaf7b4595cdf816d5fe4ec1615f99
Author: Harald Jensas <email address hidden>
Date: Wed Jan 24 12:18:45 2018 +0100

    Add documentation for baremetal mech

    Add to configure-networking section, installation and
    configuration of networking-baremetal plugin.

    Related-Bug: #1658964
    Change-Id: Ic9a5d1de959cbeedb0e56ab5447042ce29028a8d

Reviewed: https://review.openstack.org/531637
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=d2da4150ea88ba9d5903fb5893b4ed769a14ac6b
Submitter: Zuul
Branch: master

commit d2da4150ea88ba9d5903fb5893b4ed769a14ac6b
Author: Harald Jensas <email address hidden>
Date: Mon Jan 8 03:42:53 2018 +0100

    Wait for ironic-neutron-agent to report state

    Wait for the agent to finish reporting state, bridge_mappings
    must be reported prior to any cleaning attempts.

    Change-Id: I041761dd896c9d89dc6cf7bafc991a0697ded05b
    Related-Bug: #1658964

Dmitry Tantsur (divius) on 2018-02-19
Changed in ironic:
status: In Progress → Fix Released
Changed in networking-baremetal:
status: New → Fix Released
importance: Undecided → Wishlist
assignee: nobody → Harald Jensås (harald-jensas)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers