refstack/doc/uploading-private-results.md
hayderimran7 1d3d96e07b Fix docs instructions for test upload
There are several things wrong in this doc:
- pub key and signature must be uploaded via UI otherwise
user gets `Bad Request Request doesnt correspond to schema`
- upload can be done with --insecure when a user
has cert issue of https://refstack.openstack.org/api
- add explicit mention of where the test json file is
produced so its easy to find when running vanilla refstack.

Change-Id: I85ac6c4dc4589d7e4c54f162723d432c40875a9f
closes-bug: 1525458
2016-02-02 23:25:13 -08:00

100 lines
4.6 KiB
Markdown

How to upload test results to RefStack
======================================
RefStack allows test results contributors to submit test results and have them
displayed either anonymously, or identified with a vendor. As such, test
results should be uploaded with validated users. Users will first log into
RefStack with their OpenStack ID to upload their public keys. RefStack test
results can then be uploaded to RefStack using the corresponding private key.
By default, the uploaded data isn't shared, but authorized users can decide to
share the results with the community anonymously.
The following is a quick guide outlining the steps needed to upload your first
set of test results.
####Register an OpenStack ID
The RefStack server uses OpenStack OpenID for user authentication. Therefore,
the RefStack server requires that anyone who wants to upload test data to have
an OpenStack ID. As you click on the Sign In/Sign Up link on the RefStack
pages, you will be redirected to the official OpenStack user log in page where
you can either log in with your OpenStack ID or register for one. The
registration page can also be found directly through:
[https://www.openstack.org/join/register](https://www.openstack.org/join/register).
####Generate ssh keys locally
You will need to generate ssh keys locally. If your operating system is a Linux
distro, then you can use the following instructions.
First check for existing keys with command:
- `ls -al ~/.ssh`
If you see you already have existing public and private keys that you want to
use, you can skip this step; otherwise:
- `ssh-keygen -t rsa -b 4096 -C "youropenstackid"`
The 'youropenstackid' string is the username you chose when you registered for
your OpenStack ID account. Enter the file name in which to save the key
(/home/you/.ssh/id_rsa), then press enter. You will be asked to enter a
passphrase. Just press enter again as passphrase protected keys currently
aren't supported. Your ssh keys will then be generated.
####Sign Key with RefStack Client
** IMPORTANT ** You must have the RefStack client on you computer to complete
this step.
Generate a signature for your public key using your private key with
[refstack-client](https://github.com/openstack/refstack-client)
- `./refstack-client sign /path-of-sshkey-folder/key-file-name`
The '/path-of-sshkey-folder' string is the path of the folder where the
generated ssh keys are stored locally. The 'key-file-name' portion refers to
the private key file name. If the command runs correctly, there will be output
like below:
Public key:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSGo2xNDcII1ZaM3H2uKh3iXBzvKIOa5W/5HxKF23yrzwho7nR7td0kgFtZ/4fe0zmkkUuKdUhOACCD3QVyi1N5wIhKAYN1fGt0/305jk7VJ+yYhUPlvo...
Self signature:
19c28fc07e3fbe1085578bd6db2f1f75611dcd2ced068a2195bbca60ae98af7e27faa5b6968c3c5aef58b3fa91bae3df3...
####Upload the ssh public key and the signature
Sign into [https://refstack.openstack.org](https://refstack.openstack.org) with
your OpenStack ID. Click the "Profile" link in the upper right corner. Now
click the "Import public key" button on your profile page. A popup window with
two entry fields will appear. Just copy and paste the key and signature
generated in the previous step into the corresponding textboxes.
Note that the literal strings 'Public key:' and 'Self signature:' from the refstack-client "sign" command output should not be copied/pasted into the text boxes. Otherwise you will get an error like:
- `Bad Request Request doesnt correspond to schema`
Once complete, click the 'Import public key' button.
####Upload the test result with refstack-client
- `./refstack-client upload /path_to_testresult_json_file --url https://refstack.openstack.org/api -i ~/.ssh/id_rsa`
** NOTE ** Users may need to add the '--insecure' optional agrument to the command string if certificate validation issues occur when uploading test result. To use with insecure:
- `./refstack-client upload --insecure /path_to_testresult_json_file --url https://refstack.openstack.org/api -i ~/.ssh/id_rsa`
The `path_to_testresult_json_file` here is the json file of your test result.
By default, it's in `.tempest/.testrespository/<test-run-number>.json` where refstack-client runs from.
Here '<test-run-number>' is a serial number that matches its corresponding subunit file name.
If the command runs correctly, there will be output like below:
Test results will be uploaded to https://refstack.openstack.org/api. Ok? (yes/y): y
Test results uploaded!
URL: https://refstack.openstack.org/#/results/88a1e6f4-707d-4627-b658-b14b7e6ba70d.
You can find your uploaded test results by clicking the 'My Results' link on
the RefStack website.