Merge lp:~ack/landscape-client/ceph-message-to-ceph-usage into lp:~landscape/landscape-client/trunk

Proposed by Alberto Donato
Status: Merged
Approved by: Alberto Donato
Approved revision: 786
Merged at revision: 766
Proposed branch: lp:~ack/landscape-client/ceph-message-to-ceph-usage
Merge into: lp:~landscape/landscape-client/trunk
Prerequisite: lp:~ack/landscape-client/swift-usage
Diff against target: 159 lines (+32/-32)
3 files modified
landscape/message_schemas.py (+7/-9)
landscape/monitor/cephusage.py (+7/-6)
landscape/monitor/tests/test_cephusage.py (+18/-17)
To merge this branch: bzr merge lp:~ack/landscape-client/ceph-message-to-ceph-usage
Reviewer Review Type Date Requested Status
Adam Collard (community) Approve
Free Ekanayaka (community) Approve
Review via email: mp+220293@code.launchpad.net

Commit message

This reverts the message name change for ceph-usage
It preserves backwards compatibility by always sending an empty "ceph-usages" field in the message.

Description of the change

This reverts the message name change for ceph-usage
It preserves backwards compatibility by always sending an empty "ceph-usages" field in the message.

To post a comment you must log in.
Revision history for this message
Free Ekanayaka (free.ekanayaka) wrote :

Looks good, +1!

[1]

+ "ceph-usages": List(Tuple(Int(), Int(), Int(), Int()))})

I believe this could be just:

    "ceph-usages": List(None)})

review: Approve
785. By Alberto Donato

Merged swift-usage into ceph-message-to-ceph-usage.

Revision history for this message
Adam Collard (adam-collard) wrote :

Looks good. +1

review: Approve
786. By Alberto Donato

Address Free's #1.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'landscape/message_schemas.py'
2--- landscape/message_schemas.py 2014-05-21 09:02:25 +0000
3+++ landscape/message_schemas.py 2014-05-21 09:02:25 +0000
4@@ -123,13 +123,11 @@
5 })
6
7 CEPH_USAGE = Message("ceph-usage", {
8- "ceph-usages": List(Tuple(Int(), Float())),
9- "ring-id": Unicode(),
10- })
11-
12-CEPH = Message("ceph", {
13- "ring-id": Unicode(),
14- "usages": List(Tuple(Int(), Int(), Int(), Int()))})
15+ "ring-id": Unicode(),
16+ # Usage data points in the form (timestamp, size, avail, used)
17+ "data-points": List(Tuple(Int(), Int(), Int(), Int())),
18+ # Unused now, for backwards compatibility
19+ "ceph-usages": List(None)})
20
21 SWIFT_DEVICE_INFO = Message("swift-device-info", {
22 "swift-device-info": List(
23@@ -473,6 +471,6 @@
24 CUSTOM_GRAPH, REBOOT_REQUIRED, APT_PREFERENCES, EUCALYPTUS_INFO,
25 EUCALYPTUS_INFO_ERROR, NETWORK_DEVICE, NETWORK_ACTIVITY,
26 REBOOT_REQUIRED_INFO, UPDATE_MANAGER_INFO, CPU_USAGE,
27- CEPH_USAGE, CEPH, SWIFT_DEVICE_INFO, KEYSTONE_TOKEN,
28- CHANGE_HA_SERVICE, JUJU_INFO, CLOUD_METADATA, SWIFT_USAGE]:
29+ CEPH_USAGE, SWIFT_USAGE, SWIFT_DEVICE_INFO, KEYSTONE_TOKEN,
30+ CHANGE_HA_SERVICE, JUJU_INFO, CLOUD_METADATA]:
31 message_schemas[schema.type] = schema
32
33=== modified file 'landscape/monitor/cephusage.py'
34--- landscape/monitor/cephusage.py 2014-05-19 07:45:24 +0000
35+++ landscape/monitor/cephusage.py 2014-05-21 09:02:25 +0000
36@@ -70,25 +70,26 @@
37 self.registry.reactor.call_every(
38 self._monitor_interval, self._monitor.log)
39 self.registry.reactor.call_on("stop", self._monitor.log, priority=2000)
40- self.call_on_accepted("ceph", self.send_message, True)
41+ self.call_on_accepted("ceph-usage", self.send_message, True)
42
43 def create_message(self):
44 ceph_points = self._ceph_usage_points
45 ring_id = self._ceph_ring_id
46 self._ceph_usage_points = []
47- return {"type": "ceph",
48+ return {"type": "ceph-usage",
49 "ring-id": ring_id,
50- "usages": ceph_points}
51+ "ceph-usages": [], # For backwards-compatibility
52+ "data-points": ceph_points}
53
54 def send_message(self, urgent=False):
55 message = self.create_message()
56- if message["ring-id"] and message["usages"]:
57+ if message["ring-id"] and message["data-points"]:
58 self.registry.broker.send_message(
59 message, self._session_id, urgent=urgent)
60
61 def exchange(self, urgent=False):
62 self.registry.broker.call_if_accepted(
63- "ceph", self.send_message, urgent)
64+ "ceph-usage", self.send_message, urgent)
65
66 def run(self):
67 if not self._should_run():
68@@ -140,7 +141,7 @@
69
70 step_values = []
71 for name, key in names_map:
72- value = cluster_stats[key] * 1024 # Report usages in bytes
73+ value = cluster_stats[key] * 1024 # Report usage in bytes
74 step_value = self._accumulate(timestamp, value, "usage.%s" % name)
75 step_values.append(step_value)
76
77
78=== modified file 'landscape/monitor/tests/test_cephusage.py'
79--- landscape/monitor/tests/test_cephusage.py 2014-05-19 07:45:24 +0000
80+++ landscape/monitor/tests/test_cephusage.py 2014-05-21 09:02:25 +0000
81@@ -14,11 +14,11 @@
82
83 def test_never_exchange_empty_messages(self):
84 """
85- The plugin will create a message with an empty C{usages} list when no
86- previous data is available. If an empty message is created during
87- exchange, it should not be queued.
88+ The plugin will create a message with an empty C{data-points} list
89+ when no previous data is available. If an empty message is created
90+ during exchange, it should not be queued.
91 """
92- self.mstore.set_accepted_types(["ceph"])
93+ self.mstore.set_accepted_types(["ceph-usage"])
94 self.monitor.add(self.plugin)
95
96 self.monitor.exchange()
97@@ -30,7 +30,7 @@
98 is called.
99 """
100 ring_id = "whatever"
101- self.mstore.set_accepted_types(["ceph"])
102+ self.mstore.set_accepted_types(["ceph-usage"])
103
104 point = (60, 100000, 80000, 20000)
105 self.plugin._ceph_usage_points = [point]
106@@ -40,9 +40,10 @@
107 self.monitor.exchange()
108 self.assertMessages(
109 self.mstore.get_pending_messages(),
110- [{"type": "ceph",
111+ [{"type": "ceph-usage",
112 "ring-id": ring_id,
113- "usages": [point]}])
114+ "ceph-usages": [],
115+ "data-points": [point]}])
116
117 def test_create_message(self):
118 """
119@@ -54,22 +55,22 @@
120 message = self.plugin.create_message()
121
122 self.assertIn("type", message)
123- self.assertEqual(message["type"], "ceph")
124- self.assertIn("usages", message)
125+ self.assertEqual(message["type"], "ceph-usage")
126+ self.assertIn("data-points", message)
127 self.assertEqual(ring_id, message["ring-id"])
128- ceph_usages = message["usages"]
129- self.assertEqual(len(ceph_usages), 0)
130+ data_points = message["data-points"]
131+ self.assertEqual(len(data_points), 0)
132
133 point = (60, 100000, 80000, 20000)
134 self.plugin._ceph_usage_points = [point]
135 message = self.plugin.create_message()
136 self.assertIn("type", message)
137- self.assertEqual(message["type"], "ceph")
138- self.assertIn("usages", message)
139+ self.assertEqual(message["type"], "ceph-usage")
140+ self.assertIn("data-points", message)
141 self.assertEqual(ring_id, message["ring-id"])
142- ceph_usages = message["usages"]
143- self.assertEqual(len(ceph_usages), 1)
144- self.assertEqual([point], ceph_usages)
145+ data_points = message["data-points"]
146+ self.assertEqual(len(data_points), 1)
147+ self.assertEqual([point], data_points)
148
149 def test_no_message_if_not_accepted(self):
150 """
151@@ -88,7 +89,7 @@
152 self.reactor.advance(monitor_interval * 2)
153 self.monitor.exchange()
154
155- self.mstore.set_accepted_types(["ceph"])
156+ self.mstore.set_accepted_types(["ceph-usage"])
157 self.assertMessages(list(self.mstore.get_pending_messages()), [])
158
159 def test_wb_should_run_inactive(self):

Subscribers

People subscribed via source and target branches

to all changes: