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:

test/functional/unattended_controller_test.rb
test "should not provide unattened files to hosts which are not in built state" do
@request.env["HTTP_X_RHN_PROVISIONING_MAC_0"] = "eth0 #{@rh_host.mac}"
@request.env['REMOTE_ADDR'] = '10.0.1.2'
get :built
assert_response :created
get :provision
......
refute_equal new_ip, h.ip
h.create_token(:value => "aaaaab", :expires => Time.now + 5.minutes)
get :built, {'token' => h.token.value }
h_new=Host.find_by_name(h.name)
h_new=Host.find_by_name(h.reload.name)
assert_response :success
assert_equal new_ip, h_new.ip
end
......
h.create_token(:value => "aaaaac", :expires => Time.now + 5.minutes)
get :built, {'token' => h.token.value }
assert_response :success
h_new=Host.find_by_name(h.name)
h_new=Host.find_by_name(h.reload.name)
assert_equal h.ip, h_new.ip
end

Also available in: Unified diff