With NodeDiscoveryType RING_DESCRIBE (or TOKEN_AWARE with no HostSupplier) Astyanax will discover all nodes, but you should also use setLocalDatacenter. When setting up your AstyanaxContext using ConnectionPoolConfigurationImpl use setLocalDatacenter with the desired DC. That will ensure that hosts from the other dc's are not in the connection pool and that your requests are local.
.withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl("MyConnectionPool")
.setPort(9160)
.setMaxConnsPerHost(40)
.setLocalDatacenter("DC1")
.setSeeds("127.0.0.1:9160")
)
Again, my understanding is that NodeDiscoveryType of TOKEN_AWARE (with no HostSupplier set) or RING_DESCRIBE will both result in the RingDescribeHostSupplier being used within Astyanax. So, Astyanax will "know" about all of the nodes, but the connection pool will be limited (via setLocalDatacenter) to the DC specified.