path = l.split(':')[0]
comp = l.rsplit(':')[-1]
slice_name_check = comp.rsplit('/')[-1]
- # the lines above were added by Guilherme <gsm@machados.org>
- # due to the ipv6 plugin requirements
+ # the lines below were added by Guilherme <gsm@machados.org>
+ # due to the ipv6 plugin requirements (LXC)
virt=get_node_virt()
if virt=='lxc':
slice_name_check = slice_name_check.rsplit('.')[0]
# Added by Guilherme Sperb Machado <gsm@machados.org>
###################################################
-import re
-import socket
-import fileinput
+try:
+ import re
+ import socket
+ import fileinput
+except:
+ logger.log("Could not import 're', 'socket', or 'fileinput' python packages.")
# TODO: is there anything better to do if the "libvirt", "sliver_libvirt",
# and "sliver_lxc" are not in place?
from sliver_libvirt import Sliver_Libvirt
import sliver_lxc
except:
- logger.log("Could not import sliver_lxc or libvirt or sliver_libvirt -- which is required here.")
+ logger.log("Could not import 'sliver_lxc' or 'libvirt' or 'sliver_libvirt'.")
###################################################
def get_sliver_ifconfig(slice_name, device="eth0"):
###################################################
# Search if there is a specific ipv6 address in the
# /etc/hosts file of a given slice
+# If the parameter 'ipv6addr' is None, then search
+# for any ipv6 address
###################################################
def search_ipv6addr_hosts(slicename, ipv6addr):
hostsFilePath = get_hosts_file_path(slicename)
found=False
try:
for line in fileinput.input(r'%s' % (hostsFilePath)):
- if re.search(r'%s' % (ipv6addr), line):
- found=True
- fileinput.close()
- return found
+ if ipv6addr is not None:
+ if re.search(r'%s' % (ipv6addr), line):
+ found=True
+ else:
+ search = re.search(r'^(.*)\s+.*$', line)
+ if search:
+ ipv6candidate = search.group(1)
+ ipv6candidatestrip = ipv6candidate.strip()
+ valid = is_valid_ipv6(ipv6candidatestrip)
+ if valid:
+ found=True
+ fileinput.close()
+ return found
except:
logger.log("tools: FAILED to search %s in /etc/hosts file of slice=%s" % \
(ipv6addr, slicename) )