Bug 1337770 - [RFE][spine-leaf] Predictive IP assignment across multiple subnets
Summary: [RFE][spine-leaf] Predictive IP assignment across multiple subnets
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 11.0 (Ocata)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: Upstream M2
: 14.0 (Rocky)
Assignee: Dan Sneddon
QA Contact: Alexander Chuzhoy
URL:
Whiteboard:
: 1391847 (view as bug list)
Depends On:
Blocks: 1214284 1337769 1442136 1476900 1636978
TreeView+ depends on / blocked
 
Reported: 2016-05-20 03:28 UTC by Keith Basil
Modified: 2023-03-24 13:41 UTC (History)
19 users (show)

Fixed In Version: openstack-tripleo-heat-templates-9.0.0-0.20180710202746.d2994ca.el7ost
Doc Type: Enhancement
Doc Text:
With this update, OSP 14 supports setting specific IP addresses for each node in each role when using routed spine-and-leaf networking. Prior to this update, setting specific IPs for each node was only supported for deployments that do not use routed spine-and-leaf networking. It is possible to set specific IPs for each network in OSP 13, but in OSP 13 this feature was considered Tech Preview due to lack of sufficient documentation and testing. OSP 14 allows operators to choose which IP addresses to use for each network on each node in each role when using routed spine-and-leaf, including multiple routed subnets in the same network.
Clone Of:
Environment:
Last Closed: 2019-01-11 11:47:00 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 568505 0 'None' MERGED Add ability to pre-assign IPs by role on ctlplane 2020-10-12 17:55:31 UTC
Red Hat Bugzilla 1601576 0 high CLOSED [RFE] Allow all overcloud networks to be Neutron routed networks 2021-02-22 00:41:40 UTC
Red Hat Product Errata RHEA-2019:0045 0 None None None 2019-01-11 11:47:58 UTC

Description Keith Basil 2016-05-20 03:28:35 UTC
Cloud operators want to be able to statically assign IP addresses to nodes and racks (L2 domains).

Comment 2 Derek Higgins 2016-09-26 14:11:16 UTC
Nova/Ironic alone don't allow the user to do this, but using the TripleOCapabilitiesFilter (already installed on the undercloud) this is possible.

For each node you first need to set the node ID in the capabilities, like this (note we also keep the boot_option to local)

ironic node-list | grep False | awk '{print $2}' | xargs -I XXX -n 1 ironic node-update XXX add properties/capabilities="node:XXX,boot_option:local"

Then you can specify the node ID and the IP address in the nova boot command

nova boot --image overcloud-full --flavor baremetal --key-name default --nic net-name=ctlplane,v4-fixed-ip=192.0.2.7 --hint capabilities:node=50c1c194-158a-4fcb-81af-5c05cc56517a node1

or first create the port and use it. Note: you can specify the mac of the nic when creating the port but if you don't the random one gets changed to match the host its scheduled on

neutron port-create --fixed-ip ip_address=192.0.2.11 ctlplane

nova boot --image overcloud-full --flavor baremetal --key-name default --nic port-id=00c48ca1-c989-46c8-9f3c-8e5d2e38f7cd --hint capabilities:node=50c1c194-158a-4fcb-81af-5c05cc56517a node1



In tripleo predictable IP assignments are documented here 
http://docs.openstack.org/developer/tripleo-docs/advanced_deployment/node_placement.html

Comment 17 Bob Fournier 2017-12-07 17:21:52 UTC
This depends on the Routed Network changes being available https://bugzilla.redhat.com/show_bug.cgi?id=1477642 and additional work beyond that, so pushing this to next release.

Comment 28 Bob Fournier 2018-08-15 17:26:19 UTC
*** Bug 1391847 has been marked as a duplicate of this bug. ***

Comment 30 Alexander Chuzhoy 2018-10-09 17:14:22 UTC
Verified:
Environment:
openstack-tripleo-heat-templates-9.0.0-0.20180919080941.0rc1.0rc1.el7ost.noarch

This is achievable with adding a yaml to overcloud deployment with something like:

parameter_defaults:
  <controller rolename>IPs:
    # Each controller will get an IP from the lists below, first controller, first IP
    ctlplane:
    - 10.37.168.81
    - 10.37.168.82
    - 10.37.168.83
  <compute rolename>IPs:
    # Each compute will get an IP from the lists below, first compute, first IP
    ctlplane:
    - 10.37.168.151
    - 10.37.168.152
  <CephStorage role>IPs:
    # Each ceph node will get an IP from the lists below, first node, first IP
    ctlplane:
    - 10.37.168.161
    - 10.37.168.162

Comment 38 errata-xmlrpc 2019-01-11 11:47:00 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:0045


Note You need to log in before you can comment on or make changes to this bug.