Contributing to replace-labs scripts ==================================== First things first ------------------ Read the OpenStack Style Commandments https://docs.openstack.org/hacking/latest/ General ------- Contributing code to replace labs scripts follows the usual OpenStack process as described in `How To Contribute`__ in the OpenStack wiki. Our `main blueprint`__ contains the usual links for blueprints, bugs, etc. __ contribute_ .. _contribute: http://docs.openstack.org/infra/manual/developers.html __ spec_ .. _spec: http://specs.openstack.org/openstack/docs-specs/specs/liberty/traininglabs.html Getting started --------------- .. TODO(psalunke): Fix Me. Add more content here. Prerequisites ------------- .. TODO(psalunke): Fix Me. Add more content here. Coding style ------------ We follow the conventions of other OpenStack projects. StackTrain ~~~~~~~~~~ .. TODO(psalunke): Fix me. Add more content here. Osbash ~~~~~~ Osbash is written in BASH and follows conventions of DevStack: `devstack `_. DevStack bash style guidelines can be found at the bottom of: https://git.openstack.org/cgit/openstack-dev/devstack/blob/master/HACKING.rst Structure --------- .. TODO(psalunke): Add more information as the repo gets merged. OSBASH: ~~~~~~~ **autostart** osbash/wbatch copy shell scripts (\*.sh) into this directory to have them automatically executed (and removed) upon boot. **config** Contains the configuration files for all the scripts. The setup can be customized here. **img** By default osbash will put into this directory its base disk images (base-\*-.vdi), the VM export images (labs-.ova), and all installation ISO images it may download. **lib** This directory contains bash libraries used by scripts. **log** Contains the log files written (and removed) by osbash/wbatch and the scripts running within the VMs. **scripts** All scripts in this directory run within the VMs. **wbatch** Files in this directory are Windows batch files generated by osbash to configure host-only networks, produce a base disk, and build OpenStack replace-labs VMs as configured when osbash created them. Testing ------- Useful tools for checking scripts: - `bashate `_ (must pass) - `shellcheck `_ (optional) .. TODO (psalunke): Add Python checks etc. Submitting patches ------------------ These documents will help you submit patches to OpenStack projects (including this one): - http://docs.openstack.org/infra/manual/developers.html#development-workflow - https://wiki.openstack.org/wiki/GitCommitMessages If you change the behavior of the scripts as documented in the replace-guides, add a DocImpact flag to alert the documentation team. For instance, add a line like this to your commit message: DocImpact new option added to osbash.sh - https://wiki.openstack.org/wiki/Documentation/DocImpact Reviewing --------- Learn how to review (or what to expect when having your patches reviewed) here: - http://docs.openstack.org/infra/manual/developers.html#development-workflow TODO ---- Anything not covered here ------------------------- Check README.md and get in touch with other scripts developers.