This commit adds the pre-upgrade-deploy flag to vim for upgrades. It
also updates the metapackage display to split them in lines instead
of using a comma, improving the field's visibility, and updates the API
documentation.
Test plan:
1. PASS: Run a sw-deploy-strategy with a major release and specifying
the --pre-upgrade-deploy flag. Verify it selects a small list of
metapackages and successfully deploys them.
2. PASS: Run a sw-deploy-strategy create command without specifying a
release and setting the --pre-upgrade-deploy flag. Verify the CLI
returns an error stating the release is required.
3. PASS: Run the same test as 2 while also specifying --rollback and
verify the original error of the release being required is raised.
4. PASS: Run a sw-deploy-strategy create for a major release without the
--pre-upgrade-deploy flag and verify it selects all metapackages.
5. PASS: Run a sw-deploy-strategy create for a metapackage while also
specifying the --pre-upgrade-deploy and verify the build fails
stating the metapackage is not a product release.
6. PASS: Run a N-2 to N upgrade and verify it completes successfully.
Story: 2011686
Task: 55130
Depends-On: https://review.opendev.org/c/starlingx/update/+/995751
Depends-On: https://review.opendev.org/c/starlingx/update/+/995999
Change-Id: I9627fb4e3a93c49fa93b64728d863a303ba82fad
Signed-off-by: Raphael <Raphael.Lima@windriver.com>