Rework and preserve comments in snapcraft.yaml during dependency updates (#122)
The comments regarding confluent-kafka will be overwritting by
tools/update_snapcraft.py when refreshing dependency versions
because pyYAML doesn't support comments. Use ruamel.yaml instead
with its round trip mode to solve the problem.
Also replacing the previous comment (since it's also in
requirements-manual.txt) with a new one that informs user that
some dependencies are automatically generated. This also gives user
a hint about where to check when they are unsure why a package like
confluent-kafka is added as a dependency.
These comments are important for context,
and will help in future when version updates are required,
and for rationale of rejecting auto dependabot updates, etc.
Determine the latest compatible version via RSS feeds.
The tempest and tempest plugin metadata files in the releases[0] repository are
not updated continuously and therefore do not reflect the actual latest
compatible version for a given OpenStack release (see also the Tempest
nad Plugins compatible version policy[1]).
This commit switches to using the individual projects' RSS feeds as
source of truth as to which version should be picked; specifically, the
"{release}-last" tag if available, and the latest version tag otherwise.