Merge lp:~free.ekanayaka/landscape-client/fix-release-upgrader-not-asking-for-session-id into lp:~landscape/landscape-client/trunk

Proposed by Free Ekanayaka
Status: Merged
Approved by: Free Ekanayaka
Approved revision: 806
Merged at revision: 805
Proposed branch: lp:~free.ekanayaka/landscape-client/fix-release-upgrader-not-asking-for-session-id
Merge into: lp:~landscape/landscape-client/trunk
Diff against target: 77 lines (+14/-6)
3 files modified
landscape/broker/store.py (+1/-1)
landscape/package/releaseupgrader.py (+13/-3)
landscape/package/tests/test_releaseupgrader.py (+0/-2)
To merge this branch: bzr merge lp:~free.ekanayaka/landscape-client/fix-release-upgrader-not-asking-for-session-id
Reviewer Review Type Date Requested Status
Chris Glass (community) Approve
Björn Tillenius (community) Approve
Review via email: mp+244573@code.launchpad.net

Commit message

This branch fixes the release upgrader to ask for a session ID before
attempting to send a message.

Unfortunately the test setUp was getting it by hand ignoring that real
code would not do the same.

Description of the change

This branch fixes the release upgrader to ask for a session ID before
attempting to send a message.

Unfortunately the test setUp was getting it by hand ignoring that real
code would not do the same.

To post a comment you must log in.
Revision history for this message
Björn Tillenius (bjornt) wrote :

Looks good. Minor comment about test coverage, but +1.

review: Approve
Revision history for this message
Chris Glass (tribaal) wrote :

+1 with Bjorn's comment addressed.

Thanks for jumping on this and fixing the issue so fast :)

review: Approve
806. By Free Ekanayaka

Address review comments

Revision history for this message
Free Ekanayaka (free.ekanayaka) :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'landscape/broker/store.py'
--- landscape/broker/store.py 2014-10-03 10:06:24 +0000
+++ landscape/broker/store.py 2014-12-12 13:25:50 +0000
@@ -505,7 +505,7 @@
505 # session-ids to one per scope. The or condition here is not505 # session-ids to one per scope. The or condition here is not
506 # strictly necessary, but we *should* do "is" comparisons when we506 # strictly necessary, but we *should* do "is" comparisons when we
507 # can (so says PEP 8).507 # can (so says PEP 8).
508 if scope is stored_scope or scope == stored_scope:508 if scope == stored_scope:
509 return session_id509 return session_id
510 session_id = str(uuid.uuid4())510 session_id = str(uuid.uuid4())
511 session_ids[session_id] = scope511 session_ids[session_id] = scope
512512
=== modified file 'landscape/package/releaseupgrader.py'
--- landscape/package/releaseupgrader.py 2014-10-29 11:18:17 +0000
+++ landscape/package/releaseupgrader.py 2014-12-12 13:25:50 +0000
@@ -82,7 +82,7 @@
82 "The system is already running %s." % target_code_name, 1)82 "The system is already running %s." % target_code_name, 1)
83 logging.info("Queuing message with release upgrade failure to "83 logging.info("Queuing message with release upgrade failure to "
84 "exchange urgently.")84 "exchange urgently.")
85 return self._broker.send_message(message, self._session_id, True)85 return self._send_message(message)
8686
87 tarball_url = message["upgrade-tool-tarball-url"]87 tarball_url = message["upgrade-tool-tarball-url"]
88 signature_url = message["upgrade-tool-signature-url"]88 signature_url = message["upgrade-tool-signature-url"]
@@ -232,7 +232,7 @@
232 text, code)232 text, code)
233 logging.info("Queuing message with release upgrade results to "233 logging.info("Queuing message with release upgrade results to "
234 "exchange urgently.")234 "exchange urgently.")
235 return self._broker.send_message(message, self._session_id, True)235 return self._send_message(message)
236236
237 result.addCallback(send_operation_result)237 result.addCallback(send_operation_result)
238 return result238 return result
@@ -268,12 +268,22 @@
268 logging.info("Queuing message with release upgrade failure to "268 logging.info("Queuing message with release upgrade failure to "
269 "exchange urgently.")269 "exchange urgently.")
270270
271 return self._broker.send_message(message, self._session_id, True)271 return self._send_message(message)
272272
273 @staticmethod273 @staticmethod
274 def find_command():274 def find_command():
275 return find_release_upgrader_command()275 return find_release_upgrader_command()
276276
277 def _send_message(self, message):
278 """Acquire a session ID and send the given message."""
279 deferred = self.get_session_id()
280
281 def send(_):
282 self._broker.send_message(message, self._session_id, True)
283
284 deferred.addCallback(send)
285 return deferred
286
277287
278def find_release_upgrader_command():288def find_release_upgrader_command():
279 """Return the path to the landscape-release-upgrader script."""289 """Return the path to the landscape-release-upgrader script."""
280290
=== modified file 'landscape/package/tests/test_releaseupgrader.py'
--- landscape/package/tests/test_releaseupgrader.py 2014-10-27 09:02:20 +0000
+++ landscape/package/tests/test_releaseupgrader.py 2014-12-12 13:25:50 +0000
@@ -2,7 +2,6 @@
2import unittest2import unittest
3import signal3import signal
4import tarfile4import tarfile
5import ConfigParser
65
7from twisted.internet import reactor6from twisted.internet import reactor
8from twisted.internet.defer import succeed, fail, Deferred7from twisted.internet.defer import succeed, fail, Deferred
@@ -44,7 +43,6 @@
44 self.store = PackageStore(self.makeFile())43 self.store = PackageStore(self.makeFile())
45 self.upgrader = ReleaseUpgrader(self.store, None,44 self.upgrader = ReleaseUpgrader(self.store, None,
46 self.remote, self.config)45 self.remote, self.config)
47 self.upgrader.get_session_id()
48 service = self.broker_service46 service = self.broker_service
49 service.message_store.set_accepted_types(["operation-result"])47 service.message_store.set_accepted_types(["operation-result"])
5048

Subscribers

People subscribed via source and target branches

to all changes: