| 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 |  | 
| Masayuki Igawa | 12e5ddc | 2019-09-25 12:23:16 +0900 | [diff] [blame] | 14 | DevStack | 
 | 15 | ======== | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 16 |  | 
| Dean Troyer | af14029 | 2014-11-20 21:13:15 -0600 | [diff] [blame] | 17 | .. image:: assets/images/logo-blue.png | 
 | 18 |  | 
| Ian Wienand | 7cd16ce | 2016-04-08 09:40:56 +1000 | [diff] [blame] | 19 | 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] | 20 | complete OpenStack environment based on the latest versions of | 
 | 21 | everything from git master.  It is used interactively as a development | 
 | 22 | environment and as the basis for much of the OpenStack project's | 
 | 23 | functional testing. | 
| Ian Wienand | 7cd16ce | 2016-04-08 09:40:56 +1000 | [diff] [blame] | 24 |  | 
| Matt Riedemann | 9b6d2f2 | 2019-06-18 10:43:16 -0400 | [diff] [blame] | 25 | The source is available at `<https://opendev.org/openstack/devstack>`__. | 
| Ian Wienand | 7cd16ce | 2016-04-08 09:40:56 +1000 | [diff] [blame] | 26 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 27 | .. warning:: | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 28 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 29 |    DevStack will make substantial changes to your system during | 
 | 30 |    installation. Only run DevStack on servers or virtual machines that | 
 | 31 |    are dedicated to this purpose. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 32 |  | 
| Dean Troyer | 26dd21b | 2014-11-06 09:33:02 -0600 | [diff] [blame] | 33 | Quick Start | 
| Masayuki Igawa | 12e5ddc | 2019-09-25 12:23:16 +0900 | [diff] [blame] | 34 | +++++++++++ | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 35 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 36 | Install Linux | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 37 | ------------- | 
 | 38 |  | 
| Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 39 | 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] | 40 | attempts to support the two latest LTS releases of Ubuntu, the | 
| Dr. Jens Harbott | de41a18 | 2020-05-29 07:23:48 +0000 | [diff] [blame] | 41 | latest/current Fedora version, CentOS/RHEL 8 and OpenSUSE. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 42 |  | 
| Ihar Hrachyshka | 2a9673f | 2021-05-19 10:22:18 -0400 | [diff] [blame] | 43 | If you do not have a preference, Ubuntu 20.04 (Focal Fossa) is the | 
| Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 44 | most tested, and will probably go the smoothest. | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 45 |  | 
| Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 46 | Add Stack User (optional) | 
 | 47 | ------------------------- | 
| 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 | DevStack should be run as a non-root user with sudo enabled | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 50 | (standard logins to cloud images such as "ubuntu" or "cloud-user" | 
 | 51 | are usually fine). | 
 | 52 |  | 
| Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 53 | If you are not using a cloud image, you can create a separate `stack` user | 
 | 54 | to run DevStack with | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 55 |  | 
| Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 56 | .. code-block:: console | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 57 |  | 
| David Rabel | fca0da5 | 2017-03-17 14:47:18 +0100 | [diff] [blame] | 58 |    $ sudo useradd -s /bin/bash -d /opt/stack -m stack | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 59 |  | 
 | 60 | Since this user will be making many changes to your system, it should | 
 | 61 | have sudo privileges: | 
 | 62 |  | 
| Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 63 | .. code-block:: console | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 64 |  | 
| Cyril Roelandt | a48ffa8 | 2017-04-06 15:23:13 +0200 | [diff] [blame] | 65 |     $ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack | 
| Attila Fazekas | 9ef346f | 2017-02-13 15:09:35 +0100 | [diff] [blame] | 66 |     $ sudo su - stack | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 67 |  | 
 | 68 | Download DevStack | 
 | 69 | ----------------- | 
 | 70 |  | 
| Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 71 | .. code-block:: console | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 72 |  | 
| Matt Riedemann | 9b6d2f2 | 2019-06-18 10:43:16 -0400 | [diff] [blame] | 73 |    $ git clone https://opendev.org/openstack/devstack | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 74 |    $ cd devstack | 
 | 75 |  | 
 | 76 | The ``devstack`` repo contains a script that installs OpenStack and | 
| Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 77 | templates for configuration files. | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 78 |  | 
 | 79 | Create a local.conf | 
 | 80 | ------------------- | 
 | 81 |  | 
| Jens Harbott | 7224a6b | 2019-04-01 11:16:53 +0000 | [diff] [blame] | 82 | 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] | 83 | devstack git repo. | 
| Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 84 |  | 
 | 85 | .. code-block:: ini | 
| Sharat Sharma | 89a855f | 2016-10-03 12:10:23 +0530 | [diff] [blame] | 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 |  | 
| Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 95 | .. note:: There is a sample :download:`local.conf </assets/local.conf>` file | 
 | 96 |     under the *samples* directory in the devstack repository. | 
 | 97 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 98 | Start the install | 
 | 99 | ----------------- | 
 | 100 |  | 
| Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 101 | .. code-block:: console | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 102 |  | 
| Matt Riedemann | 584979c | 2018-12-13 08:22:12 -0500 | [diff] [blame] | 103 |    $ ./stack.sh | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 104 |  | 
 | 105 | This will take a 15 - 20 minutes, largely depending on the speed of | 
 | 106 | your internet connection. Many git trees and packages will be | 
 | 107 | installed during this process. | 
 | 108 |  | 
 | 109 | Profit! | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 110 | ------- | 
 | 111 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 112 | You now have a working DevStack! Congrats! | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 113 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 114 | Your devstack will have installed ``keystone``, ``glance``, ``nova``, | 
| Nguyen Hai | e729976 | 2019-02-13 15:04:02 +0900 | [diff] [blame] | 115 | ``placement``, ``cinder``, ``neutron``, and ``horizon``. Floating IPs | 
 | 116 | will be available, guests have access to the external world. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 117 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 118 | You can access horizon to experience the web interface to | 
 | 119 | OpenStack, and manage vms, networks, volumes, and images from | 
 | 120 | there. | 
| 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 ``source openrc`` in your shell, and then use the | 
 | 123 | ``openstack`` command line tool to manage your devstack. | 
| 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 ``cd /opt/stack/tempest`` and run tempest tests that have | 
 | 126 | been configured to work with your devstack. | 
| Sean M. Collins | 09e550c | 2014-10-21 11:40:08 -0400 | [diff] [blame] | 127 |  | 
| Sean Dague | bd6614a | 2016-08-11 09:05:16 -0400 | [diff] [blame] | 128 | You can :doc:`make code changes to OpenStack and validate them | 
 | 129 | <development>`. | 
 | 130 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 131 | Going further | 
 | 132 | ------------- | 
 | 133 |  | 
 | 134 | Learn more about our :doc:`configuration system <configuration>` to | 
| Sean Dague | bc883df | 2016-08-12 07:21:59 -0400 | [diff] [blame] | 135 | customize devstack for your needs. Including making adjustments to the | 
 | 136 | default :doc:`networking <networking>`. | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 137 |  | 
 | 138 | Read :doc:`guides <guides>` for specific setups people have (note: | 
 | 139 | guides are point in time contributions, and may not always be kept | 
 | 140 | up to date to the latest devstack). | 
 | 141 |  | 
 | 142 | Enable :doc:`devstack plugins <plugins>` to support additional | 
 | 143 | services, features, and configuration not present in base devstack. | 
 | 144 |  | 
| Andrea Frittoli | 067e365 | 2018-02-23 16:04:46 +0000 | [diff] [blame] | 145 | Use devstack in your CI with :doc:`Ansible roles <zuul_roles>` and | 
| Andrea Frittoli | f32f3f5 | 2018-02-19 21:45:22 +0000 | [diff] [blame] | 146 | :doc:`Jobs <zuul_jobs>` for Zuul V3. Migrate your devstack Zuul V2 jobs to Zuul | 
 | 147 | V3 with this full migration :doc:`how-to <zuul_ci_jobs_migration>`. | 
| Andrea Frittoli | fddf343 | 2018-02-19 18:34:43 +0000 | [diff] [blame] | 148 |  | 
| Sean Dague | cea7ec8 | 2016-08-05 08:29:54 -0400 | [diff] [blame] | 149 | Get :doc:`the big picture <overview>` of what we are trying to do | 
 | 150 | with devstack, and help us by :doc:`contributing to the project | 
 | 151 | <hacking>`. | 
| Doug Hellmann | 84ce2f1 | 2017-05-09 07:35:08 -0400 | [diff] [blame] | 152 |  | 
| Ghanshyam Mann | 4578f98 | 2020-04-19 17:54:56 -0500 | [diff] [blame] | 153 | If you are a new contributor to devstack please refer: :doc:`contributor/contributing` | 
 | 154 |  | 
 | 155 | .. toctree:: | 
 | 156 |    :hidden: | 
 | 157 |  | 
 | 158 |    contributor/contributing | 
 | 159 |  | 
| Doug Hellmann | 84ce2f1 | 2017-05-09 07:35:08 -0400 | [diff] [blame] | 160 | Contents | 
| Masayuki Igawa | 12e5ddc | 2019-09-25 12:23:16 +0900 | [diff] [blame] | 161 | ++++++++ | 
| Doug Hellmann | 84ce2f1 | 2017-05-09 07:35:08 -0400 | [diff] [blame] | 162 |  | 
 | 163 | .. toctree:: | 
 | 164 |    :glob: | 
 | 165 |    :maxdepth: 2 | 
 | 166 |  | 
 | 167 |    * |