Project

General

Custom queries

Profile

Actions

Refactor #7456

closed

Extract primary interface from host

Added by Marek Hulán over 10 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Category:
Network
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Extract MAC, IP, domain and subnet out of host object to the separate interface object. Related to this - properly detect primary interface among facts, never use ipaddress and macaddress facts. We should add primary and provisioning flags to interfaces.

Primary - this gives the host it's identity, and the DNS record for
this interface is how the host is referred to / displayed in the UI.
There must always be a primary, so that a host has a name (except for
unamanged, wher the host.name is the fqdn as usual)

Provisioning - the interface used for writing tftp files based it's
mac, and configured as the primary during kickstart so it can reach
Foreman. Defaults to the Primary interface above if not set.

Some more details:

This is because we often hear of people having separate provisioning
networks, with hosts moved to the correct vlans/subnets after build.
As such, you want to see "foo.example.com" in Foreman, not
"foo.provisioning.example.com".

Few ideas that we agreed on * primary interface should always be managed (flag added recently) * same applies to provisioning interface * we can easily support moving of provisioning flag between interfaces * we don't want to enable primary interface flag to be moved (at least for now - we do it for now for hosts, so depending on complexity) * while flags on interface seems as simple solution for now, we should think
about subnet roles so by assigning a subnet with role "provisioning", we'd
know the default value for provisioning flag, this brings several things to
consider, like multiple provisioning subnets


Related issues 11 (2 open9 closed)

Related to Foreman - Tracker #2409: NetworkingNew

Actions
Related to Foreman - Bug #7405: FreeBSD bond interfaces lead to constant switching of primary interfaceClosed09/10/2014Actions
Related to Foreman - Feature #8556: Resolve interface.name when instantiating ProxyAPI::BMCNew12/03/2014Actions
Related to Foreman - Bug #9138: Intermittent HostTest/NIC integration test failuresDuplicateTomáš Strachota01/28/2015Actions
Related to Foreman - Bug #9170: Wrong nic order in libvirt domainClosed01/29/2015Actions
Related to Foreman - Bug #9461: undefined method domain_selected() when selecting Host group domain/subnetClosedTomer Brisker02/19/2015Actions
Related to Foreman - Bug #9966: Add debug logging when host interfaces cannot be matched to VM interfacesClosedTomáš Strachota03/31/2015Actions
Blocks Foreman - Feature #3695: Add a device name to additional host interfacesResolved11/19/2013Actions
Blocked by Foreman - Refactor #7733: Remove Host FixturesClosedGreg Sutcliffe09/29/2014Actions
Blocks Foreman - Feature #7458: Allow searching of hosts based on mac address (including all interfaces)ClosedMarek Hulán09/16/2014Actions
Blocks Foreman - Feature #5458: Make setting static IP more user friendlyClosedMarek Hulán04/25/2014Actions

Added by Marek Hulán about 10 years ago

Revision 43c4bd72 (diff)

Fixes #7456 - Extract primary interface from host

Contributions from:

All host must have at least one primary interface and one provision (can
be the same interface). Primary interface gives host a name so even
unamanaged host have primary interface (we skip validations of other
attributes for unamanged hosts though).

Host still have name attribute which is a cache of primary interface name.
Therefore we can use the host name in SQL queries, as a friendly_id etc.

- realm moved to the primary tab
- fqdn in nics table
- flags in nics table
- checkboxes for provision and primary flags
- modal resize fix
- original fields for primary NIC removed
- skipping validation for new resources
- warnings before switching flags and table update
- host name and primary interface name connected
- host domain name in the page title
- nics on host show page
- clearing modal window on cancel
- fixed domain validation in NIC::Base
- ip suggestion for all interfaces
- flags switchable from the overview table
- use icons instead of text for primary/provision on NICs overview tab
- attempt to fix sending NIC template
- fix fqdn algorithm
- ip addres in the overview table
- fix for class name collision
- better behavior of host name <-> primary name sync
- fix for subnet combobox values
- fix for modal poping up on form submission
- network partial for CRs moved from VM tab to modal
- fix ip suggestion race for ipam=db

Actions

Also available in: Atom PDF