After the node was created, I ran nodetool and got this:
$ bin/nodetool status
-- AddressLoad Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 219.83 KiB 256 0.0% 73bd8721 rack1
It took me a little while to find out that the problem was the IP address. Although it clearly says 127.0.0.1 here, the cassandra.yaml configuration file had localhost.
I edited the cassandra.yaml (after a while trying to find why that would happen) and changed all the localhost into 127.0.0.1. Then it worked as expected and the node said 100.0%.
1. This was testing the brand new Cassandra 3.9 that just came out (so fresh that most mirrors I tested did not even have the file yet!)
2. The problem is probably that there is a mismatch between localhost 127.0.0.1 and localhost :::1 (i.e. IPv4 and IPv6). So it is listening on IPv4 and the nodetool connects through IPv6. Or something of the sort.
3. My previous version (3.5) was working with localhost in the cassandra.yaml, so that was a new one on that end. That being said, I have had problems with the name confusion before.