Joey Boggs
2009-May-29 20:52 UTC
[Ovirt-devel] [PATCH server] last patch to implement remote freeipa
This completes the last few requirements for remote ipa, one thing to note is that when using remote ipa we do not allow the choice of creating a local dns server on the ovirt node. --- installer/bin/ovirt-installer | 22 ++++++++++++++++--- .../modules/ovirt/files/ovirt-remote-ipa.conf | 1 + installer/modules/ovirt/manifests/freeipa.pp | 10 +++++++++ .../modules/ovirt/templates/ovirt-dhcp.conf.erb | 3 +- 4 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 installer/modules/ovirt/files/ovirt-remote-ipa.conf diff --git a/installer/bin/ovirt-installer b/installer/bin/ovirt-installer index d0dc77b..3169938 100755 --- a/installer/bin/ovirt-installer +++ b/installer/bin/ovirt-installer @@ -175,8 +175,7 @@ guest_dev = guest_httpd_dev #sep_networks = (guest_dev == admin_dev) ? "n" : "y" ovirt_host = prompt_for_answer("Enter the hostname of the oVirt management server", :regex => IP_OR_FQDN, :default => hostname.chomp) -#remote_ipa = prompt_yes_no("Is FreeIPA already installed on another machine?") -remote_ipa = "n" +remote_ipa = prompt_yes_no("Is FreeIPA already installed on another machine?") if remote_ipa == "y" ipa_host = prompt_for_answer("Enter the hostname of the FreeIPA server", :regex => IP_OR_FQDN) else @@ -196,14 +195,25 @@ ldap_dn_temp.each do |i| # DNS Configuration +ns_count = 0 +ns_list = {} @cli.say( "\nThe following DNS servers were found:") File.open('/etc/resolv.conf').each_line{ |line| line = line.chomp - puts line if line =~ /nameserver/ + if line =~ /nameserver/ + @cli.say(line) + ns,ip = line.split() + ns_list[ns_count] = ip + end } + +if remote_ipa == "y" +dns_servers = "n" +else @cli.say("<%= color('\nIf your above dns servers contain the A records for your management server select \"y\" otherwise select \"n\" and a dns server will be configured during the install', RED) %>") dns_servers = prompt_yes_no("Use this systems's dns servers?") +end guest_httpd_ipaddr = interfaces[guest_httpd_dev] guest_ipaddr = interfaces[guest_dev] @@ -235,7 +245,11 @@ if dhcp_setup == "n" dhcp_start = prompt_for_answer("Enter the dhcp pool start address (example: 3):", :regex => OCTET) dhcp_stop = prompt_for_answer("Enter the dhcp pool end addess (example: 100):", :regex => OCTET) dhcp_domain = prompt_for_answer("Enter the dhcp domain you wish to use (example: example.com):", :default => dnsdomainname.chomp, :regex => IP_OR_FQDN) - admin_dns_server = interfaces[admin_dev] + if dns_servers == "y" + admin_dns_server = ns_list[0] + else + admin_dns_server = admin_ipaddr + end admin_network_gateway = prompt_for_answer("Enter the network gateway for your Admin network (example: 192.168.50.254):", :default => default_gw.chomp, :regex => IP_OR_FQDN) tftp_setup = prompt_yes_no("Provide pxe/tftp capability?") end diff --git a/installer/modules/ovirt/files/ovirt-remote-ipa.conf b/installer/modules/ovirt/files/ovirt-remote-ipa.conf new file mode 100644 index 0000000..5cf3506 --- /dev/null +++ b/installer/modules/ovirt/files/ovirt-remote-ipa.conf @@ -0,0 +1 @@ +Alias /ipa/config "/usr/share/ipa/html" diff --git a/installer/modules/ovirt/manifests/freeipa.pp b/installer/modules/ovirt/manifests/freeipa.pp index 8983e10..31449f0 100644 --- a/installer/modules/ovirt/manifests/freeipa.pp +++ b/installer/modules/ovirt/manifests/freeipa.pp @@ -143,6 +143,16 @@ class freeipa::remote { notify => Service[httpd] } + file{"/usr/share/ipa/html": + ensure => directory + } + + file {"/etc/httpd/conf.d/ovirt-remote-ipa.conf": + source => "puppet:///ovirt/ovirt-remote-ipa.conf", + mode => 644, + notify => Service[httpd] + } + } diff --git a/installer/modules/ovirt/templates/ovirt-dhcp.conf.erb b/installer/modules/ovirt/templates/ovirt-dhcp.conf.erb index dda7976..03cfc2b 100644 --- a/installer/modules/ovirt/templates/ovirt-dhcp.conf.erb +++ b/installer/modules/ovirt/templates/ovirt-dhcp.conf.erb @@ -6,5 +6,4 @@ domain=<%= dhcp_domain %> dhcp-option=option:router,<%= admin_network_gateway %> dhcp-option=option:ntp-server,<%= ntp_server %> dhcp-option=12 -local=/<%= dhcp_domain %>/ -server=<%= admin_dns_server %> +dhcp-option=6,<%= admin_dns_server %> -- 1.6.0.6