~ubuntu-branches/ubuntu/quantal/nova/quantal-proposed

« back to all changes in this revision

Viewing changes to nova/tests/test_iptables_network.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2012-08-16 14:04:11 UTC
  • mto: This revision was merged to the branch mainline in revision 84.
  • Revision ID: package-import@ubuntu.com-20120816140411-0mr4n241wmk30t9l
Tags: upstream-2012.2~f3
ImportĀ upstreamĀ versionĀ 2012.2~f3

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
                     ':nova-compute-local - [0:0]',
36
36
                     ':nova-compute-OUTPUT - [0:0]',
37
37
                     ':nova-filter-top - [0:0]',
38
 
                     '-A FORWARD -j nova-filter-top ',
39
 
                     '-A OUTPUT -j nova-filter-top ',
40
 
                     '-A nova-filter-top -j nova-compute-local ',
41
 
                     '-A INPUT -j nova-compute-INPUT ',
42
 
                     '-A OUTPUT -j nova-compute-OUTPUT ',
43
 
                     '-A FORWARD -j nova-compute-FORWARD ',
44
 
                     '-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT ',
45
 
                     '-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT ',
46
 
                     '-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT ',
47
 
                     '-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT ',
48
 
                     '-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT ',
49
 
                     '-A FORWARD -i virbr0 -o virbr0 -j ACCEPT ',
50
 
                     '-A FORWARD -o virbr0 -j REJECT --reject-with '
 
38
                     '[0:0] -A FORWARD -j nova-filter-top ',
 
39
                     '[0:0] -A OUTPUT -j nova-filter-top ',
 
40
                     '[0:0] -A nova-filter-top -j nova-compute-local ',
 
41
                     '[0:0] -A INPUT -j nova-compute-INPUT ',
 
42
                     '[0:0] -A OUTPUT -j nova-compute-OUTPUT ',
 
43
                     '[0:0] -A FORWARD -j nova-compute-FORWARD ',
 
44
                     '[0:0] -A INPUT -i virbr0 -p udp -m udp --dport 53 '
 
45
                     '-j ACCEPT ',
 
46
                     '[0:0] -A INPUT -i virbr0 -p tcp -m tcp --dport 53 '
 
47
                     '-j ACCEPT ',
 
48
                     '[0:0] -A INPUT -i virbr0 -p udp -m udp --dport 67 '
 
49
                     '-j ACCEPT ',
 
50
                     '[0:0] -A INPUT -i virbr0 -p tcp -m tcp --dport 67 '
 
51
                     '-j ACCEPT ',
 
52
                     '[0:0] -A FORWARD -s 192.168.122.0/24 -i virbr0 '
 
53
                     '-j ACCEPT ',
 
54
                     '[0:0] -A FORWARD -i virbr0 -o virbr0 -j ACCEPT ',
 
55
                     '[0:0] -A FORWARD -o virbr0 -j REJECT --reject-with '
51
56
                     'icmp-port-unreachable ',
52
 
                     '-A FORWARD -i virbr0 -j REJECT --reject-with '
 
57
                     '[0:0] -A FORWARD -i virbr0 -j REJECT --reject-with '
53
58
                     'icmp-port-unreachable ',
54
59
                     'COMMIT',
55
60
                     '# Completed on Fri Feb 18 15:17:05 2011']
66
71
                  ':nova-compute-PREROUTING - [0:0]',
67
72
                  ':nova-compute-POSTROUTING - [0:0]',
68
73
                  ':nova-postrouting-bottom - [0:0]',
69
 
                  '-A PREROUTING -j nova-compute-PREROUTING ',
70
 
                  '-A OUTPUT -j nova-compute-OUTPUT ',
71
 
                  '-A POSTROUTING -j nova-compute-POSTROUTING ',
72
 
                  '-A POSTROUTING -j nova-postrouting-bottom ',
73
 
                  '-A nova-postrouting-bottom -j nova-compute-SNATTING ',
74
 
                  '-A nova-compute-SNATTING -j nova-compute-floating-ip-snat ',
 
74
                  '[0:0] -A PREROUTING -j nova-compute-PREROUTING ',
 
75
                  '[0:0] -A OUTPUT -j nova-compute-OUTPUT ',
 
76
                  '[0:0] -A POSTROUTING -j nova-compute-POSTROUTING ',
 
77
                  '[0:0] -A POSTROUTING -j nova-postrouting-bottom ',
 
78
                  '[0:0] -A nova-postrouting-bottom -j nova-compute-SNATTING ',
 
79
                  '[0:0] -A nova-compute-SNATTING '
 
80
                  '-j nova-compute-floating-ip-snat ',
75
81
                  'COMMIT',
76
82
                  '# Completed on Fri Feb 18 15:17:05 2011']
77
83
 
85
91
        table = self.manager.ipv4['filter']
86
92
        table.add_rule('FORWARD', '-s 1.2.3.4/5 -j DROP')
87
93
        new_lines = self.manager._modify_rules(current_lines, table)
88
 
        self.assertTrue('-A %s-FORWARD '
 
94
        self.assertTrue('[0:0] -A %s-FORWARD '
89
95
                        '-s 1.2.3.4/5 -j DROP' % self.binary_name in new_lines)
90
96
 
91
97
        table.remove_rule('FORWARD', '-s 1.2.3.4/5 -j DROP')
92
98
        new_lines = self.manager._modify_rules(current_lines, table)
93
 
        self.assertTrue('-A %s-FORWARD '
 
99
        self.assertTrue('[0:0] -A %s-FORWARD '
94
100
                        '-s 1.2.3.4/5 -j DROP' % self.binary_name \
95
101
                        not in new_lines)
96
102
 
117
123
        last_postrouting_line = ''
118
124
 
119
125
        for line in new_lines:
120
 
            if line.startswith('-A POSTROUTING'):
 
126
            if line.startswith('[0:0] -A POSTROUTING'):
121
127
                last_postrouting_line = line
122
128
 
123
129
        self.assertTrue('-j nova-postrouting-bottom' in last_postrouting_line,
125
131
                        "nova-postouting-bottom: %s" % last_postrouting_line)
126
132
 
127
133
        for chain in ['POSTROUTING', 'PREROUTING', 'OUTPUT']:
128
 
            self.assertTrue('-A %s -j %s-%s' %
 
134
            self.assertTrue('[0:0] -A %s -j %s-%s' %
129
135
                            (chain, self.binary_name, chain) in new_lines,
130
136
                            "Built-in chain %s not wrapped" % (chain,))
131
137
 
150
156
 
151
157
        for chain in ['FORWARD', 'OUTPUT']:
152
158
            for line in new_lines:
153
 
                if line.startswith('-A %s' % chain):
 
159
                if line.startswith('[0:0] -A %s' % chain):
154
160
                    self.assertTrue('-j nova-filter-top' in line,
155
161
                                    "First %s rule does not "
156
162
                                    "jump to nova-filter-top" % chain)
157
163
                    break
158
164
 
159
 
        self.assertTrue('-A nova-filter-top '
 
165
        self.assertTrue('[0:0] -A nova-filter-top '
160
166
                        '-j %s-local' % self.binary_name in new_lines,
161
167
                        "nova-filter-top does not jump to wrapped local chain")
162
168
 
163
169
        for chain in ['INPUT', 'OUTPUT', 'FORWARD']:
164
 
            self.assertTrue('-A %s -j %s-%s' %
 
170
            self.assertTrue('[0:0] -A %s -j %s-%s' %
165
171
                            (chain, self.binary_name, chain) in new_lines,
166
172
                            "Built-in chain %s not wrapped" % (chain,))