|
|
@ -1222,21 +1222,6 @@ ff02::1 ip6-allnodes
|
|
|
|
ff02::2 ip6-allrouters
|
|
|
|
ff02::2 ip6-allrouters
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
|
|
# needed for carrier
|
|
|
|
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
|
|
|
|
echo "Retrieving /etc/hosts configuration from management server"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}/etc/hosts" "${MANAGEMENT_IP}:3000/hostconfig/$(cat ${TARGET}/etc/hostname)"
|
|
|
|
|
|
|
|
# required for bootstrapping remote origin in ngcpcfg carrier setup
|
|
|
|
|
|
|
|
echo "Retrieving /etc/ngcp_mgmt_node file from management server"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}/etc/ngcp_mgmt_node" "${MANAGEMENT_IP}:3000/mgmt"
|
|
|
|
|
|
|
|
echo "mgmt_node=$(cat ${TARGET}/etc/ngcp_mgmt_node)"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if "$CARRIER_EDITION" ; then
|
|
|
|
|
|
|
|
echo "Writing $CROLE to /etc/ngcp_ha_role"
|
|
|
|
|
|
|
|
echo $CROLE > $TARGET/etc/ngcp_ha_role
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if "$PRO_EDITION" && [[ $(imvirt) != "Physical" ]] ; then
|
|
|
|
if "$PRO_EDITION" && [[ $(imvirt) != "Physical" ]] ; then
|
|
|
|
echo "Generating udev persistent net rules."
|
|
|
|
echo "Generating udev persistent net rules."
|
|
|
|
INT_MAC=$(udevadm info -a -p /sys/class/net/${INTERNAL_DEV} | awk -F== '/ATTR{address}/ {print $2}')
|
|
|
|
INT_MAC=$(udevadm info -a -p /sys/class/net/${INTERNAL_DEV} | awk -F== '/ATTR{address}/ {print $2}')
|
|
|
@ -1253,13 +1238,17 @@ SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}==$EXT_MAC, ATTR{de
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# needs to be executed *after* udev rules have been set up,
|
|
|
|
|
|
|
|
# otherwise we get duplicated MAC address<->device name mappings
|
|
|
|
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
|
|
|
|
# needs to be executed *after* udev rules have been set up,
|
|
|
|
|
|
|
|
# otherwise we get duplicated MAC address<->device name mappings
|
|
|
|
echo "Retrieving network configuration from management server"
|
|
|
|
echo "Retrieving network configuration from management server"
|
|
|
|
wget --timeout=30 -O /etc/network/interfaces "${MANAGEMENT_IP}:3000/nwconfig/$(cat ${TARGET}/etc/hostname)"
|
|
|
|
wget --timeout=30 -O /etc/network/interfaces "${MANAGEMENT_IP}:3000/nwconfig/$(cat ${TARGET}/etc/hostname)"
|
|
|
|
|
|
|
|
|
|
|
|
cp /etc/network/interfaces "${TARGET}/etc/network/interfaces"
|
|
|
|
cp /etc/network/interfaces "${TARGET}/etc/network/interfaces"
|
|
|
|
|
|
|
|
# can't be moved to ngcp-installer, otherwise Grml can't execute:
|
|
|
|
|
|
|
|
# > wget --timeout=30 -O Packages.gz "${repos_base_path}Packages.gz"
|
|
|
|
|
|
|
|
# because host 'web01' is unknown
|
|
|
|
|
|
|
|
echo "Retrieving /etc/hosts configuration from management server"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}/etc/hosts" "${MANAGEMENT_IP}:3000/hostconfig/$(cat ${TARGET}/etc/hostname)"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" && "$RESTART_NETWORK" ; then
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" && "$RESTART_NETWORK" ; then
|
|
|
@ -1390,6 +1379,19 @@ EOF
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
get_network_devices () {
|
|
|
|
|
|
|
|
# get list of available network devices (excl. some known-to-be-irrelevant ones, also see MT#8297)
|
|
|
|
|
|
|
|
net_devices=$(tail -n +3 /proc/net/dev | awk -F: '{print $1}'| sed "s/\s*//" | grep -ve '^vmnet' -ve '^vboxnet' -ve '^docker' -ve '^usb' | sort -u)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NETWORK_DEVICES=""
|
|
|
|
|
|
|
|
for network_device in $net_devices $DEFAULT_INSTALL_DEV $INTERNAL_DEV $EXTERNAL_DEV ; do
|
|
|
|
|
|
|
|
# avoid duplicates
|
|
|
|
|
|
|
|
echo "$NETWORK_DEVICES" | grep -wq "$network_device" || NETWORK_DEVICES="$NETWORK_DEVICES $network_device"
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
export NETWORK_DEVICES
|
|
|
|
|
|
|
|
unset net_devices
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
gen_installer_config () {
|
|
|
|
gen_installer_config () {
|
|
|
|
mkdir -p "${TARGET}/etc/ngcp-installer/"
|
|
|
|
mkdir -p "${TARGET}/etc/ngcp-installer/"
|
|
|
|
|
|
|
|
|
|
|
@ -1397,10 +1399,12 @@ gen_installer_config () {
|
|
|
|
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}"
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if "$PRO_EDITION" ; then
|
|
|
|
if "$PRO_EDITION" ; then
|
|
|
|
|
|
|
|
get_network_devices
|
|
|
|
cat >> ${TARGET}/etc/ngcp-installer/config_deploy.inc << EOF
|
|
|
|
cat >> ${TARGET}/etc/ngcp-installer/config_deploy.inc << EOF
|
|
|
|
HNAME="${ROLE}"
|
|
|
|
HNAME="${ROLE}"
|
|
|
|
IP1="${IP1}"
|
|
|
|
IP1="${IP1}"
|
|
|
@ -1409,6 +1413,14 @@ EIFACE="${EIFACE}"
|
|
|
|
EADDR="${EADDR}"
|
|
|
|
EADDR="${EADDR}"
|
|
|
|
MCASTADDR="${MCASTADDR}"
|
|
|
|
MCASTADDR="${MCASTADDR}"
|
|
|
|
DPL_MYSQL_REPLICATION="${DPL_MYSQL_REPLICATION}"
|
|
|
|
DPL_MYSQL_REPLICATION="${DPL_MYSQL_REPLICATION}"
|
|
|
|
|
|
|
|
TARGET_HOSTNAME="${TARGET_HOSTNAME}"
|
|
|
|
|
|
|
|
DEFAULT_INSTALL_DEV="${DEFAULT_INSTALL_DEV}"
|
|
|
|
|
|
|
|
INTERNAL_DEV="${INTERNAL_DEV}"
|
|
|
|
|
|
|
|
GW="$(ip route show dev $DEFAULT_INSTALL_DEV | awk '/^default via/ {print $3}')"
|
|
|
|
|
|
|
|
EXTERNAL_DEV="${EXTERNAL_DEV}"
|
|
|
|
|
|
|
|
NETWORK_DEVICES="${NETWORK_DEVICES}"
|
|
|
|
|
|
|
|
DEFAULT_INTERNAL_NETMASK="${DEFAULT_INTERNAL_NETMASK}"
|
|
|
|
|
|
|
|
RETRIEVE_MGMT_CONFIG="${RETRIEVE_MGMT_CONFIG}"
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
@ -1419,40 +1431,13 @@ ADJUST_FOR_LOW_PERFORMANCE="${ADJUST_FOR_LOW_PERFORMANCE}"
|
|
|
|
ENABLE_VM_SERVICES="${ENABLE_VM_SERVICES}"
|
|
|
|
ENABLE_VM_SERVICES="${ENABLE_VM_SERVICES}"
|
|
|
|
SIPWISE_REPO_HOST="${SIPWISE_REPO_HOST}"
|
|
|
|
SIPWISE_REPO_HOST="${SIPWISE_REPO_HOST}"
|
|
|
|
SIPWISE_REPO_TRANSPORT="${SIPWISE_REPO_TRANSPORT}"
|
|
|
|
SIPWISE_REPO_TRANSPORT="${SIPWISE_REPO_TRANSPORT}"
|
|
|
|
|
|
|
|
NAMESERVER="$(awk '/^nameserver/ {print $2}' /etc/resolv.conf)"
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
|
|
cat "${TARGET}/etc/ngcp-installer/config_deploy.inc" > /tmp/ngcp-installer-cmdline.log
|
|
|
|
cat "${TARGET}/etc/ngcp-installer/config_deploy.inc" > /tmp/ngcp-installer-cmdline.log
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if "$NGCP_INSTALLER" ; then
|
|
|
|
if "$NGCP_INSTALLER" ; then
|
|
|
|
|
|
|
|
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
|
|
|
|
password=sipwise
|
|
|
|
|
|
|
|
echo "Retrieving SSH keys from management server (using password ${password})"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mkdir -p "${TARGET}"/root/.ssh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}"/root/.ssh/authorized_keys "${MANAGEMENT_IP}:3000/ssh/authorized_keys"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}"/root/.ssh/id_rsa "${MANAGEMENT_IP}:3000/ssh/id_rsa?password=${password}"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}"/root/.ssh/id_rsa.pub "${MANAGEMENT_IP}:3000/ssh/id_rsa_pub"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}"/root/.ssh/known_hosts "${MANAGEMENT_IP}:3000/ssh/known_hosts"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chmod 600 "${TARGET}"/root/.ssh/authorized_keys
|
|
|
|
|
|
|
|
chmod 600 "${TARGET}"/root/.ssh/id_rsa
|
|
|
|
|
|
|
|
chmod 644 "${TARGET}"/root/.ssh/id_rsa.pub
|
|
|
|
|
|
|
|
chmod 600 "${TARGET}"/root/.ssh/known_hosts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}"/etc/ssh/ssh_host_dsa_key "${MANAGEMENT_IP}:3000/ssh/host_dsa_key?password=${password}"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}"/etc/ssh/ssh_host_dsa_key.pub "${MANAGEMENT_IP}:3000/ssh/host_dsa_key_pub"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}"/etc/ssh/ssh_host_rsa_key "${MANAGEMENT_IP}:3000/ssh/host_rsa_key?password=${password}"
|
|
|
|
|
|
|
|
wget --timeout=30 -O "${TARGET}"/etc/ssh/ssh_host_rsa_key.pub "${MANAGEMENT_IP}:3000/ssh/host_rsa_key_pub"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chmod 600 "${TARGET}"/etc/ssh/ssh_host_dsa_key
|
|
|
|
|
|
|
|
chmod 644 "${TARGET}"/etc/ssh/ssh_host_dsa_key.pub
|
|
|
|
|
|
|
|
chmod 600 "${TARGET}"/etc/ssh/ssh_host_rsa_key
|
|
|
|
|
|
|
|
chmod 644 "${TARGET}"/etc/ssh/ssh_host_rsa_key.pub
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# add sipwise user
|
|
|
|
# add sipwise user
|
|
|
|
adduser_sipwise
|
|
|
|
adduser_sipwise
|
|
|
|
|
|
|
|
|
|
|
@ -1499,38 +1484,6 @@ EOT
|
|
|
|
die "Error during installation of ngcp. Find details at: $TARGET/tmp/ngcp-installer.log $TARGET/tmp/ngcp-installer-debug.log"
|
|
|
|
die "Error during installation of ngcp. Find details at: $TARGET/tmp/ngcp-installer.log $TARGET/tmp/ngcp-installer-debug.log"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if "$PRO_EDITION" ; then
|
|
|
|
|
|
|
|
# set variable to have the *other* node from the PRO setup available for ngcp-network
|
|
|
|
|
|
|
|
case $ROLE in
|
|
|
|
|
|
|
|
sp1)
|
|
|
|
|
|
|
|
logit "Role matching sp1"
|
|
|
|
|
|
|
|
if [ -n "$TARGET_HOSTNAME" ] && [[ "$TARGET_HOSTNAME" == *a ]] ; then # usually carrier env
|
|
|
|
|
|
|
|
logit "Target hostname is set and ends with 'a'"
|
|
|
|
|
|
|
|
THIS_HOST="$TARGET_HOSTNAME"
|
|
|
|
|
|
|
|
PEER="${TARGET_HOSTNAME%a}b"
|
|
|
|
|
|
|
|
else # usually PRO env
|
|
|
|
|
|
|
|
logit "Target hostname is not set or does not end with 'a'"
|
|
|
|
|
|
|
|
THIS_HOST="$ROLE"
|
|
|
|
|
|
|
|
PEER=sp2
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
sp2)
|
|
|
|
|
|
|
|
logit "Role matching sp2"
|
|
|
|
|
|
|
|
if [ -n "$TARGET_HOSTNAME" ] && [[ "$TARGET_HOSTNAME" == *b ]] ; then # usually carrier env
|
|
|
|
|
|
|
|
THIS_HOST="$TARGET_HOSTNAME"
|
|
|
|
|
|
|
|
PEER="${TARGET_HOSTNAME%b}a"
|
|
|
|
|
|
|
|
else # usually PRO env
|
|
|
|
|
|
|
|
logit "Target hostname is not set or does not end with 'b'"
|
|
|
|
|
|
|
|
THIS_HOST="$ROLE"
|
|
|
|
|
|
|
|
PEER=sp1
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
|
|
|
|
|
|
|
logit "Using unsupported role: $ROLE"
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
if [ "$ROLE" = "sp1" ] ; then
|
|
|
|
if [ "$ROLE" = "sp1" ] ; then
|
|
|
|
password=sipwise
|
|
|
|
password=sipwise
|
|
|
@ -1605,134 +1558,6 @@ EOT
|
|
|
|
|
|
|
|
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# adjust network.yml
|
|
|
|
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
|
|
|
|
echo "Nothing to do (RETRIEVE_MGMT_CONFIG is set), network.yml was already set up."
|
|
|
|
|
|
|
|
elif "$PRO_EDITION" ; then
|
|
|
|
|
|
|
|
# get list of available network devices (excl. some known-to-be-irrelevant ones, also see MT#8297)
|
|
|
|
|
|
|
|
net_devices=$(tail -n +3 /proc/net/dev | awk -F: '{print $1}'| sed "s/\s*//" | grep -ve '^vmnet' -ve '^vboxnet' -ve '^docker' -ve '^usb' | sort -u)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NETWORK_DEVICES=""
|
|
|
|
|
|
|
|
for network_device in $net_devices $DEFAULT_INSTALL_DEV $INTERNAL_DEV $EXTERNAL_DEV ; do
|
|
|
|
|
|
|
|
# avoid duplicates
|
|
|
|
|
|
|
|
echo "$NETWORK_DEVICES" | grep -wq "$network_device" || NETWORK_DEVICES="$NETWORK_DEVICES $network_device"
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
export NETWORK_DEVICES
|
|
|
|
|
|
|
|
unset net_devices
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cat << EOT | grml-chroot $TARGET /bin/bash
|
|
|
|
|
|
|
|
if ! [ -r /etc/ngcp-config/network.yml ] ; then
|
|
|
|
|
|
|
|
echo '/etc/ngcp-config/network.yml does not exist'
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# we have to start glusterfs-server back to work with shared storage
|
|
|
|
|
|
|
|
invoke-rc.d glusterfs-server start
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$ROLE" = "sp1" ] ; then
|
|
|
|
|
|
|
|
cp /etc/ngcp-config/network.yml /etc/ngcp-config/network.yml.factory_default
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=lo --ip=auto --netmask=auto --hwaddr=auto --ipv6='::1' --type=web_int
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$DEFAULT_INSTALL_DEV --shared-ip=none --shared-ipv6=none
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$DEFAULT_INSTALL_DEV --ip=auto --netmask=auto --hwaddr=auto
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$INTERNAL_DEV --ip=auto --netmask=auto --hwaddr=auto
|
|
|
|
|
|
|
|
nameserver="$(awk '/^nameserver/ {print $2}' /etc/resolv.conf)"
|
|
|
|
|
|
|
|
for entry in \$nameserver ; do
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$DEFAULT_INSTALL_DEV --dns=\$entry
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GW=$(ip route show dev $DEFAULT_INSTALL_DEV | awk '/^default via/ {print $3}')
|
|
|
|
|
|
|
|
if [ -n "\$GW" ] ; then
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$DEFAULT_INSTALL_DEV --gateway="\$GW"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --peer=$PEER
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --move-from=lo --move-to=$INTERNAL_DEV --type=ha_int
|
|
|
|
|
|
|
|
# set *_ext types accordingly for PRO setup
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --move-from=lo --move-to=$EXTERNAL_DEV \
|
|
|
|
|
|
|
|
--type=sip_ext --type=rtp_ext --type=mon_ext
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$EXTERNAL_DEV --type=web_ext
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --peer=$THIS_HOST
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --set-interface=$EXTERNAL_DEV --shared-ip=none --shared-ipv6=none
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --set-interface=lo --ipv6='::1' --ip=auto --netmask=auto --hwaddr=auto
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# add ssh_ext to all the interfaces of sp1 on sp1
|
|
|
|
|
|
|
|
for interface in \$NETWORK_DEVICES ; do
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=\$interface --type=ssh_ext
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# add ssh_ext to lo and $INTERNAL_DEV interfaces of sp2 on sp1 so we can reach the ssh server at any time
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --set-interface=lo --type=ssh_ext
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --set-interface=$INTERNAL_DEV --type=ssh_ext
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# needed to make sure MySQL setup is OK for first node until second node is set up
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --set-interface=$INTERNAL_DEV --ip=$IP2 --netmask=$DEFAULT_INTERNAL_NETMASK --type=ha_int
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --role=proxy --role=lb --role=mgmt --role=rtp --role=db
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --set-interface=lo --type=sip_int --type=web_int --type=web_ext --type=aux_ext
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# version >= mr3.5, previous versions has no dbnode option
|
|
|
|
|
|
|
|
ngcp-network --host=$PEER --dbnode=2 || true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cp /etc/ngcp-config/network.yml /mnt/glusterfs/shared_config/network.yml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# use --no-db-sync only if supported by ngcp[cfg] version
|
|
|
|
|
|
|
|
if grep -q -- --no-db-sync /usr/sbin/ngcpcfg ; then
|
|
|
|
|
|
|
|
ngcpcfg --no-db-sync commit "deployed /etc/ngcp-config/network.yml on $ROLE"
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
ngcpcfg commit "deployed /etc/ngcp-config/network.yml on $ROLE"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ngcpcfg build
|
|
|
|
|
|
|
|
ngcpcfg push --shared-only
|
|
|
|
|
|
|
|
else # ROLE = sp2
|
|
|
|
|
|
|
|
ngcpcfg pull
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$DEFAULT_INSTALL_DEV --ip=auto --netmask=auto --hwaddr=auto
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# finalize the --ip=$IP2 from previous run on first node
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$INTERNAL_DEV --ip=auto --netmask=auto --hwaddr=auto --type=ha_int
|
|
|
|
|
|
|
|
# set *_ext types accordingly for PRO setup
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=$EXTERNAL_DEV --type=web_int --type=web_ext --type=sip_ext \
|
|
|
|
|
|
|
|
--type=rtp_ext --type=mon_ext
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# add ssh_ext to all the interfaces of sp2 on sp2
|
|
|
|
|
|
|
|
for interface in \$NETWORK_DEVICES ; do
|
|
|
|
|
|
|
|
ngcp-network --host=$THIS_HOST --set-interface=\$interface --type=ssh_ext
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# use --no-db-sync only if supported by ngcp[cfg] version
|
|
|
|
|
|
|
|
if grep -q -- --no-db-sync /usr/sbin/ngcpcfg ; then
|
|
|
|
|
|
|
|
ngcpcfg --no-db-sync commit "deployed /etc/ngcp-config/network.yml on $ROLE"
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
ngcpcfg commit "deployed /etc/ngcp-config/network.yml on $ROLE"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ngcpcfg push --shared-only
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# make sure login from second node to first node works
|
|
|
|
|
|
|
|
ssh-keyscan $PEER >> ~/.ssh/known_hosts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# live system uses a different SSH host key than the finally installed
|
|
|
|
|
|
|
|
# system, so do NOT use ssh-keyscan here
|
|
|
|
|
|
|
|
tail -1 ~/.ssh/known_hosts | sed "s/\w* /$THIS_HOST /" >> ~/.ssh/known_hosts
|
|
|
|
|
|
|
|
tail -1 ~/.ssh/known_hosts | sed "s/\w* /$MANAGEMENT_IP /" >> ~/.ssh/known_hosts
|
|
|
|
|
|
|
|
scp ~/.ssh/known_hosts $PEER:~/.ssh/known_hosts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ssh $PEER ngcpcfg pull
|
|
|
|
|
|
|
|
ngcpcfg build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ngcpcfg --help |grep -q init-mgmt ; then
|
|
|
|
|
|
|
|
ngcpcfg init-mgmt $MANAGEMENT_IP
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
echo "Skipping ngcpcfg init-mgmt as it is not available"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# we have to stop glusterfs-server back
|
|
|
|
|
|
|
|
invoke-rc.d glusterfs-server stop
|
|
|
|
|
|
|
|
EOT
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
if "$RETRIEVE_MGMT_CONFIG" ; then
|
|
|
|
echo "Nothing to do (RETRIEVE_MGMT_CONFIG is set), /etc/network/interfaces was already set up."
|
|
|
|
echo "Nothing to do (RETRIEVE_MGMT_CONFIG is set), /etc/network/interfaces was already set up."
|
|
|
|
elif ! "$NGCP_INSTALLER" ; then
|
|
|
|
elif ! "$NGCP_INSTALLER" ; then
|
|
|
|