Add ping_ok utility method
This commit is contained in:
		
					parent
					
						
							
								cda6c60e02
							
						
					
				
			
			
				commit
				
					
						91021d7612
					
				
			
		
					 1 changed files with 22 additions and 0 deletions
				
			
		| 
						 | 
					@ -1,3 +1,5 @@
 | 
				
			||||||
 | 
					import logging
 | 
				
			||||||
 | 
					import subprocess
 | 
				
			||||||
from django.contrib.sites.models import Site
 | 
					from django.contrib.sites.models import Site
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from datacenterlight.tasks import create_vm_task
 | 
					from datacenterlight.tasks import create_vm_task
 | 
				
			||||||
| 
						 | 
					@ -8,6 +10,8 @@ from utils.models import BillingAddress
 | 
				
			||||||
from .cms_models import CMSIntegration
 | 
					from .cms_models import CMSIntegration
 | 
				
			||||||
from .models import VMPricing, VMTemplate
 | 
					from .models import VMPricing, VMTemplate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					logger = logging.getLogger(__name__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def get_cms_integration(name):
 | 
					def get_cms_integration(name):
 | 
				
			||||||
    current_site = Site.objects.get_current()
 | 
					    current_site = Site.objects.get_current()
 | 
				
			||||||
| 
						 | 
					@ -91,3 +95,21 @@ def create_vm(billing_address_data, stripe_customer_id, specs,
 | 
				
			||||||
                        'token', 'customer']:
 | 
					                        'token', 'customer']:
 | 
				
			||||||
        if session_var in request.session:
 | 
					        if session_var in request.session:
 | 
				
			||||||
            del request.session[session_var]
 | 
					            del request.session[session_var]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def ping_ok(host_ipv6):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    A utility method to check if a host responds to ping requests. Note: the
 | 
				
			||||||
 | 
					    function relies on `ping6` utility of debian to check.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    :param host_ipv6 str type parameter that represets the ipv6 of the host to
 | 
				
			||||||
 | 
					           checked
 | 
				
			||||||
 | 
					    :return True if the host responds to ping else returns False
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        output = subprocess.check_output("ping6 -c 1 -w 2 " + host_ipv6,
 | 
				
			||||||
 | 
					                                         shell=True)
 | 
				
			||||||
 | 
					    except Exception as ex:
 | 
				
			||||||
 | 
					        logger.debug(host_ipv6 + " not reachable via ping. Error = " + str(ex))
 | 
				
			||||||
 | 
					        return False
 | 
				
			||||||
 | 
					    return True
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue