Browse code

Cleanup FAQ somewhat

Remove some old discussions that no longer seem relevant and cleanup a
few other points.

Change-Id: I175ddaf9362bf48d35b0e648904eeb21bdc3c793

Ian Wienand authored on 2015/06/02 09:08:04
Showing 1 changed files
... ...
@@ -10,36 +10,21 @@ General Questions
10 10
 =================
11 11
 
12 12
 Q: Can I use DevStack for production?
13
-    A: No. We mean it. Really. DevStack makes some implementation
14
-    choices that are not appropriate for production deployments. We
15
-    warned you!
16
-Q: Then why selinux in enforcing mode?
17
-    A: That is the default on current Fedora and RHEL releases. DevStack
18
-    has (rightly so) a bad reputation for its security practices; it has
19
-    always been meant as a development tool first and system integration
20
-    later. This is changing as the security issues around OpenStack's
21
-    use of root (for example) have been tightened and developers need to
22
-    be better equipped to work in these environments. ``stack.sh``'s use
23
-    of root is primarily to support the activities that would be handled
24
-    by packaging in "real" deployments. To remove additional protections
25
-    that will be desired/required in production would be a step
26
-    backward.
27
-Q: But selinux is disabled in RHEL!
28
-    A: Today it is, yes. That is a specific exception that certain
29
-    DevStack contributors fought strongly against. The primary reason it
30
-    was allowed was to support using RHEL6 as the Python 2.6 test
31
-    platform and that took priority time-wise. This will not be the case
32
-    with RHEL 7.
13
+
14
+    A: DevStack is targeted at developers and CI systems to use the
15
+    raw upstream code.  It makes many choices that are not appropriate
16
+    for production systems.
17
+
18
+    Your best choice is probably to choose a `distribution of
19
+    OpenStack
20
+    <https://www.openstack.org/marketplace/distros>`__.
21
+
33 22
 Q: Why a shell script, why not chef/puppet/...
34 23
     A: The script is meant to be read by humans (as well as ran by
35 24
     computers); it is the primary documentation after all. Using a
36 25
     recipe system requires everyone to agree and understand chef or
37 26
     puppet.
38
-Q: Why not use Crowbar?
39
-    A: DevStack is optimized for documentation & developers. As some of
40
-    us use `Crowbar <https://github.com/dellcloudedge/crowbar>`__ for
41
-    production deployments, we hope developers documenting how they
42
-    setup systems for new features supports projects like Crowbar.
27
+
43 28
 Q: I'd like to help!
44 29
     A: That isn't a question, but please do! The source for DevStack is
45 30
     at
... ...
@@ -49,27 +34,23 @@ Q: I'd like to help!
49 49
     follow the usual process as described in the `developer
50 50
     guide <http://docs.openstack.org/infra/manual/developers.html>`__. This Sphinx
51 51
     documentation is housed in the doc directory.
52
+
52 53
 Q: Why not use packages?
53 54
     A: Unlike packages, DevStack leaves your cloud ready to develop -
54 55
     checkouts of the code and services running in screen. However, many
55 56
     people are doing the hard work of packaging and recipes for
56
-    production deployments. We hope this script serves as a way to
57
-    communicate configuration changes between developers and packagers.
57
+    production deployments.
58
+
58 59
 Q: Why isn't $MY\_FAVORITE\_DISTRO supported?
59 60
     A: DevStack is meant for developers and those who want to see how
60 61
     OpenStack really works. DevStack is known to run on the
61 62
     distro/release combinations listed in ``README.md``. DevStack is
62 63
     only supported on releases other than those documented in
63 64
     ``README.md`` on a best-effort basis.
64
-Q: What about Fedora/RHEL/CentOS?
65
-    A: Fedora and CentOS/RHEL are supported via rpm dependency files and
66
-    specific checks in ``stack.sh``. Support will follow the pattern set
67
-    with the Ubuntu testing, i.e. only a single release of the distro
68
-    will receive regular testing, others will be handled on a
69
-    best-effort basis.
70
-Q: Are there any differences between Ubuntu and Fedora support?
71
-    A: Neutron is not fully supported prior to Fedora 18 due lack of
72
-    OpenVSwitch packages.
65
+
66
+Q: Are there any differences between Ubuntu and Centos/Fedora support?
67
+    A: Both should work well and are tested by DevStack CI.
68
+
73 69
 Q: Why can't I use another shell?
74 70
     A: DevStack now uses some specific bash-ism that require Bash 4, such
75 71
     as associative arrays. Simple compatibility patches have been accepted
... ...
@@ -77,26 +58,23 @@ Q: Why can't I use another shell?
77 77
     compatibility patches will be considered except for shells matching
78 78
     the array functionality as it is very ingrained in the repo and project
79 79
     management.
80
-Q: But, but, can't I test on OS/X?
81
-   A: Yes, even you, core developer who complained about this, needs to
82
-   install bash 4 via homebrew to keep running tests on OS/X.  Get a Real
83
-   Operating System.   (For most of you who don't know, I am referring to
84
-   myself.)
80
+
81
+Q: Can I test on OS/X?
82
+   A: Some people have success with bash 4 installed via
83
+   homebrew to keep running tests on OS/X.
85 84
 
86 85
 Operation and Configuration
87 86
 ===========================
88 87
 
89 88
 Q: Can DevStack handle a multi-node installation?
90
-    A: Indirectly, yes. You run DevStack on each node with the
91
-    appropriate configuration in ``local.conf``. The primary
92
-    considerations are turning off the services not required on the
93
-    secondary nodes, making sure the passwords match and setting the
94
-    various API URLs to the right place.
89
+    A: Yes, see :doc:`multinode lab guide <guides/multinode-lab>`
90
+
95 91
 Q: How can I document the environment that DevStack is using?
96 92
     A: DevStack includes a script (``tools/info.sh``) that gathers the
97 93
     versions of the relevant installed apt packages, pip packages and
98 94
     git repos. This is a good way to verify what Python modules are
99 95
     installed.
96
+
100 97
 Q: How do I turn off a service that is enabled by default?
101 98
     A: Services can be turned off by adding ``disable_service xxx`` to
102 99
     ``local.conf`` (using ``n-vol`` in this example):
... ...
@@ -113,31 +91,22 @@ Q: Is enabling a service that defaults to off done with the reverse of the above
113 113
         enable_service qpid
114 114
 
115 115
 Q: How do I run a specific OpenStack milestone?
116
-    A: OpenStack milestones have tags set in the git repo. Set the appropriate tag in the ``*_BRANCH`` variables in ``local.conf``.  Swift is on its own release schedule so pick a tag in the Swift repo that is just before the milestone release. For example:
116
+   A: OpenStack milestones have tags set in the git repo. Set the
117
+   appropriate tag in the ``*_BRANCH`` variables in ``local.conf``.
118
+   Swift is on its own release schedule so pick a tag in the Swift repo
119
+   that is just before the milestone release. For example:
117 120
 
118 121
     ::
119 122
 
120 123
         [[local|localrc]]
121
-        GLANCE_BRANCH=stable/juno
122
-        HORIZON_BRANCH=stable/juno
123
-        KEYSTONE_BRANCH=stable/juno
124
-        NOVA_BRANCH=stable/juno
125
-        GLANCE_BRANCH=stable/juno
126
-        NEUTRON_BRANCH=stable/juno
127
-        SWIFT_BRANCH=2.2.1
128
-
129
-Q: Why not use [STRIKEOUT:``tools/pip-requires``]\ ``requirements.txt`` to grab project dependencies?
130
-    [STRIKEOUT:The majority of deployments will use packages to install
131
-    OpenStack that will have distro-based packages as dependencies.
132
-    DevStack installs as many of these Python packages as possible to
133
-    mimic the expected production environment.] Certain Linux
134
-    distributions have a 'lack of workaround' in their Python
135
-    configurations that installs vendor packaged Python modules and
136
-    pip-installed modules to the SAME DIRECTORY TREE. This is causing
137
-    heartache and moving us in the direction of installing more modules
138
-    from PyPI than vendor packages. However, that is only being done as
139
-    necessary as the packaging needs to catch up to the development
140
-    cycle anyway so this is kept to a minimum.
124
+        GLANCE_BRANCH=stable/kilo
125
+        HORIZON_BRANCH=stable/kilo
126
+        KEYSTONE_BRANCH=stable/kilo
127
+        NOVA_BRANCH=stable/kilo
128
+        GLANCE_BRANCH=stable/kilo
129
+        NEUTRON_BRANCH=stable/kilo
130
+        SWIFT_BRANCH=2.3.0
131
+
141 132
 Q: What can I do about RabbitMQ not wanting to start on my fresh new VM?
142 133
     A: This is often caused by ``erlang`` not being happy with the
143 134
     hostname resolving to a reachable IP address. Make sure your
... ...
@@ -145,6 +114,7 @@ Q: What can I do about RabbitMQ not wanting to start on my fresh new VM?
145 145
     in ``/etc/hosts`` is often good enough for a single-node
146 146
     installation. And in an extreme case, use ``clean.sh`` to eradicate
147 147
     it and try again.
148
+
148 149
 Q: How can I set up Heat in stand-alone configuration?
149 150
     A: Configure ``local.conf`` thusly:
150 151