~ubuntu-branches/ubuntu/raring/nova/raring-proposed

« back to all changes in this revision

Viewing changes to nova/virt/xenapi/firewall.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Adam Gandelman, Chuck Short
  • Date: 2012-11-23 09:04:58 UTC
  • mfrom: (1.1.66)
  • Revision ID: package-import@ubuntu.com-20121123090458-91565o7aev1i1h71
Tags: 2013.1~g1-0ubuntu1
[ Adam Gandelman ]
* debian/control: Ensure novaclient is upgraded with nova,
  require python-keystoneclient >= 1:2.9.0. (LP: #1073289)
* debian/patches/{ubuntu/*, rbd-security.patch}: Dropped, applied
  upstream.
* debian/control: Add python-testtools to Build-Depends.

[ Chuck Short ]
* New upstream version.
* Refreshed debian/patches/avoid_setuptools_git_dependency.patch.
* debian/rules: FTBFS if missing binaries.
* debian/nova-scheudler.install: Add missing rabbit-queues and
  nova-rpc-zmq-receiver.
* Remove nova-volume since it doesnt exist anymore, transition to cinder-*.
* debian/rules: install apport hook in the right place.
* debian/patches/ubuntu-show-tests.patch: Display test failures.
* debian/control: Add depends on genisoimage
* debian/control: Suggest guestmount.
* debian/control: Suggest websockify. (LP: #1076442)
* debian/nova.conf: Disable nova-volume service.
* debian/control: Depend on xen-system-* rather than the hypervisor.
* debian/control, debian/mans/nova-conductor.8, debian/nova-conductor.init,
  debian/nova-conductor.install, debian/nova-conductor.logrotate
  debian/nova-conductor.manpages, debian/nova-conductor.postrm
  debian/nova-conductor.upstart.in: Add nova-conductor service.
* debian/control: Add python-fixtures as a build deps.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
#    under the License.
19
19
 
20
20
from nova import context
21
 
from nova.db import api as db
22
 
from nova import flags
23
21
from nova.openstack.common import jsonutils
24
22
from nova.openstack.common import log as logging
25
23
from nova.virt import firewall
26
24
from nova.virt import netutils
27
25
 
28
 
 
29
26
LOG = logging.getLogger(__name__)
30
 
FLAGS = flags.FLAGS
31
27
 
32
28
 
33
29
class Dom0IptablesFirewallDriver(firewall.IptablesFirewallDriver):
47
43
        json_ret = jsonutils.loads(ret)
48
44
        return (json_ret['out'], json_ret['err'])
49
45
 
50
 
    def __init__(self, xenapi_session=None, **kwargs):
 
46
    def __init__(self, virtapi, xenapi_session=None, **kwargs):
51
47
        from nova.network import linux_net
52
 
        super(Dom0IptablesFirewallDriver, self).__init__(**kwargs)
 
48
        super(Dom0IptablesFirewallDriver, self).__init__(virtapi, **kwargs)
53
49
        self._session = xenapi_session
54
50
        # Create IpTablesManager with executor through plugin
55
51
        self.iptables = linux_net.IptablesManager(self._plugin_execute)
66
62
            return ['--dport', '%s:%s' % (rule.from_port,
67
63
                                           rule.to_port)]
68
64
 
69
 
    @staticmethod
70
 
    def _provider_rules():
 
65
    def _provider_rules(self):
71
66
        """Generate a list of rules from provider for IP4 & IP6.
72
67
        Note: We could not use the common code from virt.firewall because
73
68
        XS doesn't accept the '-m multiport' option"""
75
70
        ctxt = context.get_admin_context()
76
71
        ipv4_rules = []
77
72
        ipv6_rules = []
78
 
        rules = db.provider_fw_rule_get_all(ctxt)
 
73
        rules = self._virtapi.provider_fw_rule_get_all(ctxt)
79
74
        for rule in rules:
80
75
            LOG.debug(_('Adding provider rule: %s'), rule['cidr'])
81
76
            version = netutils.get_ip_version(rule['cidr'])