From: Brian Warner Date: Tue, 22 Sep 2015 23:34:50 +0000 (-0700) Subject: remove "announcement_distinct_hosts" from introweb JSON X-Git-Url: https://git.rkrishnan.org/specifications/%5B/%5D%20/frontends/configuration.rst?a=commitdiff_plain;h=8f0c417910ac5eb0a3b8cde1fa11d571755dbf06;p=tahoe-lafs%2Ftahoe-lafs.git remove "announcement_distinct_hosts" from introweb JSON The machine-parseable JSON output for the introducer status web page used to include a key named "announcement_distinct_hosts", which counted the number of distinct IP addresses advertised by all connected storage servers. This hasn't worked since Aug-2014 when foolscap-0.6.5 change the internal hints format. This removes that field. --- diff --git a/src/allmydata/test/test_system.py b/src/allmydata/test/test_system.py index 4ffbb29c..1887c7e2 100644 --- a/src/allmydata/test/test_system.py +++ b/src/allmydata/test/test_system.py @@ -812,8 +812,6 @@ class SystemTest(SystemTestMixin, RunBinTahoeMixin, unittest.TestCase): {"storage": 5}) self.failUnlessEqual(data["announcement_summary"], {"storage": 5}) - self.failUnlessEqual(data["announcement_distinct_hosts"], - {"storage": 1}) except unittest.FailTest: print print "GET %s?t=json output was:" % self.introweb_url diff --git a/src/allmydata/web/introweb.py b/src/allmydata/web/introweb.py index bbe42d0b..36bd66b1 100644 --- a/src/allmydata/web/introweb.py +++ b/src/allmydata/web/introweb.py @@ -42,28 +42,12 @@ class IntroducerRoot(rend.Page): res["subscription_summary"] = counts announcement_summary = {} - service_hosts = {} for ad in self.introducer_service.get_announcements(): service_name = ad.service_name if service_name not in announcement_summary: announcement_summary[service_name] = 0 announcement_summary[service_name] += 1 - if service_name not in service_hosts: - service_hosts[service_name] = set() - # it's nice to know how many distinct hosts are available for - # each service. We define a "host" by a set of addresses - # (hostnames or ipv4 addresses), which we extract from the - # connection hints. In practice, this is usually close - # enough: when multiple services are run on a single host, - # they're usually either configured with the same addresses, - # or setLocationAutomatically picks up the same interfaces. - host = frozenset(ad.advertised_addresses) - service_hosts[service_name].add(host) res["announcement_summary"] = announcement_summary - distinct_hosts = dict([(name, len(hosts)) - for (name, hosts) - in service_hosts.iteritems()]) - res["announcement_distinct_hosts"] = distinct_hosts return simplejson.dumps(res, indent=1) + "\n"