Some Bug Fix

This commit is contained in:
Nachi Ueno 2011-01-04 07:40:29 -05:00
parent c528be81a5
commit d02d923a4c
4 changed files with 14 additions and 10 deletions

View File

@ -211,8 +211,6 @@ def get_my_ip():
def get_my_linklocal(interface):
if getattr(FLAGS, 'fake_tests', None):
return 'fe00::'
try:
if_str = execute("ifconfig %s" % interface)
condition = "\s+inet6\s+addr:\s+([0-9a-f:]+/\d+)\s+Scope:Link"
@ -224,7 +222,7 @@ def get_my_linklocal(interface):
return None
except RuntimeError as ex:
logging.warn("Couldn't get Link Local IP of %s :%s", interface, ex)
return None
return 'fe00::'
def to_global_ipv6(prefix, mac):

View File

@ -66,7 +66,7 @@
<filterref filter="nova-instance-${name}">
<parameter name="IP" value="${ip_address}" />
<parameter name="DHCPSERVER" value="${dhcp_server}" />
<parameter name="RASERVER" value="%(ra_server)s" />
<parameter name="RASERVER" value="${ra_server}" />
#if $getVar('extra_params', False)
${extra_params}
#end if

View File

@ -114,6 +114,10 @@ def _get_net_and_mask(cidr):
net = IPy.IP(cidr)
return str(net.net()), str(net.netmask())
def _get_net_and_prefixlen(cidr):
net = IPy.IP(cidr)
return str(net.net()), str(net.prefixlen())
def _get_ip_version(cidr):
net = IPy.IP(cidr)
return int(net.version())
@ -354,6 +358,7 @@ class LibvirtConnection(object):
power_state.NOSTATE,
'launching')
NWFilterFirewall(self._conn).setup_nwfilters_for_instance(instance)
self._create_image(instance, xml)
self._conn.createXML(xml, 0)
logging.debug(_("instance %s: is running"), instance['name'])
@ -545,7 +550,7 @@ class LibvirtConnection(object):
if FLAGS.allow_project_net_traffic:
net, mask = _get_net_and_mask(network['cidr'])
net_v6, mask_v6 = _get_net_and_mask(
net_v6, prefixlen_v6 = _get_net_and_prefixlen(
network['cidr_v6'])
extra_params = ("<parameter name=\"PROJNET\" "
"value=\"%s\" />\n"
@ -554,7 +559,7 @@ class LibvirtConnection(object):
"<parameter name=\"PROJNETV6\" "
"value=\"%s\" />\n"
"<parameter name=\"PROJMASKV6\" "
"value=\"%s\" />\n") % (net, mask, net_v6, mask_v6)
"value=\"%s\" />\n") % (net, mask, net_v6, prefixlen_v6)
else:
extra_params = "\n"
@ -882,7 +887,7 @@ class NWFilterFirewall(object):
nwfilter_xml += (" <filterref filter='nova-secgroup-%d' "
"/>\n") % security_group['id']
nwfilter_xml += "</filter>"
logging.debug(nwfilter_xml)
self._define_filter(nwfilter_xml)
def ensure_security_group_filter(self, security_group_id):
@ -899,11 +904,12 @@ class NWFilterFirewall(object):
rule_xml += "<rule action='accept' direction='in' priority='300'>"
if rule.cidr:
version = _get_ip_version(rule.cidr)
net, mask = _get_net_and_mask(rule.cidr)
if(FLAGS.use_ipv6 and version == 6):
net, prefixlen = _get_net_and_prefixlen(rule.cidr)
rule_xml += "<%s srcipaddr='%s' srcipmask='%s' " % \
(v6protocol[rrule.protocol], net, mask)
(v6protocol[rrule.protocol], net, prefixlen)
else:
net, mask = _get_net_and_mask(rule.cidr)
rule_xml += "<%s srcipaddr='%s' srcipmask='%s' " % \
(rule.protocol, net, mask)
if rule.protocol in ['tcp', 'udp']:

View File

@ -193,7 +193,7 @@ class InstanceTests(UserSmokeTestCase):
else:
break
else:
self.fail('could not ssh to instance')
self.fail('could not ssh to instance v6')
def test_006_can_allocate_elastic_ip(self):
result = self.conn.allocate_address()