Initial contribution: Sandbox for Robot tests
[osm/sandboxes.git] / README.md
index 9f14b6f..6e4c37f 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,79 +1,62 @@
-<!--
-Copyright 2020 ETSI
+# Vagrant Sandboxes for OSM
 
 
+Copyright 2020 Telefónica Investigación y Desarrollo S.A.U.
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
+    http://www.apache.org/licenses/LICENSE-2.0
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-implied.
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 See the License for the specific language governing permissions and
-limitations under the License
--->
-# Project Title
-
-One Paragraph of project description goes here
+limitations under the License.
 
 
-## Getting Started
+## Goal
 
 
-These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
+The goal is adopting a methodology for local testing that is fully repeatable and well-known by the Depops MDL team in OSM.
 
 
-### Prerequisites
+This means that:
 
 
-What things you need to install the software and how to install them
+- Local testers should use (and rebuild regularly) the appropriate sandbox to perform tests and/or contributions to test plans, so that potential issues can be reliably diagnosed and solved.
+- This means that all known changes in the installation procedures of any sandbox will be captured in the companion "provisioner" script (typically, `provisioner.sh`), so that the exact procedure can be well-known and testable by everyone.
+- In case something that was known to work in a sandbox started to fail:
+  - It should be reported as a bug if there were no further contributions to the sandbox, since it is likely to be a gap in the knowledge/testing of the corresponding provisioning procedure, that might have changed over time (e.g new dependencies, change of repositories, hardcoded locations, etc.)
+  - In case new contributions (e.g. new tests, new patches, etc.) were not functional in the corresponding sandbox, the contributor should review them locally first, since they are likely to have issues.
 
 
-```
-Give examples
-```
+## Pre-requirements
 
 
-### Installing
+- VirtualBox and Vagrant locally installed.
+- Host properly configured to use SSH and Git with OSM.
+  - NOTE: In the case of a Windows host, this means:
+    - Having your SSH keys (public and private in the `%userprofile%/.ssh` folder (the one equivalent to `~/.ssh` in Linux/Mac),
+    - Having Git installed and properly configured in Windows, i.e. check that `%userprofile%/.gitconfig` exists and has the proper configuration.
+      - In particular, it is required that the `user.name` there contains your EOL account name (i.e. avoid using a full name there). Beware that only the global profile is supported.
 
 
-A step by step series of examples that tell you how to get a development env running
+## Basic use of Vagrant
 
 
-Say what the step will be
+To build a sandbox from scratch:
 
 
+```bash
+cd folder_of_the_sandbox
+vagrant up
 ```
 ```
-Give the example
-```
-
-And repeat
-
-```
-until finished
-```
-
-End with an example of getting some data out of the system or using it for a little demo
 
 
-## Running the tests
+NOTE: All the examples that follow are suppossed to be run in the same sandbox's folder.
 
 
-Explain how to run the automated tests for this system
+To access the VM via SSH:
 
 
+```bash
+vagrant ssh
 ```
 ```
-Give an example
-```
-
-## Deployment
-
-Add additional notes about how to deploy this on a live system
-
-## Built With
-
-* [Python](www.python.org/) - The language used
 
 
-## Contributing
+To destroy the VM:
 
 
-Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
-
-## Versioning
-
-We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://osm.etsi.org/gitweb/?p=osm/sandboxes.git;a=tags).
-
-## License
+```bash
+vagrant destroy
+```
 
 
-This project is licensed under the Apache2 License - see the [LICENSE.md](LICENSE) file for details
+To rebuild and reprovision the VM:
 
 
-## Acknowledgments
+```bash
+vagrant destroy && vagrant up
+```