[RFE] Add portgroups support to Ironic

Bug #1618754 reported by Vasyl Saienko on 2016-08-31
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Wishlist
Vasyl Saienko

Bug Description

Ironic currently supports only single nic deployments. Single nic architecture doesn't allow to have good fault tolerance and aggregate link speed capabilities. We need to have a support of bonded interfaces to reach good fault tolerance and allow aggregate link speeds.

The spec was approved: http://specs.openstack.org/openstack/ironic-specs/specs/approved/ironic-ml2-integration.html

Changed in ironic:
assignee: nobody → Vasyl Saienko (vsaienko)
status: New → In Progress
Vladyslav Drok (vdrok) wrote :

Was approved a while ago, so added a tag myself.

tags: added: rfe-approved

Reviewed: https://review.openstack.org/361053
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=541947f9060b146d25f97025eda6ca69b1c87226
Submitter: Jenkins
Branch: master

commit 541947f9060b146d25f97025eda6ca69b1c87226
Author: Vasyl Saienko <email address hidden>
Date: Fri Aug 26 03:03:18 2016 -0400

    Add standalone_ports_supported to portgroup - DB

    This patch is a database change to portgroup object that adds
    a new field standalone_ports_supported. The field indicates
    whether interfaces that belongs to the portgroup may be used
    as individual interfaces. For example when hardware doesn't
    support portchannel fallback.

    Related-Bug: #1618754
    Change-Id: I24c2408a0769b630ce275f8688705fc35efd41a8

Changed in ironic:
importance: Undecided → Wishlist

Reviewed: https://review.openstack.org/347549
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=a7310377e27bbce454b8a7a6b943cc5b7a45bbad
Submitter: Jenkins
Branch: master

commit a7310377e27bbce454b8a7a6b943cc5b7a45bbad
Author: Vladyslav Drok <email address hidden>
Date: Mon Jul 25 20:08:14 2016 +0000

    Add PortGroups API

    This patch adds the portgroups API object and REST controller
    to Ironic. Additionally this patch provides a PortgroupsCollection
    class and PortgroupsPatch class. API version has been bumped to 1.23.

    This commit includes changes to:
    - the API (addition of portgroup API)
    - the API tests

    Partial-bug: #1618754
    Co-Authored-By: Jenny Moorehead <email address hidden>
    Co-Authored-By: Will Stevenson <email address hidden>
    Co-Authored-By: Vasyl Saienko <email address hidden>
    Co-Authored-By: Vladyslav Drok <email address hidden>
    Co-Authored-By: Zhenguo Niu <email address hidden>
    Co-Authored-By: Michael Turek<email address hidden>
    Change-Id: I03ab55c15c1ee2fdd4b2786e366f9502c1ad8972

Reviewed: https://review.openstack.org/332177
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=dd57ed5a2d2c42abc72ac13ce7eb491c27b7468a
Submitter: Jenkins
Branch: master

commit dd57ed5a2d2c42abc72ac13ce7eb491c27b7468a
Author: Michael Turek <email address hidden>
Date: Thu Aug 25 20:24:28 2016 +0000

    Integrate portgroups with ports to support LAG

    This patch adds portgroups subcontroller. The API version
    has been bumped to 1.24. New endpoints were added:

      * '/v1/nodes/<node>/portgroups'
      * '/v1/portgroups/<pg>/ports'

    Starting with this API version, ports have a new 'portgroup_uuid'
    field that contains UUID of a portgroup this port belongs to.

    Partial-bug: #1618754

    DocImpact
    Co-Authored-By: Jenny Moorehead <email address hidden>
    Co-Authored-By: Will Stevenson <email address hidden>
    Co-Authored-By: Vasyl Saienko <email address hidden>
    Co-Authored-By: Vladyslav Drok <email address hidden>
    Co-Authored-By: Zhenguo Niu <email address hidden>
    Co-Authored-By: Michael Turek <email address hidden>

    Change-Id: I597ae1a3a969ee9fb4df57e444c606c77c5c093c

Reviewed: https://review.openstack.org/393660
Committed: https://git.openstack.org/cgit/openstack/ironic-specs/commit/?id=36edf94c5dac1b27ab48c54e9399b07889b6ec62
Submitter: Jenkins
Branch: master

commit 36edf94c5dac1b27ab48c54e9399b07889b6ec62
Author: Vasyl Saienko <email address hidden>
Date: Fri Nov 4 11:34:35 2016 +0200

    Update ironic-ml2-integration spec

    This patch updates Rest API impact section and adds new endpoints
      * /v1/nodes/(node_ident)/portgroups
      * /v1/nodes/(node_ident)/portgroups/detail
      * /v1/portgroups/(portgroup_ident)/ports
      * /v1/portgroups/(portgroup_ident)/ports/detail

    Update CLI impact section
      * Add OSC commands

    Update portgroup json objects with new fields:
      * internal_info
      * standalone_ports_supported

    Related-Bug: #1618754
    Change-Id: Id8bc4213ae0e3f64aaed7decc04fac66396525df

Reviewed: https://review.openstack.org/393834
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=0335e81a8787398dc694e361f9144a51c0145a56
Submitter: Jenkins
Branch: master

commit 0335e81a8787398dc694e361f9144a51c0145a56
Author: Vasyl Saienko <email address hidden>
Date: Fri Nov 4 18:04:33 2016 +0200

    Add portgroup to api-ref

    This patch updates api-ref documentations to reflect
    portgroup changes.

    Related-Bug: #1618754
    Co-Authored-By: Vladyslav Drok <email address hidden>
    Change-Id: Id34344df9d3e68efe891c2be4a0b362be6557202

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

Changed in ironic:
assignee: Vasyl Saienko (vsaienko) → Vladyslav Drok (vdrok)

Reviewed: https://review.openstack.org/396610
Committed: https://git.openstack.org/cgit/openstack/ironic-specs/commit/?id=42a2a1833e7525703cc6964fdd155020043e404f
Submitter: Jenkins
Branch: master

commit 42a2a1833e7525703cc6964fdd155020043e404f
Author: Vladyslav Drok <email address hidden>
Date: Fri Nov 11 14:25:23 2016 +0200

    Add bonding configuration fields to portgroups

    This change:

    * adds mode and properties fields to the portgroup objects and
      describes the changes to nova needed to use them;
    * makes portgroup.address field not mandatory;
    * brings some updates to CLI & OSC CLI;
    * makes this spec dependent on attach/detach interfaces
      work;
    * contains some minor cosmetic changes for more readability.

    Related-bug: #1618754
    Change-Id: I7d1c72e80826d077e36e60443aa7573a1c81646a

Reviewed: https://review.openstack.org/398417
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=cce428112e8f258cf09483dbf245822ba6a2d5cf
Submitter: Jenkins
Branch: master

commit cce428112e8f258cf09483dbf245822ba6a2d5cf
Author: Vladyslav Drok <email address hidden>
Date: Wed Nov 16 17:26:09 2016 +0200

    Add portgroup configuration fields

    This change adds mode and properties fields into portgroup object
    and adds a new API microversion to work with them.

    It also makes portgroups' address field optional for all API
    microversions.

    Partial-Bug: #1618754
    Change-Id: Id8c62fa56908040b0df16cc54c122ce2473a4587

Changed in ironic:
assignee: Vladyslav Drok (vdrok) → Vasyl Saienko (vsaienko)

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

Changed in ironic:
assignee: Vasyl Saienko (vsaienko) → Vladyslav Drok (vdrok)
Changed in ironic:
assignee: Vladyslav Drok (vdrok) → Vasyl Saienko (vsaienko)
Changed in ironic:
assignee: Vasyl Saienko (vsaienko) → Vladyslav Drok (vdrok)

Reviewed: https://review.openstack.org/413000
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=ef818b7a31817971c84969e0907604a4acc11772
Submitter: Jenkins
Branch: master

commit ef818b7a31817971c84969e0907604a4acc11772
Author: Vladyslav Drok <email address hidden>
Date: Tue Dec 20 11:41:30 2016 +0200

    Forbid removing portgroup mode

    Mode can be left empty on creation, the value will be populated by
    the dbapi, but in case of updates, we should not allow removing it.

    Partial-Bug: #1618754
    Change-Id: I917b23bc155972b777b143d16545a49039604910

Reviewed: https://review.openstack.org/413108
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=519bb0c19d6327bd29facc129842856f307910ad
Submitter: Jenkins
Branch: master

commit 519bb0c19d6327bd29facc129842856f307910ad
Author: Vladyslav Drok <email address hidden>
Date: Tue Dec 20 16:22:16 2016 +0200

    Add API reference for portgroup's mode and properties

    Partial-Bug: #1618754
    Change-Id: Icf8386715b49c17e153dd397dbcb30d3cd26824a

Changed in ironic:
assignee: Vladyslav Drok (vdrok) → Vasyl Saienko (vsaienko)

Reviewed: https://review.openstack.org/406915
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=b83af0d65a9a06691a6e9bd716b9f17fff0856ed
Submitter: Jenkins
Branch: master

commit b83af0d65a9a06691a6e9bd716b9f17fff0856ed
Author: Vasyl Saienko <email address hidden>
Date: Mon Dec 5 14:23:08 2016 +0200

    Allow to attach/detach VIF to portgroup

    With this patch port groups are activated in Ironic.
    When attaching a VIF to a node, it is attached to the first
    free port group. If there are no free port groups, the first
    available port (pxe_enabled has higher priority) is used
    instead.

    Related-Bug: #1618754
    Related-Bug: #1582188
    Co-Authored-By: Vladyslav Drok <email address hidden>
    Change-Id: I0dca2c2d98184e370c08c3e05aa3edadead869af

Changed in ironic:
assignee: Vasyl Saienko (vsaienko) → Tuan (tuanla)
Changed in ironic:
assignee: Tuan (tuanla) → Vasyl Saienko (vsaienko)
Vasyl Saienko (vsaienko) wrote :
Changed in ironic:
status: In Progress → Fix Committed
Changed in ironic:
status: Fix Committed → Fix Released
Vasyl Saienko (vsaienko) on 2017-02-01
Changed in ironic:
status: Fix Released → Fix Committed
Vasyl Saienko (vsaienko) on 2017-02-01
Changed in ironic:
status: Fix Committed → Fix Released

Reviewed: https://review.openstack.org/429826
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=d3e13f6f0b8a54ca41d2370ab322912ba4b2ad2c
Submitter: Jenkins
Branch: master

commit d3e13f6f0b8a54ca41d2370ab322912ba4b2ad2c
Author: Vladyslav Drok <email address hidden>
Date: Mon Feb 6 20:42:10 2017 +0200

    Add port groups configuration documentation

    Closes-Bug: #1640592
    Related-Bug: #1618754
    Change-Id: Ib4b670e031402acc151e650e48924129d90595e9

Change abandoned by Kyrylo Romanenko (<email address hidden>) on branch: master
Review: https://review.openstack.org/450855

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