NIC templates examples for usual custom roles

Bug #1625558 reported by Marius Cornea on 2016-09-20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Dan Sneddon

Bug Description

We should add some NIC template examples showing which networks are required for usual custom roles such as: networker node running neutron agents, controller node running the pacemaker managed services, service api nodes running the openstack api services.

Steven Hardy (shardy) wrote :

Thanks for the bug report, can you provide a little more detail about what you'd like to see as the fix here?

I've been working on a script which basically creates a skeleton environment like:

  OS::TripleO::Foo: foo-templates/foo.yaml
  OS::TripleO::FooConfig: foo-templates/foo-config.yaml
  OS::TripleO::Foo::Net::SoftwareConfig: ../net-config-noop.yaml
  # Port assignments for the Foo role
  OS::TripleO::Foo::Ports::ExternalPort: ../network/ports/noop.yaml
  OS::TripleO::Foo::Ports::InternalApiPort: ../network/ports/noop.yaml
  OS::TripleO::Foo::Ports::StoragePort: ../network/ports/noop.yaml
  OS::TripleO::Foo::Ports::StorageMgmtPort: ../network/ports/noop.yaml
  OS::TripleO::Foo::Ports::TenantPort: ../network/ports/noop.yaml
  OS::TripleO::Foo::Ports::ManagementPort: ../network/ports/noop.yaml

This can then easily be customized in the same way as any other role, but I'm not sure we need to provide custom-role specific examples? (or do we?) I'd assumed folks would simply apply their preferred ports and network config based on knowledge of their existing non-custom roles?

Changed in tripleo:
status: New → Triaged
importance: Undecided → Medium
milestone: none → newton-rc2
assignee: nobody → Steven Hardy (shardy)
Marius Cornea (mcornea) wrote :

I was thinking more of nic templates examples as the ones provided in [1] but indeed we also need the environment you mentioned that specifies which networks are enabled for the role.

My main idea here is to exemplify to the user which networks are required when deploying particular custom roles. When building the nic templates it's easier to have an example file as a starting point.


Changed in tripleo:
milestone: newton-rc2 → ocata-1
tags: added: newton-backport-potential
Changed in tripleo:
milestone: ocata-1 → newton-rc3
Emilien Macchi (emilienm) wrote :

Moving it to Ocata 1. It doesn't seem critical for RC3.

Changed in tripleo:
milestone: newton-rc3 → ocata-1
Dan Sneddon (dsneddon) wrote :

This implementation will be related to the work being done for custom composable roles tracked in this bug:

Emilien Macchi (emilienm) wrote :

Dan, does it mean we can close this bug? I see the other bug "Fix released".

Steven Hardy (shardy) wrote :

I think this is related to which is asking for the environment files that enable a particular nic configuration (such as single-nic-with-vlans mentioned above) composable (or in other words, automatically enable it for all roles when you do -e $tht/environments/net-single-nic-with-vlans.yaml

If we do that, can we close this, or are there additional examples needed?

Marius Cornea (mcornea) wrote :

Yes, we can keep track of the nic templates in 1633090 as they are referenced in the environment file.

Changed in tripleo:
status: Triaged → Incomplete
status: Incomplete → Invalid
Steven Hardy (shardy) on 2016-11-11
Changed in tripleo:
milestone: ocata-1 → none
Changed in tripleo:
assignee: Steven Hardy (shardy) → Dan Sneddon (dsneddon)
status: Invalid → In Progress
Dan Sneddon (dsneddon) wrote :

I put up a review for a Neutron Networker node, but I don't agree that we should have lots of templates covering many different scenarios. The problem becomes a guessing game of what kinds of custom roles *might* be created, and then how do we even recommend which template to use for a custom role: only the creator of the custom role for a particular topology knows which networks should be connected to a custom role. Especially since we never expect a production installation to use the built-in roles, they are merely samples to give an idea how to create custom NIC templates.

I would *much* rather see this documented, along with just a couple of examples, something like:

"When creating a custom role, you will need to create a custom NIC configuration for the role. If the role should have an External network (most custom roles will have at least one API hosted on the External network), then base your role on the controller.yaml NIC config template (which has the default route on the External network). Remove or add any unneeded networks to the template. For instance, a Neutron Networker node would not require the Storage or Storage Management networks, so those can be removed. When a Neutron Networker role is used, then typically the Tenant tunneling network may be removed from the Controllers, since Tenant networking will be handled by the Networker nodes."

I think the Networker role will be the most common, so I have added the Neutron Networker role here:

Changed in tripleo:
milestone: none → pike-1
Changed in tripleo:
milestone: pike-1 → pike-2
Changed in tripleo:
milestone: pike-2 → pike-3

Submitter: Jenkins
Branch: master

commit 020f74572f129a1b344ab906794e9c6cbb79c739
Author: Dan Sneddon <email address hidden>
Date: Mon Nov 21 11:15:26 2016 -0800

    Create NIC templates for Neutron Networker composable role

    This change adds a Neutron Networker role to each of the sample
    NIC config directories. The Networker roles are similar to the
    controller roles, since they use the External interface for the
    default gateway, but they don't need any connection to the
    Storage or Storage Management networks.

    Partial-bug: 1633090
    Partial-bug: 1625558
    Change-Id: Ieb4a293ea71d942cbfbf732f29c6eb41c975d4eb

Changed in tripleo:
milestone: pike-3 → pike-rc1
Changed in tripleo:
milestone: pike-rc1 → queens-1
Alex Schultz (alex-schultz) wrote :

Is there additional work for this one or can we close it for now?

Changed in tripleo:
milestone: queens-1 → queens-2
Changed in tripleo:
milestone: queens-2 → queens-3
Changed in tripleo:
milestone: queens-3 → queens-rc1
Changed in tripleo:
milestone: queens-rc1 → rocky-1
Changed in tripleo:
milestone: rocky-1 → rocky-2
Changed in tripleo:
milestone: rocky-2 → rocky-3
Changed in tripleo:
milestone: rocky-3 → rocky-rc1
Changed in tripleo:
milestone: rocky-rc1 → stein-1
Changed in tripleo:
milestone: stein-1 → stein-2
Changed in tripleo:
milestone: stein-2 → stein-3
Changed in tripleo:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers