~cerberus/nova/nova_notifications

« back to all changes in this revision

Viewing changes to nova/virt/libvirt_conn.py

  • Committer: Cerberus
  • Date: 2011-05-18 17:47:16 UTC
  • mfrom: (754.1.331 nova)
  • Revision ID: matt.dietz@rackspace.com-20110518174716-vicvbkk4t1insa9e
MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
57
57
from nova import db
58
58
from nova import exception
59
59
from nova import flags
 
60
from nova import ipv6
60
61
from nova import log as logging
61
62
from nova import utils
62
63
from nova import vnc
184
185
        def ip6_dict():
185
186
            prefix = network['cidr_v6']
186
187
            mac = instance['mac_address']
 
188
            project_id = instance['project_id']
187
189
            return  {
188
 
                'ip': utils.to_global_ipv6(prefix, mac),
 
190
                'ip': ipv6.to_global(prefix, mac, project_id),
189
191
                'netmask': network['netmask_v6'],
190
192
                'enabled': '1'}
191
193
 
1612
1614
        """
1613
1615
        raise NotImplementedError()
1614
1616
 
1615
 
    def refresh_security_group_rules(self, security_group_id):
 
1617
    def refresh_security_group_rules(self,
 
1618
                                     security_group_id,
 
1619
                                     network_info=None):
1616
1620
        """Refresh security group rules from data store
1617
1621
 
1618
1622
        Gets called when a rule has been added to or removed from
1911
1915
        self._define_filter(self._filter_container(filter_name,
1912
1916
                                                   filter_children))
1913
1917
 
1914
 
    def refresh_security_group_rules(self, security_group_id):
 
1918
    def refresh_security_group_rules(self,
 
1919
                                     security_group_id,
 
1920
                                     network_info=None):
1915
1921
        return self._define_filter(
1916
1922
                   self.security_group_to_nwfilter_xml(security_group_id))
1917
1923
 
2169
2175
    def refresh_security_group_members(self, security_group):
2170
2176
        pass
2171
2177
 
2172
 
    def refresh_security_group_rules(self, security_group):
2173
 
        self.do_refresh_security_group_rules(security_group)
 
2178
    def refresh_security_group_rules(self, security_group, network_info=None):
 
2179
        self.do_refresh_security_group_rules(security_group, network_info)
2174
2180
        self.iptables.apply()
2175
2181
 
2176
2182
    @utils.synchronized('iptables', external=True)
2177
 
    def do_refresh_security_group_rules(self, security_group):
 
2183
    def do_refresh_security_group_rules(self,
 
2184
                                        security_group,
 
2185
                                        network_info=None):
2178
2186
        for instance in self.instances.values():
2179
2187
            self.remove_filters_for_instance(instance)
2180
 
            self.add_filters_for_instance(instance)
 
2188
            if not network_info:
 
2189
                network_info = _get_network_info(instance)
 
2190
            self.add_filters_for_instance(instance, network_info)
2181
2191
 
2182
2192
    def _security_group_chain_name(self, security_group_id):
2183
2193
        return 'nova-sg-%s' % (security_group_id,)