blob: 6c42a5b4e9e9e18b45251864e49ffbfe77f4fe9e [file] [log] [blame]
Sean Daguecea7ec82016-08-05 08:29:54 -04001.. 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. Collins09e550c2014-10-21 11:40:08 -040017
Dean Troyeraf140292014-11-20 21:13:15 -060018.. image:: assets/images/logo-blue.png
19
Ian Wienand7cd16ce2016-04-08 09:40:56 +100020DevStack is a series of extensible scripts used to quickly bring up a
Sean Daguecea7ec82016-08-05 08:29:54 -040021complete OpenStack environment based on the latest versions of
22everything from git master. It is used interactively as a development
23environment and as the basis for much of the OpenStack project's
24functional testing.
Ian Wienand7cd16ce2016-04-08 09:40:56 +100025
26The source is available at
27`<https://git.openstack.org/cgit/openstack-dev/devstack>`__.
28
Sean Daguecea7ec82016-08-05 08:29:54 -040029.. warning::
Sean M. Collins09e550c2014-10-21 11:40:08 -040030
Sean Daguecea7ec82016-08-05 08:29:54 -040031 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. Collins09e550c2014-10-21 11:40:08 -040034
Dean Troyer26dd21b2014-11-06 09:33:02 -060035Quick Start
Sean Daguecea7ec82016-08-05 08:29:54 -040036===========
Sean M. Collins09e550c2014-10-21 11:40:08 -040037
Sean Daguecea7ec82016-08-05 08:29:54 -040038Install Linux
Sean M. Collins09e550c2014-10-21 11:40:08 -040039-------------
40
Sean Daguecea7ec82016-08-05 08:29:54 -040041Start with a clean and minimal install of a Linux system. Devstack
Laura Sofia Enriquez1c75d2f2018-10-11 19:13:17 -030042attempts to support the two latest LTS releases of Ubuntu, the
43latest/current Fedora version, CentOS/RHEL 7, as well as Debian and
44OpenSUSE.
Sean M. Collins09e550c2014-10-21 11:40:08 -040045
Sean Daguecea7ec82016-08-05 08:29:54 -040046If you do not have a preference, Ubuntu 16.04 is the most tested, and
47will probably go the smoothest.
48
Sean Daguecea7ec82016-08-05 08:29:54 -040049Add Stack User
50--------------
51
52Devstack should be run as a non-root user with sudo enabled
53(standard logins to cloud images such as "ubuntu" or "cloud-user"
54are usually fine).
55
56You can quickly create a separate `stack` user to run DevStack with
57
Matt Riedemann584979c2018-12-13 08:22:12 -050058.. code-block:: console
Sean Daguecea7ec82016-08-05 08:29:54 -040059
David Rabelfca0da52017-03-17 14:47:18 +010060 $ sudo useradd -s /bin/bash -d /opt/stack -m stack
Sharat Sharma89a855f2016-10-03 12:10:23 +053061
62Since this user will be making many changes to your system, it should
63have sudo privileges:
64
Matt Riedemann584979c2018-12-13 08:22:12 -050065.. code-block:: console
Sharat Sharma89a855f2016-10-03 12:10:23 +053066
Cyril Roelandta48ffa82017-04-06 15:23:13 +020067 $ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
Attila Fazekas9ef346f2017-02-13 15:09:35 +010068 $ sudo su - stack
Sharat Sharma89a855f2016-10-03 12:10:23 +053069
70Download DevStack
71-----------------
72
Matt Riedemann584979c2018-12-13 08:22:12 -050073.. code-block:: console
Sharat Sharma89a855f2016-10-03 12:10:23 +053074
75 $ git clone https://git.openstack.org/openstack-dev/devstack
76 $ cd devstack
77
78The ``devstack`` repo contains a script that installs OpenStack and
79templates for configuration files
80
81Create a local.conf
82-------------------
83
84Create a ``local.conf`` file with 4 passwords preset at the root of the
85devstack git repo.
Matt Riedemann584979c2018-12-13 08:22:12 -050086
87.. code-block:: ini
Sharat Sharma89a855f2016-10-03 12:10:23 +053088
89 [[local|localrc]]
90 ADMIN_PASSWORD=secret
91 DATABASE_PASSWORD=$ADMIN_PASSWORD
92 RABBIT_PASSWORD=$ADMIN_PASSWORD
93 SERVICE_PASSWORD=$ADMIN_PASSWORD
94
95This is the minimum required config to get started with DevStack.
Sean Daguecea7ec82016-08-05 08:29:54 -040096
Matt Riedemann584979c2018-12-13 08:22:12 -050097.. note:: There is a sample :download:`local.conf </assets/local.conf>` file
98 under the *samples* directory in the devstack repository.
99
Sean Daguecea7ec82016-08-05 08:29:54 -0400100Start the install
101-----------------
102
Matt Riedemann584979c2018-12-13 08:22:12 -0500103.. code-block:: console
Sean Daguecea7ec82016-08-05 08:29:54 -0400104
Matt Riedemann584979c2018-12-13 08:22:12 -0500105 $ ./stack.sh
Sean Daguecea7ec82016-08-05 08:29:54 -0400106
107This will take a 15 - 20 minutes, largely depending on the speed of
108your internet connection. Many git trees and packages will be
109installed during this process.
110
111Profit!
Sean M. Collins09e550c2014-10-21 11:40:08 -0400112-------
113
Sean Daguecea7ec82016-08-05 08:29:54 -0400114You now have a working DevStack! Congrats!
Sean M. Collins09e550c2014-10-21 11:40:08 -0400115
Sean Daguecea7ec82016-08-05 08:29:54 -0400116Your devstack will have installed ``keystone``, ``glance``, ``nova``,
117``cinder``, ``neutron``, and ``horizon``. Floating IPs will be
118available, guests have access to the external world.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400119
Sean Daguecea7ec82016-08-05 08:29:54 -0400120You can access horizon to experience the web interface to
121OpenStack, and manage vms, networks, volumes, and images from
122there.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400123
Sean Daguecea7ec82016-08-05 08:29:54 -0400124You can ``source openrc`` in your shell, and then use the
125``openstack`` command line tool to manage your devstack.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400126
Sean Daguecea7ec82016-08-05 08:29:54 -0400127You can ``cd /opt/stack/tempest`` and run tempest tests that have
128been configured to work with your devstack.
Sean M. Collins09e550c2014-10-21 11:40:08 -0400129
Sean Daguebd6614a2016-08-11 09:05:16 -0400130You can :doc:`make code changes to OpenStack and validate them
131<development>`.
132
Sean Daguecea7ec82016-08-05 08:29:54 -0400133Going further
134-------------
135
136Learn more about our :doc:`configuration system <configuration>` to
Sean Daguebc883df2016-08-12 07:21:59 -0400137customize devstack for your needs. Including making adjustments to the
138default :doc:`networking <networking>`.
Sean Daguecea7ec82016-08-05 08:29:54 -0400139
140Read :doc:`guides <guides>` for specific setups people have (note:
141guides are point in time contributions, and may not always be kept
142up to date to the latest devstack).
143
144Enable :doc:`devstack plugins <plugins>` to support additional
145services, features, and configuration not present in base devstack.
146
Andrea Frittoli067e3652018-02-23 16:04:46 +0000147Use devstack in your CI with :doc:`Ansible roles <zuul_roles>` and
Andrea Frittolif32f3f52018-02-19 21:45:22 +0000148:doc:`Jobs <zuul_jobs>` for Zuul V3. Migrate your devstack Zuul V2 jobs to Zuul
149V3 with this full migration :doc:`how-to <zuul_ci_jobs_migration>`.
Andrea Frittolifddf3432018-02-19 18:34:43 +0000150
Sean Daguecea7ec82016-08-05 08:29:54 -0400151Get :doc:`the big picture <overview>` of what we are trying to do
152with devstack, and help us by :doc:`contributing to the project
153<hacking>`.
Doug Hellmann84ce2f12017-05-09 07:35:08 -0400154
155Contents
156--------
157
158.. toctree::
159 :glob:
160 :maxdepth: 2
161
162 *