Experimenting further, I can see that it is not the lowest numerical address, but the first address reported by lxc-ls that juju selects as the private address. I deployed on another configuration with different IP addresses (i.e. 192.168.x.x addresses only), but it selected the first address as one that was on eth2 and was in the middle of the range, but it was the first address listed when running:
lxc-ls --fancy
Experimenting further, I can see that it is not the lowest numerical address, but the first address reported by lxc-ls that juju selects as the private address. I deployed on another configuration with different IP addresses (i.e. 192.168.x.x addresses only), but it selected the first address as one that was on eth2 and was in the middle of the range, but it was the first address listed when running:
lxc-ls --fancy