commit db32be6ea810a99bae31c4c3323d8e8d1930937c
Author: Duncan <duncan(a)torproject.org>
Date: Tue Mar 16 18:46:19 2021 +0000
Update categories, service titles and descriptions
Closes: #3
---
config.yml | 63 ++++++++++++++++---------------
content/issues/2021-01-19-status-page.md | 18 ---------
content/issues/2021-01-25-gmail-bounce.md | 2 +-
content/issues/2021-01-28-dir-auth.md | 4 +-
4 files changed, 36 insertions(+), 51 …
[View More]deletions(-)
diff --git a/config.yml b/config.yml
index df39c7a..ddb2571 100644
--- a/config.yml
+++ b/config.yml
@@ -121,9 +121,12 @@ params:
# For help, see the wiki:
# https://github.com/cstate/cstate/wiki/Customization
categories:
- - name: Tor network
- - name: TPA
- description: internal Tor services
+ - name: Tor Network
+ description: Core services that are integral to the Tor Network.
+ - name: Tor Project websites
+ description: Official websites and services hosted and maintained by the Tor Project.
+ - name: Internal systems
+ description: Tools and services that help us collaborate with one another, managed by the Tor Project System Administration Team (TPA).
closed: true
- name: Uncategorized
untitled: true
@@ -134,33 +137,33 @@ params:
# For help, see the wiki:
# https://github.com/cstate/cstate/wiki/Customization
systems:
- - name: v3 services
- category: Tor network
- - name: v2 services
- category: Tor network
- - name: directory authorities
- description: whatever it is that those things do
- category: Tor network
- - name: check.tpo
- description: the check.torproject.org website
- category: Tor network
+ - name: v3 Onion Services
+ description: Third generation onion services – running private services (e.g. websites) that are only accessible through the Tor network.
+ category: Tor Network
+ - name: v2 Onion Services
+ description: Second generation onion services – running private services (e.g. websites) that are only accessible through the Tor network.
+ category: Tor Network
+ - name: Directory Authorities
+ description: Special-purpose relays that maintain a list of currently-running relays and periodically publish a consensus together.
+ category: Tor Network
+ - name: torproject.org
+ description: Our official website and its associated portals (e.g. community.torproject.org).
+ category: Tor Project websites
+ - name: Tor Check
+ description: The check.torproject.org website, used to confirm you're connected to the Tor Network.
+ category: Tor Project websites
- name: GitLab
- description: gitlab.torproject.org
- category: TPA
+ description: Our code-review, bug tracking, and collaboration platform of choice (gitlab.torproject.org).
+ category: Internal systems
+ - name: Gitolite
+ description: An access control layer on top of git, used to provide read/write access.
+ category: Internal systems
- name: Email
- description: general email delivery
- category: TPA
- - name: lists
- description: mailing lists (mailman)
- category: TPA
- - name: gitolite
- description: read/write access to git
- category: TPA
- - name: websites
- description: the many websites under torproject.org
- category: TPA
- - name: other
- category: Uncategorized
+ description: General email delivery from within the Tor Project.
+ category: Internal systems
+ - name: Mailing lists
+ description: Our public and private mailing lists (lists.torproject.org) powered by Mailman, the GNU Mailing List Manager.
+ category: Internal systems
# What date format to use?
#
@@ -239,8 +242,8 @@ params:
# Default: We continuously monitor the status of our services and if there are any interruptions, a note will be posted here.
description: |
We continuously monitor the status of our services and if there
- are any interruptions, a note will be posted here. If you need to
- do a modification on this page, [follow the
+ are any interruptions an update will be posted here. If you need to
+ modify this page, [follow the
documentation](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service/s… ([mirror](https://web.archive.org/web/2/https://gitlab.torproject.org/tpo/tpa…).
# Tabs on homepage
diff --git a/content/issues/2021-01-19-status-page.md b/content/issues/2021-01-19-status-page.md
deleted file mode 100644
index 7fe22c4..0000000
--- a/content/issues/2021-01-19-status-page.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Status page deployment
-date: 2021-01-15 18:29:00
-resolved: true
-resolvedWhen: 2021-01-20 19:52:56
-# Possible severity levels: down, disrupted, notice
-severity: notice
-affected:
- - other
-section: issue
----
-
-We're in the process of deploying [cstate](https://github.com/cstate/cstate) for a status page, this
-page might need a few more updates to be actually relevant. Follow
-[ticket 40138](https://gitlab.torproject.org/tpo/tpa/team/-/issues/40138) in GitLab for more information.
-
-Update: the site is mostly operational, even if updates are a little
-clunky. Considered fixed.
diff --git a/content/issues/2021-01-25-gmail-bounce.md b/content/issues/2021-01-25-gmail-bounce.md
index dba9281..19950c2 100644
--- a/content/issues/2021-01-25-gmail-bounce.md
+++ b/content/issues/2021-01-25-gmail-bounce.md
@@ -7,7 +7,7 @@ resolvedWhen: 2021-01-25 21:40:00
severity: notice
affected:
- Email
- - lists
+ - Mailing lists
section: issue
---
diff --git a/content/issues/2021-01-28-dir-auth.md b/content/issues/2021-01-28-dir-auth.md
index 1db8571..fe5b7d3 100644
--- a/content/issues/2021-01-28-dir-auth.md
+++ b/content/issues/2021-01-28-dir-auth.md
@@ -6,8 +6,8 @@ resolvedWhen: 2021-01-29 05:30:00
# Possible severity levels: down, disrupted, notice
severity: disrupted
affected:
- - directory authorities
- - v3 services
+ - Directory Authorities
+ - v3 Onion Services
section: issue
---
[View Less]
commit aa6b79d343dfe43fa6bb447a9d9c37d41c37e589
Author: juga0 <juga(a)riseup.net>
Date: Fri Mar 5 11:51:59 2021 +0000
fix: relalist: Use the consensus timestamp
to the relay consensus timestamps list, so that it can be
tested it was in a concrete consensus.
---
sbws/lib/relaylist.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sbws/lib/relaylist.py b/sbws/lib/relaylist.py
index 4f33799..2a0bd8d 100644
--- a/sbws/lib/relaylist.py
+++ b/sbws/…
[View More]lib/relaylist.py
@@ -71,7 +71,11 @@ class Relay:
self.relay_in_recent_consensus = timestamps.DateTimeSeq(
[], MAX_RECENT_CONSENSUS_COUNT
)
- self.update_relay_in_recent_consensus()
+ # Use the same timestamp as the consensus, so that it can be tested
+ # that the relay was in a consensus using this timestamp.
+ # Note that this doesn't change the number of consensus the relay was
+ # in.
+ self.update_relay_in_recent_consensus(timestamp)
# The number of times that a relay is "prioritized" to be measured.
# It is incremented in ``RelayPrioritizer.best_priority``
self.relay_recent_priority_list = timestamps.DateTimeSeq(
[View Less]
commit a49cf7029bf5b3a6414ca89fd31a243bec319ef4
Author: juga0 <juga(a)riseup.net>
Date: Wed Mar 3 12:38:18 2021 +0000
fix: CI: Exit from integration script
when any of the commands fail.
---
tests/integration/run.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/integration/run.sh b/tests/integration/run.sh
index e870b50..70ee5f2 100755
--- a/tests/integration/run.sh
+++ b/tests/integration/run.sh
@@ -1,5 +1,8 @@
#!/bin/bash
-set -x
+# …
[View More]Instead of exiting inmmediately when any of this commands fail,
+# the scanner, generate and coverage lines could continue and store there was
+# an error on that command. It's just simpler with `-e`.
+set -ex
tests/integration/start_chutney.sh
python3 scripts/tools/sbws-http-server.py --port 28888 &>/dev/null &
[View Less]
commit dc60a3c0215e28d8d32e9d0ffd4aa8872a8f70c3
Author: juga0 <juga(a)riseup.net>
Date: Wed Mar 3 09:42:38 2021 +0000
fix: scanner: Log times kept
not only the times that are not kept.
Closes #40060
---
sbws/core/scanner.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sbws/core/scanner.py b/sbws/core/scanner.py
index e446391..2fba10f 100644
--- a/sbws/core/scanner.py
+++ b/sbws/core/scanner.py
@@ -466,14 +466,17 @@ def _should_keep_result(…
[View More]did_request_maximum, result_time, download_times):
# In the normal case, we didn't ask for the maximum allowed amount. So we
# should only allow ourselves to keep results that are between the min and
# max allowed time
+ msg = "Keeping measurement time {:.2f}".format(result_time)
if not did_request_maximum and \
result_time >= download_times['min'] and \
result_time < download_times['max']:
+ log.debug(msg)
return True
# If we did request the maximum amount, we should keep the result as long
# as it took less than the maximum amount of time
if did_request_maximum and \
result_time < download_times['max']:
+ log.debug(msg)
return True
# In all other cases, return false
log.debug('Not keeping result time %f.%s', result_time,
[View Less]
commit 3b1f7b79bfab9262567e487f0429635781f6fcab
Author: juga0 <juga(a)riseup.net>
Date: Tue Mar 2 17:21:15 2021 +0000
minor: Change info logs to debug or warning
when they contain sensitive information, eg. Web server or are too
verbose for the debug level.
Also add log to indicate when the main loop is actually started.
---
sbws/core/scanner.py | 3 ++-
sbws/lib/destination.py | 34 ++++++++++++++++++++--------------
sbws/lib/resultdump.py | 9 ++++++---
3 …
[View More]files changed, 28 insertions(+), 18 deletions(-)
diff --git a/sbws/core/scanner.py b/sbws/core/scanner.py
index f9ab1ce..c7dde75 100644
--- a/sbws/core/scanner.py
+++ b/sbws/core/scanner.py
@@ -377,7 +377,7 @@ def measure_relay(args, conf, destinations, cb, rl, relay):
# always fail when there's only one Web server.
if not is_usable and \
relay.is_exit_not_bad_allowing_port(dest.port):
- log.info(
+ log.debug(
"Exit %s (%s) that can't exit all ips, with exit policy %s, failed"
" to connect to %s via circuit %s (%s). Reason: %s. Trying again "
"with it as entry.", relay.fingerprint, relay.nickname,
@@ -575,6 +575,7 @@ def main_loop(args, conf, controller, relay_list, circuit_builder, result_dump,
measured.
"""
+ log.info("Started the main loop to measure the relays.")
hbeat = Heartbeat(conf.getpath('paths', 'state_fname'))
# Set the time to wait for a thread to finish as the half of an HTTP
diff --git a/sbws/lib/destination.py b/sbws/lib/destination.py
index 5330dbf..f007a7a 100644
--- a/sbws/lib/destination.py
+++ b/sbws/lib/destination.py
@@ -207,12 +207,12 @@ class Destination:
self._delta_seconds_retry *= factor or self._factor
if self._delta_seconds_retry > self._max_seconds_between_retries:
self._delta_seconds_retry = self._max_seconds_between_retries
- log.info("Incremented the time to try destination %s past the "
+ log.debug("Incremented the time to try destination %s past the "
"limit, capping it at %s hours.",
self.url, self._delta_seconds_retry / 60 / 60)
else:
- log.info("Incremented the time to try destination %s to %s hours.",
- self.url, self._delta_seconds_retry / 60 / 60)
+ log.debug("Incremented the time to try destination %s to %s "
+ "hours.", self.url, self._delta_seconds_retry / 60 / 60)
def _get_last_try_in_seconds_ago(self):
"""
@@ -250,23 +250,29 @@ class Destination:
# Failed the last X consecutive times
if self._are_last_attempts_failures():
- # The log here will appear in all the the queued
- # relays and threads.
- log.warning("The last %s times the destination %s failed. "
+ # The log here will appear in all the the queued relays and
+ # threads.
+ log.debug("The last %s times the destination %s failed. "
+ "It last ran %s seconds ago. "
+ "Disabled for %s seconds.",
+ self._max_num_failures, self.url,
+ self._get_last_try_in_seconds_ago(),
+ self._delta_seconds_retry)
+ log.warning("The last %s times a destination failed. "
"It last ran %s seconds ago. "
- "Disabled for %s seconds.",
- self._max_num_failures, self.url,
+ "Disabled for %s seconds."
+ "Please, add more destinations or increment the "
+ "number of maximum number of consecutive failures "
+ "in the configuration.",
+ self._max_num_failures,
self._get_last_try_in_seconds_ago(),
self._delta_seconds_retry)
- log.warning("Please, add more destinations or increment the "
- "number of maximum number of consecutive failures "
- "in the configuration.")
# It was not used for a while and the last time it was used
# was long ago, then try again
if self._is_last_try_old_enough():
- log.info("The destination %s was not tried for %s seconds, "
- "it is going to by tried again.", self.url,
- self._get_last_try_in_seconds_ago())
+ log.debug("The destination %s was not tried for %s seconds, "
+ "it is going to by tried again.", self.url,
+ self._get_last_try_in_seconds_ago())
# Set the next time to retry higher, in case this attempt fails
self._increment_time_to_retry()
return True
diff --git a/sbws/lib/resultdump.py b/sbws/lib/resultdump.py
index b287242..cc61bcc 100644
--- a/sbws/lib/resultdump.py
+++ b/sbws/lib/resultdump.py
@@ -799,14 +799,17 @@ class ResultDump:
msg += ". As exit." if as_exit else ". As entry."
# When the error is that there are not more functional destinations.
if result.type == "error-destination":
- log.info("Shutting down because there are not functional "
- "destinations.")
+ log.warning("Shutting down because there are not functional "
+ "destinations.")
# NOTE: Because this is executed in a thread, stop_threads can not
# be call from here, it has to be call from the main thread.
# Instead set the singleton end event, that will call stop_threads
# from the main process.
settings.end_event.set()
- log.info(msg)
+ # log every success/error measurement at debug level, to don't log the
+ # the Web server at info level and because there's already a
+ # heartbeat msg to indicate progress.
+ log.debug(msg)
def enter(self):
"""Main loop for the ResultDump thread.
[View Less]