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%?}
|
NS6=${NS6%?}
|
||||||
[ $ETH0_IP ] && echo "dhcp-option=6,$NS" >> /etc/dnsmasq.conf
|
[ $ETH0_IP ] && echo "dhcp-option=6,$NS" >> /etc/dnsmasq.conf
|
||||||
[ $ETH0_IP6 ] && echo "dhcp-option=option6:dns-server,$NS6" >> /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(){
|
setup_sshd(){
|
||||||
|
|||||||
@ -3430,7 +3430,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||||||
|
|
||||||
private void configDnsMasq(VirtualRouter router, Network network, Commands cmds) {
|
private void configDnsMasq(VirtualRouter router, Network network, Commands cmds) {
|
||||||
DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId());
|
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>();
|
List<DnsmasqTO> ipList = new ArrayList<DnsmasqTO>();
|
||||||
|
|
||||||
NicVO router_guest_nic = _nicDao.findByNtwkIdAndInstanceId(network.getId(), router.getId());
|
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) {
|
for (NicIpAliasVO ipAliasVO : ipAliasVOList) {
|
||||||
DnsmasqTO dnsmasqTO = new DnsmasqTO(ipAliasVO.getIp4Address(), ipAliasVO.getGateway(), ipAliasVO.getNetmask(), ipAliasVO.getStartIpOfSubnet());
|
DnsmasqTO dnsmasqTO = new DnsmasqTO(ipAliasVO.getIp4Address(), ipAliasVO.getGateway(), ipAliasVO.getNetmask(), ipAliasVO.getStartIpOfSubnet());
|
||||||
ipList.add(dnsmasqTO);
|
ipList.add(dnsmasqTO);
|
||||||
|
ipAliasVO.setVmId(router.getId());
|
||||||
}
|
}
|
||||||
DataCenterVO dcvo = _dcDao.findById(router.getDataCenterId());
|
DataCenterVO dcvo = _dcDao.findById(router.getDataCenterId());
|
||||||
DnsMasqConfigCommand dnsMasqConfigCmd = new DnsMasqConfigCommand(network.getNetworkDomain(),ipList, dcvo.getDns1(), dcvo.getDns2(), dcvo.getInternalDns1(), dcvo.getInternalDns2());
|
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> 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);
|
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
|
@Override
|
||||||
public List<NicIpAliasVO> listByNicIdAndVmid(long nicId, long vmId) {
|
public List<NicIpAliasVO> listByNicIdAndVmid(long nicId, long vmId) {
|
||||||
SearchCriteria<NicIpAliasVO> sc = AllFieldsSearch.create();
|
SearchCriteria<NicIpAliasVO> sc = AllFieldsSearch.create();
|
||||||
|
|||||||
@ -26,37 +26,18 @@
|
|||||||
# Modify this line to specify the user (default is root)
|
# Modify this line to specify the user (default is root)
|
||||||
user=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
|
if [ $? -eq 0 ]
|
||||||
DHCP_FOLDERS="/var/lib/dhclient/* /var/lib/dhcp3/*"
|
then
|
||||||
keys_received=0
|
logger -t "cloud" "Got response from server at $SSHKEY_SERVER_IP"
|
||||||
file_count=0
|
keys_received=1
|
||||||
|
else
|
||||||
for DHCP_FILE in $DHCP_FOLDERS
|
logger -t "cloud" "Could not find ssh key server IP in $DHCP_FILE"
|
||||||
do
|
fi
|
||||||
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
|
|
||||||
|
|
||||||
# did we find the keys anywhere?
|
# did we find the keys anywhere?
|
||||||
if [ "$keys_received" == "0" ]
|
if [ "$keys_received" == "0" ]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user