From 7d30bcf499c89b45d40b640b706b06d4a8c46c9e Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Tue, 22 Sep 2015 16:34:50 -0700 Subject: [PATCH] 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. --- src/allmydata/test/test_system.py | 2 -- src/allmydata/web/introweb.py | 16 ---------------- 2 files changed, 18 deletions(-) diff --git a/src/allmydata/test/test_system.py b/src/allmydata/test/test_system.py index b36aa7f3..d4fd24f6 100644 --- a/src/allmydata/test/test_system.py +++ b/src/allmydata/test/test_system.py @@ -887,8 +887,6 @@ class SystemTest(SystemTestMixin, RunBinTahoeMixin): {"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" -- 2.45.2