[Ovirt-devel] [PATCH server] Add the installer files as a subpackage of the server package
David Lutterkort
lutter at redhat.com
Thu Jan 22 23:15:36 UTC 2009
On Tue, 2009-01-20 at 16:49 -0500, Bryan Kearney wrote:
> This is resend of the three earlier patches. I have combined them into a single patch,
> and addressed all the comments with the following excpetions:
>
> - Passwords are stills stored on the file system. I will add a patch ont this.
> - Changelog was not updtaed, since that seems to get done at release time.
ACK .. please address the comments below though, either with a revamped
patch or follow up patches.
> diff --git a/installer/bin/ovirt-installer b/installer/bin/ovirt-installer
> new file mode 100755
> index 0000000..65dc522
> --- /dev/null
> +++ b/installer/bin/ovirt-installer
...
> +if File.exist?("/usr/sbin/sestatus")
> + sestatus = `/usr/sbin/sestatus`
> + if sestatus !~ /(Current mode: permissive|Current mode: disabled|SELinux status: disabled|SELinux status: permissive)/
> + puts "SELinux enabled, please disable or set in permissive mode permanently by editing"
> + puts "/etc/selinux/config and rebooting"
> + exit
> + end
> +end
This is harder than it has to be: why not just run selinuxenabled and
getenforce to see if we are in enforcing mode ? We could also offer to
put the system into permissive mode if it is enforcing.
> +# DNS Configuration
> + at cli.say( "\nThe following DNS servers were found:")
> +File.open('/etc/resolv.conf').each_line{ |line|
> + line = line.chomp
> + puts line if line =~ /nameserver/ and line !~ /nameserver 127.0.0.1/
> +}
> +dns_servers = prompt_yes_no("Use this systems's dns servers?")
Why suppress localhost as a nameserver here ? It should be fine to run
your own dnsmasq on localhsot.
> +mgmt_ip = `ifconfig #{mgmt_dev}`
> +mgmt_ipaddr= mgmt_ip.scan(/\s*inet addr:([\d.]+)/)
> +prov_ip = `ifconfig #{prov_dev}`
> +prov_ipaddr= prov_ip.scan(/\s*inet addr:([\d.]+)/)
> +
> +if dns_servers == "y"
> + host_lookup = Socket.getaddrinfo(ipa_host,nil)
> + hostip = host_lookup[1][3]
> + if hostip.to_s != mgmt_ipaddr.to_s
> + @cli.say("Reverse dns lookup for #{ipa_host} failed, exiting")
That's a forward DNS lookup you're doing - but you should also check
that looking up mgmt_ipaddr gets you ipa_host.
> + exit
> + end
> +end
> +
> +# DHCP Configuration
> +dhcp_setup = prompt_yes_no("Does your provisioning network already have dhcp?")
> +if dhcp_setup == "n"
> + dhcp_interface = prov_dev
> + dhcp_network = prompt_for_answer("Enter the first 3 octets of the dhcp network you wish to use (example: 192.168.50):", :regex => THREE_OCTETS)
> + 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)
Strictly speaking, this doesn't have to be on a /24 network; maybe just
ask for full IP addresses ?
> + dhcp_domain = prompt_for_answer("Enter the dhcp domain you wish to use (example: example.com):", :regex => IP_OR_FQDN)
Default to dnsdomainname ? (and use that for other places where we ask
for a domain)
> +freeipa_password = prompt_for_answer("NOTE: The following pasword will also be you ovirtadmin password for the web management login\n\
s/you/your/
> +# Generate the file and output it.
> +FileUtils.mkdir_p("/usr/share/ace/appliances/ovirt")
> +config_file = File.new("/usr/share/ace/appliances/ovirt/ovirt.pp", "w")
> +config_file.write(ERB.new(template, 0, "%>").result)
> +config_file.close()
Why is the file written to /usr/share ? It should go into /var/lib, and
ideally would be configurable (so that I can run the installer as an
ordinary user)
> diff --git a/installer/modules/ovirt/manifests/dns.pp b/installer/modules/ovirt/manifests/dns.pp
> new file mode 100644
> index 0000000..5326c7c
> --- /dev/null
> +++ b/installer/modules/ovirt/manifests/dns.pp
> +define dns::remote($mgmt_ipaddr="", $prov_ipaddr="",$mgmt_dev="",$prov_dev="") {
> +
> +# On the pxe server you will need to ensure that the
> +# next server option points to the ip address of the tftp server
> +
> +# The following SRV records must be present in the dns server for everything
> +# to function properly. Replace example.com with the appropriate domain
> +
> +# _ovirt._tcp.example.com. SRV 0 5 80 ovirtwuiserver.example.com.
> +# _ipa._tcp.example.com. SRV 0 5 80 ipaserver.example.com.
> +# _ldap._tcp.example.com. SRV 0 5 389 ldapserver.example.com.
> +# _collectd._tcp.example.com. SRV 0 5 25826 ovirtwuiserver.example.com.
> +# _qpidd._tcp.example.com. SRV 0 5 5672 ovirtwuiserver.example.com.
> +# _identify._tcp.example.com. SRV 0 5 12120 ovirtwuiserver.example.com.
> +
> +# Also A records must be present for each oVirt node. Without this they are unable
> +# to determine their hostname and locate the management server.
These comments shouldn't be here - they should go into a README that
tells people how to use the installer and what infrastructure they need
to have.
Nobody will find these instructions buried in a puppet manifest.
David
More information about the ovirt-devel
mailing list