You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/06/16 00:38:02 UTC
[17/51] [abbrv] git commit: VPC : revert change in cloud-early-config
VPC : revert change in cloud-early-config
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/fb7fc6fd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/fb7fc6fd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/fb7fc6fd
Branch: refs/heads/vpc
Commit: fb7fc6fd91709f1b94ade7f7adff77f1c1339a3c
Parents: d80476b
Author: anthony <an...@cloud.com>
Authored: Mon Jun 11 17:41:26 2012 -0700
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Fri Jun 15 14:30:15 2012 -0700
----------------------------------------------------------------------
.../debian/config/etc/init.d/cloud-early-config | 200 ++++++++++++---
1 files changed, 158 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fb7fc6fd/patches/systemvm/debian/config/etc/init.d/cloud-early-config
----------------------------------------------------------------------
diff --git a/patches/systemvm/debian/config/etc/init.d/cloud-early-config b/patches/systemvm/debian/config/etc/init.d/cloud-early-config
index f88e84a..19f87c2 100755
--- a/patches/systemvm/debian/config/etc/init.d/cloud-early-config
+++ b/patches/systemvm/debian/config/etc/init.d/cloud-early-config
@@ -171,7 +171,8 @@ setup_interface() {
local intfnum=$1
local ip=$2
local mask=$3
- local force=$4
+ local gw=$4
+ local force=$5
local intf=eth${intfnum}
local bootproto="static"
@@ -285,14 +286,11 @@ disable_hvc() {
setup_common() {
init_interfaces $1 $2 $3
- setup_interface "0" $ETH0_IP $ETH0_MASK
- if [ -n "$ETH1_IP" ]
- then
- setup_interface "1" $ETH1_IP $ETH1_MASK
- fi
+ setup_interface "0" $ETH0_IP $ETH0_MASK $GW
+ setup_interface "1" $ETH1_IP $ETH1_MASK $GW
if [ -n "$ETH2_IP" ]
then
- setup_interface "2" $ETH2_IP $ETH2_MASK
+ setup_interface "2" $ETH2_IP $ETH2_MASK $GW
fi
echo $NAME > /etc/hostname
@@ -330,7 +328,7 @@ setup_common() {
fi
ip route delete default
- if [ "$RROUTER" != "1" -a -n $GW ]
+ if [ "$RROUTER" != "1" ]
then
if [ -z "$3" ]
then
@@ -338,12 +336,12 @@ setup_common() {
else
ip route add default via $GW dev $3
fi
- # a hacking way to activate vSwitch under VMware
- ping -n -c 3 $GW &
- sleep 3
- pkill ping
fi
+ # a hacking way to activate vSwitch under VMware
+ ping -n -c 3 $GW &
+ sleep 3
+ pkill ping
if [ -n "$MGMTNET" -a -n "$LOCAL_GW" ]
then
ping -n -c 3 $LOCAL_GW &
@@ -352,6 +350,45 @@ setup_common() {
fi
}
+setup_dnsmasq() {
+ log_it "Setting up dnsmasq"
+ [ -z $DHCP_RANGE ] && DHCP_RANGE=$ETH0_IP
+ [ -z $DOMAIN ] && DOMAIN="cloudnine.internal"
+
+ if [ -n "$DOMAIN" ]
+ then
+ #send domain name to dhcp clients
+ sed -i s/[#]*dhcp-option=15.*$/dhcp-option=15,\"$DOMAIN\"/ /etc/dnsmasq.conf
+ #DNS server will append $DOMAIN to local queries
+ sed -r -i s/^[#]?domain=.*$/domain=$DOMAIN/ /etc/dnsmasq.conf
+ #answer all local domain queries
+ sed -i -e "s/^[#]*local=.*$/local=\/$DOMAIN\//" /etc/dnsmasq.conf
+
+ fi
+
+ if [ -n "$DNS_SEARCH_ORDER" ]
+ then
+ sed -i -e "/^[#]*dhcp-option.*=119.*$/d" /etc/dnsmasq.conf
+ echo "dhcp-option-force=119,$DNS_SEARCH_ORDER" >> /etc/dnsmasq.conf
+ # set the domain search order as a space seprated list for option 15
+ DNS_SEARCH_ORDER=$(echo $DNS_SEARCH_ORDER | sed 's/,/ /g')
+ #send domain name to dhcp clients
+ sed -i s/[#]*dhcp-option=15.*$/dhcp-option=15,\""$DNS_SEARCH_ORDER"\"/ /etc/dnsmasq.conf
+ fi
+
+ sed -i -e "s/^dhcp-range=.*$/dhcp-range=$DHCP_RANGE,static/" /etc/dnsmasq.conf
+ sed -i -e "s/^[#]*listen-address=.*$/listen-address=$ETH0_IP/" /etc/dnsmasq.conf
+
+ if [ "$RROUTER" == "1" ]
+ then
+ sed -i -e "/^[#]*dhcp-option=option:router.*$/d" /etc/dnsmasq.conf
+ echo "dhcp-option=option:router,$GUEST_GW" >> /etc/dnsmasq.conf
+ sed -i -e "/^[#]*dhcp-option=6.*$/d" /etc/dnsmasq.conf
+ echo "dhcp-option=6,$GUEST_GW" >> /etc/dnsmasq.conf
+ fi
+
+}
+
setup_sshd(){
local ip=$1
[ -f /etc/ssh/sshd_config ] && sed -i -e "s/^[#]*ListenAddress.*$/ListenAddress $ip/" /etc/ssh/sshd_config
@@ -434,20 +471,38 @@ setup_redundant_router() {
fi
}
-
-setup_vmware_extra_nics() {
- local oldmd5
+setup_router() {
+ log_it "Setting up virtual router system vm"
+
oldmd5=
[ -f "/etc/udev/rules.d/70-persistent-net.rules" ] && oldmd5=$(md5sum "/etc/udev/rules.d/70-persistent-net.rules" | awk '{print $1}')
-
- if [ -n "$EXTRA_NICS" ]
+
+ if [ -n "$ETH2_IP" ]
then
- for((i = 1; i < 1 + $EXTRA_NICS; i++))
- do
- setup_interface "$i" "0.0.0.0" "255.255.255.255" "force"
- done
+ setup_common eth0 eth1 eth2
+
+ if [ -n "$EXTRA_PUBNICS" ]
+ then
+ for((i = 3; i < 3 + $EXTRA_PUBNICS; i++))
+ do
+ setup_interface "$i" "0.0.0.0" "255.255.255.255" $GW "force"
+ done
+ fi
+ else
+ setup_common eth0 eth1
+ if [ -n "$EXTRA_PUBNICS" ]
+ then
+ for((i = 2; i < 2 + $EXTRA_PUBNICS; i++))
+ do
+ setup_interface "$i" "0.0.0.0" "255.255.255.255" $GW "force"
+ done
+ fi
+ fi
+
+ if [ -n "$ETH2_IP" -a "$RROUTER" == "1" ]
+ then
+ setup_redundant_router
fi
-
log_it "Checking udev NIC assignment order changes"
if [ "$NIC_MACS" != "" ]
@@ -466,27 +521,24 @@ setup_vmware_extra_nics() {
fi
fi
-
-}
-
-
-setup_router() {
- log_it "Setting up virtual router system vm"
- if [ "$hyp" == "vmware" ]; then
- setup_vmware_extra_nics
- fi
-
- setup_common eth0
-
- if [ "$RROUTER" == "1" ]
+
+
+ setup_dnsmasq
+
+ NS=$NS1
+ [ -n "$NS2" ] && NS=$NS1,$NS2
+ if [ "$USE_EXTERNAL_DNS" == "true" ]
then
- setup_redundant_router
+ sed -i -e "/^[#]*dhcp-option=6.*$/d" /etc/dnsmasq.conf
+ echo "dhcp-option=6,$NS" >> /etc/dnsmasq.conf
fi
-
- sed -i /gateway/d /etc/hosts
+
+ setup_apache2 $ETH0_IP
+ sed -i /gateway/d /etc/hosts
echo "$ETH0_IP $NAME" >> /etc/hosts
- setup_sshd $ETH0_IP
+
+ setup_sshd $ETH1_IP
enable_svc dnsmasq 1
enable_svc haproxy 1
@@ -498,6 +550,57 @@ setup_router() {
cp /etc/iptables/iptables-router /etc/iptables/rules
}
+setup_dhcpsrvr() {
+ log_it "Setting up dhcp server system vm"
+ setup_common eth0 eth1
+ setup_dnsmasq
+ setup_apache2 $ETH0_IP
+
+ NS=$NS1
+ [ -n "$NS2" ] && NS=$NS1,$NS2
+ if [ "$DEFAULTROUTE" != "false" ]
+ then
+ sed -i -e "/^[#]*dhcp-option=option:router.*$/d" /etc/dnsmasq.conf
+ echo "dhcp-option=option:router,$GW" >> /etc/dnsmasq.conf
+ #for now set up ourself as the dns server as well
+ sed -i -e "/^[#]*dhcp-option=6.*$/d" /etc/dnsmasq.conf
+ if [ "$USE_EXTERNAL_DNS" == "true" ]
+ then
+ echo "dhcp-option=6,$NS" >> /etc/dnsmasq.conf
+ else
+ echo "dhcp-option=6,$ETH0_IP,$NS" >> /etc/dnsmasq.conf
+ fi
+ else
+ sed -i -e "/^[#]*dhcp-option=option:router.*$/d" /etc/dnsmasq.conf
+ echo "dhcp-option=option:router" >> /etc/dnsmasq.conf
+ sed -i -e "/^[#]*dhcp-option=6.*$/d" /etc/dnsmasq.conf
+ echo "dhcp-option=6,$NS" >> /etc/dnsmasq.conf
+ fi
+
+ sed -i /gateway/d /etc/hosts
+ echo "$ETH0_IP $NAME" >> /etc/hosts
+
+ if [ "$SSHONGUEST" == "true" ]
+ then
+ setup_sshd $ETH0_IP
+ else
+ setup_sshd $ETH1_IP
+ fi
+
+ enable_svc dnsmasq 1
+ enable_svc haproxy 0
+ enable_svc cloud-passwd-srvr 1
+ enable_svc cloud 0
+ enable_fwding 0
+ chkconfig nfs-common off
+ if [ "$SSHONGUEST" == "true" ]
+ then
+ sed '/3922/i -A INPUT -i eth0 -p tcp -m state --state NEW --dport 3922 -j ACCEPT' /etc/iptables/iptables-router > /etc/iptables/rules
+ else
+ cp /etc/iptables/iptables-router /etc/iptables/rules
+ fi
+}
+
setup_storage_network() {
if [ x"$STORAGE_IP" == "x" -o x"$STORAGE_NETMASK" == "x" ]
then
@@ -570,11 +673,17 @@ setup_elbvm() {
setup_common eth0 eth1
sed -i /gateway/d /etc/hosts
public_ip=$ETH2_IP
- [ "$ETH2_IP" == "0.0.0.0" ] || [ "$ETH2_IP" == "" ] && public_ip=$ETH1_IP
+ [ "$ETH2_IP" == "0.0.0.0" ] || [ "$ETH2_IP" == "" ] && public_ip=$ETH0_IP
echo "$public_ip $NAME" >> /etc/hosts
- cp /etc/iptables/iptables-elbvm /etc/iptables/rules
- setup_sshd $ETH0_IP
+ if [ "$SSHONGUEST" == "true" ]
+ then
+ sed '/3922/s/eth1/eth0/'
+ setup_sshd $ETH0_IP
+ else
+ cp /etc/iptables/iptables-elbvm /etc/iptables/rules
+ setup_sshd $ETH1_IP
+ fi
enable_fwding 0
enable_svc haproxy 0
@@ -612,6 +721,10 @@ start() {
[ "$NAME" == "" ] && NAME=router
setup_router
;;
+ dhcpsrvr)
+ [ "$NAME" == "" ] && NAME=dhcpsrvr
+ setup_dhcpsrvr
+ ;;
secstorage)
[ "$NAME" == "" ] && NAME=secstorage
setup_secstorage $hyp;
@@ -707,6 +820,9 @@ for i in $CMDLINE
template)
TEMPLATE=$VALUE
;;
+ sshonguest)
+ SSHONGUEST=$VALUE
+ ;;
name)
NAME=$VALUE
;;