|
|
@ -32,6 +32,9 @@ DEFAULT_IP1=192.168.255.251
|
|
|
|
DEFAULT_IP2=192.168.255.252
|
|
|
|
DEFAULT_IP2=192.168.255.252
|
|
|
|
DEFAULT_INTERNAL_NETMASK=255.255.255.248
|
|
|
|
DEFAULT_INTERNAL_NETMASK=255.255.255.248
|
|
|
|
DEFAULT_MCASTADDR=226.94.1.1
|
|
|
|
DEFAULT_MCASTADDR=226.94.1.1
|
|
|
|
|
|
|
|
DEFAULT_EXT_IP=192.168.52.114
|
|
|
|
|
|
|
|
DEFAULT_EXT_NETMASK=255.255.255.0
|
|
|
|
|
|
|
|
DEFAULT_EXT_GW=192.168.52.1
|
|
|
|
TARGET=/mnt
|
|
|
|
TARGET=/mnt
|
|
|
|
PRO_EDITION=false
|
|
|
|
PRO_EDITION=false
|
|
|
|
CE_EDITION=false
|
|
|
|
CE_EDITION=false
|
|
|
@ -66,6 +69,13 @@ DPL_MYSQL_REPLICATION=true
|
|
|
|
GRML_PXE_IMAGES_PATH="/lib/live/mount/medium"
|
|
|
|
GRML_PXE_IMAGES_PATH="/lib/live/mount/medium"
|
|
|
|
PXE_IMAGES_PATH="/tmp/grml_pxe"
|
|
|
|
PXE_IMAGES_PATH="/tmp/grml_pxe"
|
|
|
|
FILL_APPROX_CACHE=false
|
|
|
|
FILL_APPROX_CACHE=false
|
|
|
|
|
|
|
|
VLAN_BOOT_INT=2
|
|
|
|
|
|
|
|
VLAN_SSH_EXT=300
|
|
|
|
|
|
|
|
VLAN_WEB_EXT=1718
|
|
|
|
|
|
|
|
VLAN_SIP_EXT=1719
|
|
|
|
|
|
|
|
VLAN_SIP_INT=1720
|
|
|
|
|
|
|
|
VLAN_HA_INT=1721
|
|
|
|
|
|
|
|
VLAN_RTP_EXT=1722
|
|
|
|
|
|
|
|
|
|
|
|
# if TARGET_DISK environment variable is set accept it
|
|
|
|
# if TARGET_DISK environment variable is set accept it
|
|
|
|
if [ -n "$TARGET_DISK" ] ; then
|
|
|
|
if [ -n "$TARGET_DISK" ] ; then
|
|
|
@ -471,6 +481,10 @@ if checkBootParam ngcpnetmask ; then
|
|
|
|
INTERNAL_NETMASK=$(getBootParam ngcpnetmask)
|
|
|
|
INTERNAL_NETMASK=$(getBootParam ngcpnetmask)
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpextnetmask ; then
|
|
|
|
|
|
|
|
EXTERNAL_NETMASK=$(getBootParam ngcpextnetmask)
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpeaddr ; then
|
|
|
|
if checkBootParam ngcpeaddr ; then
|
|
|
|
EADDR=$(getBootParam ngcpeaddr)
|
|
|
|
EADDR=$(getBootParam ngcpeaddr)
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -553,6 +567,34 @@ fi
|
|
|
|
if checkBootParam ngcpfillcache ; then
|
|
|
|
if checkBootParam ngcpfillcache ; then
|
|
|
|
FILL_APPROX_CACHE=true
|
|
|
|
FILL_APPROX_CACHE=true
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpvlanbootint ; then
|
|
|
|
|
|
|
|
VLAN_BOOT_INT=$(getBootParam ngcpvlanbootint)
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpvlansshext ; then
|
|
|
|
|
|
|
|
VLAN_SSH_EXT=$(getBootParam ngcpvlansshext)
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpvlanwebext ; then
|
|
|
|
|
|
|
|
VLAN_WEB_EXT=$(getBootParam ngcpvlanwebext)
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpvlansipext ; then
|
|
|
|
|
|
|
|
VLAN_SIP_EXT=$(getBootParam ngcpvlansipext)
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpvlansipint ; then
|
|
|
|
|
|
|
|
VLAN_SIP_INT=$(getBootParam ngcpvlansipint)
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpvlanhaint ; then
|
|
|
|
|
|
|
|
VLAN_HA_INT=$(getBootParam ngcpvlanhaint)
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if checkBootParam ngcpvlanrtpext ; then
|
|
|
|
|
|
|
|
VLAN_RTP_EXT=$(getBootParam ngcpvlanrtpext)
|
|
|
|
|
|
|
|
fi
|
|
|
|
## }}}
|
|
|
|
## }}}
|
|
|
|
|
|
|
|
|
|
|
|
## interactive mode {{{
|
|
|
|
## interactive mode {{{
|
|
|
@ -627,6 +669,7 @@ for param in $* ; do
|
|
|
|
*ngcpip1=*) IP1=$(echo $param | sed 's/ngcpip1=//');;
|
|
|
|
*ngcpip1=*) IP1=$(echo $param | sed 's/ngcpip1=//');;
|
|
|
|
*ngcpip2=*) IP2=$(echo $param | sed 's/ngcpip2=//');;
|
|
|
|
*ngcpip2=*) IP2=$(echo $param | sed 's/ngcpip2=//');;
|
|
|
|
*ngcpnetmask=*) INTERNAL_NETMASK=$(echo $param | sed 's/ngcpnetmask=//');;
|
|
|
|
*ngcpnetmask=*) INTERNAL_NETMASK=$(echo $param | sed 's/ngcpnetmask=//');;
|
|
|
|
|
|
|
|
*ngcpextnetmask=*) EXTERNAL_NETMASK=$(echo $param | sed 's/ngcpextnetmask=//');;
|
|
|
|
*ngcpmcast=*) MCASTADDR=$(echo $param | sed 's/ngcpmcast=//');;
|
|
|
|
*ngcpmcast=*) MCASTADDR=$(echo $param | sed 's/ngcpmcast=//');;
|
|
|
|
*ngcpcrole=*) CARRIER_EDITION=true; CROLE=$(echo $param | sed 's/ngcpcrole=//');;
|
|
|
|
*ngcpcrole=*) CARRIER_EDITION=true; CROLE=$(echo $param | sed 's/ngcpcrole=//');;
|
|
|
|
*ngcpnw.dhcp*) DHCP=true;;
|
|
|
|
*ngcpnw.dhcp*) DHCP=true;;
|
|
|
@ -639,6 +682,13 @@ for param in $* ; do
|
|
|
|
*lowperformance*) ADJUST_FOR_LOW_PERFORMANCE=true;;
|
|
|
|
*lowperformance*) ADJUST_FOR_LOW_PERFORMANCE=true;;
|
|
|
|
*enablevmservices*) ENABLE_VM_SERVICES=true;;
|
|
|
|
*enablevmservices*) ENABLE_VM_SERVICES=true;;
|
|
|
|
*ngcpfillcache*) FILL_APPROX_CACHE=true;;
|
|
|
|
*ngcpfillcache*) FILL_APPROX_CACHE=true;;
|
|
|
|
|
|
|
|
*ngcpvlanbootint*) VLAN_BOOT_INT=$(echo $param | sed 's/ngcpvlanbootint=//');;
|
|
|
|
|
|
|
|
*ngcpvlansshext*) VLAN_SSH_EXT=$(echo $param | sed 's/ngcpvlansshext=//');;
|
|
|
|
|
|
|
|
*ngcpvlanwebext*) VLAN_WEB_EXT=$(echo $param | sed 's/ngcpvlanwebext=//');;
|
|
|
|
|
|
|
|
*ngcpvlansipext*) VLAN_SIP_EXT=$(echo $param | sed 's/ngcpvlansipext=//');;
|
|
|
|
|
|
|
|
*ngcpvlansipint*) VLAN_SIP_INT=$(echo $param | sed 's/ngcpvlansipint=//');;
|
|
|
|
|
|
|
|
*ngcpvlanhaint*) VLAN_HA_INT=$(echo $param | sed 's/ngcpvlanhaint=//');;
|
|
|
|
|
|
|
|
*ngcpvlanrtpext*) VLAN_RTP_EXT=$(echo $param | sed 's/ngcpvlanrtpext=//');;
|
|
|
|
esac
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
done
|
|
|
@ -695,6 +745,7 @@ if checkBootParam ip ; then
|
|
|
|
declare -A IP_ARR
|
|
|
|
declare -A IP_ARR
|
|
|
|
if loadNfsIpArray IP_ARR $(getBootParam ip) ; then
|
|
|
|
if loadNfsIpArray IP_ARR $(getBootParam ip) ; then
|
|
|
|
INSTALL_DEV=${IP_ARR[device]}
|
|
|
|
INSTALL_DEV=${IP_ARR[device]}
|
|
|
|
|
|
|
|
EXT_GW=${IP_ARR[gw-ip]}
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
@ -740,11 +791,17 @@ if "$PRO_EDITION" ; then
|
|
|
|
IP2=$(awk '/sp2/ { print $1 }' /tmp/hosts) || IP2=$DEFAULT_IP2
|
|
|
|
IP2=$(awk '/sp2/ { print $1 }' /tmp/hosts) || IP2=$DEFAULT_IP2
|
|
|
|
|
|
|
|
|
|
|
|
if [ -z "$INTERNAL_NETMASK" ]; then
|
|
|
|
if [ -z "$INTERNAL_NETMASK" ]; then
|
|
|
|
wget --timeout=30 -O "/tmp/interfaces" "${MANAGEMENT_IP}:3000/nwconfig/${TARGET_HOSTNAME}"
|
|
|
|
wget --timeout=30 -O "/tmp/interfaces" "http://${MANAGEMENT_IP}:3000/nwconfig/${TARGET_HOSTNAME}"
|
|
|
|
INTERNAL_NETMASK=$(grep "$INTERNAL_DEV inet" -A2 /tmp/interfaces | awk '/netmask/ { print $2 }')
|
|
|
|
INTERNAL_NETMASK=$(grep "$INTERNAL_DEV inet" -A2 /tmp/interfaces | awk '/netmask/ { print $2 }')
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ -z "$EXTERNAL_NETMASK" ]; then
|
|
|
|
|
|
|
|
wget --timeout=30 -O "/tmp/interfaces" "http://${MANAGEMENT_IP}:3000/nwconfig/${TARGET_HOSTNAME}"
|
|
|
|
|
|
|
|
EXTERNAL_NETMASK=$(grep "$EXTERNAL_DEV inet" -A2 /tmp/interfaces | awk '/netmask/ { print $2 }')
|
|
|
|
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ -n "$EXT_GW" ] || EXT_GW=$DEFAULT_EXT_GW
|
|
|
|
[ -n "$IP1" ] || IP1=$DEFAULT_IP1
|
|
|
|
[ -n "$IP1" ] || IP1=$DEFAULT_IP1
|
|
|
|
[ -n "$IP2" ] || IP2=$DEFAULT_IP2
|
|
|
|
[ -n "$IP2" ] || IP2=$DEFAULT_IP2
|
|
|
|
case "$ROLE" in
|
|
|
|
case "$ROLE" in
|
|
|
@ -752,13 +809,20 @@ if "$PRO_EDITION" ; then
|
|
|
|
sp2) INTERNAL_IP=$IP2 ;;
|
|
|
|
sp2) INTERNAL_IP=$IP2 ;;
|
|
|
|
esac
|
|
|
|
esac
|
|
|
|
[ -n "$INTERNAL_NETMASK" ] || INTERNAL_NETMASK=$DEFAULT_INTERNAL_NETMASK
|
|
|
|
[ -n "$INTERNAL_NETMASK" ] || INTERNAL_NETMASK=$DEFAULT_INTERNAL_NETMASK
|
|
|
|
|
|
|
|
[ -n "$EXTERNAL_NETMASK" ] || EXTERNAL_NETMASK=$DEFAULT_EXT_NETMASK
|
|
|
|
[ -n "$MCASTADDR" ] || MCASTADDR=$DEFAULT_MCASTADDR
|
|
|
|
[ -n "$MCASTADDR" ] || MCASTADDR=$DEFAULT_MCASTADDR
|
|
|
|
|
|
|
|
|
|
|
|
logit "ha_int sp1: $IP1 sp2: $IP2 netmask: $INTERNAL_NETMASK"
|
|
|
|
logit "ha_int sp1: $IP1 sp2: $IP2 netmask: $INTERNAL_NETMASK"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
[ -n "$EIFACE" ] || EIFACE=$INSTALL_DEV
|
|
|
|
[ -n "$EIFACE" ] || EIFACE=$INSTALL_DEV
|
|
|
|
[ -n "$EADDR" ] || EADDR=$INSTALL_IP
|
|
|
|
|
|
|
|
|
|
|
|
if "$CARRIER_EDITION" ; then
|
|
|
|
|
|
|
|
# The first Carrier node is booted via DHCP, while requires static HW config on reboot
|
|
|
|
|
|
|
|
[ -n "$EADDR" ] || EADDR=$DEFAULT_EXT_IP
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
[ -n "$EADDR" ] || EADDR=$INSTALL_IP
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if "$CE_EDITION" ; then
|
|
|
|
if "$CE_EDITION" ; then
|
|
|
|
case "$SP_VERSION" in
|
|
|
|
case "$SP_VERSION" in
|
|
|
@ -1401,12 +1465,32 @@ get_network_devices () {
|
|
|
|
gen_installer_config () {
|
|
|
|
gen_installer_config () {
|
|
|
|
mkdir -p "${TARGET}/etc/ngcp-installer/"
|
|
|
|
mkdir -p "${TARGET}/etc/ngcp-installer/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# We are installing Carrier using DHCP but configure network.yml on static IPs
|
|
|
|
|
|
|
|
# as a result we cannot use "ip route show dev $DEFAULT_INSTALL_DEV"
|
|
|
|
|
|
|
|
if "$CARRIER_EDITION" ; then
|
|
|
|
|
|
|
|
if [ -n "$EXT_GW" ]; then
|
|
|
|
|
|
|
|
GW="$EXT_GW"
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
echo "Last resort, guesting gateway for external IP as first IP in EADDR"
|
|
|
|
|
|
|
|
GW=$(echo $EADDR | awk -F. '{print $1"."$2"."$3".1"}')
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
GW="$(ip route show dev $DEFAULT_INSTALL_DEV | awk '/^default via/ {print $3}')"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if "$CARRIER_EDITION" ; then
|
|
|
|
if "$CARRIER_EDITION" ; then
|
|
|
|
cat > ${TARGET}/etc/ngcp-installer/config_deploy.inc << EOF
|
|
|
|
cat > ${TARGET}/etc/ngcp-installer/config_deploy.inc << EOF
|
|
|
|
CROLE="${CROLE}"
|
|
|
|
CROLE="${CROLE}"
|
|
|
|
PXE_IMAGES_PATH="${PXE_IMAGES_PATH}"
|
|
|
|
PXE_IMAGES_PATH="${PXE_IMAGES_PATH}"
|
|
|
|
MANAGEMENT_IP="${MANAGEMENT_IP}"
|
|
|
|
MANAGEMENT_IP="${MANAGEMENT_IP}"
|
|
|
|
FILL_APPROX_CACHE="${FILL_APPROX_CACHE}"
|
|
|
|
FILL_APPROX_CACHE="${FILL_APPROX_CACHE}"
|
|
|
|
|
|
|
|
VLAN_BOOT_INT="${VLAN_BOOT_INT}"
|
|
|
|
|
|
|
|
VLAN_SSH_EXT="${VLAN_SSH_EXT}"
|
|
|
|
|
|
|
|
VLAN_WEB_EXT="${VLAN_WEB_EXT}"
|
|
|
|
|
|
|
|
VLAN_SIP_EXT="${VLAN_SIP_EXT}"
|
|
|
|
|
|
|
|
VLAN_SIP_INT="${VLAN_SIP_INT}"
|
|
|
|
|
|
|
|
VLAN_HA_INT="${VLAN_HA_INT}"
|
|
|
|
|
|
|
|
VLAN_RTP_EXT="${VLAN_RTP_EXT}"
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
@ -1423,10 +1507,15 @@ DPL_MYSQL_REPLICATION="${DPL_MYSQL_REPLICATION}"
|
|
|
|
TARGET_HOSTNAME="${TARGET_HOSTNAME}"
|
|
|
|
TARGET_HOSTNAME="${TARGET_HOSTNAME}"
|
|
|
|
DEFAULT_INSTALL_DEV="${DEFAULT_INSTALL_DEV}"
|
|
|
|
DEFAULT_INSTALL_DEV="${DEFAULT_INSTALL_DEV}"
|
|
|
|
INTERNAL_DEV="${INTERNAL_DEV}"
|
|
|
|
INTERNAL_DEV="${INTERNAL_DEV}"
|
|
|
|
GW="$(ip route show dev $DEFAULT_INSTALL_DEV | awk '/^default via/ {print $3}')"
|
|
|
|
GW="${GW}"
|
|
|
|
EXTERNAL_DEV="${EXTERNAL_DEV}"
|
|
|
|
EXTERNAL_DEV="${EXTERNAL_DEV}"
|
|
|
|
NETWORK_DEVICES="${NETWORK_DEVICES}"
|
|
|
|
NETWORK_DEVICES="${NETWORK_DEVICES}"
|
|
|
|
DEFAULT_INTERNAL_NETMASK="${DEFAULT_INTERNAL_NETMASK}"
|
|
|
|
DEFAULT_INTERNAL_NETMASK="${DEFAULT_INTERNAL_NETMASK}"
|
|
|
|
|
|
|
|
# I would like to delete ${DEFAULT_INTERNAL_NETMASK} and use ${INTERNAL_NETMASK} into installer,
|
|
|
|
|
|
|
|
# Lets test we have INTERNAL_NETMASK==DEFAULT_INTERNAL_NETMASK for CE/PRO/Carrier (in installer)
|
|
|
|
|
|
|
|
# and switch code to INTERNAL_NETMASK then.
|
|
|
|
|
|
|
|
INTERNAL_NETMASK="${INTERNAL_NETMASK}"
|
|
|
|
|
|
|
|
EXTERNAL_NETMASK="${EXTERNAL_NETMASK}"
|
|
|
|
RETRIEVE_MGMT_CONFIG="${RETRIEVE_MGMT_CONFIG}"
|
|
|
|
RETRIEVE_MGMT_CONFIG="${RETRIEVE_MGMT_CONFIG}"
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|