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…
Reference in a new issue