s2svpn: Set initial state as Connecting (#5327)

* s2svpn: Set initial state as Connecting

* Fix comments

* Adding connecting elsewhere
This commit is contained in:
davidjumani 2021-08-18 16:50:38 +05:30 committed by GitHub
parent 1c29163060
commit 21d7854274
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 10 deletions

View File

@ -24,7 +24,7 @@ import org.apache.cloudstack.api.InternalIdentity;
public interface Site2SiteVpnConnection extends ControlledEntity, InternalIdentity, Displayable { public interface Site2SiteVpnConnection extends ControlledEntity, InternalIdentity, Displayable {
enum State { enum State {
Pending, Connected, Disconnected, Error, Pending, Connecting, Connected, Disconnected, Error,
} }
@Override @Override

View File

@ -817,7 +817,8 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
} }
final List<String> ipList = new ArrayList<String>(); final List<String> ipList = new ArrayList<String>();
for (final Site2SiteVpnConnectionVO conn : conns) { for (final Site2SiteVpnConnectionVO conn : conns) {
if (conn.getState() != Site2SiteVpnConnection.State.Connected && conn.getState() != Site2SiteVpnConnection.State.Disconnected) { if (conn.getState() != Site2SiteVpnConnection.State.Connected && conn.getState() != Site2SiteVpnConnection.State.Disconnected
&& conn.getState() != Site2SiteVpnConnection.State.Connecting) {
continue; continue;
} }
final Site2SiteCustomerGateway gw = _s2sCustomerGatewayDao.findById(conn.getCustomerGatewayId()); final Site2SiteCustomerGateway gw = _s2sCustomerGatewayDao.findById(conn.getCustomerGatewayId());
@ -853,7 +854,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
throw new CloudRuntimeException("Unable to acquire lock for site to site vpn connection id " + conn.getId()); throw new CloudRuntimeException("Unable to acquire lock for site to site vpn connection id " + conn.getId());
} }
try { try {
if (conn.getState() != Site2SiteVpnConnection.State.Connected && conn.getState() != Site2SiteVpnConnection.State.Disconnected) { if (conn.getState() != Site2SiteVpnConnection.State.Connected && conn.getState() != Site2SiteVpnConnection.State.Disconnected && conn.getState() != Site2SiteVpnConnection.State.Connecting) {
continue; continue;
} }
final Site2SiteVpnConnection.State oldState = conn.getState(); final Site2SiteVpnConnection.State oldState = conn.getState();

View File

@ -347,7 +347,7 @@ public class Site2SiteVpnManagerImpl extends ManagerBase implements Site2SiteVpn
if (conn.isPassive()) { if (conn.isPassive()) {
conn.setState(State.Disconnected); conn.setState(State.Disconnected);
} else { } else {
conn.setState(State.Connected); conn.setState(State.Connecting);
} }
_vpnConnectionDao.persist(conn); _vpnConnectionDao.persist(conn);
return conn; return conn;
@ -530,7 +530,7 @@ public class Site2SiteVpnManagerImpl extends ManagerBase implements Site2SiteVpn
continue; continue;
} }
try { try {
if (conn.getState() == State.Connected || conn.getState() == State.Error) { if (conn.getState() == State.Connected || conn.getState() == State.Connecting || conn.getState() == State.Error) {
stopVpnConnection(conn.getId()); stopVpnConnection(conn.getId());
} }
startVpnConnection(conn.getId()); startVpnConnection(conn.getId());
@ -608,7 +608,8 @@ public class Site2SiteVpnManagerImpl extends ManagerBase implements Site2SiteVpn
if (conn.getState() == State.Pending) { if (conn.getState() == State.Pending) {
conn.setState(State.Disconnected); conn.setState(State.Disconnected);
} }
if (conn.getState() == State.Connected || conn.getState() == State.Error || conn.getState() == State.Disconnected) { if (conn.getState() == State.Connected || conn.getState() == State.Error
|| conn.getState() == State.Disconnected || conn.getState() == State.Connecting) {
stopVpnConnection(id); stopVpnConnection(id);
} }
startVpnConnection(id); startVpnConnection(id);
@ -795,7 +796,7 @@ public class Site2SiteVpnManagerImpl extends ManagerBase implements Site2SiteVpn
throw new CloudRuntimeException("Unable to acquire lock on " + conn); throw new CloudRuntimeException("Unable to acquire lock on " + conn);
} }
try { try {
if (conn.getState() == Site2SiteVpnConnection.State.Connected) { if (conn.getState() == Site2SiteVpnConnection.State.Connected || conn.getState() == Site2SiteVpnConnection.State.Connecting) {
conn.setState(Site2SiteVpnConnection.State.Disconnected); conn.setState(Site2SiteVpnConnection.State.Disconnected);
_vpnConnectionDao.persist(conn); _vpnConnectionDao.persist(conn);
} }

View File

@ -618,7 +618,7 @@ class TestVpcSite2SiteVpn(cloudstackTestCase):
self.logger.debug("Network %s created in VPC %s" % (ntwk2.id, vpc2.id)) self.logger.debug("Network %s created in VPC %s" % (ntwk2.id, vpc2.id))
vm1 = None vm1 = None
# Deploy a vm in network 2 # Deploy a vm in network 1
try: try:
vm1 = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"], vm1 = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"],
templateid=self.template.id, templateid=self.template.id,
@ -990,7 +990,7 @@ class TestRVPCSite2SiteVpn(cloudstackTestCase):
self.cleanup.append(ntwk2) self.cleanup.append(ntwk2)
self.logger.debug("Network %s created in VPC %s" % (ntwk2.id, vpc2.id)) self.logger.debug("Network %s created in VPC %s" % (ntwk2.id, vpc2.id))
# Deploy a vm in network 2 # Deploy a vm in network 1
vm1 = None vm1 = None
try: try:
vm1 = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"], vm1 = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"],
@ -1370,7 +1370,7 @@ class TestVPCSite2SiteVPNMultipleOptions(cloudstackTestCase):
self.logger.debug("Network %s created in VPC %s" % (ntwk2.id, vpc2.id)) self.logger.debug("Network %s created in VPC %s" % (ntwk2.id, vpc2.id))
vm1 = None vm1 = None
# Deploy a vm in network 2 # Deploy a vm in network 1
try: try:
vm1 = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"], vm1 = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"],
templateid=self.template.id, templateid=self.template.id,