Project

General

Profile

« Previous | Next » 

Revision 43c4bd72

Added by Marek Hulán over 9 years ago

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

View differences:

app/services/foreman/access_permissions.rb
permission_set.security_block :hosts do |map|
ajax_actions = [:architecture_selected, :compute_resource_selected, :domain_selected, :environment_selected,
:hostgroup_or_environment_selected, :medium_selected, :os_selected, :use_image_selected, :process_hostgroup,
:process_taxonomy, :current_parameters, :puppetclass_parameters, :template_used]
:process_taxonomy, :current_parameters, :puppetclass_parameters, :template_used, :interfaces]
cr_ajax_actions = [:cluster_selected, :template_selected, :provider_selected]
pc_ajax_actions = [:parameters]
subnets_ajax_actions = [:freeip]
......
map.permission :view_hosts, {:hosts => [:index, :show, :errors, :active, :out_of_sync, :disabled, :pending, :vm,
:externalNodes, :pxe_config, :storeconfig_klasses, :auto_complete_search, :bmc,
:runtime, :resources, :templates, :overview],
:runtime, :resources, :templates, :overview, :nics],
:dashboard => [:OutOfSync, :errors, :active],
:unattended => [:template, :provision],
:"api/v1/hosts" => [:index, :show, :status],

Also available in: Unified diff