Jürgen Gmach has proposed merging ~jugmac00/turnip:how-to-qa-turnip-api-changes into turnip:master with ~jugmac00/turnip:publish-docs-on-rtd as a prerequisite.
Commit message: Add documentation for "How-to qa turnip API changes" Requested reviews: Launchpad code reviewers (launchpad-reviewers) For more details, see: https://code.launchpad.net/~jugmac00/turnip/+git/turnip/+merge/415252 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~jugmac00/turnip:how-to-qa-turnip-api-changes into turnip:master.
diff --git a/docs/index.rst b/docs/index.rst index c2a6823..8cc0268 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -21,6 +21,7 @@ None of the Python interfaces here should be considered stable. self architecture development + qa internal_protocol deployment diff --git a/docs/qa.rst b/docs/qa.rst new file mode 100644 index 0000000..11b5f82 --- /dev/null +++ b/docs/qa.rst @@ -0,0 +1,94 @@ +============================ +How-to qa turnip API changes +============================ + +qa is usually performed on https://qastaging.launchpad.net. + +Prerequisites +============= + +- You need access to ``launchpad-bastion-ps5.internal`` + +- Your user needs to be able to sudo into ``stg-launchpad-git`` + +- You need to have ``lp-shell`` installed in your development environment + +Access to above host and the sudo permission are granted by +`IS <https://portal.admin.canonical.com/new/>`_. + +``lp-shell`` can be installed via + +.. code-block:: bash + + sudo apt install lptools + +Perform qa +========== + +- Pick a project on https://qastaging.launchpad.net, e.g. + https://qastaging.launchpad.net/turnip + +- From above project, pick one git repository, and get its ``repo id`` via + + .. code-block:: bash + + $ lp-shell qastaging devel + + >>> lp.git_repositories.getByPath(path='~canonical-launchpad-branches/turnip/+git/turnip').id + 3683 + + This id will be used for building the query, + e.g. for querying the commit API (``/repo/<id>/commits>``). + +- Turn on company VPN + +- Log into the bastion host + + .. code-block:: bash + + $ ssh launchpad-bastion-ps5.internal + +- Switch to the service user + + .. code-block:: bash + + ubuntu@juju-a7beac-stg-launchpad-git-7:~$ sudo -iu stg-launchpad-git + +- Get an overview of the available staging servers via Juju + + .. code-block:: bash + + $ stg-launchpad-git@launchpad-bastion-ps5:~$ juju status + + ... + + turnip-api ... + turnip-celery ... + turnip-pack... + +- Log into one of the API servers + + .. code-block:: bash + + stg-launchpad-git@launchpad-bastion-ps5:~$ juju ssh turnip-api/0 + +- Perform the query + + .. code-block:: bash + + $ curl \ + -H "Content-Type: application/json" \ + -d '{"commits": ["180ad564a7297ee61fbdfe70fdf53d95febd1e09"], "filter_paths": ["config.yaml"]}' \ + http://0.0.0.0:19417/repo/3683/commits + + $ <results> + +- <optional> You can inspect the turnip logs in ``/srv/turnip/logs/``. + +Further steps +============= + +Once the changes are verified, +you can mark the corresponding commit on https://deployable.ols.canonical.com/project/turnip as deployable. + +And finally, the changes `can be deployed <https://wiki.canonical.com/InformationInfrastructure/WebOps/LP/LaunchpadGitDeployment#Code_upgrade>`_!
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp