Merge lp:~fwereade/pyjuju/orchestra-port-no-ops into lp:pyjuju

Proposed by William Reade
Status: Merged
Approved by: Gustavo Niemeyer
Approved revision: 325
Merged at revision: 330
Proposed branch: lp:~fwereade/pyjuju/orchestra-port-no-ops
Merge into: lp:pyjuju
Diff against target: 76 lines (+45/-1)
2 files modified
ensemble/providers/orchestra/__init__.py (+21/-1)
ensemble/providers/orchestra/tests/test_provider.py (+24/-0)
To merge this branch: bzr merge lp:~fwereade/pyjuju/orchestra-port-no-ops
Reviewer Review Type Date Requested Status
Gustavo Niemeyer Approve
Kapil Thangavelu (community) Approve
Review via email: mp+72598@code.launchpad.net

Description of the change

Should be trivial again; we don't have any current plans for a firewalling solution for Orchestra, so for now it seems sensible not to allow this to block further testing and deployment.

To post a comment you must log in.
Revision history for this message
Kapil Thangavelu (hazmat) wrote :

seems fine for now, we'll need to migrate this to machine agent/level firewalling at some poing

review: Approve
Revision history for this message
William Reade (fwereade) wrote :

> seems fine for now, we'll need to migrate this to machine agent/level
> firewalling at some poing

filed lp:833064

Revision history for this message
Gustavo Niemeyer (niemeyer) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ensemble/providers/orchestra/__init__.py'
2--- ensemble/providers/orchestra/__init__.py 2011-08-17 12:04:56 +0000
3+++ ensemble/providers/orchestra/__init__.py 2011-08-23 16:21:51 +0000
4@@ -1,4 +1,6 @@
5-from twisted.internet.defer import inlineCallbacks, returnValue
6+import logging
7+
8+from twisted.internet.defer import inlineCallbacks, returnValue, succeed
9
10 from ensemble.providers.common.base import MachineProviderBase
11
12@@ -7,6 +9,8 @@
13 from .launch import OrchestraLaunchMachine
14 from .machine import machine_from_dict
15
16+log = logging.getLogger("ensemble.orchestra")
17+
18
19 class MachineProvider(MachineProviderBase):
20
21@@ -45,3 +49,19 @@
22 """
23 instances = yield self.cobbler.describe_systems(*instance_ids)
24 returnValue([machine_from_dict(i) for i in instances])
25+
26+ def open_port(self, machine, machine_id, port, protocol="tcp"):
27+ """Authorizes `port` using `protocol` for `machine`."""
28+ log.warn("Firewalling is not yet implemented in Orchestra")
29+ return succeed(None)
30+
31+ def close_port(self, machine, machine_id, port, protocol="tcp"):
32+ """Revokes `port` using `protocol` for `machine`."""
33+ log.warn("Firewalling is not yet implemented in Orchestra")
34+ return succeed(None)
35+
36+ def get_opened_ports(self, machine, machine_id):
37+ """Returns a set of open (port, protocol) pairs for `machine`."""
38+ log.warn("Firewalling is not yet implemented in Orchestra")
39+ return succeed(None)
40+
41
42=== modified file 'ensemble/providers/orchestra/tests/test_provider.py'
43--- ensemble/providers/orchestra/tests/test_provider.py 2011-08-12 20:31:16 +0000
44+++ ensemble/providers/orchestra/tests/test_provider.py 2011-08-23 16:21:51 +0000
45@@ -1,3 +1,5 @@
46+from twisted.internet.defer import inlineCallbacks
47+
48 from ensemble.environment.errors import EnvironmentsConfigError
49 from ensemble.lib.testing import TestCase
50 from ensemble.providers.orchestra import MachineProvider
51@@ -52,3 +54,25 @@
52 error = self.assertRaises(EnvironmentsConfigError,
53 MachineProvider, "some-env-name", config)
54 self.assertIn("authorized-keys", str(error))
55+
56+ @inlineCallbacks
57+ def test_open_port(self):
58+ log = self.capture_logging("ensemble.orchestra")
59+ yield MachineProvider("blah", CONFIG).open_port(None, None, None)
60+ self.assertIn(
61+ "Firewalling is not yet implemented in Orchestra", log.getvalue())
62+
63+ @inlineCallbacks
64+ def test_close_port(self):
65+ log = self.capture_logging("ensemble.orchestra")
66+ yield MachineProvider("blah", CONFIG).close_port(None, None, None)
67+ self.assertIn(
68+ "Firewalling is not yet implemented in Orchestra", log.getvalue())
69+
70+ @inlineCallbacks
71+ def test_get_opened_ports(self):
72+ log = self.capture_logging("ensemble.orchestra")
73+ yield MachineProvider("blah", CONFIG).get_opened_ports(None, None)
74+ self.assertIn(
75+ "Firewalling is not yet implemented in Orchestra", log.getvalue())
76+

Subscribers

People subscribed via source and target branches

to status/vote changes: