Description:
The quickstart deep dive sessions explained that the quickstart roles may depend on *extras and not otherwise. While there is the working_dir var that have no a default value and is used across many of the *extras roles. This introduces an implicit dependency for the former, I suppose.
Soluition/RFE:
The working_dir usecases need to be documented for virthost, undercloud, overcloud vs quickstart and quickstart-extras roles. And the latter should be either given a default that corresponds to specific extras roles' needs, or reworked as a set of role-independent foo_dir vars for each role. Like it is happening for the build* related roles in the https://review.openstack.org/#/c/461411/.
For example, there are validate-sanity-checks, overcloud-delete, validate-ha, overcloud-scale, validate-undercloud and more roles in extras that use working_dir (but not validate_sanity_work_dir, overcloud_work_dir, validate_ha_work_dir, overcloud_scale_work_dir) and have no a default value. While the build-test-packages role relies on the ansible_user_dir var and will not work well, if given a working_dir instead, and requires a new var as the aforementioned patch shows. This et al have to be explained in the docs and given proper defaults (and dedicated *_dir vars perhaps)
Also related https:/ /bugs.launchpad .net/tripleo/ +bug/1663420