Non intuitive provisioning predictable IPs - due to deprecated_params defaults

Bug #1805482 reported by Harald Jensås
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Medium
Harald Jensås

Bug Description

To make the provisioning IPs work for the compute nodes, one should either:

* Use the deprecated NovaComputeIPs parameter
or
* Have a custom role file and comment "deprecated_param_ips: 'NovaComputeIPs'"

When using the default (i.e not using custom role file) + parameters ComputeIPs the computes don't get the predictable IPs on the ctlplane network (works for the composable the networks).

This is not intuitive and should be either fixed (best option) or explicitly mentioned in the docs.

Deploy with:

parameter_defaults:
  ComputeIPs:
    internal_api:
    - 172.17.1.211
    - 172.17.1.212
    storage:
    - 172.17.3.211
    - 172.17.3.212
    tenant:
    - 172.17.2.211
    - 172.17.2.212
    ctlplane:
    - 172.16.0.131
    - 172.16.0.132

Actual results: Computes nodes get IPs from the dhcp pool.
Expected results: The IPs specified in parameter_defaults should be used.

Changeing to the deprecated role name for compute, i.e NovaComputeIPs, or commenting/removing the line from the default roles data file ``deprecated_param_ips: 'NovaComputeIPs'`` fixes the issue.

The ips_from_pool (predictable IPs) for isolated/composable networks work fine with both "ComputeIPs" and "NovaComputeIPs" in parameter_defaults. If possible we should allow to use the two parameter names transparently for ctlplane predictable IPs as well.

Changed in tripleo:
milestone: none → stein-3
milestone: stein-3 → stein-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

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

Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on tripleo-heat-templates (master)

Change abandoned by Alex Schultz (<email address hidden>) on branch: master
Review: https://review.openstack.org/620391
Reason: Clearing the gate. Do not retore this until being given the all clear. See http://lists.openstack.org/pipermail/openstack-discuss/2018-November/000368.html

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/620391
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=7a1cd822f648384b24a85b81128c841b59e8d6aa
Submitter: Zuul
Branch: master

commit 7a1cd822f648384b24a85b81128c841b59e8d6aa
Author: Harald Jensås <email address hidden>
Date: Tue Nov 27 20:20:50 2018 +0100

    ctlplane pre-alloc IPs - deprecated/non-deprecated role name

    By default, Compute role template set's the deprecated_param_ips
    parameter in roles data. This forces the use of the deprecated
    names in paramer_defaults when using predictable IPs for the
    ctlplane network.

    To allow the user to either use the deprecated role name, or the
    non deprecated role name in parameters defaults extend the
    ctlplane_fixed_ip_set contition to use or logic to test for data
    in either the deprecated name parameter or the new parameter.

    In the server resource use yaql to pick the first element that
    is not empty. The non-deprecated parameter name is prioritiezed.

    Change-Id: Iedc65064c5efaa618c3d54df10bf09296829efd2
    Closes-Bug: #1805482

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/rocky)

Fix proposed to branch: stable/rocky
Review: https://review.openstack.org/622349

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/622356

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/queens)

Reviewed: https://review.openstack.org/622356
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=c6996606053cba1a9db230d7c1b46d071b67dc8c
Submitter: Zuul
Branch: stable/queens

commit c6996606053cba1a9db230d7c1b46d071b67dc8c
Author: Harald Jensås <email address hidden>
Date: Tue Nov 27 20:20:50 2018 +0100

    ctlplane pre-alloc IPs - deprecated/non-deprecated role name

    By default, Compute role template set's the deprecated_param_ips
    parameter in roles data. This forces the use of the deprecated
    names in paramer_defaults when using predictable IPs for the
    ctlplane network.

    To allow the user to either use the deprecated role name, or the
    non deprecated role name in parameters defaults extend the
    ctlplane_fixed_ip_set contition to use or logic to test for data
    in either the deprecated name parameter or the new parameter.

    In the server resource use yaql to pick the first element that
    is not empty. The non-deprecated parameter name is prioritiezed.

    Change-Id: Iedc65064c5efaa618c3d54df10bf09296829efd2
    Closes-Bug: #1805482
    (cherry picked from commit 7a1cd822f648384b24a85b81128c841b59e8d6aa)

tags: added: in-stable-queens
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/rocky)

Reviewed: https://review.openstack.org/622349
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=6ae4bb07a5d887745f9b31c1bdc2b365c3e9009e
Submitter: Zuul
Branch: stable/rocky

commit 6ae4bb07a5d887745f9b31c1bdc2b365c3e9009e
Author: Harald Jensås <email address hidden>
Date: Tue Nov 27 20:20:50 2018 +0100

    ctlplane pre-alloc IPs - deprecated/non-deprecated role name

    By default, Compute role template set's the deprecated_param_ips
    parameter in roles data. This forces the use of the deprecated
    names in paramer_defaults when using predictable IPs for the
    ctlplane network.

    To allow the user to either use the deprecated role name, or the
    non deprecated role name in parameters defaults extend the
    ctlplane_fixed_ip_set contition to use or logic to test for data
    in either the deprecated name parameter or the new parameter.

    In the server resource use yaql to pick the first element that
    is not empty. The non-deprecated parameter name is prioritiezed.

    Change-Id: Iedc65064c5efaa618c3d54df10bf09296829efd2
    Closes-Bug: #1805482
    (cherry picked from commit 7a1cd822f648384b24a85b81128c841b59e8d6aa)

tags: added: in-stable-rocky
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 8.2.0

This issue was fixed in the openstack/tripleo-heat-templates 8.2.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 9.2.0

This issue was fixed in the openstack/tripleo-heat-templates 9.2.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 10.3.0

This issue was fixed in the openstack/tripleo-heat-templates 10.3.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.