To get the accurate result, the tress tolerance needs to be set as a smaller value (e.g., less than 1 GPa).
For the unreasonable results reported by you, you may do the following test calculation to find out the reason:
1) use the setup for a high accuracy, e.g., DZP basis set, a proper cut off (150 ~ 300 Ry), do the total energy calculations of Ni at a serials of lattice constant to obtain the data of E_tot~a (lattice constant). From this data, the equilibrium lattice constant of Ni, i.e., the one with lowest energy, can be found. Compare it with the experimental value to see whether it is reasonable.
2) use the same setup in the step 1) and the optimizeGeometry() method with a high stress tolerance (e.g. 1 GPa) to optimize the lattice constant.
Normally, the results obtained in the steps 1) and 2) are close to each other.