mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-15 18:12:35 +01:00
Cloudstack-2644 [Multiple_IP_Ranges] user data service on VR does not work in case of multiple subnets Cloudstack-2953 [Multiple_IP_Ranges] VM does not get the public key from VR incase of multiple subnets per vlan Also removed some unused code and fixed the an error in the dnsmasq config function
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
This commit is contained in:
parent
7b6b8d7a07
commit
f9e7094282
@ -540,6 +540,8 @@ setup_dnsmasq() {
|
||||
NS6=${NS6%?}
|
||||
[ $ETH0_IP ] && echo "dhcp-option=6,$NS" >> /etc/dnsmasq.conf
|
||||
[ $ETH0_IP6 ] && echo "dhcp-option=option6:dns-server,$NS6" >> /etc/dnsmasq.conf
|
||||
#adding the name data-server to the /etc/hosts for allowing the access to user-data service and ssh-key reset in every subnet.
|
||||
echo "$ETH0_IP data-server" >> /etc/hosts
|
||||
}
|
||||
|
||||
setup_sshd(){
|
||||
|
||||
@ -3430,7 +3430,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
||||
|
||||
private void configDnsMasq(VirtualRouter router, Network network, Commands cmds) {
|
||||
DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId());
|
||||
List<NicIpAliasVO> ipAliasVOList = _nicIpAliasDao.getAliasIpForVm(router.getId());
|
||||
List<NicIpAliasVO> ipAliasVOList = _nicIpAliasDao.listByNetworkIdAndState(network.getId(), NicIpAlias.state.active);
|
||||
List<DnsmasqTO> ipList = new ArrayList<DnsmasqTO>();
|
||||
|
||||
NicVO router_guest_nic = _nicDao.findByNtwkIdAndInstanceId(network.getId(), router.getId());
|
||||
@ -3444,6 +3444,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
||||
for (NicIpAliasVO ipAliasVO : ipAliasVOList) {
|
||||
DnsmasqTO dnsmasqTO = new DnsmasqTO(ipAliasVO.getIp4Address(), ipAliasVO.getGateway(), ipAliasVO.getNetmask(), ipAliasVO.getStartIpOfSubnet());
|
||||
ipList.add(dnsmasqTO);
|
||||
ipAliasVO.setVmId(router.getId());
|
||||
}
|
||||
DataCenterVO dcvo = _dcDao.findById(router.getDataCenterId());
|
||||
DnsMasqConfigCommand dnsMasqConfigCmd = new DnsMasqConfigCommand(network.getNetworkDomain(),ipList, dcvo.getDns1(), dcvo.getDns2(), dcvo.getInternalDns1(), dcvo.getInternalDns2());
|
||||
|
||||
@ -57,5 +57,4 @@ public interface NicIpAliasDao extends GenericDao<NicIpAliasVO, Long> {
|
||||
|
||||
List<NicIpAliasVO> listByNetworkIdAndState(long networkId, NicIpAlias.state state);
|
||||
|
||||
List<NicIpAliasVO> listByNetworkIdAndAliasIpAndState(long networkId, String aliasIpOfSubnet, NicIpAlias.state state);
|
||||
}
|
||||
@ -91,15 +91,6 @@ public class NicIpAliasDaoImpl extends GenericDaoBase<NicIpAliasVO, Long> implem
|
||||
return listBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NicIpAliasVO> listByNetworkIdAndAliasIpAndState(long networkId, String aliasIpOfSubnet, NicIpAlias.state state) {
|
||||
SearchCriteria<NicIpAliasVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("network", networkId);
|
||||
sc.setParameters("address", aliasIpOfSubnet);
|
||||
sc.setParameters("state", state);
|
||||
return listBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NicIpAliasVO> listByNicIdAndVmid(long nicId, long vmId) {
|
||||
SearchCriteria<NicIpAliasVO> sc = AllFieldsSearch.create();
|
||||
|
||||
@ -26,37 +26,18 @@
|
||||
# Modify this line to specify the user (default is root)
|
||||
user=root
|
||||
|
||||
SSHKEY_SERVER_IP=$(nslookup data-server | grep Server | awk '{print $2}')
|
||||
logger -t "cloud" "Sending request to ssh key server at $SSHKEY_SERVER_IP"
|
||||
|
||||
publickey=$(wget -t 3 -T 20 -O - http://data-server/latest/public-keys 2>/dev/null)
|
||||
|
||||
# Add your DHCP lease folders here
|
||||
DHCP_FOLDERS="/var/lib/dhclient/* /var/lib/dhcp3/*"
|
||||
keys_received=0
|
||||
file_count=0
|
||||
|
||||
for DHCP_FILE in $DHCP_FOLDERS
|
||||
do
|
||||
if [ -f $DHCP_FILE ]
|
||||
then
|
||||
file_count=$((file_count+1))
|
||||
SSHKEY_SERVER_IP=$(grep dhcp-server-identifier $DHCP_FILE | tail -1 | awk '{print $NF}' | tr -d '\;')
|
||||
|
||||
if [ -n "$SSHKEY_SERVER_IP" ]
|
||||
then
|
||||
logger -t "cloud" "Sending request to ssh key server at $SSHKEY_SERVER_IP"
|
||||
|
||||
publickey=$(wget -t 3 -T 20 -O - http://$SSHKEY_SERVER_IP/latest/public-keys 2>/dev/null)
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
logger -t "cloud" "Got response from server at $SSHKEY_SERVER_IP"
|
||||
keys_received=1
|
||||
break
|
||||
fi
|
||||
else
|
||||
logger -t "cloud" "Could not find ssh key server IP in $DHCP_FILE"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
logger -t "cloud" "Got response from server at $SSHKEY_SERVER_IP"
|
||||
keys_received=1
|
||||
else
|
||||
logger -t "cloud" "Could not find ssh key server IP in $DHCP_FILE"
|
||||
fi
|
||||
|
||||
# did we find the keys anywhere?
|
||||
if [ "$keys_received" == "0" ]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user