| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 1 | .. Documentation Architecture for the devstack docs. | 
|  | 2 |  | 
|  | 3 | It is really easy for online docs to meander over time as people | 
|  | 4 | attempt to add the small bit of additional information they think | 
|  | 5 | people need, into an existing information architecture. In order to | 
|  | 6 | prevent that we need to be a bit strict as to what's on this front | 
|  | 7 | page. | 
|  | 8 |  | 
|  | 9 | This should *only* be the quick start narrative. Which should end | 
|  | 10 | with 2 sections: what you can do with devstack once it's set up, | 
|  | 11 | and how to go beyond this setup. Both should be a set of quick | 
|  | 12 | links to other documents to let people explore from there. | 
|  | 13 |  | 
|  | 14 | ========== | 
|  | 15 | DevStack | 
|  | 16 | ========== | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 17 |  | 
| Dean Troyer | af14029 | 2014-11-20 21:13:15 -0600 | [diff] [blame] | 18 | .. image:: assets/images/logo-blue.png | 
|  | 19 |  | 
| Ian Wienand | 7cd16ce | 2016-04-08 09:40:56 +1000 | [diff] [blame] | 20 | DevStack is a series of extensible scripts used to quickly bring up a | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 21 | complete OpenStack environment based on the latest versions of | 
|  | 22 | everything from git master.  It is used interactively as a development | 
|  | 23 | environment and as the basis for much of the OpenStack project's | 
|  | 24 | functional testing. | 
| Ian Wienand | 7cd16ce | 2016-04-08 09:40:56 +1000 | [diff] [blame] | 25 |  | 
|  | 26 | The source is available at | 
|  | 27 | `<https://git.openstack.org/cgit/openstack-dev/devstack>`__. | 
|  | 28 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 29 | .. warning:: | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 30 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 31 | DevStack will make substantial changes to your system during | 
|  | 32 | installation. Only run DevStack on servers or virtual machines that | 
|  | 33 | are dedicated to this purpose. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 34 |  | 
| Dean Troyer | 26dd21b | 2014-11-06 09:33:02 -0600 | [diff] [blame] | 35 | Quick Start | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 36 | =========== | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 37 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 38 | Install Linux | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 39 | ------------- | 
|  | 40 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 41 | Start with a clean and minimal install of a Linux system. Devstack | 
|  | 42 | attempts to support Ubuntu 14.04/16.04, Fedora 23/24, CentOS/RHEL 7, | 
|  | 43 | as well as Debian and OpenSUSE. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 44 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 45 | If you do not have a preference, Ubuntu 16.04 is the most tested, and | 
|  | 46 | will probably go the smoothest. | 
|  | 47 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 48 | Add Stack User | 
|  | 49 | -------------- | 
|  | 50 |  | 
|  | 51 | Devstack should be run as a non-root user with sudo enabled | 
|  | 52 | (standard logins to cloud images such as "ubuntu" or "cloud-user" | 
|  | 53 | are usually fine). | 
|  | 54 |  | 
|  | 55 | You can quickly create a separate `stack` user to run DevStack with | 
|  | 56 |  | 
|  | 57 | :: | 
|  | 58 |  | 
| Attila Fazekas | 9ef346f | 2017-02-13 15:09:35 +0100 | [diff] [blame] | 59 | $ sudo adduser stack | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 60 |  | 
|  | 61 | Since this user will be making many changes to your system, it should | 
|  | 62 | have sudo privileges: | 
|  | 63 |  | 
|  | 64 | :: | 
|  | 65 |  | 
| Attila Fazekas | 9ef346f | 2017-02-13 15:09:35 +0100 | [diff] [blame] | 66 | $ sudo tee <<<"stack ALL=(ALL) NOPASSWD: ALL" /etc/sudoers | 
|  | 67 | $ sudo su - stack | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 68 |  | 
|  | 69 | Download DevStack | 
|  | 70 | ----------------- | 
|  | 71 |  | 
|  | 72 | :: | 
|  | 73 |  | 
|  | 74 | $ git clone https://git.openstack.org/openstack-dev/devstack | 
|  | 75 | $ cd devstack | 
|  | 76 |  | 
|  | 77 | The ``devstack`` repo contains a script that installs OpenStack and | 
|  | 78 | templates for configuration files | 
|  | 79 |  | 
|  | 80 | Create a local.conf | 
|  | 81 | ------------------- | 
|  | 82 |  | 
|  | 83 | Create a ``local.conf`` file with 4 passwords preset at the root of the | 
|  | 84 | devstack git repo. | 
|  | 85 | :: | 
|  | 86 |  | 
|  | 87 | [[local|localrc]] | 
|  | 88 | ADMIN_PASSWORD=secret | 
|  | 89 | DATABASE_PASSWORD=$ADMIN_PASSWORD | 
|  | 90 | RABBIT_PASSWORD=$ADMIN_PASSWORD | 
|  | 91 | SERVICE_PASSWORD=$ADMIN_PASSWORD | 
|  | 92 |  | 
|  | 93 | This is the minimum required config to get started with DevStack. | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 94 |  | 
|  | 95 | Start the install | 
|  | 96 | ----------------- | 
|  | 97 |  | 
|  | 98 | :: | 
|  | 99 |  | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 100 | ./stack.sh | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 101 |  | 
|  | 102 | This will take a 15 - 20 minutes, largely depending on the speed of | 
|  | 103 | your internet connection. Many git trees and packages will be | 
|  | 104 | installed during this process. | 
|  | 105 |  | 
|  | 106 | Profit! | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 107 | ------- | 
|  | 108 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 109 | You now have a working DevStack! Congrats! | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 110 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 111 | Your devstack will have installed ``keystone``, ``glance``, ``nova``, | 
|  | 112 | ``cinder``, ``neutron``, and ``horizon``. Floating IPs will be | 
|  | 113 | available, guests have access to the external world. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 114 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 115 | You can access horizon to experience the web interface to | 
|  | 116 | OpenStack, and manage vms, networks, volumes, and images from | 
|  | 117 | there. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 118 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 119 | You can ``source openrc`` in your shell, and then use the | 
|  | 120 | ``openstack`` command line tool to manage your devstack. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 121 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 122 | You can ``cd /opt/stack/tempest`` and run tempest tests that have | 
|  | 123 | been configured to work with your devstack. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 124 |  | 
| Sean Dague | bd6614a | 2016-08-11 09:05:16 -0400 | [diff] [blame] | 125 | You can :doc:`make code changes to OpenStack and validate them | 
|  | 126 | <development>`. | 
|  | 127 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 128 | Going further | 
|  | 129 | ------------- | 
|  | 130 |  | 
|  | 131 | Learn more about our :doc:`configuration system <configuration>` to | 
| Sean Dague | bc883df | 2016-08-12 07:21:59 -0400 | [diff] [blame] | 132 | customize devstack for your needs. Including making adjustments to the | 
|  | 133 | default :doc:`networking <networking>`. | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 134 |  | 
|  | 135 | Read :doc:`guides <guides>` for specific setups people have (note: | 
|  | 136 | guides are point in time contributions, and may not always be kept | 
|  | 137 | up to date to the latest devstack). | 
|  | 138 |  | 
|  | 139 | Enable :doc:`devstack plugins <plugins>` to support additional | 
|  | 140 | services, features, and configuration not present in base devstack. | 
|  | 141 |  | 
|  | 142 | Get :doc:`the big picture <overview>` of what we are trying to do | 
|  | 143 | with devstack, and help us by :doc:`contributing to the project | 
|  | 144 | <hacking>`. |