[Ovirt-devel] [PATCH server] Force ovirt ssl conf to listen on both Admin and Guest network interfaces.

Steve Linabery slinabery at redhat.com
Tue Mar 17 14:32:50 UTC 2009


Variable name change in ovirt-installer and associated .pp (et al) files for
consistency with current documented architecture diagrams.
---
 conf/ovirt-server.conf                             |    5 +-
 .../appliances/ovirt-appliance/ovirt-appliance.pp  |   12 ++--
 installer/bin/ovirt-installer                      |   60 ++++++++++---------
 installer/modules/ovirt/manifests/cobbler.pp       |    4 +-
 installer/modules/ovirt/manifests/dns.pp           |   18 +++---
 installer/modules/ovirt/manifests/freeipa.pp       |    2 +-
 installer/modules/ovirt/manifests/ovirt.pp         |   13 +++-
 .../modules/ovirt/templates/ovirt-dhcp.conf.erb    |    4 +-
 8 files changed, 65 insertions(+), 53 deletions(-)

diff --git a/conf/ovirt-server.conf b/conf/ovirt-server.conf
index ab192ae..e414f07 100644
--- a/conf/ovirt-server.conf
+++ b/conf/ovirt-server.conf
@@ -6,8 +6,9 @@ NameVirtualHost *:80
   </Location>
 </VirtualHost>
 
-NameVirtualHost 192.168.50.2:443
-<VirtualHost 192.168.50.2:443>
+NameVirtualHost GuestNetIpAddress:443
+NameVirtualHost AdminNetIpAddress:443
+<VirtualHost GuestNetIpAddress:443 AdminNetIpAddress:443>
 
   RequestHeader set X_FORWARDED_PROTO 'https'
 
diff --git a/installer/appliances/ovirt-appliance/ovirt-appliance.pp b/installer/appliances/ovirt-appliance/ovirt-appliance.pp
index ffeceba..4ad503d 100644
--- a/installer/appliances/ovirt-appliance/ovirt-appliance.pp
+++ b/installer/appliances/ovirt-appliance/ovirt-appliance.pp
@@ -6,12 +6,12 @@ firewall::setup{'setup': status => 'enabled'}
 firewall_rule{"ssh": destination_port => "22"}
 
 # dns configuration
-$mgmt_ipaddr = '192.168.50.2'
-$prov_ipaddr = '192.168.50.2'
+$guest_ipaddr = '192.168.50.2'
+$admin_ipaddr = '192.168.50.2'
 $ovirt_host = 'management.priv.ovirt.org'
 $ipa_host = 'management.priv.ovirt.org'
 
-dns::bundled{setup: mgmt_ipaddr=> $mgmt_ipaddr, prov_ipaddr=> $prov_ipaddr, mgmt_dev => 'eth0', prov_dev => 'eth0'}
+dns::bundled{setup: guest_ipaddr=> $guest_ipaddr, admin_ipaddr=> $admin_ipaddr, guest_dev => 'eth0', admin_dev => 'eth0'}
 
 # dhcp configuration
 $dhcp_interface = 'eth0'
@@ -19,10 +19,10 @@ $dhcp_network = '192.168.50'
 $dhcp_start = '3'
 $dhcp_stop = '50'
 $dhcp_domain = 'priv.ovirt.org'
-$ntp_server =  $mgmt_ipaddr
+$ntp_server =  $guest_ipaddr
 
-$prov_dns_server = '192.168.50.2'
-$prov_network_gateway = '192.168.50.1'
+$admin_dns_server = '192.168.50.2'
+$admin_network_gateway = '192.168.50.1'
 # cobbler configuration
 $cobbler_hostname = 'localhost'
 $cobbler_user_name = 'cobbler'
diff --git a/installer/bin/ovirt-installer b/installer/bin/ovirt-installer
index 1c5f992..1f059d5 100755
--- a/installer/bin/ovirt-installer
+++ b/installer/bin/ovirt-installer
@@ -127,11 +127,13 @@ else
     end
 end
 
-mgmt_dev = prompt_for_answer("Enter your management interface:", :default => "eth0")
-# For now only supporting one network interface
-#prov_dev = prompt_for_answer("Enter your provisioning interface, this may also be your management interface:", :default => mgmt_dev)
-prov_dev = mgmt_dev
-#sep_networks = (mgmt_dev == prov_dev) ? "n" : "y"
+guest_httpd_dev = prompt_for_answer("Enter the interface for the Guest network:", :default => "eth0")
+admin_dev = prompt_for_answer("Enter the interface for the Admin network (this may be the same as the Guest network interface):", :default => "eth0")
+
+#FIXME: correctly configure separate networks.
+#For now, define admin and guest networks to be the same
+guest_dev = admin_dev
+#sep_networks = (guest_dev == admin_dev) ? "n" : "y"
 
 ovirt_host = prompt_for_answer("Enter the hostname of the oVirt management server (example: management.example.com):", :regex => IP_OR_FQDN)
 ipa_host = ovirt_host
@@ -144,22 +146,24 @@ File.open('/etc/resolv.conf').each_line{ |line|
 }
 dns_servers = prompt_yes_no("Use this systems's dns servers?")
 
-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.]+)/)
+guest_httpd_ip = `ifconfig #{guest_httpd_dev}`
+guest_httpd_ipaddr = guest_httpd_ip.scan(/\s*inet addr:([\d.]+)/)
+guest_ip = `ifconfig #{guest_dev}`
+guest_ipaddr = guest_ip.scan(/\s*inet addr:([\d.]+)/)
+admin_ip = `ifconfig #{admin_dev}`
+admin_ipaddr = admin_ip.scan(/\s*inet addr:([\d.]+)/)
 
 if dns_servers == "y"
-    mgmt_ipaddr_lookup = Socket.getaddrinfo(mgmt_ipaddr.to_s,nil)
-    mgmt_hostname = mgmt_ipaddr_lookup[1][2]
-    if mgmt_hostname.to_s != ipa_host.to_s
-        @cli.say("Reverse dns lookup for #{mgmt_ipaddr} failed, exiting")
+    guest_ipaddr_lookup = Socket.getaddrinfo(guest_ipaddr.to_s,nil)
+    guest_hostname = guest_ipaddr_lookup[1][2]
+    if guest_hostname.to_s != ipa_host.to_s
+        @cli.say("Reverse dns lookup for #{guest_ipaddr} failed, exiting")
         exit(0)
     end
 
     ipa_host_lookup = Socket.getaddrinfo(ipa_host,nil)
     ipa_hostip = ipa_host_lookup[1][3]
-    if ipa_hostip.to_s != mgmt_ipaddr.to_s
+    if ipa_hostip.to_s != guest_ipaddr.to_s
          @cli.say("Forward dns lookup for #{ipa_host} failed, exiting")
          exit(0)
     end
@@ -170,13 +174,13 @@ dhcp_setup = prompt_yes_no("Does your provisioning network already have dhcp?")
 if dhcp_setup == "n"
     dnsdomainname = `/bin/dnsdomainname`
     default_gw = `route -n | grep 'UG'|awk {'print $2'}`
-    dhcp_interface = prov_dev
+    dhcp_interface = admin_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)
     dhcp_domain = prompt_for_answer("Enter the dhcp domain you wish to use (example: example.com):", :default => dnsdomainname.chomp, :regex => IP_OR_FQDN)
-    prov_dns_server = prov_ip.scan(/\s*inet addr:([\d.]+)/)
-    prov_network_gateway = prompt_for_answer("Enter the network gateway for your provisioning network (example: 192.168.50.254):", :default => default_gw.chomp, :regex => IP_OR_FQDN)
+    admin_dns_server = admin_ip.scan(/\s*inet addr:([\d.]+)/)
+    admin_network_gateway = prompt_for_answer("Enter the network gateway for your provisioning network (example: 192.168.50.254):", :default => default_gw.chomp, :regex => IP_OR_FQDN)
     tftp_setup = prompt_yes_no("Provide pxe/tftp capability?")
 end
 
@@ -229,8 +233,8 @@ firewall::setup{'setup':
 firewall_rule{"ssh": destination_port => "22"}
 
 #DNS Configuration
-$mgmt_ipaddr = '<%= mgmt_ipaddr %>'
-$prov_ipaddr = '<%= prov_ipaddr %>'
+$guest_ipaddr = '<%= guest_ipaddr %>'
+$admin_ipaddr = '<%= admin_ipaddr %>'
 $ovirt_host = '<%= ovirt_host %>'
 $ipa_host = '<%= ipa_host %>'
 
@@ -239,10 +243,10 @@ dns::bundled{setup:
 <% else %>
 dns::remote{setup:
 <% end %>
-    mgmt_ipaddr=> $mgmt_ipaddr,
-    prov_ipaddr=> $prov_ipaddr,
-    mgmt_dev => '<%= mgmt_dev %>',
-    prov_dev => '<%= prov_dev %>'
+    guest_ipaddr=> $guest_ipaddr,
+    admin_ipaddr=> $admin_ipaddr,
+    guest_dev => '<%= guest_dev %>',
+    admin_dev => '<%= admin_dev %>'
 }
 
 # DHCP Configuration
@@ -252,9 +256,9 @@ $dhcp_network = '<%= dhcp_network %>'
 $dhcp_start = '<%= dhcp_start %>'
 $dhcp_stop = '<%= dhcp_stop %>'
 $dhcp_domain = '<%= dhcp_domain %>'
-$ntp_server = '<%= mgmt_ipaddr %>'
-$prov_network_gateway = '<%= prov_network_gateway %>'
-$prov_dns_server = '<%= prov_dns_server %>'
+$ntp_server = '<%= guest_ipaddr %>'
+$admin_network_gateway = '<%= admin_network_gateway %>'
+$admin_dns_server = '<%= admin_dns_server %>'
 <% if tftp_setup == "y" %>
 include tftp::bundled
 <% end %>
@@ -283,8 +287,8 @@ include cobbler::remote
 <% end %>
 <% if dhcp_setup == "n" %>
 include dhcp::bundled
-firewall_rule{"nat-forward": chain => "FORWARD", in_interface => "<%= prov_dev %>", out_interface => "<%= mgmt_dev %>", protocol => ""}
-firewall_rule{"nat-postrouting": table => "nat", chain => "POSTROUTING", out_interface => "<%= mgmt_dev %>", protocol => "", action => "MASQUERADE"}
+firewall_rule{"nat-forward": chain => "FORWARD", in_interface => "<%= admin_dev %>", out_interface => "<%= guest_dev %>", protocol => ""}
+firewall_rule{"nat-postrouting": table => "nat", chain => "POSTROUTING", out_interface => "<%= guest_dev %>", protocol => "", action => "MASQUERADE"}
 <% end %>
 include postgres::bundled
 include freeipa::bundled
diff --git a/installer/modules/ovirt/manifests/cobbler.pp b/installer/modules/ovirt/manifests/cobbler.pp
index 89b22b1..a903694 100644
--- a/installer/modules/ovirt/manifests/cobbler.pp
+++ b/installer/modules/ovirt/manifests/cobbler.pp
@@ -132,7 +132,7 @@ class cobbler::bundled {
         file_replacement{"settings_server":
                 file => "/etc/cobbler/settings",
                 pattern => "server: 127.0.0.1",
-                replacement => "server: $mgmt_ipaddr",
+                replacement => "server: $guest_ipaddr",
                 require => Package[cobbler],
                 notify => Service[cobblerd]
         }
@@ -140,7 +140,7 @@ class cobbler::bundled {
         file_replacement{"settings_next_server":
                 file => "/etc/cobbler/settings",
                 pattern => "next_server: 127.0.0.1",
-                replacement => "next_server: $mgmt_ipaddr",
+                replacement => "next_server: $guest_ipaddr",
                 require => Package[cobbler],
                 notify => Service[cobblerd]
         }
diff --git a/installer/modules/ovirt/manifests/dns.pp b/installer/modules/ovirt/manifests/dns.pp
index 98d9942..2bcca98 100644
--- a/installer/modules/ovirt/manifests/dns.pp
+++ b/installer/modules/ovirt/manifests/dns.pp
@@ -22,7 +22,7 @@
 
 import "augeas"
 
-define dns::common($mgmt_ipaddr="", $prov_ipaddr="",$mgmt_dev="",$prov_dev="") {
+define dns::common($guest_ipaddr="", $admin_ipaddr="",$guest_dev="",$admin_dev="") {
 
     package {"dnsmasq":
         ensure => installed,
@@ -43,7 +43,7 @@ define dns::common($mgmt_ipaddr="", $prov_ipaddr="",$mgmt_dev="",$prov_dev="") {
     }
 
     single_exec {"add_dns_server_to_resolv.conf":
-        command => "/bin/sed -e '1i nameserver $prov_ipaddr' -i /etc/resolv.conf",
+        command => "/bin/sed -e '1i nameserver $admin_ipaddr' -i /etc/resolv.conf",
         require => [Single_exec["set_hostname"]]
     }
 
@@ -61,18 +61,18 @@ define dns::common($mgmt_ipaddr="", $prov_ipaddr="",$mgmt_dev="",$prov_dev="") {
 
     file_append {"dhclient_config":
         file => "/etc/dhclient.conf",
-        line => "prepend domain-name-servers $prov_ipaddr;",
+        line => "prepend domain-name-servers $admin_ipaddr;",
         require => [Single_exec["set_hostname"], Package["dnsmasq"], File["/etc/dhclient.conf"]]  ,
         notify => Service[dnsmasq],
     }
 }
 
-define dns::bundled($mgmt_ipaddr="", $prov_ipaddr="",$mgmt_dev="",$prov_dev="") {
+define dns::bundled($guest_ipaddr="", $admin_ipaddr="",$guest_dev="",$admin_dev="") {
 
-    dns::common{"setup": mgmt_ipaddr=>$mgmt_ipaddr, prov_ipaddr=>$prov_ipaddr, mgmt_dev=>$mgmt_dev, prov_dev=>$prov_dev}
+    dns::common{"setup": guest_ipaddr=>$guest_ipaddr, admin_ipaddr=>$admin_ipaddr, guest_dev=>$guest_dev, admin_dev=>$admin_dev}
 
-	single_exec {"add_mgmt_server_to_etc_hosts":
-		command => "/bin/echo $mgmt_ipaddr $ipa_host >> /etc/hosts",
+	single_exec {"add_guest_server_to_etc_hosts":
+		command => "/bin/echo $guest_ipaddr $ipa_host >> /etc/hosts",
 		notify => [Service[dnsmasq], Single_exec["add_dns_server_to_resolv.conf"]]
 	}
 
@@ -88,7 +88,7 @@ define dns::bundled($mgmt_ipaddr="", $prov_ipaddr="",$mgmt_dev="",$prov_dev="")
 
 }
 
-define dns::remote($mgmt_ipaddr="", $prov_ipaddr="",$mgmt_dev="",$prov_dev="") {
+define dns::remote($guest_ipaddr="", $admin_ipaddr="",$guest_dev="",$admin_dev="") {
 
 #    On the pxe server you will need to ensure that the
 #    next server option points to the ip address of the tftp server
@@ -106,6 +106,6 @@ define dns::remote($mgmt_ipaddr="", $prov_ipaddr="",$mgmt_dev="",$prov_dev="") {
 # Also A records must be present for each oVirt node. Without this they are unable
 # to determine their hostname and locate the management server.
 
-    dns::common{"setup": mgmt_ipaddr=>$mgmt_ipaddr, prov_ipaddr=>$prov_ipaddr, mgmt_dev=>$mgmt_dev, prov_dev=>$prov_dev}
+    dns::common{"setup": guest_ipaddr=>$guest_ipaddr, admin_ipaddr=>$admin_ipaddr, guest_dev=>$guest_dev, admin_dev=>$admin_dev}
 
 }
diff --git a/installer/modules/ovirt/manifests/freeipa.pp b/installer/modules/ovirt/manifests/freeipa.pp
index 09f77ed..01f0f53 100644
--- a/installer/modules/ovirt/manifests/freeipa.pp
+++ b/installer/modules/ovirt/manifests/freeipa.pp
@@ -56,7 +56,7 @@ class freeipa::bundled{
 
 	single_exec {"dnsmasq_restart":
                 command => "/usr/bin/pkill dnsmasq;/etc/init.d/dnsmasq start",
-                require => [Single_exec[add_mgmt_server_to_etc_hosts],Package[dnsmasq]]
+                require => [Single_exec[add_guest_server_to_etc_hosts],Package[dnsmasq]]
 	}
 
         single_exec {"ipa_server_install":
diff --git a/installer/modules/ovirt/manifests/ovirt.pp b/installer/modules/ovirt/manifests/ovirt.pp
index 4df3cc7..2346046 100644
--- a/installer/modules/ovirt/manifests/ovirt.pp
+++ b/installer/modules/ovirt/manifests/ovirt.pp
@@ -20,10 +20,17 @@
 
 class ovirt::setup {
 
-	file_replacement{"ovirt_httpd_config_change":
+	file_replacement{"ovirt_httpd_config_change_guest_net":
 	        file => "/etc/httpd/conf.d/ovirt-server.conf",
-	        pattern => "192\.168\.50\.2",
-	        replacement => "$mgmt_ipaddr",
+	        pattern => "GuestNetIpAddress",
+	        replacement => "$guest_httpd_ipaddr",
+		require => Package[ovirt-server]
+        }
+
+	file_replacement{"ovirt_httpd_config_change_admin_net":
+	        file => "/etc/httpd/conf.d/ovirt-server.conf",
+	        pattern => "AdminNetIpAddress",
+	        replacement => "$admin_ipaddr",
 		require => Package[ovirt-server]
         }
 
diff --git a/installer/modules/ovirt/templates/ovirt-dhcp.conf.erb b/installer/modules/ovirt/templates/ovirt-dhcp.conf.erb
index acbdb39..79575ea 100644
--- a/installer/modules/ovirt/templates/ovirt-dhcp.conf.erb
+++ b/installer/modules/ovirt/templates/ovirt-dhcp.conf.erb
@@ -3,8 +3,8 @@ bind-interfaces
 except-interface=lo
 dhcp-range=<%= dhcp_network %>.<%= dhcp_start %>,<%= dhcp_network%>.<%= dhcp_stop %>
 domain=<%= dhcp_domain %>
-dhcp-option=option:router,<%= prov_network_gateway %>
+dhcp-option=option:router,<%= admin_network_gateway %>
 dhcp-option=option:ntp-server,<%= ntp_server %>
 dhcp-option=12
 local=/<%= dhcp_domain %>/
-server=<%= prov_dns_server %>
+server=<%= admin_dns_server %>
-- 
1.6.0.6




More information about the ovirt-devel mailing list