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 | |
Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 41 | Start with a clean and minimal install of a Linux system. DevStack |
Laura Sofia Enriquez | 1c75d2f | 2018-10-11 19:13:17 -0300 | [diff] [blame] | 42 | attempts to support the two latest LTS releases of Ubuntu, the |
| 43 | latest/current Fedora version, CentOS/RHEL 7, as well as Debian and |
| 44 | OpenSUSE. |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 45 | |
Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 46 | If you do not have a preference, Ubuntu 18.04 (Bionic Beaver) is the |
| 47 | most tested, and will probably go the smoothest. |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 48 | |
Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 49 | Add Stack User (optional) |
| 50 | ------------------------- |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 51 | |
Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 52 | DevStack should be run as a non-root user with sudo enabled |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 53 | (standard logins to cloud images such as "ubuntu" or "cloud-user" |
| 54 | are usually fine). |
| 55 | |
Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 56 | If you are not using a cloud image, you can create a separate `stack` user |
| 57 | to run DevStack with |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 58 | |
Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 59 | .. code-block:: console |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 60 | |
David Rabel | fca0da5 | 2017-03-17 14:47:18 +0100 | [diff] [blame] | 61 | $ sudo useradd -s /bin/bash -d /opt/stack -m stack |
Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 62 | |
| 63 | Since this user will be making many changes to your system, it should |
| 64 | have sudo privileges: |
| 65 | |
Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 66 | .. code-block:: console |
Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 67 | |
Cyril Roelandt | a48ffa8 | 2017-04-06 15:23:13 +0200 | [diff] [blame] | 68 | $ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack |
Attila Fazekas | 9ef346f | 2017-02-13 15:09:35 +0100 | [diff] [blame] | 69 | $ sudo su - stack |
Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 70 | |
| 71 | Download DevStack |
| 72 | ----------------- |
| 73 | |
Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 74 | .. code-block:: console |
Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 75 | |
| 76 | $ git clone https://git.openstack.org/openstack-dev/devstack |
| 77 | $ cd devstack |
| 78 | |
| 79 | The ``devstack`` repo contains a script that installs OpenStack and |
Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 80 | templates for configuration files. |
Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 81 | |
| 82 | Create a local.conf |
| 83 | ------------------- |
| 84 | |
Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 85 | Create a ``local.conf`` file with four passwords preset at the root of the |
Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 86 | devstack git repo. |
Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 87 | |
| 88 | .. code-block:: ini |
Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 89 | |
| 90 | [[local|localrc]] |
| 91 | ADMIN_PASSWORD=secret |
| 92 | DATABASE_PASSWORD=$ADMIN_PASSWORD |
| 93 | RABBIT_PASSWORD=$ADMIN_PASSWORD |
| 94 | SERVICE_PASSWORD=$ADMIN_PASSWORD |
| 95 | |
| 96 | This is the minimum required config to get started with DevStack. |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 97 | |
Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 98 | .. note:: There is a sample :download:`local.conf </assets/local.conf>` file |
| 99 | under the *samples* directory in the devstack repository. |
| 100 | |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 101 | Start the install |
| 102 | ----------------- |
| 103 | |
Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 104 | .. code-block:: console |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 105 | |
Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 106 | $ ./stack.sh |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 107 | |
| 108 | This will take a 15 - 20 minutes, largely depending on the speed of |
| 109 | your internet connection. Many git trees and packages will be |
| 110 | installed during this process. |
| 111 | |
| 112 | Profit! |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 113 | ------- |
| 114 | |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 115 | You now have a working DevStack! Congrats! |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 116 | |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 117 | Your devstack will have installed ``keystone``, ``glance``, ``nova``, |
Nguyen Hai | e729976 | 2019-02-13 15:04:02 +0900 | [diff] [blame] | 118 | ``placement``, ``cinder``, ``neutron``, and ``horizon``. Floating IPs |
| 119 | will be available, guests have access to the external world. |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 120 | |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 121 | You can access horizon to experience the web interface to |
| 122 | OpenStack, and manage vms, networks, volumes, and images from |
| 123 | there. |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 124 | |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 125 | You can ``source openrc`` in your shell, and then use the |
| 126 | ``openstack`` command line tool to manage your devstack. |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 127 | |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 128 | You can ``cd /opt/stack/tempest`` and run tempest tests that have |
| 129 | been configured to work with your devstack. |
Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 130 | |
Sean Dague | bd6614a | 2016-08-11 09:05:16 -0400 | [diff] [blame] | 131 | You can :doc:`make code changes to OpenStack and validate them |
| 132 | <development>`. |
| 133 | |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 134 | Going further |
| 135 | ------------- |
| 136 | |
| 137 | Learn more about our :doc:`configuration system <configuration>` to |
Sean Dague | bc883df | 2016-08-12 07:21:59 -0400 | [diff] [blame] | 138 | customize devstack for your needs. Including making adjustments to the |
| 139 | default :doc:`networking <networking>`. |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 140 | |
| 141 | Read :doc:`guides <guides>` for specific setups people have (note: |
| 142 | guides are point in time contributions, and may not always be kept |
| 143 | up to date to the latest devstack). |
| 144 | |
| 145 | Enable :doc:`devstack plugins <plugins>` to support additional |
| 146 | services, features, and configuration not present in base devstack. |
| 147 | |
Andrea Frittoli | 067e365 | 2018-02-23 16:04:46 +0000 | [diff] [blame] | 148 | Use devstack in your CI with :doc:`Ansible roles <zuul_roles>` and |
Andrea Frittoli | f32f3f5 | 2018-02-19 21:45:22 +0000 | [diff] [blame] | 149 | :doc:`Jobs <zuul_jobs>` for Zuul V3. Migrate your devstack Zuul V2 jobs to Zuul |
| 150 | V3 with this full migration :doc:`how-to <zuul_ci_jobs_migration>`. |
Andrea Frittoli | fddf343 | 2018-02-19 18:34:43 +0000 | [diff] [blame] | 151 | |
Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 152 | Get :doc:`the big picture <overview>` of what we are trying to do |
| 153 | with devstack, and help us by :doc:`contributing to the project |
| 154 | <hacking>`. |
Doug Hellmann | 84ce2f1 | 2017-05-09 07:35:08 -0400 | [diff] [blame] | 155 | |
| 156 | Contents |
| 157 | -------- |
| 158 | |
| 159 | .. toctree:: |
| 160 | :glob: |
| 161 | :maxdepth: 2 |
| 162 | |
| 163 | * |