找回密码
 注册
查看: 4885|回复: 2

通过packstack快速安装openstack

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-9-26 09:36:10 | 显示全部楼层 |阅读模式
1、下载和安装操作系统$ j6 u9 T+ k7 ?' t7 J) q3 c0 l
# o7 [* B  t! u

5 f7 I: [1 D% @! S% b
2 O0 x! a1 _& Z, s: ^https://mirrors.aliyun.com/cento ... 4-Minimal-1708.iso1
- ~' v+ y- v3 _- E- z+ z) G" u$ e$ a' X, Q. c1 M$ t  x* Q3 I& p
安装操作系统
, _5 ?7 W/ T+ H+ I5 g# {, x. ~3 ?5 L5 W% _0 Q
略过……4 \* J3 b4 `6 u# X+ f/ z
2 z, B# \5 T, w2 b$ r) s8 w6 A# H% P
2、配置要求
8 V0 a. I- {- r1 y9 d. H. C6 D7 v$ h" B7 B
1 T" a5 e! `4 ?9 e% ?2 Z: ]

1 ?9 g& H# z# m2 h/ p2 h2+ vCPU
9 B# c3 @  I- J! |% S8 t0 O0 h( ~9 l: J+ u
4+G MEM
) g. D& \  j  @5 _, G
( u9 W6 ?" i3 C' O5 z- k50+G DISK/ k1 u3 Y5 ^6 Z3 _+ M9 r* s
% C+ |* X" N8 R
网卡2个  j3 l' p! \9 ?' l, I* V
12345678
1 s. }6 r/ r5 I, h. f9 B$ t. M. P' N2 _8 E  W6 ?9 j
3、配置pike版本openstack源(此处采用阿里源)" U1 A6 H( _0 ^* v+ K! l/ a* x
- ^# L$ a9 E9 Q2 [4 _0 [1 z! A' Y
* @1 K, V7 k" ^; F/ Q8 ^
) ^9 w1 V# Y: ^5 y( r6 r; v
# cat <<END >/etc/yum.repos.d/pike.repo! i' Y' N- v# r" [& r& h9 J, U
[pike]
4 U: a7 i9 }. N0 f- I7 I5 Ename=pike( s& Q$ n9 s' c* O( a5 z3 r  G6 w
baseurl=http://mirrors.aliyun.com/centos/7.4.1708/cloud/x86_64/openstack-pike/
: Z& `2 o( u2 h( [% J* Nenabled=18 H8 {- m; m4 d1 ?% @
gpgcheck=0, |1 m8 m* k3 e# ]% A) n
END1234567
" ]/ U6 |+ o& S" r) w2 [" j! Q6 U0 G
新增清华的kvm源6 j6 ^3 K* S7 J: a0 D5 c* b& E

; e# |4 b/ ^+ w7 H/ `! i1 O. u
* D5 n( C# T) ]+ F( |& e3 V4 p2 V; ^1 A# w) C- f+ H, Q9 C% n  i2 Q
cat  <<END >  /etc/yum.repos.drhel.repo 4 Y" ?4 g4 f3 a2 h# Z, j/ x3 g
[rhel]
7 T) {" P1 ^, Hname=rhel
. b0 ?2 o. i+ kbaseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/virt/x86_64/kvm-common/
/ C; c: B3 V9 l  cenabled=1
" m* J8 Y+ |3 `6 I4 Jgpgcheck=0# d+ `$ M( o( C
END1234567
. ]- _( e# J9 w
: s* u) L' I. J8 I, O) ^4、安装epel源2 S$ W  t3 F0 f. s
/ ]. a4 F2 n1 c2 f/ z" h  C& i
yum install epel-release -y. K- y0 ]. I7 B( C3 T
, B/ T; ^% J. Y0 W2 ^( M8 ]/ q6 X3 f
5、安装packstack安装工具
5 o9 T0 \* P! r
7 @% }9 r( Y' j, d9 n
/ [9 O$ f! `/ m& h& c: Y% j# F: `# _
yum -y install openstack-packstack
+ j- v$ j" ?) h  B- e) L- I! ^. J; I  ?& ^' O: V6 P7 I
6、安装allinone的的环境
0 h$ }) Q/ i, q& d  F2 h
9 z5 Q+ ~  `/ K7 M; C7 I$ C( |/ K
9 N0 h; v4 n4 a9 m. `8 n* `8 q% L* |8 H+ ~
packstack --allinone" l- ]; j7 N' ]

; k1 K. t+ C3 T+ H' ?  }注意:
) }. @- O8 `- u4 m' y1 x: u5 |2 a! N7 Z
1)、安装大概一个小时左右,由于网络问题可能会报错,报错后重复执行即可
( n' B1 l6 W' s  k+ T  b
3 `  t! G9 f8 D6 l4 r: s$ S% W# t/ X1 \- o; c0 i& F
# R/ o; d1 p* S0 O
packstack --answer-file packstack-answers-20171129-031548.txt
6 }% M5 i# w, g) \( E1 @9 C& L: }( c- H. b
2)、自定义安装
: m  x! r, g* \" \/ G6 m1 w7 a, ?
" C, |$ E1 N+ b. a+ \如果需要自定义参数,需要先生存应答文件
8 n# r; t" o9 Y, P/ ?! W  j
! K! T2 [. ]8 J/ s
" m9 N5 e6 w3 x! g) W' H9 b- u; f& M, P* e
packstack --gen-answer-file=packstack-answers
& C1 }* G1 P5 q! l- ]$ Q
0 M& R! c& [8 ~! W" W通过应答文件执行安装
, E* ]( Y3 ^9 ?
5 N7 b; h/ |" l$ k2 v8 m5 X  `3 c0 \5 S8 I9 y3 J/ Q- H
* q/ X* \3 |0 O# a6 U+ ]  ~' D$ p
packstack --answer-file=packstack-answers
8 r/ ~! t$ V* r! o9 u0 L' D6 C
- R, P+ U1 |! ?- b0 J4 ?, e7、验证
" E* Y% I6 o# f" C0 z
1 K: V: k9 z+ t* P1)登录dashboard9 s$ C% u4 z( m) N# e& P, y" |

# |: q* l' K3 l) p8 g$ `, T$ H) thttp://172.16.8.100/dashboard
8 H' T0 z" |1 T) Q, Q+ D
1 O6 r4 @) E. s" L/ ?. K" ?" h% W* ^" r* d
$ J2 P1 B, V2 t2 a
注意: # S0 B& ]/ A$ o- o% p* \- }7 n& k
用户名和密码在执行命令的当前目录下的keystonerc_admin中5 _- |" r( K# y/ |$ L) A

8 z0 h0 s5 F# B2 s( f2 f/ m" e  ~* E5 m; r1 H1 E

4 @+ j- y; T* E) M6 h9 s# source keystonerc_admin* S! z7 K6 R- z5 A
1 B% w/ A( r7 w; v& e/ C
2)、查看用户
; o: p4 `) |7 L# \9 d0 ~  P: x, h. p7 X1 ], ~! u6 J# L

: B% T7 @; E5 M# V) G; F
) ~( Z* Q9 \) y, W' h; r: Q# openstack user list 0 `" R9 y! L  C# @2 _+ |1 w/ \
+----------------------------------+------------+
" b* N  ^6 B  X4 {| ID                               | Name       |0 d6 C( J) ?# k% @. R) o
+----------------------------------+------------+
' Y7 Z* ?( K0 N4 \6 O| 15b05802627f4f42b4ae3253f5ce6730 | cinder     |
' M6 g, k  p, N1 z1 Q$ F; k| 2ac16759b27f480da9adff72188c79f3 | glance     |1 D  I3 d2 S* v; a+ @+ O
| 2aced06e7c984399a7cc799de9199244 | aodh       |. X/ n& b/ _/ d+ U
| 3fdc02269da74e67be50c1d2f8711f3b | gnocchi    |
) E0 `: v. z( Q| 70a112fdec0842979e8e9e5e9f171791 | nova       |$ k# n5 T3 ]$ ~3 s0 a  ~* s: e
| 866962fe0ee14c379dc6245a8ee5a707 | placement  |' w" x6 ?0 E# |- H% P- c  l5 k
| a1c35ba084554dd1bca310667a82bdd2 | ceilometer |
* \& S  \0 y0 P* i+ ]| bce952e6b65641aa93aab872d04e7c0c | admin      |
8 G& l% R* D6 G0 h* h| c2082398028442a7bff898fb6745af57 | swift      |
8 ]0 B- O! L& T  L3 U| e43f38301fed4a44ae070b6e7b0a0026 | neutron    |
+ @) ]' |& x: v! ]: e| fbbd1aff07fd4b48a0020bddd2c8deea | demo       |
) J8 J3 W- }% [0 V; E+----------------------------------+------------+& n$ R( ]. b$ x! ^$ P

5 z. B, Y, w% \' N" P3)、查看项目( y. p& ]; F" ^

+ |0 n3 B+ c3 T
( z# H+ k" `& T; t* Q4 @
+ h. }# j5 @" I4 w( Q" J# openstack project list
2 v! u( K9 m1 T* e# l0 @  O+----------------------------------+----------+' q6 _, n: ?7 z- Q8 Q+ e, A
| ID                               | Name     |( I  P2 j1 w/ v( Z0 k
+----------------------------------+----------+* h  Y+ s% [# P3 s- S
| 2bbfb410124f4454a45f012a6274eff7 | demo     |- C9 J- L4 l! @% a( {
| 400487fe18a541f1a3c4c462b4ff9fa6 | admin    |
; ~6 y0 c. Y5 m, ?| 8b051a62445f4106a17f5521cd713841 | services |
1 J) A# D  G& p+----------------------------------+----------+
8 L5 Q) V  e: ^- \+ h
0 m6 c! A8 p$ K1 m4)、查看服务
9 C! ^5 m* |3 ?) d, i2 I! [7 p; h" p$ F2 h& {7 D

6 W4 @( h' O6 m" l% e0 y) @0 O6 ~+ z. e  ~% _( O: m9 Z6 e
# openstack service list . D/ I! x) @" t8 t& W
+----------------------------------+------------+--------------+! K; e  M% t9 {( P
| ID                               | Name       | Type         |7 K. ^. K% w* A( E( g+ a1 l3 ?
+----------------------------------+------------+--------------+
) R- b/ ]% C% ~% ?' r4 X5 d% f/ x| 128e1c41dae648fd84266be576ab6b8e | aodh       | alarming     |4 E7 V, }/ k% \' |$ F9 @* W
| 1549860212bd444eb96ebe3399e1af05 | cinderv2   | volumev2     |
; a9 n% {9 G  k% S9 _6 Z6 D, d| 5144ecf07843499aa76a1c5bdeafcfa2 | nova       | compute      |" F6 N/ i" V% k. O% k
| 5670a37cdd7e48c4b77b744082dfd5cd | cinder     | volume       |
# E1 I, {& }  ?( R. f' p| 7963a27f90de40ed900bcff7f0771ab9 | swift      | object-store |
& U; O+ Y6 j+ v. j% S| 9aa244907a4e428b8a8c996e086a518f | placement  | placement    |' b: I, n8 r  k% J
| a967ff55c55143439e899cbd0530af6b | neutron    | network      |( B/ x- A: H/ C3 u  G) n
| c06cc37f779a4163b147fca99ec3cc33 | keystone   | identity     |6 d5 X' G0 {& n9 t1 L
| c8a39eec1cac44719bbb15b883d62735 | glance     | image        |
" v/ ^; M4 b; u9 d' i+ Q| d8871026f6cc4c00b25bcfcf6ae05064 | ceilometer | metering     |3 c' ?7 j1 X2 O: B" c
| f2b5cd4ee2344f389e6eb1e9a8fbccfc | gnocchi    | metric       |
% d9 b1 N3 [8 o: W| fccbbd2dbf3141acbe8a2291df1b67a1 | cinderv3   | volumev3     |% b2 d( d- \& h# C2 U2 \* z+ T' w3 x
+----------------------------------+------------+--------------+- }0 ^* f( f) }: n  P0 K" V- U1 E

- k: f# y" J* F1 F* [; Q( m$ L, b1 e1 K5)、查看catalog: i5 l, J, ^  t% i1 G6 Z
5 J$ c* `" \' i- ^0 _- J3 V1 b
5 X) h& c2 O8 x6 @! q
; B$ U6 l$ N, y3 S- }/ T* C
+------------+--------------+----------------------------------------------------------------------------+
) w' V1 K: d* M2 l  E& z" C$ v| Name       | Type         | Endpoints                                                                  |
! O% x3 i2 I8 [9 {0 J( Q+------------+--------------+----------------------------------------------------------------------------+. Q! N6 m9 w1 C( [6 s
| aodh       | alarming     | RegionOne                                                                  |
( r+ @4 F  J* X) \$ B2 I* s6 b|            |              |   internal: http://172.16.8.100:8042                                       |
0 O( @2 w4 g6 l% e|            |              | RegionOne                                                                  |0 ]# ~# V% ]! @' T: v6 }
|            |              |   public: http://172.16.8.100:8042                                         |3 |* ~2 A8 p% c' u% ?0 m# G0 D7 g$ k
|            |              | RegionOne                                                                  |
. i2 o$ K: a* D5 d. J|            |              |   admin: http://172.16.8.100:8042                                          |
9 h/ @! B9 n7 a0 g|            |              |                                                                            |/ D* T% C3 g/ M
| cinderv2   | volumev2     | RegionOne                                                                  |
  k' Y; D. x' e. Z|            |              |   internal: http://172.16.8.100:8776/v2/400487fe18a541f1a3c4c462b4ff9fa6   |
' R$ j. Q) ?' ]3 ~" f|            |              | RegionOne                                                                  |- Z; x  C% T. T
|            |              |   admin: http://172.16.8.100:8776/v2/400487fe18a541f1a3c4c462b4ff9fa6      |6 }) o2 k/ ]$ ^5 b& E" c
|            |              | RegionOne                                                                  |
7 ~9 `; u% G, ]% ]2 U4 G|            |              |   public: http://172.16.8.100:8776/v2/400487fe18a541f1a3c4c462b4ff9fa6     |( S5 [: e% a1 r3 U/ [# I5 V
|            |              |                                                                            |& H3 ~& h! Q' H+ M) n! D  t
| nova       | compute      | RegionOne                                                                  |- V. u- f* k3 x2 s# U: {
|            |              |   admin: http://172.16.8.100:8774/v2.1/400487fe18a541f1a3c4c462b4ff9fa6    |% d. z; Q& C3 p) {! @$ J3 F
|            |              | RegionOne                                                                  |7 T6 E  X6 G  l0 o& Z3 z2 T" c
|            |              |   internal: http://172.16.8.100:8774/v2.1/400487fe18a541f1a3c4c462b4ff9fa6 |
5 S0 s4 \6 g1 g% f5 j1 C9 Z|            |              | RegionOne                                                                  |
  _5 P# _1 [6 }+ ]  N: O2 b|            |              |   public: http://172.16.8.100:8774/v2.1/400487fe18a541f1a3c4c462b4ff9fa6   |
8 n% z8 O+ H! N" @) \$ x8 }1 Y/ ?|            |              |                                                                            |4 E0 {% D! F/ f: b9 i) ^
| cinder     | volume       | RegionOne                                                                  |( O) z8 ]4 o7 e5 y. J5 Q
|            |              |   internal: http://172.16.8.100:8776/v1/400487fe18a541f1a3c4c462b4ff9fa6   |
* n5 \" F& P) G7 i  ~* W|            |              | RegionOne                                                                  |
- m( y& [4 m- P* z, ^0 t|            |              |   public: http://172.16.8.100:8776/v1/400487fe18a541f1a3c4c462b4ff9fa6     |. x* m# z9 J  t8 b0 F7 {5 j2 a
|            |              | RegionOne                                                                  |  H( |  \4 x0 B
|            |              |   admin: http://172.16.8.100:8776/v1/400487fe18a541f1a3c4c462b4ff9fa6      |
0 a6 U" j$ K" G" `) b! [|            |              |                                                                            |/ N; W1 W1 }! X1 c) h% Y
| swift      | object-store | RegionOne                                                                  |7 w+ X5 ^3 o& u- d- n
|            |              |   public: http://172.16.8.100:8080/v1/AUTH_400487fe18a541f1a3c4c462b4ff9fa6|
  U1 Z9 n: }2 Z( p1 V! X7 R|            |              | RegionOne                                                                  |
# a' ?3 k) Z% [: s* N9 p|            |              |   admin: http://172.16.8.100:8080/v1/AUTH_400487fe18a541f1a3c4c462b4ff9fa6 |
9 }6 D9 s! ^7 b! a4 D& N|            |              | RegionOne                                                                  |
$ D8 ~- \% H0 M# F|            |              |   internal: http://172.16.8.100:8080/v1/AUTH_400487fe18a541f1a3c462b4ff9fa6|' a& i2 i- N3 s1 a0 J# Z' Y& e7 T2 z
|            |              |                                                                            |
4 ^4 [  k+ U+ \% q/ c6 K| placement  | placement    | RegionOne                                                                  |; S7 h6 l* S: @
|            |              |   public: http://172.16.8.100:8778/placement                               |
4 M7 T1 a+ y8 Z  s7 w|            |              | RegionOne                                                                  |/ B& S) C/ @, q6 P  ]* k
|            |              |   admin: http://172.16.8.100:8778/placement                                |0 s1 k1 \, X) }: j
|            |              | RegionOne                                                                  |
! M; K' e; G% `, s|            |              |   internal: http://172.16.8.100:8778/placement                             |
% W4 d9 ^. {+ d) |3 }. D1 d" Y|            |              |                                                                            |1 n+ q0 z& W7 N
| neutron    | network      | RegionOne                                                                  |
8 B8 |& R# U) i5 [1 K- {: F|            |              |   public: http://172.16.8.100:9696                                         |" Q& h: F2 C( d5 {# z" S! R% w) i
|            |              | RegionOne                                                                  |
: o# G# ^* N4 o2 Y4 b|            |              |   internal: http://172.16.8.100:9696                                       |
! d! |. i% \( [0 h& X5 f|            |              | RegionOne                                                                  |2 d. Y0 a2 ^8 b5 M
|            |              |   admin: http://172.16.8.100:9696                                          |
3 y4 k7 q  I% e/ q( x6 A! H|            |              |                                                                            |! v+ |, r" Z6 ^8 b; C0 [
| keystone   | identity     | RegionOne                                                                  |# U! W5 g# J+ d
|            |              |   admin: http://172.16.8.100:35357/v3                                      |, q9 f' ~1 J5 Y" _5 N; H* `
|            |              | RegionOne                                                                  |- Q+ U3 J+ O8 Y# A
|            |              |   public: http://172.16.8.100:5000/v3                                      |9 ~5 z4 p& H' b+ n3 I" r3 v2 G
|            |              | RegionOne                                                                  |
5 \0 i- m+ g' C5 h' U4 {|            |              |   internal: http://172.16.8.100:5000/v3                                    |
, m1 s" p& c4 }. Z# F  b4 b|            |              |                                                                            |
- g& A8 }2 P) Y  T9 Z| glance     | image        | RegionOne                                                                  |
* O3 C. c+ \& V  g|            |              |   public: http://172.16.8.100:9292                                         |3 A0 J- p* D+ U# {" E7 g0 p+ }/ x
|            |              | RegionOne                                                                  |/ E7 |. K; K5 h8 |2 ]8 ~
|            |              |   internal: http://172.16.8.100:9292                                       |$ v3 u% t. R& S* i
|            |              | RegionOne                                                                  |0 z) u9 V. C- D" d5 v
|            |              |   admin: http://172.16.8.100:9292                                          |
. R; \0 P, a6 l- r|            |              |                                                                            |+ S  v* H- L! b$ p* k  x* F
| ceilometer | metering     | RegionOne                                                                  |
# b! y7 W( {$ X3 ^' {& x|            |              |   admin: http://172.16.8.100:8777                                          |- Y  m$ R! }2 j/ ?
|            |              | RegionOne                                                                  |$ B+ }. W3 ]4 ?+ A  A; O( j
|            |              |   internal: http://172.16.8.100:8777                                       |
, g2 X7 ~+ L2 s2 h/ U6 v|            |              | RegionOne                                                                  |
8 r$ P0 L' I0 G3 N0 Y/ G|            |              |   public: http://172.16.8.100:8777                                         |
8 p' @3 l4 ?6 b|            |              |                                                                            |) k6 {5 o+ Z' Z6 y( ~. P
| gnocchi    | metric       | RegionOne                                                                  |
7 u! T( ]) y# p+ p0 b|            |              |   public: http://172.16.8.100:8041                                         |- q. ^" n8 |$ v, l) S# D' X* N
|            |              | RegionOne                                                                  |
' S+ i5 \6 I4 O8 W+ B" J|            |              |   internal: http://172.16.8.100:8041                                       |
/ A) d/ C  o% t/ I& L+ F7 k/ `- Z|            |              | RegionOne                                                                  |# M! }) t7 p, |/ `: \& Y0 f
|            |              |   admin: http://172.16.8.100:8041                                          |/ Q" `: C/ D" y# }0 {7 t: v3 M
|            |              |                                                                            |$ l% c3 _9 h7 Q5 M: ^
| cinderv3   | volumev3     | RegionOne                                                                  |
1 U  n. ?' [5 A4 U( w) G/ D|            |              |   public: http://172.16.8.100:8776/v3/400487fe18a541f1a3c4c462b4ff9fa6     |
8 G( C) v, D6 G|            |              | RegionOne                                                                  |* O  L' |3 Z" K% z- T6 P0 b
|            |              |   internal: http://172.16.8.100:8776/v3/400487fe18a541f1a3c4c462b4ff9fa6   |
- C: Q' C: Y0 n|            |              | RegionOne                                                                  |# L9 D$ m# M+ r  f" [  t2 R% r7 f: _
|            |              |   admin: http://172.16.8.100:8776/v3/400487fe18a541f1a3c4c462b4ff9fa6      |. Q9 r  R2 R/ X: q
|            |              |                                                                            |& k9 a& g% {. O! v6 u6 g8 s4 ?+ Y* N
+------------+--------------+----------------------------------------------------------------------------+6 E" E# u3 P# G: e3 B# g

: ~' w3 J5 D6 `如果遇到以下问题:
0 n' l2 n! h7 L5 d& y0 i
& \% l* e7 G2 e) X
# I* n8 }! D- s2 @/ d3 ~$ }) X1 m0 ?5 k, @; P) }! j: D
[root@queens ~]# packstack --gen-answer-file=packstack-answers9 ]  n) I% R2 D2 o
ERROR:root:Traceback (most recent call last):
5 v4 K* R4 S' }: I9 N  File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 991, in main' D, `3 @+ E- G' ~4 E
    optParser = initCmdLineParser()# k* Q; X7 c) _$ u9 Q% F" I
  File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 840, in initCmdLineParser* o7 I: k$ e% @4 X
    parser = OptionParser(usage=usage, version="%prog {0}".format(version_info.version_string()))
$ [- u0 C: Y" p- N$ K' I% h  File "/usr/lib/python2.7/site-packages/pbr/version.py", line 466, in version_string* ?4 u9 y7 u" A( o
    return self.semantic_version().brief_string()! r; S- Q' W$ ^! V7 R% U  y( [
  File "/usr/lib/python2.7/site-packages/pbr/version.py", line 461, in semantic_version. D% B) O# J" X* E* b8 x# S! {
    self._semantic = self._get_version_from_pkg_resources()
1 p# C/ A' @) Y2 U  File "/usr/lib/python2.7/site-packages/pbr/version.py", line 438, in _get_version_from_pkg_resources- U* ~. {* d5 I$ F  {3 H" _; ^
    import pkg_resources
2 B( k9 W% t# E4 U& vImportError: No module named pkg_resources
" g- C7 `; f- \( a, X& @: b8 j/ _$ B! d! a1 g/ _4 Q

7 k" [* W- d3 DERROR : No module named pkg_resources12345678910111213141516) ^6 {6 f8 {2 ?' n& p9 o5 w
# }4 o3 N. s: E; l% K7 `% e, C% |
解决办法: P9 ?. C1 r/ [; @, o

% F. E; {2 Q4 byum install  python-pip$ C: n. U3 s" |6 l  g4 ]3 M, o

" U4 \6 h6 d. S' a! T3 }

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2018-9-26 09:42:22 | 显示全部楼层
[general]9 Z: J) T2 W8 @1 W3 D

3 a4 W; O& b  d) j* Q! ]# w+ l) `: |5 H4 ^2 t1 O

8 c( F1 x9 ]( Q1 F9 ?1 E# Path to a public key to install on servers. If a usable key has not
" @6 E4 R5 A2 d: G( F' D. `. e
% e' b& M! I1 p7 ~6 K! n2 L# been installed on the remote servers, the user is prompted for a; m" s0 M+ m! b4 s

  f! L) j/ p! |( \3 v# I# password and this key is installed so the password will not be* V' d$ R6 E, \* N1 E- _# T) O* g
# c2 M1 K7 Y8 {: q# P
# required again.% d1 g1 R5 d, C1 |; ~
" s: d  i( D. _  X7 j
CONFIG_SSH_KEY=/root/.ssh/id_rsa.pub
4 x! L: g7 j, E9 V/ {) q) b9 L! g9 D& d& n2 P

/ ?  H0 A$ m% D" p/ w; V, ~1 I! O; u# D9 b7 B) F" O& u6 L' K( P% H
# Default password to be used everywhere (overridden by passwords set. `8 @! C3 t1 r! q# ?4 t5 o# P  e: q+ A
+ T$ B$ k9 Q2 h4 B; `! p
# for individual services or users).: D0 Q+ T# |+ [( d/ _3 N+ W7 m( H
# D) `5 r. G5 U6 n
CONFIG_DEFAULT_PASSWORD=
9 V7 v/ }; R7 t1 M* H- r0 |8 B
, x, O+ x; V: k. s: z

2 q( \/ K/ N4 O, H# The amount of service workers/threads to use for each service.2 X/ H+ A) I+ V: W) d9 E' L4 z
' r9 W9 Q1 `6 s7 ?9 y! [
# Useful to tweak when you have memory constraints. Defaults to the) m  V+ e/ D) b8 n# k5 N" n
: l9 i1 s  l/ n+ [4 L
# amount of cores on the system.8 h' o: I/ ^& P& o
( [# O! v8 Y8 w; V; a' j( E
CONFIG_SERVICE_WORKERS=%{::processorcount}& A' Q9 j; `% K; e
/ Z+ w1 C* v% A* W( W- ]9 f
$ W* v0 p3 u/ D. _
% c* a- N: |# p
# Specify 'y' to install MariaDB. ['y', 'n']+ j: U, ~6 y; i
" c; W! \- Q( o
CONFIG_MARIADB_INSTALL=y
7 _; y% h( s7 B8 g4 A
0 {- g2 h, m! U* z5 _7 [4 ?2 s! q) o+ R7 G) v- f$ q* h7 ]: Y
7 [+ k2 `# V: J3 L$ p
# Specify 'y' to install OpenStack Image Service (glance). ['y', 'n']7 ?  _% s/ c! \

* U6 c7 N/ }3 k+ Q- ^CONFIG_GLANCE_INSTALL=y
9 R/ D, u! d6 F" b$ s" T% B' O; K0 b8 J# b8 }( w2 D5 k

4 M4 e7 v5 y3 H/ P2 C  |% N/ _: O
$ U' O  m5 I, l7 v# L/ h# Specify 'y' to install OpenStack Block Storage (cinder). ['y', 'n']
9 b4 E2 i$ @2 k* A8 I% [1 x3 q
$ z$ u5 x; `/ @- Y% o+ |CONFIG_CINDER_INSTALL=y/ f/ G1 N3 |* |& M! c

$ a. s! f: P7 K0 H! h- Y2 _
; e4 \, s* v" K9 H# j5 O/ S
& [- C* j. I, I8 k# Specify 'y' to install OpenStack Shared File System (manila). ['y',
; \- K  a3 m% r: F  y7 b& P
1 c5 m/ O# d' b, h4 \/ J# 'n']* X3 t' q7 |2 e$ |; R! Q; K; `+ W
1 r6 e0 {4 R" L) q  c& s: ]: ~
CONFIG_MANILA_INSTALL=y
0 v" P2 C6 a+ `. z1 r5 w1 [
0 z( |( E. g9 ?3 q: Y2 ], R1 p8 d5 o7 g7 q$ p1 ?2 o" u1 |* M- T/ f
; X' n, v/ w3 ^; _9 X8 c
# Specify 'y' to install OpenStack Compute (nova). ['y', 'n']( J, Y# g  V' L0 N) @

# b2 L$ ~6 s8 D' a0 m+ u4 B; J" qCONFIG_NOVA_INSTALL=y
3 {- Q+ I& z2 l9 Y  m7 u/ z: A# A( C$ a
' |  F0 ~' R. H( F, L, e7 X2 g
9 I7 F4 g. S/ t  J( k
# Specify 'y' to install OpenStack Networking (neutron); otherwise,
; `: I" @! l; @2 z3 \
8 X, H: G0 W2 R/ @8 @# Compute Networking (nova) will be used. ['y', 'n']
" c. \" _+ n5 y! |" G
) \7 w$ G6 d% T) l. M2 h& Y; MCONFIG_NEUTRON_INSTALL=y& e$ O0 \' l1 T% L

; S2 \4 H- |, d( @  i) J8 u' k( j, i% ?) [6 o! M

6 M- U- b; P- r4 ^# Specify 'y' to install OpenStack Dashboard (horizon). ['y', 'n']
  K3 D) n0 B3 z5 S9 `- W- l& s
4 l, L$ q% `/ \8 s( T& tCONFIG_HORIZON_INSTALL=y
( G9 e2 f, Q9 a9 y* m9 p
9 X& V4 B0 J/ {4 b) N5 `3 z9 T- T) d% x: C3 ?8 m4 D# l
" T) O4 M& ]: b' h
# Specify 'y' to install OpenStack Object Storage (swift). ['y', 'n']
$ X( E7 J- [( b
& P7 @- j$ V1 f" K2 rCONFIG_SWIFT_INSTALL=y
, A$ @- E$ R3 [! v8 Z7 c- P" f% e* ~3 H# u! W
) u/ e8 ?1 m, E; w$ R
$ {# f* l# [" N
# Specify 'y' to install OpenStack Metering (ceilometer). ['y', 'n']
7 T* U  Z) W" h" f  z2 w# ^9 C. E  d- O% P$ V' G2 v; u% o
CONFIG_CEILOMETER_INSTALL=y
; E: ]3 i* v$ V/ {6 @! S0 R0 m. }) R5 i+ Y; v3 V6 [, u8 m% q
7 M$ h, E: Z8 p, L) ^- I
: y# R) G% }) W# ?5 V
# Specify 'y' to install OpenStack Telemetry Alarming (Aodh). Note3 p5 d: }% O2 ?+ u
* D/ q- ?9 v0 ?, c: A9 w& j  D. y
# Aodh requires Ceilometer to be installed as well. ['y', 'n']) J9 T% s9 I% z0 Q/ [; k- H- u+ B

5 Z+ `" }# z+ n* s3 u) ICONFIG_AODH_INSTALL=y
6 T: l' I9 ~; e7 C5 M# B& }7 L: t5 C) O1 k' ?2 Q. o9 C' p7 W
8 z4 t2 e4 J# `6 c: O

! N9 D$ N- b3 e) ?) X$ q# Specify 'y' to install OpenStack Metering as a Service (gnocchi).
; _( W" L9 O; m
, {5 I0 F/ L, o% _& E8 o# ['y', 'n']5 O- ]4 G, h4 ^% g! N

9 _4 E) r  d. bCONFIG_GNOCCHI_INSTALL=y. k. ~) a+ [) N8 K( w8 {# G
- l$ X. v6 ?: P' g" @; W3 m8 ~

0 C" T! h/ u- J# r- ?$ S& U6 K! L/ Q8 d; |# n. C
# Specify 'y' to install OpenStack Data Processing (sahara). In case9 I7 U. @7 @* B% U: S& d

: I- X. ^5 \+ H" C9 b" B+ a3 C# K4 M' c# of sahara installation packstack also installs heat.['y', 'n']
1 m1 B6 S/ p5 g4 |' Q/ p' |0 _( i* g7 X, _! J* \
CONFIG_SAHARA_INSTALL=n
9 h9 V1 B% A6 Y1 B- a; n8 A6 f6 t* Z& A  D+ q: ]

% q) s- {" m7 ?4 }* O+ p, d
7 A& n4 ]/ c# ]6 o. U3 I& c# Specify 'y' to install OpenStack Orchestration (heat). ['y', 'n']
8 O3 m2 h7 ?, A, j7 Z$ a5 B( o
1 Z6 B; E9 u6 e7 z$ MCONFIG_HEAT_INSTALL=n+ D4 C7 |3 A/ e/ t

% d  c. T$ B% `$ m) n2 n2 c, H
4 W4 t$ t! p' Z. I3 T8 i5 U
' n: I# U( q+ S4 _+ j0 S8 \/ Q# Specify 'y' to install OpenStack Database (trove) ['y', 'n']$ b  x% N5 e( Y! x# }3 \/ W
0 Q* |& a* F- e& {3 ^
CONFIG_TROVE_INSTALL=n
+ Y; ~% H. c2 V" x& H2 @
5 Q9 B; n! G3 e5 F' g- R0 ~4 Q, {2 o- \2 g
, G& C/ S: k" O
# Specify 'y' to install OpenStack Bare Metal Provisioning (ironic).& \6 ^# t1 `7 J2 }$ G

  a( L, \7 R' j, n2 g/ {. X& ]0 m: S0 C# ['y', 'n']
; Q8 B* {* E! S2 f# q  u
0 W$ r6 i7 Y3 o* A% G. m# lCONFIG_IRONIC_INSTALL=n
) j# {0 f/ Q; x: g
. n/ a/ D5 P2 {1 w: f, ?) \4 M  G$ T* U5 `

& u3 _6 t" l1 K) z# Specify 'y' to install the OpenStack Client packages (command-line# q# c6 i/ {: J; ^

/ W3 v1 l. p6 f9 p9 p9 O) ?' i# tools). An admin "rc" file will also be installed. ['y', 'n']$ p" \8 g8 w, Y! l8 U

2 Q; }- b, e: I- ~CONFIG_CLIENT_INSTALL=y( g. C4 k7 Z# M$ A/ ^0 X9 X

+ g4 i6 R6 f9 j3 C. q% L! f; ^3 C" L/ z" s6 ]) [* W

6 ~1 V1 R9 y  e% ~" y# Comma-separated list of NTP servers. Leave plain if Packstack* j2 P8 \! d: k( ~2 f8 r! V6 g
6 ~1 j5 g" }, M0 ^
# should not install ntpd on instances.0 O$ [. Z: W5 }/ O9 v

! v( l2 Q# l/ w7 p* \" iCONFIG_NTP_SERVERS=- n* }9 r0 n; I! T, T

6 d8 x2 B6 z) ^- B# i  g# J, Y5 \' D. q, |: w& Y7 R8 J
/ z/ T! p* q" a* C8 ?, S
# Specify 'y' to install Nagios to monitor OpenStack hosts. Nagios/ {0 T" C, [, _5 b- j& x

% z$ c+ l! Z* W; ~1 j# provides additional tools for monitoring the OpenStack environment.
0 L' j" T8 U; G! T3 `7 q5 g
* F' `7 q4 K& f' H# ['y', 'n']
/ \0 \7 \0 b5 c: _0 Y" f0 w( q: z) c! G; w6 H4 Q9 U& i3 C
CONFIG_NAGIOS_INSTALL=y
. q' i; k* R, }$ E. w5 m& y2 Z' D5 n9 P6 \( p
5 Q5 r( E3 s9 W8 ?) _, C

" g% T" @( D+ K) Y# }- o5 ?; Z- e# Comma-separated list of servers to be excluded from the5 H& i4 Y0 l+ k6 Q! H

7 o+ s$ D8 R1 R" M! T* ^# installation. This is helpful if you are running Packstack a second
* k# A% ~5 I$ p/ J( y) N9 T) y7 O. w6 {: A, @: \
# time with the same answer file and do not want Packstack to, r1 O, W/ I" J+ M- j1 E" @

" F& w: }* @: g, t& H# overwrite these server's configurations. Leave empty if you do not( h( s8 s# ~0 U: o. b
8 F3 I, y( ^3 W/ [8 a) f
# need to exclude any servers.
, h2 ^* D$ v3 H9 {* L% ^! n. a' j! l: \
EXCLUDE_SERVERS=
1 A# b& I; o$ y" s4 g& B4 U: b5 P* K8 ^

6 @* o; {" N' J9 y1 i$ i$ ~4 r: ^' s* P& X: e$ r1 |0 T
# Specify 'y' if you want to run OpenStack services in debug mode;8 ?& \; ], T$ a. R4 _5 I; U+ L% }9 f
! L3 Z" G4 r& q, `$ r  Z: g
# otherwise, specify 'n'. ['y', 'n']& z# k) e; h& J5 W* U
9 \( k% v0 s, a
CONFIG_DEBUG_MODE=n
/ L$ K9 _7 ^; ^7 d/ T  c. T, ]& Z9 U  i+ t6 c/ u) W
0 N6 S/ g2 @5 t/ O
- Z6 s* q7 K; u( P/ O
# Server on which to install OpenStack services specific to the* N3 }$ `( Z- S7 }# [& Q

' V# {4 [) Z9 _# controller role (for example, API servers or dashboard).
! _0 L$ E2 w' c4 T" p: f/ F$ k, I# C8 f, Q, ]1 Z( S1 g
CONFIG_CONTROLLER_HOST=10.0.2.15
% y& D  j7 ?0 P" A) Z
/ D; C! M9 r2 z7 j; x" o( z4 E2 r& ~/ X9 X2 Q! |  C; j. o
1 F: q& N$ F3 _1 o0 F8 o2 i  }
# List the servers on which to install the Compute service." R+ H% p+ E3 e0 B
+ I3 v# Z, N& }. F" [
CONFIG_COMPUTE_HOSTS=10.0.2.15
1 S" g* C/ s: W* x7 p8 K7 v
% S4 P/ e0 T$ Y  C
2 j& Z7 O. v+ X' o1 r5 B) ], r, t; Z
# List of servers on which to install the network service such as
' ^1 Z4 c8 w5 l5 Z+ w+ j- G$ a" B1 y6 Y+ c; i
# Compute networking (nova network) or OpenStack Networking (neutron).
/ M8 m3 G- c& p4 X' _+ X' L+ `; T3 j/ E. `. u& ^
CONFIG_NETWORK_HOSTS=10.0.2.15
4 f- T8 A+ ^) E- k  g
# t2 Q$ S+ x( `7 d# R. _& A2 f
0 ~4 u- J# V1 G' F0 H0 A9 ^8 f2 i; K5 l% ]8 G
# Specify 'y' if you want to use VMware vCenter as hypervisor and4 N" T/ G. o2 F$ H0 s/ p; j
6 s9 \3 b: t" D9 u( t: A6 \
# storage; otherwise, specify 'n'. ['y', 'n']$ r. u# K# s$ W+ U0 ^

" G, h( m+ v% f; wCONFIG_VMWARE_BACKEND=n
1 o) X, J9 M5 f* W) Z  @
; ?" }; V% R7 U- r4 P7 T- p3 V' w; C; m& D; ?3 w
6 X$ S3 j; `* R+ C
# Specify 'y' if you want to use unsupported parameters. This should0 ?9 P1 G$ p( {) _1 \& i  n

) @7 u3 k% B6 c  m7 r  O  g# be used only if you know what you are doing. Issues caused by using
4 A4 e* R+ L* h- X5 [6 X
8 A* ]9 F( U1 `( j% I3 g, G; K9 K# unsupported options will not be fixed before the next major release.2 [5 w% E: f# ]
7 q7 p' q  m& Y6 V5 n% W8 B- A
# ['y', 'n']
9 s( Q( ^+ K6 g3 ~! P$ G/ S4 B( e- P( T+ m/ e9 J: ]
CONFIG_UNSUPPORTED=n# |# |# M8 C" D3 b$ P& e9 m1 {0 J

, Y: H/ P& M4 o
; _- i2 O" I$ N0 r/ X, A8 f, I& j+ j  o: ]
# Specify 'y' if you want to use subnet addresses (in CIDR format). }4 l5 n( q; Q5 T. D5 c
7 I4 U" ]8 E3 m& D- X  {
# instead of interface names in following options:
' a: V" Q6 u; X0 |: Z6 S9 f4 Z% X; i3 Y* u9 Z+ R8 }
# CONFIG_NOVA_COMPUTE_PRIVIF, CONFIG_NOVA_NETWORK_PRIVIF,3 l9 V7 i1 A" k: f/ u" B( g1 ]- v
4 b# f7 ^4 h( I0 t5 K$ ~
# CONFIG_NOVA_NETWORK_PUBIF, CONFIG_NEUTRON_OVS_BRIDGE_IFACES,
- v: W) j3 O+ n6 Q3 {. \% S7 q
# CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS, CONFIG_NEUTRON_OVS_TUNNEL_IF.+ e+ h( L( q1 _8 e4 K

) y6 F  D8 }0 J, \( m3 M" X# This is useful for cases when interface names are not same on all4 B& c- d. T9 [

; \6 l* r' B1 W7 ^9 J# installation hosts.& X) z/ W8 x9 d9 ]) Y: U0 M) L6 v

4 \5 G$ ?2 o! c4 t0 y, GCONFIG_USE_SUBNETS=n) |1 ]8 b& M, w/ t

8 H7 P8 I7 f5 n( [5 C9 P
% \5 D' W0 J4 x7 _; d1 J+ A$ y! d) ~8 [8 o6 E; h- a
# IP address of the VMware vCenter server.
+ Q3 L, y2 m* Z  [4 h9 z
! L& v& d' Q3 }3 qCONFIG_VCENTER_HOST=
8 u2 d8 w& @3 a9 b4 h9 j$ h; }( [9 C8 Y9 M! C1 R* L( F- X

- a$ u! E! W1 L1 H1 S3 f  J2 X& h! Q' @8 ^0 {
# User name for VMware vCenter server authentication.
6 v" `& @9 R$ \# m: t
* w. h1 ~" \3 ACONFIG_VCENTER_USER=
+ f( z9 [! q9 U9 v) U6 F0 i" ~1 E8 L

: C9 J) m# F: \8 r  [- V  n% x' ^" }$ P
# Password for VMware vCenter server authentication.2 S- t; A' R8 a6 j% M

- u% D" o$ U% m" h4 O* H( _& C# aCONFIG_VCENTER_PASSWORD=* J' G4 S& O2 Z% x) z. M

( ]3 t& r- M3 Q7 F  Y0 a- D6 E; _/ z( g3 E' @! ^8 X
5 o! H* j1 L5 E
# Comma separated list of names of the VMware vCenter clusters. Note:4 }- m8 G' {" j0 Z  J6 V2 Z+ x

- w! y2 W6 C  B! e# if multiple clusters are specified each one is mapped to one
2 b  F3 g' C2 E5 F: D% N" B* \3 h3 h. t9 x; F# `: b
# compute, otherwise all computes are mapped to same cluster.
$ }  V$ A8 d6 Z2 v+ H4 M# W. X1 c  ~2 B& Y! m2 p! q- \2 ^
CONFIG_VCENTER_CLUSTER_NAMES=/ s" O9 s9 \7 f3 J4 T

5 K1 x" C2 W9 t* U9 _
3 g/ e5 \9 r3 G  A* Y
' \/ |9 R. C( ^# W# (Unsupported!) Server on which to install OpenStack services
) K/ L4 }; w8 ?
  q( w& e- y( _% D; n! d, Y. t+ H# specific to storage servers such as Image or Block Storage services.% h# c) `3 W( a; E2 O3 ]0 b" o

- _* T. b1 _/ LCONFIG_STORAGE_HOST=10.0.2.15
/ ]- Y/ n2 c- ]# Q; U1 c3 D7 R
" r6 \" o$ \- p- x2 p# }5 g1 I, @

# i: ?6 ^- h7 S8 u# (Unsupported!) Server on which to install OpenStack services; ~3 ?4 r, o- `0 \; u
' }+ R( D7 D! S1 b& b8 M
# specific to OpenStack Data Processing (sahara).7 ]! @6 A8 |8 x3 F; {

0 U% ~' Y! A/ V6 B& z6 mCONFIG_SAHARA_HOST=10.0.2.15/ _6 L/ W3 L8 C
$ _  r& ]8 K0 F* K! N+ B& Q

8 ?" m- p/ K4 n, }. h0 J
: s2 q2 J4 W* d0 Y3 C# Specify 'y' to enable the EPEL repository (Extra Packages for
5 V! I3 V0 B, T% [
; O/ O* v% R! [9 S+ n' }/ l+ w6 y# Enterprise Linux). ['y', 'n']! p5 f3 P) }7 {. N

0 j( X  r3 Z0 ~CONFIG_USE_EPEL=n  ^3 T% v3 h; V7 ~  y, M& R5 F

* ]2 F2 N) g7 G) P
5 k4 ?7 i: z$ r' {) A; L7 N7 g8 I* s- v% s# d
# Comma-separated list of URLs for any additional yum repositories,
* ~3 M/ u( c$ H& e- }3 v
8 Z5 x9 K* D7 N6 r# v. x# to use for installation.
( [. O: W1 L5 l
& @/ m. _: O3 `4 N  {6 g$ oCONFIG_REPO=
8 G. T1 q) r6 i% \0 ^* F8 f* |9 O7 t' [- H2 n: i1 g5 d: c

& _* ]* x( K" C8 n2 Q9 Y7 \' l5 V* d" {2 Q$ I
# Specify 'y' to enable the RDO testing repository. ['y', 'n']2 X/ a9 |0 \/ \" \/ Z. G5 l

& A- t5 w$ r/ A+ V. qCONFIG_ENABLE_RDO_TESTING=n
8 g: E* M/ F$ }+ A9 ~% Q6 E3 v! g) h! B# {+ l, r) I
# _% A8 k+ ~  E  s9 ^* D9 r2 y$ T

+ C+ d" _2 g! m- @, b3 i& s# To subscribe each server with Red Hat Subscription Manager, include
/ Y2 {) ]$ X) i( D2 x1 l6 C- _' T2 f- D
# this with CONFIG_RH_PW.6 o! N7 ]. f2 d+ ~

% z2 Z3 k) t4 K' @CONFIG_RH_USER=
$ D% W3 g' Y7 X8 h& w& Q( Y, n" K: ~

: I+ p8 _' }: t  m, `% g/ w, |4 A/ [4 m- z
# To subscribe each server to receive updates from a Satellite5 M5 k$ a; t  ~! f
9 f1 B9 K* Z3 Q3 a1 l
# server, provide the URL of the Satellite server. You must also
1 |; Q: O3 z) k+ v1 S- n5 s9 c
2 o( [: Q1 I) z: R4 W4 ^) T& p# provide a user name (CONFIG_SATELLITE_USERNAME) and password5 U/ h0 z4 ^3 b9 v, P, N  X# P
$ ^& Z3 G+ G9 }9 t' o
# (CONFIG_SATELLITE_PASSWORD) or an access key (CONFIG_SATELLITE_AKEY)
: ~- c, r% Q, n  {+ p; I% J$ M3 a8 }& u) Y  a' p
# for authentication.
% y4 Z$ J7 E7 s* o; T5 C/ @3 ^
6 t2 W) B) J7 I: ?  [" ^* \/ ?CONFIG_SATELLITE_URL=2 a2 J7 Y# e# V- |  s
3 K% g% q0 ~5 ~3 u; Q# K9 t0 n

- }) ^3 W$ V, k$ [4 G0 b1 q1 _) y, `# g1 Y2 |( Y5 W. b
# Specify a Satellite 6 Server to register to. If not specified,
! C$ h8 ~7 `: U
* D0 x& E4 A  f6 |8 O# Packstack will register the system to the Red Hat server. When this
; ]0 w1 N- a; ~7 a+ j8 O& v2 m( ~: f  \5 o
# option is specified, you also need to set the Satellite 6
3 ]$ B: p/ w# ~; B% W+ T! E7 K* `- X5 _' k& `& @6 H" C
# organization (CONFIG_RH_SAT6_ORG) and an activation key( \& Y* w: g) j3 w4 t5 h7 g
4 s& w! l# n* m& x3 g
# (CONFIG_RH_SAT6_KEY).
: T. ]* I  v- K* S
% k2 w+ {$ \4 ]CONFIG_RH_SAT6_SERVER=
' `7 |! l6 f  l; @9 A6 v+ b5 L9 `9 o& Q! q* ~( `8 t( W/ ^

9 J7 {) {# |# o+ D' X( ?/ y' f! p& N) v
# To subscribe each server with Red Hat Subscription Manager, include
* s8 g8 b; S3 E3 ]. h9 @8 }7 t5 a3 J' e( a% ^
# this with CONFIG_RH_USER.7 i2 j. ^# F$ F/ ]  W
: ?3 X- R+ A& Q: v& V. C# h
CONFIG_RH_PW=
, z( N3 |  C$ `. F, f: t: O- h) [7 o! W8 m8 Y

; h% R. O3 b5 k6 |" t9 \( V0 t3 e% T
# Specify 'y' to enable RHEL optional repositories. ['y', 'n']
$ {' e: t* Q  e, n4 B
( Z+ A4 Y. B$ R- o% f( u- CCONFIG_RH_OPTIONAL=y0 \, `* A0 ^! B% i; G
0 l3 i9 h- \/ F9 a

# R" r1 G& H1 U1 c3 ^  |& O. z0 i* K6 _( u' m$ I) e; \
# HTTP proxy to use with Red Hat Subscription Manager.
0 c. U: u4 i+ g' X: X1 H6 T/ ]0 w, N' ^1 Y( U
CONFIG_RH_PROXY=
5 g# r1 P9 ?  j$ f
. J6 G; h0 i* V  [" q! \; @
' |4 @( T. }2 x$ L3 V4 d1 m, o$ U
4 i' A$ p5 \0 R$ A6 u% q# Specify a Satellite 6 Server organization to use when registering
. _  n2 v& G: Z' i" k# d
; I) L$ b+ e5 v: J2 Q# the system.
$ q3 d! p, {" @' d! o( m
# Z4 U  [* ?  J2 fCONFIG_RH_SAT6_ORG=
2 _. K& x+ t; R% d
' ]) T- p1 G- P: w! k" m  T$ G; @. m3 m; X5 @% d$ g+ t2 {
5 O$ L& Y! S$ |- p4 Z0 B
# Specify a Satellite 6 Server activation key to use when registering, p9 a: u' P) S3 s4 Q7 C( w- Y1 ?, h

% x, P9 l0 F& s# the system.! I* L5 a9 J1 E- _# U1 X
) o! a' m" `0 Q* N( F1 |6 P& J) z- b) F
CONFIG_RH_SAT6_KEY=! g: S8 S7 n8 P- X: M* A4 ]

8 U- O/ o# ]* [+ H/ ^+ J+ s
( C5 i2 w) t8 E2 R' S9 @9 _4 V) ^$ x2 T2 r/ c
# Port to use for Red Hat Subscription Manager's HTTP proxy., Z1 Z" o7 {( f' p$ y3 X5 T  R
7 m) Y, O8 J3 u8 O1 d0 |/ q
CONFIG_RH_PROXY_PORT=
; m7 t  d( I1 I5 V4 m, u0 d
2 u, E0 Z/ x! f" p; S' C. X( d! _+ Q, @3 r' K3 u# R$ P* \

' X* C2 Q% s: N: h* \% F, F# User name to use for Red Hat Subscription Manager's HTTP proxy.* I6 O4 R% c; t+ b. O

3 {0 C. W  @1 ?1 o4 }' J; \: l8 \7 oCONFIG_RH_PROXY_USER=
/ S* }  Y& D/ u/ g9 \6 f0 N3 w+ Z5 p# v# L+ P3 h

' _9 V' z5 c  }3 r
; b3 c) U# P* c) [" J. \# Password to use for Red Hat Subscription Manager's HTTP proxy.% q' S$ _6 w- n8 V/ X) y& ^
; e& B- a& K: m. x& Q* U: Z
CONFIG_RH_PROXY_PW=
( R8 }" m5 n) l3 A: ?! E8 |# [* v8 o) ?

( t5 z/ I$ e3 E, ?1 x- r2 I' q2 F2 F+ b. x6 H& @
# User name to authenticate with the RHN Satellite server; if you
( a1 _1 ]" N" @* r/ q7 ?
+ N. |) B5 N. X9 n! N7 U+ R# intend to use an access key for Satellite authentication, leave this
* ]3 [$ x" Q5 A0 r8 v* y. K/ L: _/ C: M* @2 x9 b' d
# blank.
" T$ E  c; T/ M# p2 X9 R# ^% M' ^! |5 d/ m3 s1 }  U+ I
CONFIG_SATELLITE_USER=
/ p, m: D9 p3 i* B$ D0 U4 l4 r( b) s9 q$ ]" D5 W. b; z
4 `9 M  {( G3 l% ^: T# o; A
; n9 S/ c4 k# V9 ~6 a1 P
# Password to authenticate with the RHN Satellite server; if you
* X7 `3 K2 g9 j( d0 z
) w$ Z- \; N! w+ z. ^, Z6 v# intend to use an access key for Satellite authentication, leave this
& G1 k5 e4 y: ?9 [. A$ J1 g  h2 K$ o0 G  G2 m  {
# blank.! o8 e, |5 |8 p# i  G! R

! O, S3 X; L9 ICONFIG_SATELLITE_PW=
6 d* `9 Y! p! s" W2 `0 ~$ }1 m9 V! k" T* `# y; y$ R1 H

; v& |6 G  @! `7 I* ~, b3 f
: _7 k$ R5 H+ u  d/ i8 \" t1 ?# Access key for the Satellite server; if you intend to use a user( f) U: _6 _$ W5 F8 t

$ B* w0 J" G7 Z2 t. |% X$ y& m# name and password for Satellite authentication, leave this blank.+ {- V# x0 y% f

4 A) |# g+ @: w! I% s6 lCONFIG_SATELLITE_AKEY=* y! J% X4 m; Q* ^# e
" `/ z5 l, I' O$ o6 L+ _5 _6 A9 S0 g* f
' ^( ?0 [6 @* {- k; v8 E

6 a8 {9 x' Q1 G6 T: N# Certificate path or URL of the certificate authority to verify that, I7 S7 c9 I: _/ C9 I  T" t

2 W- P6 @$ L- O( ^# the connection with the Satellite server is secure. If you are not
9 D* Z: z8 Y# |* A) d4 \
! C" e7 T2 [# W+ f# using Satellite in your deployment, leave this blank.; h% b# i$ W" u( h

- B1 U4 I; ?' \5 B# @6 jCONFIG_SATELLITE_CACERT=; f1 c! `7 `  z& P- b4 B
! H! e& q3 a# l' @/ l/ w

$ K* u" ?9 p8 w+ K: m2 n, v. D' a0 R1 X. W4 B" K
# Profile name that should be used as an identifier for the system in
( K  w$ z. I" R# }! f# z) K2 b. `, @2 T2 l4 Z
# RHN Satellite (if required).
2 w8 `6 l9 G" R; ?  s! y0 j9 _% O
CONFIG_SATELLITE_PROFILE=
! t. M" X% c0 Q
1 w3 Z$ \  `) a* f" C- c4 o% S  l
1 p. Y7 {7 U( y0 o, {- a4 T" ~
7 `3 }2 D5 K3 U, A# Comma-separated list of flags passed to the rhnreg_ks command.% L# ]/ A! t' m4 b

7 z0 G* N$ F3 h3 K4 x# Valid flags are: novirtinfo, norhnsd, nopackages ['novirtinfo',
; O- V6 @) Y/ E
/ M  S- T/ F8 j4 w& L. J* }# 'norhnsd', 'nopackages']
% j$ H5 @# Z9 e8 I/ E4 `  l3 |, |
CONFIG_SATELLITE_FLAGS=" c$ N4 r- f, D0 f
4 x* r& o- Y0 U, t4 a0 m6 p

' c$ v0 }$ F6 a6 D
. U) g1 ]1 v" @6 h( N# HTTP proxy to use when connecting to the RHN Satellite server (if' Y* y9 ^! Z6 e% z5 S
& H5 H" Q- \+ v
# required).
7 p, d! k( n; H% \+ R
. Z) [5 k: h4 K3 gCONFIG_SATELLITE_PROXY=; {+ t! I( P4 e. U. ?1 f9 ?. ~
! ]4 S0 K: R' M% u
) w2 H4 ~* Q- K/ |+ m0 C

% Q/ J3 N" F  `4 X0 E# User name to authenticate with the Satellite-server HTTP proxy.. f3 b: K3 ]" e; g4 ~5 H( m8 g
- O- Q" d: K- k  b/ V
CONFIG_SATELLITE_PROXY_USER=
0 g2 ~8 v; g- T+ f8 b" I/ y; q
, @+ @0 i% D( |4 |$ X0 ]
8 e( h! T& g$ n7 g1 H: f/ c: d: v) N4 H7 s
# User password to authenticate with the Satellite-server HTTP proxy.
" k1 J: \7 c8 `- e( p& E' Z7 D
2 A+ y2 d9 K8 v! R$ `7 ACONFIG_SATELLITE_PROXY_PW=/ }1 x3 t. T, i5 l& g; i
' N9 i2 ?9 b2 V

# j7 t2 N+ `( g4 [3 Q) Z, T0 R1 m( m/ y
# Specify filepath for CA cert file. If CONFIG_SSL_CACERT_SELFSIGN is" E8 q( `/ J% p4 x8 w5 R" m* b
' Q1 r1 V* S  }0 e+ e7 Z
# set to 'n' it has to be preexisting file.
/ H; t  A' H( z$ M
* C( N- \' T; N# X. A" S" yCONFIG_SSL_CACERT_FILE=/etc/pki/tls/certs/selfcert.crt# P/ ~1 O& g$ a" I) H

! P! |4 H% Q3 {, u% W! Y+ N# J( h  h1 J# T
' b9 n3 w* u& R
# Specify filepath for CA cert key file. If
. X+ m- M, d) A- P) K- U$ \4 I* n! }& o4 G3 i* h4 K0 H# j+ A
# CONFIG_SSL_CACERT_SELFSIGN is set to 'n' it has to be preexisting7 F) P6 R( J% |! s, z
1 I$ `7 Q; B% l, q- z6 L
# file.
( ^% \+ K4 q( @
9 J: u; [# F- k- j( X2 qCONFIG_SSL_CACERT_KEY_FILE=/etc/pki/tls/private/selfkey.key
2 ~- r! m& A# W' x# \' p1 K% {. I; v' T8 F: V7 ?2 g" {( D
8 ~) \6 N8 n  x
! |+ U$ {$ I$ Y. {6 I* n
# Enter the path to use to store generated SSL certificates in.3 D" Q' m* `1 |' R' U4 I- j' ]

9 g7 f( X+ i# P) Z/ I" I2 zCONFIG_SSL_CERT_DIR=~/packstackca/
* B5 R2 ^# P4 T: m$ d' c
( U, I7 q5 q9 V: Z; c+ t) g; [6 k" {5 x, \* q+ T% z

; t% u# w9 ?& c+ w: Q# Specify 'y' if you want Packstack to pregenerate the CA
6 n8 `& n1 b- y
, r2 X- U6 s; [# Certificate.5 ^0 b+ M" p/ V( J3 }1 i
; }" @4 ~( K8 j0 T; O( @
CONFIG_SSL_CACERT_SELFSIGN=y
" U$ _- E( O1 a( m, c4 y. O* v* Y  N; M1 Z

+ ^. u- W3 C% ~/ }* ]
, U( W6 M0 W& B5 r! g1 i0 P# Enter the selfsigned CAcert subject country.! A4 q; R4 R  n; x' U4 T- {
4 v: S/ U, r! p" f& o4 W$ U3 ~1 s
CONFIG_SELFSIGN_CACERT_SUBJECT_C=--
, @: g( P8 X3 ]9 T8 n
% y% h9 \4 ~- y2 i6 b% E
, [! e9 j6 [  C" `& {) q5 L! D1 K0 e& U& @/ L1 a6 c
# Enter the selfsigned CAcert subject state.
2 ?; P2 o+ w; Z% M9 z: l0 _5 ~& m- U! M6 g$ [- K: {3 n8 |
CONFIG_SELFSIGN_CACERT_SUBJECT_ST=State3 N) A. A. r8 Y& S+ X4 c/ U' X+ W7 V

! B! d: V2 J, g/ p) G* B& \* i- I" w& c8 j! f% m
$ k, u6 m1 n& c9 {' {  w5 j7 k9 n
# Enter the selfsigned CAcert subject location.( K- Q6 l: r; e" p; e

$ ?8 N! L( N% @# [! bCONFIG_SELFSIGN_CACERT_SUBJECT_L=City
3 ?  s! n- t$ [+ V7 C; E! C
' }/ \' _" y: B/ H9 v& s! z7 z0 ?( q1 c5 _/ q3 I- ~  ]

+ S% X) J# E4 Y6 j3 m% l# Enter the selfsigned CAcert subject organization.1 d1 C* A% \5 _
5 \2 ^, B) p) ?1 g0 U  O
CONFIG_SELFSIGN_CACERT_SUBJECT_O=openstack4 F$ c. X/ \2 v. u; s/ U

+ x" R' Q" c5 u) b% C6 [6 m' ^* C% w1 I+ k

& W" o+ K" X2 p: I# Enter the selfsigned CAcert subject organizational unit.( R. S% k: G. ]# a6 H
* e  L1 Y5 b* t" U: `9 O( r3 T8 ?9 [' c
CONFIG_SELFSIGN_CACERT_SUBJECT_OU=packstack- R9 l) `! @7 Y

& H! l' Y( l" Y+ |0 g# d7 I6 l+ t- ]) j1 O* w

# s: u) K8 {, ]( Y# Enter the selfsigned CAcert subject common name.
/ v3 N  q" a  t1 a; |- b' U" Y3 z2 _% J- V5 u8 X& v# Z5 U
CONFIG_SELFSIGN_CACERT_SUBJECT_CN=packstack
0 G* E; i2 o' P! C& k. c
+ @% q& Q% s6 r7 C3 C
" F4 e2 h7 C2 T9 f
1 w0 e( u- x1 bCONFIG_SELFSIGN_CACERT_SUBJECT_MAIL=admin@packstack
3 o# o& D6 N: [0 s
% u) L. k7 l* X% f$ E/ j- j8 n# d- D' p( Q  p: N/ Y' u/ o
0 K$ F4 s, R9 A. A& [4 W( a
# Service to be used as the AMQP broker. Allowed values are: rabbitmq- C4 T  X" w1 c& S* T8 [

/ o" E7 E% K$ e. e7 K7 a# ['rabbitmq']; Y3 N4 O6 ^& _3 C

& c4 R- T# p0 E1 bCONFIG_AMQP_BACKEND=rabbitmq! u* @0 S$ e3 r0 `, y
& i1 E7 @5 D& Z
$ ~; A4 [" Y+ h: R$ J+ r
% A( j' @  y7 Z# s9 G
# IP address of the server on which to install the AMQP service.+ e) l  r$ B! `4 q, l- o3 R1 f5 d
7 b: x  z( J0 f7 ?6 d9 j3 H2 J
CONFIG_AMQP_HOST=10.0.2.15
2 h/ z2 P* O% W% Y0 X) \) j3 k( J/ T
! E; ^  d1 L& e. B- y; D
1 g$ \9 E' @! v9 n7 r
# Specify 'y' to enable SSL for the AMQP service. ['y', 'n']' ~! G, i0 e8 n. {: Q& `- ]) o

! {: J8 U2 W4 \# {/ m' UCONFIG_AMQP_ENABLE_SSL=n9 g: ^: q4 r( N$ ?0 Q# K7 R

8 ?/ T5 C$ l4 H8 [6 c7 B2 J3 a7 [
0 `2 {! J9 H, q* G8 Z. j! {6 r! K. b2 L( b/ l* I& E, I
# Specify 'y' to enable authentication for the AMQP service. ['y',$ x! }* W+ d. ]* ^+ U; P: [9 o8 o: R

2 k' ]* H" l; {# 'n']7 C* v/ |: ^4 n9 Q8 Y
3 B+ N6 L' [: o% _8 m
CONFIG_AMQP_ENABLE_AUTH=n/ D* _3 L( O) ]8 K1 b4 U
& @2 Y2 ]+ l: T# t/ A4 ?

6 X% H) @/ z8 B# A
- J2 S5 W. j0 R# Q3 y' y# Password for the NSS certificate database of the AMQP service.0 `& Y. r" [9 I( r

7 n9 ?' _0 g4 B3 KCONFIG_AMQP_NSS_CERTDB_PW=PW_PLACEHOLDER6 J  V; A. I" U7 C" M* m
& O, D! x6 m  A8 y8 w
( ?7 u5 A. H, c6 d' H
. L' n; @% N) T+ i
# User for AMQP authentication.; [4 z9 p, j7 n) ~) l! w
8 q- v% E* u+ N
CONFIG_AMQP_AUTH_USER=amqp_user
# ^( {- c$ e) Q% F) h( k/ z" @7 |( U& H9 P# D' ?
  @6 _& \+ ~. D: m
0 @! j% @( N- P4 j2 |1 d
# Password for AMQP authentication.' A8 f6 i# k4 h8 w; w
. c/ {# t0 _/ M1 b: F+ H5 h% `
CONFIG_AMQP_AUTH_PASSWORD=PW_PLACEHOLDER
& v6 r4 R/ o+ p4 u6 O
) U  n0 Z0 m0 T2 `1 c
! W# _/ `7 l% Q& E, S' w: r) P/ [( |9 k( W7 |
# IP address of the server on which to install MariaDB. If a MariaDB
1 ]( p/ d3 x3 T; G* z8 Q! h" ?0 b4 Y/ z. H. D3 H" U
# installation was not specified in CONFIG_MARIADB_INSTALL, specify8 d6 v) w* ]( s  @" I

7 x" d/ i# B( i& |- H4 G# the IP address of an existing database server (a MariaDB cluster can4 t3 B* c! r* D& {3 v4 k/ x
. t2 Q& y9 e7 G# i- [0 C: z
# also be specified).
, b$ n) v2 v* V  a+ _- {9 G9 }# C- S' O) F$ g' I4 a" m0 q
CONFIG_MARIADB_HOST=10.0.2.15% a! H* F7 ]$ j7 t" m8 [7 L$ x
5 B/ l8 B: `+ |

: m0 Q" @; s4 P& d8 H
) p+ L) _/ K3 z+ r# User name for the MariaDB administrative user.% O( ~7 }( v1 g! u1 J  V

0 N- ^* j/ t7 e" Q6 N4 h; K2 q2 XCONFIG_MARIADB_USER=root$ S" c2 M, ]5 u! k6 l1 V

. u! i) `$ ^$ v. Z' g& b- }3 H' b7 R  C. C, |! g7 P5 m2 l
. B! F0 H, r6 r. J( H
# Password for the MariaDB administrative user.
6 }: C$ v+ E: y% U- |3 t, O: n1 }# g* b) S1 B
CONFIG_MARIADB_PW=67910d76942f4616
6 Q: M* y$ `( T! j. G
) U, l. k0 G0 n) b% e+ T2 B7 }" y
4 }$ }3 Y  r" n6 o' W
4 A3 ~0 I7 H& \2 q' a0 Y* [" A# Password to use for the Identity service (keystone) to access the$ s$ ^$ Z: T8 @* u

& O8 h% L1 j; _' B5 }+ d# database.
2 p- z* v% J, s1 b* @' G8 U7 q- E: p+ q. G* R0 f
CONFIG_KEYSTONE_DB_PW=0f7395897231422d
* F5 {+ ^. M7 N% V8 _7 m5 ~( s* p: a/ P" ~1 ^- P4 M) w7 Q( D0 y

# Q+ r" ~/ T. r& O# U& k8 b9 C! p$ L6 b9 i( _/ x
# Enter y if cron job for removing soft deleted DB rows should be. P8 Y& m7 c. u6 ^! C. Z
( `: \! P9 e2 p* ^5 B$ e1 ?
# created.
6 F/ j' m* z7 I) g' O; |: a
5 Z+ o3 j# U4 _# C. E* S# o" ECONFIG_KEYSTONE_DB_PURGE_ENABLE=True( {, a) S+ A. b; j+ a  m  R) m  V* _

/ Q. [6 _! J9 k& d% _
/ X/ H& A! E. c9 n' J2 H: j! t0 y5 [$ k( n
# Default region name to use when creating tenants in the Identity
0 A0 U: X+ Z6 {8 W$ i7 F; F' Y; {( w0 N  L4 s2 ?3 h% @0 M# `
# service.
8 G5 H$ }9 F" R' d4 c8 y* n5 u9 j
* A/ b) ^5 [0 |* T+ ?5 xCONFIG_KEYSTONE_REGION=RegionOne
! r3 s5 U' @1 m- L; c& B& O- L7 X; L% c) W+ ^, k4 d& x4 O
, r3 b# n6 j7 W) P* ~
+ N# L% @9 @$ ]8 s: N
# Token to use for the Identity service API.8 n! v6 p' z: M5 |

) k+ Z6 w, ?3 j4 j. X" ?1 B- yCONFIG_KEYSTONE_ADMIN_TOKEN=abb21145a01448e288e25bfac854d7aa
0 B8 w2 M: E- j- M- Y& d
3 a& w7 b6 Y+ m; W; S9 Q/ o* Z. H' c  C' ?$ g7 d

9 A$ A- m' M7 ~* l8 Y2 N. v# Email address for the Identity service 'admin' user.  Defaults to
2 Y2 d1 ^( W. P& x1 n( E4 U( h8 q4 m4 k
CONFIG_KEYSTONE_ADMIN_EMAIL=root@localhost, o" r3 U/ ^( ~3 A6 o) |; n& f' n
" F+ r7 b" [" E/ }$ R+ N

1 N7 s- [# o+ ^$ \4 g
' o" ]) E* ~/ v# User name for the Identity service 'admin' user.  Defaults to
: u3 H7 [& F, A8 |- M0 s# R# H- G
$ B: ?( o+ g/ l$ F8 t& b# 'admin'.
' {/ m5 s9 R# g( r$ J
* R# a" f% ?7 j) k8 T! CCONFIG_KEYSTONE_ADMIN_USERNAME=admin
' e% t3 E8 b( O4 K) _
* Q5 |: F7 {5 E2 G& l# W) g3 U2 S0 ^" s: ], z% s
/ r% L& d2 s8 }( }
# Password to use for the Identity service 'admin' user.  _" D2 e  ]' ^4 F) Y
* s2 |- M3 |% n, v% e0 Q5 J* A3 A& a
CONFIG_KEYSTONE_ADMIN_PW=admin
0 P! ~; e; c$ I8 c; P6 t8 X, C' ^  B6 P+ H/ ]& p% x, J

! ?* P% ]; Y8 S7 Y+ \, H7 L# D% H; O. g  @
# Password to use for the Identity service 'demo' user.* w. J6 M/ ~9 e. ^7 L: v' |
% z& y6 U* H2 m4 \4 U( a0 A  ^& u
CONFIG_KEYSTONE_DEMO_PW=demo, Y5 }# n4 C" T* [6 A' x% h
* d: O( l, N2 u$ [# C. B. O

# l% z7 [9 K8 a: ]6 M/ v
" p' K6 I3 X9 J1 O; G8 l4 V# Identity service API version string. ['v2.0', 'v3']
& f, i* A7 _+ }/ s) X( l- J2 c( G- E& ]  j
CONFIG_KEYSTONE_API_VERSION=v2.0: {, w' _" a7 ~. D

$ K! L+ w  w- f! v- ]1 @
+ E* X9 {/ i% V# q2 _' `- [* p8 B8 S! g5 Z$ O) T
# Identity service token format (UUID or PKI). The recommended format
- a) \3 r8 f3 B+ T+ F5 U8 t0 j9 K( u! d3 ?
# for new deployments is UUID. ['UUID', 'PKI']# ^( V1 i3 V8 D. R" J
5 c' ^- f, d( O) n* L+ Z5 Y
CONFIG_KEYSTONE_TOKEN_FORMAT=UUID- z9 _1 u! p; J

* x  Q$ e! a3 c$ v7 N& y5 ^
$ j! r) {$ H) Y: d8 N
9 b1 }# w* R+ }# M( v+ c# Name of service to use to run the Identity service (keystone or
- j6 C' z& j3 k2 g* ^
8 `# T4 @1 ^4 W$ A$ c2 L8 B# httpd). ['keystone', 'httpd']) {9 t: t5 R  _( S

1 a6 X& D/ t3 f7 _6 @- R* @CONFIG_KEYSTONE_SERVICE_NAME=httpd2 D* j( p  Z+ j& F5 e  t" U
, \, U6 M6 e# _4 h6 |5 q  \

5 n  j) M  c  c/ v1 T% C8 @+ J6 m2 B0 q1 f4 K- o9 T
# Type of Identity service backend (sql or ldap). ['sql', 'ldap']
1 \. }; z, `) z% z8 h9 S% }; {0 K" K8 m- T6 Y: U  K! O  v
CONFIG_KEYSTONE_IDENTITY_BACKEND=sql
" f9 k  `1 }+ k+ Z1 k9 m7 e. f7 U3 j5 J# ?
, e4 N# O0 V. k& v2 Q% `
0 v6 f3 n- N. ]
# URL for the Identity service LDAP backend.
: Y( g$ I4 R0 _+ K" s2 T( b
* c3 x3 P: s% j! iCONFIG_KEYSTONE_LDAP_URL=ldap://10.0.2.15. g4 k. r8 I! ?( Q4 Q, J7 I# m& X

: e: R( N, l$ W6 O
, H- l# P9 w( w  [; w  J/ t! H+ {$ y, n6 K. @1 n4 `
# User DN for the Identity service LDAP backend.  Used to bind to the
. D- w* G$ _! n- p# S' g2 U% z
! n% r9 j2 U' F6 X3 S4 ~: v' y. k+ e# LDAP server if the LDAP server does not allow anonymous0 ?* v: p. r! K% w8 }+ X
. ~8 N7 E, S/ l
# authentication.& Y+ M. k. b2 B1 n- F% E
9 z0 E; P. Z3 \+ N) k" H
CONFIG_KEYSTONE_LDAP_USER_DN=
/ I& n7 N7 k" \) S% I3 v/ U
* s& j$ @( i3 o* U' C/ y) d% [3 `" M8 P
! w5 n$ F  m& E. }7 {
# User DN password for the Identity service LDAP backend.+ c, Z! _; N& T3 t% {
: Y, w3 M8 G( f3 t' b7 R
CONFIG_KEYSTONE_LDAP_USER_PASSWORD=$ D  ~: v" x3 F7 m4 y! n4 _. e# X) m

2 P) }6 g, a' p  m0 \; F/ c, j. c/ j, e- N; z

; b+ v/ g$ p1 o# L$ W# Base suffix for the Identity service LDAP backend.
7 Q; @! g% W+ d& K) ^8 a0 |5 f5 z" m
CONFIG_KEYSTONE_LDAP_SUFFIX=
3 q* b# Y7 b" M% H
! P3 W% d2 w/ g6 c+ Z. j  z) w
  g7 h4 f# h" i+ R+ l! E: t' a* f1 j0 |3 c
# Query scope for the Identity service LDAP backend. Use 'one' for8 K0 L7 |+ H8 J/ E
' s: T* S6 J1 m2 Z
# onelevel/singleLevel or 'sub' for subtree/wholeSubtree ('base' is. P6 t5 O7 Y% k$ q7 r# E- \, D

# @- y, K; @5 a/ H6 L# not actually used by the Identity service and is therefore, ?9 Q" W. z8 G# l9 G- h! i

+ m# u  M. M( R0 j# deprecated). ['base', 'one', 'sub']% V) q- T# y# A" p! K. d

& K+ u/ |, ^3 N! A. V5 w$ TCONFIG_KEYSTONE_LDAP_QUERY_SCOPE=one
( h6 e5 |6 r- d+ w
3 A7 m! g7 r! L! G3 T7 c) a5 A" R/ \2 I0 B/ v/ w! T, V
, r- s: c( G3 C$ e, Q! }* k
# Query page size for the Identity service LDAP backend.
; |1 P' j+ R* C3 G* x' ?- m5 y* N3 L2 Y* G7 j+ e/ T
CONFIG_KEYSTONE_LDAP_PAGE_SIZE=-1
9 j/ `1 E( J: ^- {
# p; j! x- @" Z, o' G+ h, Q  L0 i  m% N6 f# J  K& N

" z" v( O. I4 P& b5 a# User subtree for the Identity service LDAP backend.0 z, L9 h8 {) x1 _) l; f

7 V4 S( m% I8 ~% V8 M& [# tCONFIG_KEYSTONE_LDAP_USER_SUBTREE=7 a, x! \( _# e  t; A3 u
. y' L" ~& w/ y5 O$ W5 V
2 ?+ [# X) [3 D0 j
# A) I* d  D* a" k
# User query filter for the Identity service LDAP backend.
# V9 |/ b+ A, ?2 C
3 T0 Z) H- K( R  ]/ hCONFIG_KEYSTONE_LDAP_USER_FILTER=' ?# b- M) V3 x) O4 N
/ l  t! R* ]# a
% @' R4 n0 Q5 Q; X+ |3 l9 a
$ X/ V, b7 C$ t+ N/ y& S3 ^
# User object class for the Identity service LDAP backend.( V! A7 k. E9 K9 F6 t

  |! M  D5 V* s8 }CONFIG_KEYSTONE_LDAP_USER_OBJECTCLASS=3 d6 Y, R6 I& |- @
6 H, t2 a/ Y# r2 h
+ J4 B; y' J+ w6 t) S) l3 I' E
' }# ^0 `( O3 A" \$ e
# User ID attribute for the Identity service LDAP backend.
- w) U- j- S7 ]- e2 L& l) N$ |  ~" D2 h1 |; o4 b+ w
CONFIG_KEYSTONE_LDAP_USER_ID_ATTRIBUTE=
' c0 D  N+ Q5 l6 Z
7 T7 _- ^4 ?7 J8 l! t% }2 S8 k1 A6 O7 x/ K# _" v+ e; M

$ w! M: Y$ i- P  o! d8 {0 i# `1 r: ^0 X# User name attribute for the Identity service LDAP backend.
9 M3 `" W2 T4 g2 U  H/ S: S; O2 f. U
CONFIG_KEYSTONE_LDAP_USER_NAME_ATTRIBUTE=
0 n: w4 o/ Q2 p6 F- y. o) P% D4 ~* O) Z  P- F6 c( [4 S  [
7 u7 @; {, \. A6 |6 \0 d! b& E1 P

" A7 w8 c# U- Y* P7 V. a# User email address attribute for the Identity service LDAP backend.
, K2 T3 W; x- K# l2 \' Q2 d; q1 y7 G9 |8 Z, P# A3 W
CONFIG_KEYSTONE_LDAP_USER_MAIL_ATTRIBUTE=
2 L* Y1 |  W* u5 Z6 r$ M3 F" e
6 d& k8 S# R9 k" ?
: w4 \% B9 z9 m6 c. q
% Q+ Z/ S0 @" S! _( o1 f. D# User-enabled attribute for the Identity service LDAP backend.
7 V+ N- D9 w1 ~4 {
! h0 j) T: ?. H$ e2 Q& U% Y+ gCONFIG_KEYSTONE_LDAP_USER_ENABLED_ATTRIBUTE=8 D8 v, y' M% y! z) h; _- x/ x$ b

+ Y9 y" z+ `" G1 ]8 e1 X# s
; ]: N) s; A6 b3 I( k6 Z" |
* U5 Y, P  U2 V+ R/ \# Bit mask integer applied to user-enabled attribute for the Identity
. l/ |: z1 I, c6 P+ N' J. o
- k- N! M. i7 e9 v. k# service LDAP backend. Indicate the bit that the enabled value is: I+ n' G: q. X* u3 E3 m$ b
8 a, U, h1 V0 \/ U
# stored in if the LDAP server represents "enabled" as a bit on an: ~" `' c: [& v* Q/ G

  `2 s9 G, ^3 K6 u: `# integer rather than a boolean. A value of "0" indicates the mask is
, m: u$ m: I) J) d4 @( Y6 d% `( h8 X) M$ p0 K9 e% c, x
# not used (default). If this is not set to "0", the typical value is
  V& U# ]2 G8 Q/ W6 Y  s# n8 p/ B
# "2", typically used when
, S3 Z3 j" g; ~  l' A
/ I7 H7 J* F! b  P9 u" @7 X# "CONFIG_KEYSTONE_LDAP_USER_ENABLED_ATTRIBUTE = userAccountControl".
! ?0 t$ z: W3 O2 ]- s4 t. q; M+ y
% M4 x0 f1 e% A# L: uCONFIG_KEYSTONE_LDAP_USER_ENABLED_MASK=-15 x' X* t4 ^- M' e

7 v0 i6 ~. |+ T$ [; e% G2 o3 G3 X
3 C, f% n% [* j2 \$ j1 ^) C
' W# @4 O6 Q9 F! c8 s# Value of enabled attribute which indicates user is enabled for the/ A& h$ P% Z$ g* L- }

# F' n& ?9 Y6 k+ K% m, h6 O% [+ l# Identity service LDAP backend. This should match an appropriate* r# ^: L2 d4 B8 q: G+ ^

6 b, s; l2 ?7 G( G; n+ z# integer value if the LDAP server uses non-boolean (bitmask) values3 m! c' b& e* y+ q8 F# {( K" {

( j) {0 X5 M# }- e3 ~3 S- L# to indicate whether a user is enabled or disabled. If this is not
# K6 H2 R) a+ h- x
  \% \; K! A# j) ]0 _# set as 'y', the typical value is "512". This is typically used when' E8 ~6 q: F: p) s: P6 u

, v% g1 {: r# ^% l9 z# "CONFIG_KEYSTONE_LDAP_USER_ENABLED_ATTRIBUTE = userAccountControl".- O0 d% [$ U& b5 q/ D$ o
' Q. `. c6 `, Z3 _
CONFIG_KEYSTONE_LDAP_USER_ENABLED_DEFAULT=TRUE
: u4 v8 ^  y& r
8 ^4 U$ p' E4 v6 n/ U% o* s
. k8 w; Y# g8 M
6 T. ^: M; `5 M6 f4 H  i" M6 m# Specify 'y' if users are disabled (not enabled) in the Identity
* ~% Z1 m) A0 f/ d: I3 I/ {! T4 n4 U
# service LDAP backend (inverts boolean-enalbed values).  Some LDAP! ]7 H3 u6 E; ]

0 ~) q/ D  f) k+ M9 u& Z# servers use a boolean lock attribute where "y" means an account is
+ B% N5 J; c) g+ H! n+ Q
# z( G0 N( I* ^  R; Z3 U' l: Q# disabled. Setting this to 'y' allows these lock attributes to be
0 F6 x# e' z- i6 c9 ^- o7 [  H6 T! i; k1 d
# used. This setting will have no effect if' P9 n( s* i! x; a7 ^0 R0 x4 B

5 P- r/ V5 ]" T: S7 R5 P! p# "CONFIG_KEYSTONE_LDAP_USER_ENABLED_MASK" is in use. ['n', 'y']& E  G' Z4 m. ^) ~6 Y3 s3 f

4 e4 U; |4 S3 {% ~" K0 oCONFIG_KEYSTONE_LDAP_USER_ENABLED_INVERT=n! V. k5 p, S7 H' @! t1 p
& G* ]  ^# v, {) E
8 d( g+ n7 b0 i5 d% {, T8 |0 z

! l# K5 U7 n& W/ E# Comma-separated list of attributes stripped from LDAP user entry
+ O: e& i3 x7 ?% M
# P# A, L0 H3 Y& ]- s( J, N0 d# upon update., R1 d  V* t9 c0 S
' k) W, P4 W/ G5 C% z5 @
CONFIG_KEYSTONE_LDAP_USER_ATTRIBUTE_IGNORE=
' x, U/ O3 }1 U& ^
  {! H: z- w' C* z
5 D+ n5 x% F# m" |
6 y3 F% v' M. d7 R& E: N5 {2 S2 m9 R# Identity service LDAP attribute mapped to default_project_id for
; H/ M- T& \& s8 w- K& m) P5 S3 S7 k  T; z+ d
# users.
4 |+ l( `, c: }7 B& k, s& P3 q5 a
7 A: {) v) j4 I! e4 [# L* j2 sCONFIG_KEYSTONE_LDAP_USER_DEFAULT_PROJECT_ID_ATTRIBUTE=
4 p& X$ u3 K* W/ M7 C  d$ y+ g- t5 B4 M& ^8 Q* E$ Y1 g+ W! g* o3 Z
7 n- f9 r' C+ ^2 b) l1 Q

- [5 U  K6 }, I" E$ J0 V# Specify 'y' if you want to be able to create Identity service users1 M$ ^4 J5 ]' P; M6 l& T' k
! [4 K  w0 G5 `3 s
# through the Identity service interface; specify 'n' if you will
; P, o5 w8 ]5 t1 n
  o0 X6 i! K" u0 a( R+ i# create directly in the LDAP backend. ['n', 'y']
) P( M4 D! ^( l' W8 h" i- [1 m" L0 I; Q/ Q. `* q% [
CONFIG_KEYSTONE_LDAP_USER_ALLOW_CREATE=n
' c% C& A; a+ Y* Z2 Q1 s
! W0 o1 _' N  n% B# y+ Y) f3 D0 X7 ?! a) K$ w" R" x

; o" K2 T$ I+ c- F1 c0 l& X- P/ z# Specify 'y' if you want to be able to update Identity service users, k9 ^) _" f8 E

$ c/ `% l& e0 Y  c' P6 U2 ?7 J2 f# through the Identity service interface; specify 'n' if you will7 t# ~' ]$ S( r/ H$ u  U
* k2 m$ ~  @/ i5 L" D3 O; t6 _  z
# update directly in the LDAP backend. ['n', 'y']8 b6 Z1 @! j! K' n, N

8 l, ^9 V4 d& p, e9 ~4 i/ _! @CONFIG_KEYSTONE_LDAP_USER_ALLOW_UPDATE=n
+ ?4 m2 t: e- [; N  m! ~0 }+ V7 ]8 b2 ^. ]' [. T8 \

+ P" [: B; o5 a- Z1 h% p; Q4 [
7 y' F4 m6 }6 @& {, W, `. f/ Y# Specify 'y' if you want to be able to delete Identity service users
# V, |, x! U2 O: t" a0 r( L0 B% t( g) q- k4 H. n/ A
# through the Identity service interface; specify 'n' if you will
- C! K4 {% f. ]0 T. t- V* G, X9 F0 X( H+ q( l- V
# delete directly in the LDAP backend. ['n', 'y']
3 i! `+ s' w7 A; Q: K" b
4 B- J: ~9 g+ O) T1 I  N4 I# ^CONFIG_KEYSTONE_LDAP_USER_ALLOW_DELETE=n
0 J2 n2 \, }: E6 z1 b: d* Z0 I. Q9 _5 q/ d; W8 E- z
9 _- c6 ~- P  O6 Y! h) i3 W4 U* m
2 ?. j7 r$ e7 ~- w4 O7 v1 h
# Identity service LDAP attribute mapped to password./ P; H3 j9 q; w

8 X0 r2 b# R- W' O( _, Y" iCONFIG_KEYSTONE_LDAP_USER_PASS_ATTRIBUTE=. q" X8 Z. _4 \# K" d

% y* c9 ~1 t/ i% h# c5 {; M
0 G& |7 P# B' f3 e8 p0 j% g% }$ x1 m1 V0 H: N0 b
# DN of the group entry to hold enabled LDAP users when using enabled1 ]% Y- D$ G; ?
9 I0 O: B: c% J7 J
# emulation.( \, B. h1 W& D' ^6 Z' Q
( ?6 s, n3 Y; x; a, ?' Z3 f) l" @
CONFIG_KEYSTONE_LDAP_USER_ENABLED_EMULATION_DN=
9 N3 u; ~6 A/ V7 l' u4 S6 |1 N. J4 M( \: L% d* X1 l3 r1 z/ k
8 l; S, O2 ~% i) L# n  \* D4 ?

( p, N$ ]3 [; b& D! \# List of additional LDAP attributes for mapping additional attribute$ |* x7 k1 J# [6 e2 ^; v
3 K2 ]) n; ?" O
# mappings for users. The attribute-mapping format is
" g* p2 E3 [" E" e/ v  W
. L; i( K5 D8 \& D  _+ v7 Z" _+ ]# <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the
0 U. K3 Z8 W4 L# [8 j3 _+ V$ P& Y! v& L! r
# LDAP entry and user_attr is the Identity API attribute.
+ q3 Q  ^: V8 g2 ~6 H$ ~: l0 p+ }% ?9 ?$ _* S- L& W
CONFIG_KEYSTONE_LDAP_USER_ADDITIONAL_ATTRIBUTE_MAPPING=
6 x. o  U9 i% u8 _: R) g
  _5 p8 P$ d0 R6 ]( T( Z4 q" b4 e$ V+ e

" r/ y6 e8 q8 u# \3 m$ H6 c# Group subtree for the Identity service LDAP backend.; M9 H& ?! ~% V2 }+ L+ r6 T: b  D, O

$ O) P& n- W1 uCONFIG_KEYSTONE_LDAP_GROUP_SUBTREE=' b; b* W. x* o( O6 Z/ [

3 @$ {8 k0 T. E; O3 C3 U/ O* k! B
; W: ^4 p3 u4 B) G( P  \1 [' H8 b
# Group query filter for the Identity service LDAP backend.
8 h# |# G0 Y/ C
' ^  F7 d7 D; l9 A! Y2 x. C0 G+ T8 {CONFIG_KEYSTONE_LDAP_GROUP_FILTER=; N1 J7 u& y3 E% s5 D5 B" I" M
( d! c. T$ N8 y" ?& c0 }. b

: C1 [2 V$ l1 j( V! ]; B' }0 g7 G' b$ s. \2 E
# Group object class for the Identity service LDAP backend.
9 j9 |' g/ g2 E& r5 b! J0 F( G1 Y  A5 D8 X
CONFIG_KEYSTONE_LDAP_GROUP_OBJECTCLASS=
8 g7 }) |) f+ g! L2 B5 F4 c% B5 ^4 P4 g; B2 o0 ?2 ?, V5 C

) p" ~" O  f: g2 v9 J4 p7 d, J7 C- m1 j9 i2 R
# Group ID attribute for the Identity service LDAP backend.
8 a( ^7 w# s* S: H, A
0 ~/ B& i. }9 e0 {* m3 ]' m0 eCONFIG_KEYSTONE_LDAP_GROUP_ID_ATTRIBUTE=: G6 _7 G0 ^' r0 E! U

# a# z& C# `" t# x7 S  u. A* |, m# Q, G. O+ }* l1 y+ C
/ [5 W0 D' N& ~4 e
# Group name attribute for the Identity service LDAP backend.
' H9 s' l5 W3 ^0 }/ A, R* _8 V0 H/ M; b/ ^
CONFIG_KEYSTONE_LDAP_GROUP_NAME_ATTRIBUTE=
+ {$ x1 X. o" P2 s8 }7 W+ d9 N4 C( M1 k  K

/ j) t, g6 v; `- K) C3 m% A
; H; S* D& b8 R1 B1 A2 T0 g# Group member attribute for the Identity service LDAP backend.
. k7 |5 a! T& P6 K) ]
8 o# y$ b# _/ ^4 {7 M9 Y1 s/ |CONFIG_KEYSTONE_LDAP_GROUP_MEMBER_ATTRIBUTE=
3 \! U7 Q8 A, w9 {& Y: b4 e  }* D4 `- p3 _5 H" R: {* n

4 ?+ ?+ p2 G0 d5 f  C& V8 p) ?% [' g2 {! g2 \( ^" H: {, J
# Group description attribute for the Identity service LDAP backend., o  k3 X* J9 K& `

! H% {( p. v' c. OCONFIG_KEYSTONE_LDAP_GROUP_DESC_ATTRIBUTE=
4 x0 X; z0 I- V' @" o* \) V, L9 n/ A  U( Q7 ]( O

( ^6 ^( I( H+ q8 A5 X% Q5 y6 t4 f3 \& r8 t# E% G. u
# Comma-separated list of attributes stripped from LDAP group entry
$ i% B1 M/ |! T8 l! y) E% m' N/ r
: S. i9 t( k" u# upon update.
% S$ \" U8 Z7 u7 e, l' P5 A' x
' H* X' D' `/ w9 CCONFIG_KEYSTONE_LDAP_GROUP_ATTRIBUTE_IGNORE=5 T( A0 A9 {% V# }
/ F8 k$ Y- W0 r7 s7 G( X
6 I) }4 x6 m6 l( d0 K3 T0 c

( S" ?0 A8 b! y, ^5 R$ W9 m1 r6 O! v# Specify 'y' if you want to be able to create Identity service9 X) D) K& \! s$ R2 ^

; w9 d4 }; Y. m; m& h7 M# a9 \0 J# groups through the Identity service interface; specify 'n' if you& C" x  r/ n$ S1 g2 Y' \
  T# D) H) n- s% O) ~" _" `
# will create directly in the LDAP backend. ['n', 'y']
7 h) K7 Q; l: W( E' E8 q' G' N& @8 i6 Y1 ~1 C$ q- w
CONFIG_KEYSTONE_LDAP_GROUP_ALLOW_CREATE=n/ w8 d- q6 J% o* t

6 v* C( d, Z1 N( R& Y. s) ]7 v/ F$ _5 l' ?) o1 n, X. K

6 X* h. g* L8 m3 s% }3 L# Specify 'y' if you want to be able to update Identity service
7 Q5 v$ b& v! Z7 I
5 ^' b% v% b' K2 x+ T  E# groups through the Identity service interface; specify 'n' if you* m% F$ n6 |8 ?7 N; ?, G

' p5 _: U$ D8 h7 e1 q8 M# will update directly in the LDAP backend. ['n', 'y']  X0 {" e: K  \
& J# J/ Z7 K, A5 P) ?& N* L
CONFIG_KEYSTONE_LDAP_GROUP_ALLOW_UPDATE=n
( P8 i7 A+ d- ~2 b5 l
, s/ n! c4 w* L' f0 _* O( ~) `
  O; k" q% N9 Z- ]: o
, Y% |8 X: O; K6 O- P# Specify 'y' if you want to be able to delete Identity service
5 Y# I: D% h3 \
  t8 b; ?. D$ _# groups through the Identity service interface; specify 'n' if you6 |3 \; ~' Z! A! _0 [

/ o$ L, B$ b! p0 ^4 v7 d% t6 m9 I  I# will delete directly in the LDAP backend. ['n', 'y']
. l; }5 c+ N# R
3 |, v" G/ C3 g/ n: c! f  bCONFIG_KEYSTONE_LDAP_GROUP_ALLOW_DELETE=n
% V+ w8 g2 T, I: b0 W
3 ~* U% o8 X) E; m' \2 u# r; ^5 T8 R  n0 X1 `( z& B$ Q- k6 f0 H, T! w! N+ J! q
" w6 z3 W" V* f2 N3 s4 i6 b
# List of additional LDAP attributes used for mapping additional
3 j$ s' F& {) d! `1 O  }  U
  e+ u  ~2 j9 t( w) N# attribute mappings for groups. The attribute=mapping format is
% A# |+ n! c: J9 Y/ m5 W# |6 W1 S6 x
# <ldap_attr>:<group_attr>, where ldap_attr is the attribute in the7 W' r+ U7 I6 \

3 y0 [- F9 P! e; u2 Z' [$ ^! R' ]# LDAP entry and group_attr is the Identity API attribute.
* c5 P" ~0 h# j' @$ u9 W; k: k6 b/ V6 k5 X+ q7 K3 \+ @
CONFIG_KEYSTONE_LDAP_GROUP_ADDITIONAL_ATTRIBUTE_MAPPING=5 u( d% e, d9 j* v& ~4 |2 y  B
, G% \+ P8 i) B' h! {+ u! e! U& j: m
  m! Y4 @! f' \

6 T3 H; w7 K* o$ A0 m; l# Specify 'y' if the Identity service LDAP backend should use TLS.
( ~4 G- j4 o6 E/ L# [- p) x' J$ C* E; c8 B) u- `' v- T
# ['n', 'y']
  [/ C( k0 C! l$ W2 }+ F3 x( F
: z% u$ m: x7 `CONFIG_KEYSTONE_LDAP_USE_TLS=n5 g3 R1 h. _4 v% b
7 z6 K( }, f+ e8 L5 J( p# Z  Y

. b8 }  r/ ^- B& ?) e5 o0 L) _
2 o/ @3 p5 M7 D, ], h1 y# CA certificate directory for Identity service LDAP backend (if TLS
/ a6 M7 g% e( j: Y- [& @2 Z: y- z3 H6 M7 M: ~5 F: D8 z; r* a. I
# is used).
9 D9 Z' r2 Y6 h' b* m4 F5 I0 H6 O, H0 @; ^0 B& j( ?
CONFIG_KEYSTONE_LDAP_TLS_CACERTDIR=1 \! V7 W9 v* G' s2 }& b

% {7 O& O' C0 F% O# J
; g' a! |6 r0 ~* _) J0 N5 Q# K+ X0 K  n0 x# O' U" D+ }3 |$ n
# CA certificate file for Identity service LDAP backend (if TLS is3 `) F) X* G4 u) P# S' c

$ q1 ~* ?2 _" v$ [# used).# M( _# g$ Y/ ?9 P9 P4 \! d  H/ q  Y

9 X1 L  e5 x* j$ @CONFIG_KEYSTONE_LDAP_TLS_CACERTFILE=
) Y2 P) P2 g7 }- I1 k" @* {( p) T& C4 t& b. P7 A
6 K5 ^& m7 t! s, ~
; R" h  L+ v3 y- h& i2 u
# Certificate-checking strictness level for Identity service LDAP
$ V8 E. I; y$ [& T5 u  d
; ~$ f  X) V5 d% L# backend; valid options are: never, allow, demand. ['never', 'allow',) k+ w8 u$ i, F% t0 ?3 }4 w1 Q& p

; q9 y9 S4 d% _$ E$ A9 E# 'demand']
3 {2 a# b$ e# a7 D7 z- I
8 {  f4 z* E) sCONFIG_KEYSTONE_LDAP_TLS_REQ_CERT=demand
  q7 W) T2 S# y
6 x) ?( ?, E' B
& T' X5 W+ ]6 U5 Q
# n- ^% x- f3 ?1 \/ E2 p. A( R# Password to use for the Image service (glance) to access the
9 Z5 f% a; w; a5 U2 e+ ]+ n/ \* k/ M2 O! L. K5 ?/ ?
# database.
+ e2 @( G5 V: ]: Q$ l' n* }
0 U8 U" E6 I, s% P& {& YCONFIG_GLANCE_DB_PW=ab6b7d5882bf4bcd8 y, g: B9 L2 J* ^2 k
( }% b0 u' t3 d( F$ [1 P# @# B" r& m

* q$ {/ V- O6 N3 z6 y& ^3 J* o0 ]' Z+ F7 {  F$ d
# Password to use for the Image service to authenticate with the
2 e& h% T5 I: p" z1 P( d. C' f) K9 t0 e3 S* e, s2 ?( I
# Identity service.1 d4 \2 l' u  c: ]
0 Z+ B, }; s  K1 S4 C9 z4 j8 L  {: ~5 S
CONFIG_GLANCE_KS_PW=cca0c6076d8a48498 g# P9 n  X6 A5 d: x
; y4 Y! d. H( G
, c9 [2 X4 R. }/ I2 M( X

& |$ E1 @+ h/ [" G. s* u, v6 A0 M2 P; }# Storage backend for the Image service (controls how the Image6 A4 r) K( f2 g, z

( Y# T, L# X0 P- x: B; |; w# service stores disk images). Valid options are: file or swift
; t, ?) _& J5 H: Z/ n7 f% V! A8 U: f
# (Object Storage). The Object Storage service must be enabled to use4 T6 V+ B5 y. ~% e3 q+ b2 Z

& ]3 Y1 Z( l& V( d, i# it as a working backend; otherwise, Packstack falls back to 'file'.
& `  i) A4 N' z3 g  t3 G( e3 T1 ]) R  a' L: a3 a: i$ x! R; W& `
# ['file', 'swift']. |, l1 j2 _, B# ]

5 p% g& |4 d8 ?$ g6 D  x7 a5 ]* QCONFIG_GLANCE_BACKEND=file
2 k: K, l$ B  n% g* Z% i7 r! L( C& k' O1 H4 P- n( Y6 ?9 x

( [/ D% ^; N1 i# _
0 E: y9 }& s3 ^/ y$ i8 g# Password to use for the Block Storage service (cinder) to access! n+ c# ^- O* S: C6 T6 ?6 ]
8 |8 J' ~4 o& s. H- u- c$ Z; g
# the database.
7 J8 H; `$ k8 u6 Z) m* h& C+ Q: ~) @8 u4 S$ V) ^5 a
CONFIG_CINDER_DB_PW=9a41e1c3ec5146dd
. r: k( Z& V- E/ P
# ~4 L/ N" E4 Z9 G# s/ k8 {% `3 b$ K$ \3 f; q& D

% X# e' p1 F$ p, ]* u# a& x# Enter y if cron job for removing soft deleted DB rows should be/ H; m% C" J3 L0 f- C. I

% Q6 q3 b3 c) o' v; H# created.3 @. Q) F/ f4 u0 p

/ [, F9 T: z; FCONFIG_CINDER_DB_PURGE_ENABLE=True- h; @" G: [" ^4 v5 D" {

: \% p8 y8 L6 H3 \0 \* o, l0 S6 ~: G) L& P
8 M8 D9 P5 X, D6 v: N8 `1 c9 D+ Z- t
# Password to use for the Block Storage service to authenticate with0 z& \/ I  V$ F: m' P8 Z

; u. y' `9 f# N. A: m# the Identity service.. s# B  X4 |# L) H+ o
, ~: u: d+ u0 H' L
CONFIG_CINDER_KS_PW=c8a9cda31b6d47eb3 b4 y& |' N# c8 F! n3 s* |
. [& ?' l6 c2 h
1 `/ H+ j# h+ `/ a
; A" `& X$ o& H
# Storage backend to use for the Block Storage service; valid options
+ h0 r" G; U7 h7 k
* V3 l, y. }. N( d$ Q) [8 X: {& @# are: lvm, gluster, nfs, vmdk, netapp. ['lvm', 'gluster', 'nfs',, ^5 R  z0 k# z" z$ c0 T2 A8 V9 |
* w, P0 J9 W2 z" u2 x7 J
# 'vmdk', 'netapp']
8 a) X* d; E; F7 h- c; u9 X' `( z+ `/ X# N
CONFIG_CINDER_BACKEND=lvm* D+ N; n8 [+ {

% a' T2 y4 b+ V) }3 o3 W0 \8 k; w7 q' e6 Y
! L, ?& {4 R% w: N' ~. a+ D
# Specify 'y' to create the Block Storage volumes group. That is,
1 S6 U1 x, n" _& q4 N  ]
1 m" N( x) L) [6 z2 I  l, ?# Packstack creates a raw disk image in /var/lib/cinder, and mounts it
0 A) W- j9 {/ J: r4 }: a" F* Z% c9 Y# E0 L% ^6 E
# using a loopback device. This should only be used for testing on a
' `2 z( `' p5 O4 [( g3 i
3 [3 ?  [5 z  c; @: A( g# proof-of-concept installation of the Block Storage service (a file-: g$ Q* |! ~% B! z
0 u$ [2 g- b$ a
# backed volume group is not suitable for production usage). ['y',' ^3 H9 q- Z! v6 {) K% ]) }

. m$ c" {& H* x* Z, ?) g; y# 'n']
! @5 y3 o1 m/ Z  R% a9 Y, t. I
* X- d4 b2 {" C- iCONFIG_CINDER_VOLUMES_CREATE=y
& j. H6 V( X# ~' |" I+ T3 `: a* t* x' z: A4 I
: ?1 g: o4 i. [' c
% `* r! U1 L5 o2 F
# Size of Block Storage volumes group. Actual volume size will be% y9 ^: h( g5 I1 _3 g+ }( o
( Z/ \  w) B) F# S9 B& ]1 y
# extended with 3% more space for VG metadata. Remember that the size7 B# D' y. S" }
' ]" g. X) k- d
# of the volume group will restrict the amount of disk space that you
# z9 K, P1 ]  s+ e$ d" T6 P) z' K7 {% \& c. F+ V  W2 X! L
# can expose to Compute instances, and that the specified amount must
5 P) k: X" G* f/ I- p" S" L; D2 q/ V' q. j, n8 w
# be available on the device used for /var/lib/cinder.
3 N" ?/ e5 F: n% G* n5 D4 o& ^2 {0 w2 ~; N; I6 C
CONFIG_CINDER_VOLUMES_SIZE=20G
7 I* M  Z. P9 y9 q' i' e% r; \7 [2 D+ @( L3 L1 R
4 [! |( N% e& T1 U2 S
8 G( ~& R: s; P  ]
# A single or comma-separated list of Red Hat Storage (gluster)
) z! Q7 z* e! L; R: C7 A( ^9 \
3 m4 p% ?: S( P! B1 D' s- A, ~) B0 j# volume shares to mount. Example: 'ip-address:/vol-name', 'domain
2 z- K* y- n. Y8 ]0 s* R& K: m* _
7 X! V5 Z% o$ l3 {2 X# :/vol-name'
; l& a2 r; E- }+ |2 a2 l4 X2 R6 ^6 c+ e/ R
CONFIG_CINDER_GLUSTER_MOUNTS=0 |- h2 q+ w$ z( b( Y8 r
& e0 I! w7 R9 W2 ]

# r& I$ s+ n" _; I+ K; n9 g) x! D( _" [# z0 F
# A single or comma-separated list of NFS exports to mount. Example:+ n6 }2 Z& h2 w* `/ Z7 }" g
0 ]+ ]: R* t8 [) ~  e
# 'ip-address:/export-name'
9 F& L8 j+ [4 ^( _8 Q# `- o
5 H5 X- c# ~5 ~) O* SCONFIG_CINDER_NFS_MOUNTS=
7 R7 H& e* v; e, o  d
: Z# [$ r6 Q6 e5 H" Z/ g0 F1 h9 p$ x4 o( j6 M, T

. T/ p5 y5 A; g; N( r2 N8 p# Administrative user account name used to access the NetApp storage! q  x1 V' {/ D% m% b. q

7 T4 p& x0 E' M$ w  |# system or proxy server.
$ {' D. [  `) Y' W! a% G
: A5 Q4 F( h$ w! k  ?+ ]# T0 uCONFIG_CINDER_NETAPP_LOGIN=, z: [& c* \: k# O* D

. b- b6 n" }% u: I2 T  G% j* W+ ?2 W  ^, n

# K4 ~" v( N* p/ {! \( C# Password for the NetApp administrative user account specified in
  D: R- C- y4 |! A) x4 u
2 w1 d# F& E! V$ ?7 {# the CONFIG_CINDER_NETAPP_LOGIN parameter.
( R0 Q  H* G1 S% a, t( Z8 U2 z! e4 d5 h( f; @- I8 p
CONFIG_CINDER_NETAPP_PASSWORD=) f8 l9 b6 d9 D0 s$ L& z3 _
0 D" Q. L7 O* K+ M( @

5 M0 W7 F& M9 q. P6 i
9 h: c( Z# s, R- |. V# Hostname (or IP address) for the NetApp storage system or proxy
9 [. O9 ^( V2 [6 N/ D
3 t4 X7 V/ D$ i; q# server.
+ k" [1 i7 `5 D  j: n- z6 I! k, t$ ?
CONFIG_CINDER_NETAPP_HOSTNAME=1 O! T2 ~% C" E7 ]9 _
' X- T) T2 r9 C/ T4 J  ^# Y' @0 e
/ s  }) A6 C/ {4 d

% w1 i, W" N9 n8 r6 Q7 i8 ^# The TCP port to use for communication with the storage system or* b- A' m: J: V. v+ ?1 ?$ E

9 N- \- \' U* C+ e7 _+ h) s# proxy. If not specified, Data ONTAP drivers will use 80 for HTTP and
/ \; q, F* U: Q" |, Q
2 j  R! ~% ~' M- w" B5 U# 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS.
) Z  o# {: Y" [7 i1 O& b* g, m* b, y8 w/ t9 f: R6 }
# Defaults to 80.' S1 j2 f: K- ~  s" k+ J) z

3 J: {( t+ P( g+ tCONFIG_CINDER_NETAPP_SERVER_PORT=80; o$ x5 T4 I" L' C* u; @) u8 Y
8 h) p: N" U, k4 I
9 F( M. `( x0 b2 S
; V( A. b! x7 i  \
# Storage family type used on the NetApp storage system; valid
! l$ p" S& o/ ^) e- ]+ _8 J( Y  ~
# options are ontap_7mode for using Data ONTAP operating in 7-Mode,! y/ J3 ?7 Q+ l# Z1 _

4 n, J. H/ E4 s2 i# ontap_cluster for using clustered Data ONTAP, or E-Series for NetApp
/ d6 R& O6 i0 q1 d6 q  I3 c- s3 _) V7 N; x" r% b! Y
# E-Series. Defaults to ontap_cluster. ['ontap_7mode',
+ P6 ?5 \9 P( X( e6 L& R* U: e4 M, {3 f1 M
# 'ontap_cluster', 'eseries']
% b; H1 R+ t- }" X
: q! h3 T, ^; tCONFIG_CINDER_NETAPP_STORAGE_FAMILY=ontap_cluster$ K7 P3 K" G, [) u3 _+ f8 g
5 |0 K2 L4 s1 _  s8 c

; x! Q) E5 Q4 R9 }" m8 x2 g  Z2 J6 L# p( B; }
# The transport protocol used when communicating with the NetApp
' ~' S5 B' i: `& G9 b4 d$ S5 I! D) m; E! [- {! u; N4 N& c  Q
# storage system or proxy server. Valid values are http or https.
& F2 h' v6 J+ w( i: H3 x: k# Y2 O2 H* a; m
# Defaults to 'http'. ['http', 'https']
' |. h6 |7 K5 I6 W$ E" C
" z+ j" R+ V4 e' QCONFIG_CINDER_NETAPP_TRANSPORT_TYPE=http
# }. l; z+ G  o* b" G7 X$ T7 Q. s* ~, k9 }/ D
4 z% n1 Y& J& ?. a# [  w! v% z
  z/ P( j$ W1 E% s8 C/ g. p2 H
# Storage protocol to be used on the data path with the NetApp$ M1 C; y/ Z2 s- i3 m: V

* I! W6 g; Z# |# storage system; valid options are iscsi, fc, nfs. Defaults to nfs.
# h$ H2 w* f. f2 O' D# x
* {- n6 I+ [3 \( R8 A8 R# ['iscsi', 'fc', 'nfs']4 z: l: n' |" X9 Q, N! Z0 o

: G% r4 x+ k& x. f( _8 uCONFIG_CINDER_NETAPP_STORAGE_PROTOCOL=nfs% s; ~; T; z/ b. n9 y

1 V1 ^& B& k2 N6 H& ~) V- L; L$ c$ J5 n: P6 B' }- N" b
. H3 {  C2 }" F% A. d# D  s
# Quantity to be multiplied by the requested volume size to ensure
1 B0 J0 P) R. T; ?7 D  e! G$ W( S  A: Z
# enough space is available on the virtual storage server (Vserver) to
. r* e- @1 N' X) d9 g8 t# S% m- k; f
. U& K" S* e+ p) e, `# fulfill the volume creation request.  Defaults to 1.0.6 d& A  o+ |4 C+ M

: W- e- }) U) V, o" K% q  A2 m9 ^7 TCONFIG_CINDER_NETAPP_SIZE_MULTIPLIER=1.0* d3 w6 _5 @. v' t( E/ Q% c5 E
8 I6 ~$ B: }, Z: W' M: G9 B/ y8 }

6 Q8 [4 B. m: y# B0 g0 L9 H5 `* D0 g- `# Z+ ?% J
# Time period (in minutes) that is allowed to elapse after the image
1 e7 z) l7 f8 `6 P& L3 I' E& X: u( V5 r. Q0 a1 a& @
# is last accessed, before it is deleted from the NFS image cache.
! Z9 K' U3 \& b2 v6 N" C! E7 c
' ?( V7 r# @8 i2 Y8 \9 N# When a cache-cleaning cycle begins, images in the cache that have; T6 B9 U3 V; o& z$ }4 h" X# u' x
' ]# i& Y" U  V) i, ?" [% z# v
# not been accessed in the last M minutes, where M is the value of) O) a9 L/ s" v

* {. ~: P# N2 v0 s' u* a# this parameter, are deleted from the cache to create free space on' V3 Q3 z" p8 P$ z0 V
0 z: ?2 H9 N: h# ^& q. j
# the NFS share. Defaults to 720.
0 X5 s  B- C& d' W, ]
* h* G/ s& g; r2 B3 D3 H. }CONFIG_CINDER_NETAPP_EXPIRY_THRES_MINUTES=720
* r. c+ l( t4 M# P# T7 `" Y' n3 b) K

' `; N8 F/ g  F4 D7 Y; R5 I) Q: D, u+ Y
# If the percentage of available space for an NFS share has dropped
0 k! K6 j" D! o+ }) G0 n8 Y/ r+ p! l7 \8 ]4 y
# below the value specified by this parameter, the NFS image cache is
* @6 W+ ~4 I: e9 b# Q4 Z
0 a. e! [- D' T  A, M- D: \6 \- h# cleaned.  Defaults to 20.7 [9 u- G" c* v/ S! B' I& A

) e! ]8 [5 x6 |& ^& P1 D0 zCONFIG_CINDER_NETAPP_THRES_AVL_SIZE_PERC_START=20
9 _. _+ Z6 p: ~% R8 k
9 l9 W, D* o# s) E1 K) V6 q# b( G8 L. G6 d, N9 D/ `
; P- |7 Q! V: B, C+ }
# When the percentage of available space on an NFS share has reached7 C3 {8 B; F  K8 D; P

( _! u; S3 ?) V/ h# the percentage specified by this parameter, the driver stops  \5 @2 `( h/ ?+ O6 s8 S4 ]3 i& }
- J% S! L( }, K/ a. l
# clearing files from the NFS image cache that have not been accessed$ d; x. o# x/ E5 X: P# `
3 V- b, `+ O! }( E2 U  y/ C! P
# in the last M minutes, where M is the value of the- l' ~: j1 G: B5 }0 e1 f

$ |+ n# R& }6 x0 ?% n# CONFIG_CINDER_NETAPP_EXPIRY_THRES_MINUTES parameter. Defaults to 60.  k5 r, R. j! w/ ~
( F" T( K5 K4 f+ u; @, u
CONFIG_CINDER_NETAPP_THRES_AVL_SIZE_PERC_STOP=60$ i$ t/ r+ c+ s; V
$ c' U( v. V5 g7 T# m- X# L
  R; _  L! ]. ?% i) N+ S

1 Y$ N: @. y4 s+ p# Single or comma-separated list of NetApp NFS shares for Block
8 B) y( K1 g+ s1 w% w9 ?& U& c' _5 d. Y2 e, B' Z
# Storage to use.  Format: ip-address:/export-name. Defaults to ''.
6 \2 d! f! T7 C# j: l; j5 r# g2 R$ N
CONFIG_CINDER_NETAPP_NFS_SHARES=% f& I5 j7 E6 w+ d

; V, O1 Q2 ]0 P- j0 R& @( |# z" `- X8 A6 i0 _

, h( Y: P* J# w% c# File with the list of available NFS shares.   Defaults to! [( F: w6 H1 t* l4 P, G
4 n6 I# g# q. u  d. q
# '/etc/cinder/shares.conf'.2 J, p/ i( m" Y/ t+ U

3 ~) d# ?# M' q" o6 B5 A$ q* lCONFIG_CINDER_NETAPP_NFS_SHARES_CONFIG=/etc/cinder/shares.conf
) g. I- G: ~4 \& W' @" e5 k1 v
6 m$ A" n6 H; V6 G9 `  S: k0 E+ p+ J
( K; y  L' E! {6 P: G
# This parameter is only utilized when the storage protocol is
+ V( z( z- ?% L$ ^: Y/ O+ c* p9 x: S  Y& u# j& h
# configured to use iSCSI or FC. This parameter is used to restrict& K& a* s( ?1 L9 s) \; i$ ]) C

" _* l) W2 _2 X& m  {, T6 e& H# provisioning to the specified controller volumes. Specify the value# @, q/ c$ ]: f+ V

2 }" @3 x% {( }& U- I# P+ ~6 l8 d: r& e# of this parameter to be a comma separated list of NetApp controller
$ P0 D0 A% o4 z1 M# T' R3 i6 F2 U, C9 G5 j9 T( l: w4 G
# volume names to be used for provisioning. Defaults to ''.
8 G; O% |' f$ ?5 D% k/ q4 `0 q, [5 B/ o" Z5 y$ F
CONFIG_CINDER_NETAPP_VOLUME_LIST=
$ M6 L4 \+ s. q, U. S$ F3 i& P) s  t; ]8 v# `$ v( |
" b* ^$ `, Z& H+ @9 n

' d3 B( l: f" `2 n  ~# The vFiler unit on which provisioning of block storage volumes will
) c' }5 C. J; |* [: o! B
7 [# |* @+ s& j, v# be done. This parameter is only used by the driver when connecting
0 U2 ]# T6 _9 z' c* H
: U+ N# o/ n8 o. o$ D6 d% L: |' R# to an instance with a storage family of Data ONTAP operating in. Q! w) o- A/ ~! p4 e3 U! U- |

; s, V8 G1 ~) u- k1 `# C# 7-Mode Only use this parameter when utilizing the MultiStore feature1 Y; O" d) o: h0 @: H
# E, ]7 C; E# N) }. S9 Z% q
# on the NetApp storage system. Defaults to ''.# t7 k* J  i) R: Y; Y2 E) x1 q# {

& v9 A: }; e8 P# p( O& S1 ]9 lCONFIG_CINDER_NETAPP_VFILER=( w; _  l/ Z' w8 ^

$ G" E6 {6 k9 M" P3 p2 M
5 R% O5 ]# [$ Q/ V5 a0 ~! m4 |0 B3 k- D  Q# l& C1 u, k5 x5 S: U1 S
# The name of the config.conf stanza for a Data ONTAP (7-mode) HA6 E* r' d" @: M

9 l$ q  Z8 T! {. @/ g- |# partner.  This option is only used by the driver when connecting to
7 K+ d8 l- Q, K- k) i& |6 K. K$ B3 ~4 @# J; x
# an instance with a storage family of Data ONTAP operating in 7-Mode,
& ]% q$ |4 P9 X  A# ?+ T) M2 k( U* L+ T
# and it is required if the storage protocol selected is FC. Defaults. `4 I" k" z9 e+ M* b" O4 p/ F2 P, k

, u) N' A+ s% c' @8 L) f# to ''.- R. D" v0 s3 |- ]+ H
' q8 C& M+ N4 M: t& w7 `
CONFIG_CINDER_NETAPP_PARTNER_BACKEND_NAME=
8 {' y- ^# A  v2 d7 r* ]+ r  W
7 g4 |* c1 M0 N1 K/ v: c, ?/ T2 {: c6 U4 J5 O
/ M8 o5 V$ F  ?
# This option specifies the virtual storage server (Vserver) name on* m+ \9 q2 d. l1 a* D+ \5 v9 _2 `
9 Y7 G' `6 I; Z8 O9 t: C
# the storage cluster on which provisioning of block storage volumes. U) l/ m4 Z$ D  ^4 T# F9 N: [& t! _
0 `/ ]0 R4 u0 `, l; j$ _/ i
# should occur. Defaults to ''.; ]1 h( ?+ S. I2 N
# k6 H& H7 @# R- p2 d' P
CONFIG_CINDER_NETAPP_VSERVER=
6 O2 C3 j& t8 p3 G
+ j! D: X; V" p* O& g* Z
1 I: g' u4 x6 |3 D1 r" R1 P+ A5 a4 S
# Restricts provisioning to the specified controllers. Value must be; P1 {' j: g0 e5 S) d
; E- F" W' W/ n  U, _
# a comma-separated list of controller hostnames or IP addresses to be
; y& c8 l, c' j6 b' K; H3 B+ Y0 h, G$ y& q* C
# used for provisioning. This option is only utilized when the storage
9 Y& i' J# h8 E8 q
, i: `% a7 i) Y$ v5 p# family is configured to use E-Series. Defaults to ''.! A7 u" s. J8 a* D$ T
$ z3 S+ _$ x2 Y' C
CONFIG_CINDER_NETAPP_CONTROLLER_IPS=; {2 [* M# d$ Z; s
: q2 ^( J3 l6 U+ Q$ h; c1 C5 g
# W' W5 G. W3 r4 f9 p
0 [1 D. ?( a+ F, t/ u; T
# Password for the NetApp E-Series storage array. Defaults to ''.
, K& g" V( S' }8 T3 ^, b* i8 R! c2 ^; F
CONFIG_CINDER_NETAPP_SA_PASSWORD=) @$ W! [) N& B5 F, j
0 o5 d4 _6 p8 f. N# h6 z
4 q7 }1 A* P2 d9 \
7 {2 @5 g8 k9 `! h! H
# This option is used to define how the controllers in the E-Series
& K8 U6 `: X( X; H, `; c2 F, O+ ?% U
# storage array will work with the particular operating system on the" T6 E/ N  }# }: h) W$ C* F% N, @

; U0 E1 E1 C" v" B5 E6 o+ ]# hosts that are connected to it. Defaults to 'linux_dm_mp'
5 B' Y+ i3 H* ~8 @0 _+ p* r
9 c9 b+ J) f4 u/ M! P+ N7 fCONFIG_CINDER_NETAPP_ESERIES_HOST_TYPE=linux_dm_mp
. S7 C, a2 c' ~/ W1 U# {9 O$ S, M4 y" K. t% X9 b0 S8 L0 e

- A/ C$ c( o# {: ]& t' R8 P, d: P2 m* f& o% \/ w
# Path to the NetApp E-Series proxy application on a proxy server.
5 _; q0 g( L" P1 W3 M$ r" ^, d: x0 B+ r( g
# The value is combined with the value of the7 r# `, S; ^  Q  r& q

5 u& R2 l" V, k: ~# f# CONFIG_CINDER_NETAPP_TRANSPORT_TYPE, CONFIG_CINDER_NETAPP_HOSTNAME,3 C7 o' A9 P* ^8 b; l. c. Q
6 H( |' I* W9 z2 E$ u+ l7 M0 ]6 k
# and CONFIG_CINDER_NETAPP_HOSTNAME options to create the URL used by
8 o& |9 Q8 Z( u9 V
: C# Q3 E  s" }% M# the driver to connect to the proxy application. Defaults to' V# I2 ]4 C: K3 u; Y2 X
; y/ ^0 l% w  G- k+ U
# '/devmgr/v2'.
. o: ?0 o( C; B: A$ ?8 p' t$ S3 h: O& A. D+ Y/ x* O0 z! H0 Y7 `
CONFIG_CINDER_NETAPP_WEBSERVICE_PATH=/devmgr/v2
$ r  O" }$ b0 @- B6 h. a# z7 ~$ A
4 K1 I2 u& a. h+ [2 h% F* j# n

: f3 R4 ?* A7 r. i1 I# Restricts provisioning to the specified storage pools. Only dynamic  a) l& u" V+ S0 ]& \! J

& Z6 j; b  }1 Y7 V  K# disk pools are currently supported. The value must be a comma-4 u$ p( K/ s9 [+ Q& k
3 c: X8 b* b4 K0 q- o
# separated list of disk pool names to be used for provisioning.4 o1 A9 o5 a5 d

- B& c8 H' y. j2 }9 I/ ^# Defaults to ''.$ J% n* D( b* m2 F
4 z7 ^% \" u* C' _0 X" C. l
CONFIG_CINDER_NETAPP_STORAGE_POOLS=9 ^+ I% t. [& k! f" r/ a
" a# L8 d. N- x2 @8 z  B

; {( J- s4 ~& b3 z3 d& |
5 _; U! n% y+ ~; k7 J# Password to use for OpenStack Bare Metal Provisioning (ironic) to0 m7 Q3 i, d) v5 c# m
3 F/ ]+ o' d. j7 _" Q7 I  E
# access the database.
) }( B! j, w6 F, P/ ^0 E6 O9 M  G% s: p' ~
CONFIG_IRONIC_DB_PW=PW_PLACEHOLDER! k3 K2 J* @# ~8 D

, c2 {, d) a3 t7 C' ?: m! V9 ?" N8 j9 q% h$ P0 ]/ o8 Y
3 ~8 _# U) F8 Q9 S9 e' D7 _
# Password to use for OpenStack Bare Metal Provisioning to  {: X3 N1 l4 |
# U3 O8 l6 w' M4 B! I0 ^; ?
# authenticate with the Identity service.
4 ?3 O: L  n; W: F7 A6 V4 }+ p% V8 v. R4 `8 N/ f
CONFIG_IRONIC_KS_PW=PW_PLACEHOLDER1 }; B" L' i; ~. ]7 g
: X5 w/ f5 D6 w% t
" S1 Y6 q" _% P* I' p6 _# w$ \

% i1 }- C; j) o5 t7 i8 q5 T& V# Enter y if cron job for removing soft deleted DB rows should be
) d  e+ p" l% X+ F9 G3 F
$ V# m& m# i% h2 S/ J# H# created.4 {# \0 j# ]6 j
5 M3 S; u5 X/ X: E
CONFIG_NOVA_DB_PURGE_ENABLE=True3 u; U: Q6 B4 @& H. T8 L/ q* c  w

) X& P; ]* I0 L- B1 `/ R% v3 A4 H8 y5 d
! ~) B: F8 ^8 q0 g4 Y: i
# Password to use for the Compute service (nova) to access the/ @5 ^) ~4 O: {& z, t0 t1 F

6 G" d1 P1 y7 C+ d7 x  R  u8 j# database.
( A' l( Z& b6 w5 R) q6 ~
/ ^+ W  Z3 g2 X  VCONFIG_NOVA_DB_PW=2b413313b40c4cef' `2 l' A1 Z0 ~; H3 ^
. d+ W7 d" T( t# |
* [5 f$ E! i) [1 M

& f+ G" X/ V9 c% s: M: e% [3 v# Password to use for the Compute service to authenticate with the
  G. a, n! k# f2 H7 `$ F+ K1 C4 |- k( H4 W" O+ ~
# Identity service.8 |& M" N' z% \8 Z5 F. @
; w# @: \' T. [
CONFIG_NOVA_KS_PW=de17a9d0e3984bae" ^( x% Q0 \2 w' _9 c* z# S0 u/ ^

! J6 u2 v+ f' D) h/ z1 C7 q# Z6 d. L6 }: F) Q

/ S) G$ b9 g+ L9 X& s3 w  u# Overcommitment ratio for virtual to physical CPUs. Specify 1.0 to- s" T( d: S! g5 H- M/ a  M) @
, f% u+ S# p; P  c
# disable CPU overcommitment.
. u5 _! e. g5 q& ]) q, H2 U9 D3 P/ e8 D4 c* q
CONFIG_NOVA_SCHED_CPU_ALLOC_RATIO=16.0( U( \' S: a8 i& c$ k3 w/ ]- K, o! e) y

6 A, }  U, `. k' k1 _8 \6 ~- M. _) a  c) z
5 l% i( _/ n1 I" _
# Overcommitment ratio for virtual to physical RAM. Specify 1.0 to9 F" |1 L- ]6 @1 d( l

: V7 h% p7 ?7 M, X5 `2 J# disable RAM overcommitment.$ c, F+ A' _/ B5 M- O  h
! ~  Y1 Q% t+ ]  j1 N
CONFIG_NOVA_SCHED_RAM_ALLOC_RATIO=1.5" M+ }# Z# d5 A. N/ `5 \# o- F

5 H6 r% Y: n+ e
! R1 w; v' C: k( n# S  b( g! `5 {  a
# Protocol used for instance migration. Valid options are: tcp and' Q9 X. D+ b# @# m, a
6 {- K+ p( [% r- p. W0 X" s* s3 G
# ssh. Note that by default, the Compute user is created with the+ H- B( I  ?* C4 c) E( @) k6 m8 ]

8 f0 ?- [4 C! N5 I+ y) f9 y2 {* X# /sbin/nologin shell so that the SSH protocol will not work. To make* a! d4 b: D: [8 `7 p% b: J

  d- C2 W- q& n# the SSH protocol work, you must configure the Compute user on2 c8 t2 m7 m7 r1 w0 e/ U

9 _8 q; n/ R9 W4 Q# compute hosts manually. ['tcp', 'ssh']0 w; B/ i- e6 S3 E. [

+ ^" Q# a* U8 w8 wCONFIG_NOVA_COMPUTE_MIGRATE_PROTOCOL=tcp5 T) h2 C5 ?) ]8 p- X+ @

# X+ C; D' U$ H) u/ J9 h2 O8 p# l) ?. a; m. Z
6 _8 s6 S4 J% K$ J1 H( ]4 F6 P
# Manager that runs the Compute service.
5 H* Z7 M. d' F
& U( y$ E* I' p- XCONFIG_NOVA_COMPUTE_MANAGER=nova.compute.manager.ComputeManager
6 @3 l# j4 u* C1 x1 j9 R; I3 _
, l- v, z+ {7 n3 b. ~! u/ y" a5 w: L6 K) R5 m
$ P% ?  q) R$ Q  K
# PEM encoded certificate to be used for ssl on the https server,
6 Y; i( D0 Z& b6 k6 j4 J! I, [! d6 C, V
# leave blank if one should be generated, this certificate should not( b/ \1 q0 }* V3 q: h% Y
, m8 m" o9 w# f9 w: A4 y3 }
# require a passphrase. If CONFIG_HORIZON_SSL is set to 'n' this
+ k- t3 @; J% |2 U' E. k) i
6 J# _5 y; L6 [* M0 b# parameter is ignored.
" `8 v; [; ^- E6 P& ^- m9 ]+ e- G4 f6 E; h" u& ?) t2 V3 u
CONFIG_VNC_SSL_CERT=  x4 n& X7 R3 S3 }

1 {4 }7 h4 @' n" N$ V3 ?8 |6 {
1 G( F: r. ?& O3 T
1 S0 w7 M! @8 W; Z# SSL keyfile corresponding to the certificate if one was entered. If
7 P, S) k% E) ^+ Y+ r
! p4 _& k5 G8 l. \7 m2 h# CONFIG_HORIZON_SSL is set to 'n' this parameter is ignored.: I# U3 q) ^5 e5 j

" h2 `& P- Y  `; ^CONFIG_VNC_SSL_KEY=# W) t5 u. c, b1 B: U3 |9 r. W

1 q! P5 \9 E5 J! Y  D" [2 k
- p; _* |; P+ J; w! S6 T; E# \& I; s/ Y+ j0 u; S/ o
# Enter the PCI passthrough array of hash in JSON style for9 n( I" Y4 h9 ?" n

' x# q( q' a' Q$ p0 h2 W4 Z& @4 x& d# controller eg. [{"vendor_id":"1234", "product_id":"5678",
' c+ u( `: \; i  ^8 p: z
7 E: R/ }5 R  h  _, B( }# "name":"default"}, {...}]
/ T9 l; W( z/ B* ?
$ F4 E) V4 J/ F3 w0 c  ICONFIG_NOVA_PCI_ALIAS=6 C4 Y& Y4 P2 e' m

2 b/ t1 |8 t( w2 E/ {( f! |0 l% B0 x( i5 ~

1 a5 K0 b* ]- P0 `; g9 p3 R/ R+ [# Enter the PCI passthrough whitelist array of hash in JSON style for
9 i7 w" t- R  P, U) Z) O: D# W4 ^- B3 t* E% H: [/ |
# controller eg. [{"vendor_id":"1234", "product_id":"5678",
4 W) _6 D4 P9 c8 B8 W5 ^
' `! b* P* P; M8 C# "name':"default"}, {...}], m7 ]9 X8 y+ Z. n- E3 r; A: e8 b5 v
* ?2 b. |2 G9 F' b' g/ e
CONFIG_NOVA_PCI_PASSTHROUGH_WHITELIST=
& F( _( _5 g' A4 \' F
5 b9 ]) G! {# x; q) e; C0 S) B# I$ Y; i1 q; ^% r, @) I
- O/ w9 L' u4 t( H
# Private interface for flat DHCP on the Compute servers.
$ B, X: b, D2 r5 b4 |7 \
- G+ R5 q+ v8 k7 ]! I7 p& NCONFIG_NOVA_COMPUTE_PRIVIF=
# l& Z  V$ {% h2 N2 Z, J3 t/ T' r9 K$ Y
  Z# I6 |' j7 C0 ~; |( ]$ K

! u# N) D9 v% ~, K* D$ Z# Compute Network Manager. ['^nova\.network\.manager\.\w+Manager$']
2 j* |9 D/ f  \6 n4 X* T: \  M  r7 F! ?2 l6 v! r
CONFIG_NOVA_NETWORK_MANAGER=nova.network.manager.FlatDHCPManager: o; y$ V& ]1 n* v
0 e3 e, C3 ]. r$ x" G, p- I1 I! e) a

  {- M9 l* L: C* j- _
4 s8 c5 P# Q' C* h% b# Public interface on the Compute network server.
) W1 m) s4 D0 Z# D1 A: l& C% u2 A1 ^, u2 @. D5 c4 C8 c% _  e
CONFIG_NOVA_NETWORK_PUBIF=eth04 l9 C4 s7 O. y: ^. _7 O

1 b5 }5 s+ a! k4 p7 R+ V& P% K0 Q1 p2 |, x) v& m0 a
5 ?. @5 G1 ]( y/ Q
# Private interface for flat DHCP on the Compute network server.
4 K/ l8 z6 e( s' c
0 P$ d3 V" `7 y( VCONFIG_NOVA_NETWORK_PRIVIF=7 ~9 t5 i  v. Q% d3 X  ?: e

5 ^- c7 \4 y$ a# ]& z' e7 U
7 B2 R4 X; V6 c- ?" D
1 a3 f; Q" X0 P- N2 L! L# IP Range for flat DHCP. ['^[\:\.\da-fA-f]+(\/\d+){0,1}$']
. H/ w. `! u' Z/ x- {* _9 [. n# |: p% K% Z8 Z# ~8 i
CONFIG_NOVA_NETWORK_FIXEDRANGE=192.168.32.0/22; Q/ L; p1 X  C
* S6 u6 b0 p1 Q7 E3 h

( I% x/ [3 g$ f/ ?
# B, |" z- q: P$ p. S* V) F6 V# IP Range for floating IP addresses. ['^[\:\.\da-
4 _/ I4 k6 M+ h( D- z4 @  y0 }/ Z% `% `& N" I8 Q3 v
# fA-f]+(\/\d+){0,1}$']8 S" x: z9 ^: {5 x
1 k9 W3 \/ v2 s' T/ z. X
CONFIG_NOVA_NETWORK_FLOATRANGE=10.3.4.0/22, R" A! Z! b- u) N) {
, g- t  F# s; Q' p5 j: |
& a8 `4 y4 i' l! I9 e( \
/ ^. {; b* z( |' _$ b
# Specify 'y' to automatically assign a floating IP to new instances.
" z' n; A0 [7 d8 H' J* s) A( e7 k. u. ~9 R
# ['y', 'n']2 D5 y" \. p! A" U( B3 \6 ?

- A$ o9 O- H, oCONFIG_NOVA_NETWORK_AUTOASSIGNFLOATINGIP=n
! v' F) T7 r7 |; d1 S; |* q2 Y! q) A
, b0 ]& i# N3 Q, f+ d8 ?0 \. n* Z6 \& N6 C% W. T" _3 U

# c3 K4 ]3 G! l  X+ E# First VLAN for private networks (Compute networking)./ I4 J" V0 b# P$ N& ^  F; _$ S

/ k1 x2 F4 E7 [CONFIG_NOVA_NETWORK_VLAN_START=100  F$ O+ H8 x  X: E' `
3 d) ?  G9 s" l# X6 W! ?

9 X- T5 {5 E6 T8 J1 l- _
' @. U) S1 N1 A. C" i. h) z# Number of networks to support (Compute networking).
2 t6 R/ W$ W& G$ D6 \8 ]# j) _/ d# m: v; F$ d
CONFIG_NOVA_NETWORK_NUMBER=1$ u! C5 w, D! w$ [

$ R% ~2 o9 g. _! Q4 |+ f; E+ l7 k2 r; T5 U4 h9 z# F5 u; ^

- ^- j2 B: g. [/ G" Q# Number of addresses in each private subnet (Compute networking).9 b9 m& ]: q# s2 y

& g8 M1 U- p; ~CONFIG_NOVA_NETWORK_SIZE=255% r0 s! b5 M7 i9 v
& k' C5 @+ A0 K
6 ]( E( K+ P3 O

' i) N& L9 A5 _  O# Password to use for OpenStack Networking (neutron) to authenticate' t7 W( M3 K! C" h7 O8 x

! _: N5 k* J; E& s: _# with the Identity service.
! J9 Y4 g! f" j  @/ O7 Y: Y1 y$ h0 p0 q2 U+ ?3 r$ F
CONFIG_NEUTRON_KS_PW=0f93966d6de04e8d
8 j0 r( i! q$ b! Z2 y+ Y' T2 g2 \, D& J
7 o) w4 @5 v1 [% n$ |* h

) n2 f# m) ^" X! J) B9 t# The password to use for OpenStack Networking to access the
& B3 [7 }* V& l5 C# ?$ F8 n, q6 p8 ]9 l, ]1 d- D$ F
# database.
, e9 Z0 }8 R5 ~1 Z. R/ n8 r2 d; A" ^. r( Y) s, F
CONFIG_NEUTRON_DB_PW=6d506e19899e4a3f% l  c9 g# e$ w0 r, C, o+ b9 S. ^
( \  n/ u) K6 B( D7 Y# P$ Z
  h1 R) w2 \3 |6 \& \9 X* ^
; c7 ~. C5 H7 E9 ]8 ^1 \/ {; D
# The name of the Open vSwitch bridge (or empty for linuxbridge) for+ N! H4 \2 @3 ^$ w5 D( i# U1 l

2 P8 K, }" c, x6 ~& D) K, w# the OpenStack Networking L3 agent to use for external  traffic.
; R) |" `$ u+ V) q$ w" |
9 |# a, X4 X: X* b; I7 h; |# Specify 'provider' if you intend to use a provider network to handle  l: r* Z+ E& |7 ?. w  K

! D  j& J$ ?/ `3 g# external traffic.
$ K' m+ b% A6 i2 r. L4 g  S, z4 K  M3 k/ }
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
* B7 D" {$ X% Z' m% Y; e& k# M6 H8 v* X0 o  P8 b8 D4 |
! i7 z, C- y/ Z( n2 O7 ~) l" b
) ~- I3 h# x. f
# Password for the OpenStack Networking metadata agent., U" m8 l- n% v) F+ ~+ ^# W5 F

5 o' v7 [3 N, [. P8 dCONFIG_NEUTRON_METADATA_PW=f7db67c5f3024050) t1 l8 c5 A- [. `4 q: N

5 n( x1 W' ]! f, s$ W, V* s0 o' t' ]2 t" G+ j' ]
9 J! z. q1 i4 w6 [' y
# Specify 'y' to install OpenStack Networking's Load-Balancing-! A1 K" I3 [  [/ i) ^
6 K. Q; D% ]' @2 C% v3 s2 @
# as-a-Service (LBaaS). ['y', 'n']
- l) t) ^5 h$ y$ }4 t; y) _$ k  [- D! j( r7 t5 W
CONFIG_LBAAS_INSTALL=n
" Z3 T6 ~* K: S3 l1 P1 I8 d9 [% M  q) R, e/ A. m0 E, a* e
; D7 @5 g5 Y# B5 Q( p
) Q; P6 b8 {$ b. J- u7 C' s
# Specify 'y' to install OpenStack Networking's L3 Metering agent, z& G5 f/ i8 I9 i( ]
- R9 N" L- ?9 g. q& X# a# m% a$ ^
# ['y', 'n']" x; z8 r3 x. C& z% P0 z
5 ^6 X' D0 |, F2 a6 O6 ~; t, A
CONFIG_NEUTRON_METERING_AGENT_INSTALL=y
/ H/ l! p- ?; D0 t( l; M# P/ u# a1 K, m( ^
* |2 l4 @3 ?: T$ U8 I

- T3 F5 z. U! P# p& l0 X( n% }# Specify 'y' to configure OpenStack Networking's Firewall-& X9 x5 P# Y! n
# d5 C+ U7 |# q1 }# Q2 I6 ^
# as-a-Service (FWaaS). ['y', 'n']* G& q6 X" D& a0 x* Y
1 @( ]$ J# v, p- i6 A$ @9 F  |# t
CONFIG_NEUTRON_FWAAS=n
) o) H- ?  J( q% b
/ D' r: J& r/ }8 J  w
% J7 H! `( b8 K% b" }% Y8 h; a" R* P: ~
# Specify 'y' to configure OpenStack Networking's VPN-as-a-Service
$ b: v7 u& g- v! V+ B: D. M+ p1 |: g5 K
# (VPNaaS). ['y', 'n']
( ?' Z% e2 V4 X; ~; N+ {: I) @' c
CONFIG_NEUTRON_VPNAAS=n4 E6 [0 O6 d& B$ _- U( i

& ~, q2 z# r7 d
5 f. `+ d  ?8 o
  E  k4 {! D; C% P3 |3 w# Comma-separated list of network-type driver entry points to be1 }, x4 l8 D* I: c2 w% m+ n7 I

2 g9 ~, A" F5 ?. q+ V1 R# loaded from the neutron.ml2.type_drivers namespace. ['local',: E) Z3 o0 X/ Z0 c# }9 q2 |
8 `" w  a9 C+ \; d% t# v7 t' _
# 'flat', 'vlan', 'gre', 'vxlan']  k' f" M8 s/ v( }6 W
0 L* H* H6 q* `& c5 ~
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan+ V3 W; M$ J9 t* U
$ x4 @$ d& Y# E/ o1 y) L
# N* r( u8 S  U# ~, g3 H8 `
3 u7 d: J4 L0 e- T% W
# Comma-separated, ordered list of network types to allocate as  i0 u" S9 j, P

+ ~; x% n5 B& _# tenant networks. The 'local' value is only useful for single-box
" I( z3 e" Z) s0 h
8 ]- I% l- C$ t+ U8 g% V4 S( x( i2 g# testing and provides no connectivity between hosts. ['local',
4 o  e8 U% P% L$ c  s
8 l8 t% B- c4 a+ E& v. q# 'vlan', 'gre', 'vxlan']) H. H+ ]$ u; W0 e+ R
4 k9 H, W  c$ d9 e, _
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan! t3 J: ]% O# V, y/ t) {7 ?

4 `5 e& c$ b& \: b5 _
% e% z7 Q! C% E; y
+ [6 O0 r0 B  Y# Comma-separated ordered list of networking mechanism driver entry2 ]) {5 ^) y6 A9 S( |

, l. H* ~; j" ?7 l# points to be loaded from the neutron.ml2.mechanism_drivers
# B1 [1 U7 P' a
0 D5 T4 k9 B: V* n/ a, H. A& ^# namespace. ['logger', 'test', 'linuxbridge', 'openvswitch',
- P+ Z2 ]' l# n4 s/ t
6 @6 V+ }( u& t' ~7 l! [6 {# 'hyperv', 'ncs', 'arista', 'cisco_nexus', 'mlnx', 'l2population',) c, C/ E# t) C
# I  `+ t! D* d0 ^4 \9 n! {4 _$ L
# 'sriovnicswitch']) M- g* s1 I# |& P# a+ g5 ]) Y; A
4 z. C3 @% `5 }' S
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
( z6 m4 j( e, Z: o" O/ q+ s% f% [
' ^4 [: J( v, t( o8 G- }5 q7 P, v
& y$ |, o+ K( }1 q  `0 L
# Comma-separated list of physical_network names with which flat
+ a9 f/ x, L% X( c/ m, [' F9 a9 p2 f
. ~# P& F1 L0 g4 P! a* O2 b# networks can be created. Use * to allow flat networks with arbitrary
& f# U5 G5 V; B/ f1 W" W  u% X. W$ S" m: C) @
# physical_network names.* u* r$ S8 B) f, y! V/ F* k. w* `8 R

# Q( P4 }' J& |; ~. M7 `CONFIG_NEUTRON_ML2_FLAT_NETWORKS=*
4 f3 [+ B5 e' x7 S% G4 P+ t: U% ~
0 ]+ w5 k; }. Y  _, J; I4 L0 h8 ?* a
2 l) ~" G9 d8 X: |4 l3 @% u4 `+ _
# Comma-separated list of <physical_network>:<vlan_min>:<vlan_max> or
% n! s- i4 T: L8 Q! [
/ X6 F6 J7 V$ E, R2 R( b; B4 h# <physical_network> specifying physical_network names usable for VLAN
0 }1 ?* G8 X4 V) u/ _, k& ~
  @  Z* m; \+ @2 B* [' f% N# r# provider and tenant networks, as well as ranges of VLAN tags on each
) m6 C& u( @" ~2 U# U5 b/ |+ ]0 D% N; Z* R6 k: m
# available for allocation to tenant networks.3 X0 K$ A+ P# y4 z6 m! B7 O- ^- P

% H2 J: Q9 y) |% h, A. B( q; a$ LCONFIG_NEUTRON_ML2_VLAN_RANGES=' m! p1 _' P% ?" X
& ~2 U8 G# y: F6 p; `. {* H
$ x1 @% `' S# R& ?
9 c4 v) w: S; t+ P$ E8 o5 K
# Comma-separated list of <tun_min>:<tun_max> tuples enumerating9 U! N/ n# U% Z( h' C
' X, z! S& e3 @2 ~- y
# ranges of GRE tunnel IDs that are available for tenant-network
- w( u' i! M& |/ |# {
- q3 _9 j* f/ F( o& r# allocation. A tuple must be an array with tun_max +1 - tun_min >
* R7 d4 C( Y' l8 i7 D7 C
$ u$ {0 D- t0 k) E6 k4 s, [. b) u# 1000000.
! }8 o- p! |5 d
0 [! k" K' {/ I" H  qCONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=8 c3 R& ~' X& n0 A) @$ ^

" g: v7 k. T) l$ G6 L6 \( U1 P# T) _4 o% U
7 E5 q9 B: O# y4 A, b
# Comma-separated list of addresses for VXLAN multicast group. If% G, S& _, X/ I) |
, O( Y) K7 L! H% j3 s1 u, |0 F
# left empty, disables VXLAN from sending allocate broadcast traffic
+ {* }2 V6 b* h4 k- \- G, G3 u# C: t+ _9 w2 R
# (disables multicast VXLAN mode). Should be a Multicast IP (v4 or v6)
7 x. M: @' Z5 d, c
' R# }- d5 a0 _2 @/ ]# address.+ g$ R+ T2 O4 T) i  v6 F
  W# R0 ~8 W6 x1 l% D) ^4 K$ \8 I
CONFIG_NEUTRON_ML2_VXLAN_GROUP=. S7 X: g% V. f/ w; N

5 \0 B' B# C7 w0 A, \# K' {* l+ L1 p

8 E( f& ]4 F, F; R7 m% R# Comma-separated list of <vni_min>:<vni_max> tuples enumerating3 y7 B; h9 @- E& c/ s0 [/ N
# \* W: X. J( \  I
# ranges of VXLAN VNI IDs that are available for tenant network
8 ~: r: F4 d) ?2 [( c' X* }% s- d
/ r# W- g$ O0 w6 \7 j# allocation. Minimum value is 0 and maximum value is 16777215.4 g& I* ~1 K: S3 }

+ [7 m4 l" @3 t6 j* I+ [9 V8 YCONFIG_NEUTRON_ML2_VNI_RANGES=10:1003 z) o$ H, _- D1 u
) _/ s" _& J+ x" L6 G

+ q' [2 u: k- c2 o) E: v" _+ x" N5 ~  i. S* C: M1 V) k
# Name of the L2 agent to be used with OpenStack Networking.9 s. z# ?, L$ ]7 u% \" {) c

  H$ e: L, d( o- [# ['linuxbridge', 'openvswitch']! F  U# p5 {' k! `; c4 L, ^- m
: p* z8 [* \5 b, @; J2 M4 T
CONFIG_NEUTRON_L2_AGENT=openvswitch, x7 U! i! g4 @, q& F$ L; r9 |7 L
5 {3 k5 h3 r# q/ {" n
. ^, w" q2 K% i% v
$ p+ @" v5 D3 g, d& a9 k3 s7 y7 H
# Comma separated list of supported PCI vendor devices defined by
; d, V+ I6 l! I! I3 u" A5 S2 z: K7 V: }+ i  I8 }! B
# vendor_id:product_id according to the PCI ID Repository.
% {8 M) m* a7 k+ F8 N' R5 W  h0 J
$ F) w6 z0 Y* E$ N* u, X( ZCONFIG_NEUTRON_ML2_SUPPORTED_PCI_VENDOR_DEVS=['15b3:1004', '8086:10ca']  n6 V, z3 q3 A: d7 K5 ]- v1 F8 F

# T% z+ P' S' n: ^' J
1 k; g) U4 D- g. w9 {, p6 V/ p, X+ P, k
# Specify 'y' if the sriov agent is required
& O  W* O8 q0 i: m. R
4 Y2 j# g8 f3 y4 `CONFIG_NEUTRON_ML2_SRIOV_AGENT_REQUIRED=n
' Q  h+ n8 [5 |) }* e; Q7 T2 X* \9 H0 }1 s" ]7 B
: I  b) |4 x+ k% M" P/ U0 f

3 M# n& f4 J6 q; X; G# Comma-separated list of interface mappings for the OpenStack
% E6 S1 u! N* t' F3 P3 x$ R: P* U) j  r  b3 C8 c% Z. h
# Networking ML2 SRIOV agent. Each tuple in the list must be in the7 ?! W& W0 M/ u, _
6 {9 V" t' ^  |4 p& o) o' W0 R
# format <physical_network>:<net_interface>. Example:
8 C3 b% d4 q; [  V2 _
5 k4 g  }8 J2 b2 O# physnet1:eth1,physnet2:eth2,physnet3:eth3.
1 ~! N7 X3 J& ?9 x6 k% `5 f7 L7 p4 k1 f& [0 M5 p
CONFIG_NEUTRON_ML2_SRIOV_INTERFACE_MAPPINGS=6 s& a" g3 q5 ?
% j7 ~, d# O8 F3 _( [
7 N: d# r! K/ y/ {" `% l
* \5 q6 d5 Z3 |8 O
# Comma-separated list of interface mappings for the OpenStack
. u7 z; G, }. X# K- s; B
( j( g- {3 _( O3 z6 P# Networking linuxbridge plugin. Each tuple in the list must be in the
' `, c3 ^% c2 H% b: Z, o3 p
" Y1 l4 ]7 r0 b" ]( V# format <physical_network>:<net_interface>. Example:$ J, F9 V& R3 ~: m

+ j( [, W( R  g* B( }% g# physnet1:eth1,physnet2:eth2,physnet3:eth3.3 Q, E8 F3 Z4 N3 T
7 ~, \# Q" U. R2 A2 u" R# z& n
CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS=
9 E, f% R% E% L# ]  ?% c4 J
) C2 Y) P0 p' Q
, y- r0 h9 \% f( @
$ L" q& d8 P2 `# Comma-separated list of bridge mappings for the OpenStack
5 b4 s/ T; w& Q- M% G/ l
' J- \" ~, z* p" w5 b# Networking Open vSwitch plugin. Each tuple in the list must be in. _! V5 ^5 ^4 K% ~( u* }- d

( l/ u1 ~6 m- J& \# the format <physical_network>:<ovs_bridge>. Example: physnet1:br-2 Y, N8 D$ v  y
: Q7 [' o5 L0 O5 _" M+ {5 W, P; U
# eth1,physnet2:br-eth2,physnet3:br-eth39 ]9 n5 c9 H- D7 N7 S  c. n
+ V2 t' g, [% B, T
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=
& b+ ~' n6 e. A1 U, \% [- X' W% g9 K, |4 X% N5 {. K4 g) z% x9 ^

, {9 l1 W+ A5 r) Y- z8 w" N) g, l" t4 g/ w' }& T! I
# Comma-separated list of colon-separated Open vSwitch
! J& V. S# w; ^  T2 g0 Q; Y
+ G/ h. ~- e8 I% i0 v8 {2 m+ v  j# <bridge>:<interface> pairs. The interface will be added to the
& q- @1 x- F* k8 b6 c# s9 M7 W0 v& n1 Q: V7 c& G( w
# associated bridge. If you desire the bridge to be persistent a value% J& r0 ?  }0 X' b$ `. z
. a3 ^/ o$ y& G9 y3 N
# must be added to this directive, also' p+ K5 k. Q7 w% u8 \' ~) @

5 M) h' a8 O# ^# CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS must be set in order to create4 q: r# @1 R0 v

; j" @3 W- N. ?) p# the proper port. This can be achieved from the command line by9 L2 Y3 L( A: {% C. F, u! o

# t' e) w6 M1 Q' T8 ~& l% ^' f# issuing the following command: packstack --allinone --os-neutron-
% g3 L0 m! v" G8 b) g# A8 P8 j! W& M" V3 d, S- B; ~/ G
# ovs-bridge-mappings=ext-net:br-ex --os-neutron-ovs-bridge-interfaces
- k+ F5 d5 x& Z& P% s4 a3 r, c4 I; n( F8 `- d8 Q1 g  m$ h. J
# =br-ex:eth00 c  ^3 }0 Y. o: f9 z
! \1 O' m" j) Z: z/ Y! l% n
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=! Z0 O3 Y7 Y0 \& z2 ~

. P! C' I% i1 S6 x/ T/ P
7 Z4 _- X4 w0 Y# j4 E4 p) G
* U3 s% y% \2 q/ B7 [+ D# Comma-separated list of Open vSwitch bridges that must be created
# g! V6 g" Y7 r$ y( h# `; V' p: F8 V7 c2 R
# and connected to interfaces in compute nodes when flat or vlan type+ o5 z4 Y; {0 n% k& k- d1 q
( |5 ^: c" `# A% I
# drivers are enabled. These bridges must exist in
$ s. W' ?. {/ T! o& T
7 s7 {( m8 Y" X1 J% g( N# CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS and
+ O" L7 m3 @; b* U2 g7 \5 ^1 Y' W6 h3 N" m5 _; W* A
# CONFIG_NEUTRON_OVS_BRIDGE_IFACES. Example: --os-neutron-ovs-bridges-1 v) ~" j3 |8 S& _+ N7 B

: ~/ N$ H& T# ?8 s# compute=br-vlan --os-neutron-ovs-bridge-mappings="extnet:br-; K  g( I) ^- r
; {0 q4 u8 ]* r0 D+ i" y( k: r
# ex,physnet1:br-vlan" --os-neutron-ovs-bridge-interfaces="br-ex:eth1
" t: o3 G7 n9 t
1 b9 \% |! r% O2 A# h6 p0 c( S# ,br-vlan:eth2"+ [% r/ X7 W9 i
6 I, D5 J0 s9 C/ p. e; |
CONFIG_NEUTRON_OVS_BRIDGES_COMPUTE=
) W& |! w: I% j2 v0 ], F
% I  L' e: X8 b5 |, t% \- Y* y* @" _) ^- d' c# ^6 A

; S' t9 G. X: E( H- Y# Interface for the Open vSwitch tunnel. Packstack overrides the IP0 _( K' G: P: q5 M3 X( e# H: W
- Q0 q& Y0 @/ N# X; U
# address used for tunnels on this hypervisor to the IP found on the* V4 R' S3 v) T$ P5 x1 w5 K" j$ |+ H5 S

9 h  o& |5 G+ C2 T& S# specified interface (for example, eth1).
% d% E' r; T5 e6 v
, j& e8 d$ f0 M% p. LCONFIG_NEUTRON_OVS_TUNNEL_IF=  P1 o7 T, k. b: z
8 _2 B8 L! I0 i

, A7 @# N; u2 I) m6 C6 t% ~" `9 V8 N, b1 x
# Comma-separated list of subnets (for example,
$ G# W1 |5 C) W4 t+ _6 G; Q5 N2 t% @  Y4 F7 I
# 192.168.10.0/24,192.168.11.0/24) used for sending tunneling packets.2 x# h& i0 j+ ~' c
7 o2 j$ r* V; D
# This is used to configure IP filtering to accept tunneling packets& u8 o5 {" Y) K# V" K+ H+ ~8 K
' i$ c8 t- `8 h' |: E2 {
# from these subnets instead of specific IP addresses of peer nodes.
2 u, L; Z' X1 y* x5 S
3 F4 Q: c6 O( p# n& ?' v6 \# This is useful when you add existing nodes to EXCLUDE_SERVERS, T$ B, K- [! B) x
' h% j$ R; j' O' _
# because, in this case, packstack cannot modify the IP filtering of
; V2 p7 Q7 T, d+ t5 [' p6 n' _+ P
3 _+ I- J% Y* V( @# the existing nodes.
7 G" t5 G$ V3 o3 H9 ]# u2 S. A, G, t2 s+ {* ?
CONFIG_NEUTRON_OVS_TUNNEL_SUBNETS=5 s* W6 _  Z1 v
; C2 t6 ~& k9 i7 X1 _( O- u
( X8 ~) w5 a9 }! H

3 Q8 r$ x: i$ h0 K! f% Q6 V  i# VXLAN UDP port.
* D* W* y* V' J& g, s1 _- m) D* e- \( d% T' [
CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789
/ }4 ]0 C1 y% X0 I: N
+ y# ^, q6 r9 c6 I" N9 C
, U- f! Q9 y( Y* n3 O$ w8 z
# P$ P- A# L# z+ v# Password to use for the OpenStack File Share service (manila) to
, H6 R0 \! E$ g, H  _9 R" k% x" P2 p
# access the database.- U: _: _, w$ D2 R$ @  G. C/ ~
* u/ Y: p5 J7 o7 E
CONFIG_MANILA_DB_PW=05a1afde52ee4dca
- h& k2 ^+ z/ v+ W, k& ], G* g' m8 J. f* \$ e

9 C+ t' x$ ], `$ b0 m2 f3 A" z& J8 `9 b2 d
# Password to use for the OpenStack File Share service (manila) to/ W# f, o9 L$ }/ i

" o) _; h7 \3 t2 p2 z7 T6 e# authenticate with the Identity service.; \1 h: {% p* K! J1 P5 L: [) k
% [* D3 ]7 G4 {8 }7 ?
CONFIG_MANILA_KS_PW=d68b8a1e35c54d89
9 y1 G% m9 z* W% ]; x
0 A! Q! g5 t0 Q( o! g
' c# y7 h6 B4 n& V+ m4 q& G2 @, e/ |3 r/ C9 `
# Backend for the OpenStack File Share service (manila); valid
  E1 J( u# ~% U) M& `7 T' V  P4 W# M/ {1 D( w4 ]
# options are: generic, netapp, glusternative, or glusternfs.$ o6 K" P8 y# S

% T5 M' r- h* j( I. }6 ^5 v; A, {# ['generic', 'netapp', 'glusternative', 'glusternfs']  L4 R$ S( X5 e' r9 l
- s1 }0 ~, p% ~" b$ N1 b
CONFIG_MANILA_BACKEND=generic
8 u+ m7 Q1 }7 L8 X6 e: p* a
- M& b$ E$ w# [0 e- ~. i/ t" R
9 M( a! F. L! R/ `& x" ^# {3 j3 U( n7 @
# Denotes whether the driver should handle the responsibility of2 M: C. y& F. V% v
: b1 b3 {( Y) I
# managing share servers. This must be set to false if the driver is9 P5 k& ^& t' f$ c2 y) ]2 k

3 |* U/ |7 {4 S8 ]" i* d& n# to operate without managing share servers. Defaults to 'false'* Q2 O2 x( {, H, l9 V0 v

) @: {9 j8 P9 y; E1 n  g# ['true', 'false']
& u' ?* Y1 n5 z( ], T* f+ f, N: d
8 o. K# t- ]( a$ Z5 l( k9 bCONFIG_MANILA_NETAPP_DRV_HANDLES_SHARE_SERVERS=false; Q! D. Y& a; _' j

6 G& }- z7 O% x" c: k# s* g" i. M# U8 a! m& d
( ~' g( h0 T# c* c9 Y2 l
# The transport protocol used when communicating with the storage+ |4 x6 u' b# g: I

, b0 p. T4 U, m, z, R6 w4 p# system or proxy server. Valid values are 'http' and 'https'.6 g' V  p  i& y

6 ~1 U1 C- ^! C# [# Defaults to 'https'. ['https', 'http']5 J8 v$ X5 `$ f& k: e1 E5 Q
7 J" {4 `1 @* y( I& z+ H$ B
CONFIG_MANILA_NETAPP_TRANSPORT_TYPE=https
6 r6 D; o' J' b. X0 t& {5 a' S' t& y$ Z% k7 b: a$ i

6 U- f5 W2 `0 Q- q9 p
2 X  H2 G! W, _' p, F6 D2 S/ ~3 R8 x# Administrative user account name used to access the NetApp storage3 `; x* {6 A, N3 s  w! G

' v5 I0 Y* }- t+ c3 P# system.  Defaults to ''.: j( h9 V/ B/ ]. W' {8 d* u1 R

" x) F1 A& @/ s2 }/ {/ DCONFIG_MANILA_NETAPP_LOGIN=admin
1 W: |2 l* D9 g# s) P, p# A2 C' P/ l% e: _0 `4 Z2 L

8 R$ E+ ^6 T- |. V
3 ^  P2 @( D# B3 |# Password for the NetApp administrative user account specified in
1 M+ z% t/ P% ]2 L$ K3 L2 H& ~* B: H0 E) o5 w: o. b
# the CONFIG_MANILA_NETAPP_LOGIN parameter. Defaults to ''.1 R) s$ j0 x  i, @1 [$ c, P- \

( }7 q/ H# T" Z8 Q2 B7 ?/ c) _CONFIG_MANILA_NETAPP_PASSWORD=) }% X) n7 _& o
3 g# E' O/ W; r/ Y: j* z$ n2 E# Y

; R5 w) S- T/ E: q, N
$ H% J. w! E* g) g# Hostname (or IP address) for the NetApp storage system or proxy
6 G6 z& I" J$ @6 ^
* O, m2 K3 f1 B# server. Defaults to ''.' g+ _" q' W7 r0 Y( A% R* t' {5 l

, k5 A/ X1 O3 V  ~CONFIG_MANILA_NETAPP_SERVER_HOSTNAME=
% ^, E& d8 c# W  k5 t( y
& F9 U; P# F( g4 }7 u" p  H& y! z' w: f# q6 D
& e( U( h  \! m7 o6 Q8 j6 D3 U0 G
# The storage family type used on the storage system; valid values. w1 c& m) X# Y) U  I

1 |! d. I5 A, b  |3 O" m# are ontap_cluster for clustered Data ONTAP. Defaults to9 k' l- W: u) B0 e  y9 t4 d

5 d# L# |% M* U0 E# 'ontap_cluster'. ['ontap_cluster']* _1 |( `1 s$ U9 ^3 |! A0 C. ?: {

0 B% O9 Z4 G$ I; f6 D1 {2 GCONFIG_MANILA_NETAPP_STORAGE_FAMILY=ontap_cluster
9 j1 L: @9 r4 K
- {5 y3 _: V& V' e1 S, ?' l% B6 W: r
- I' i- L' h# H: t# V
# The TCP port to use for communication with the storage system or
% s+ i2 h( H& p+ [+ }7 h) h7 q, f# l+ e: |9 M
# proxy server. If not specified, Data ONTAP drivers will use 80 for
" i( n# {, g8 V! R
2 [9 v6 V2 v3 S3 C* g* f" G6 T# HTTP and 443 for HTTPS. Defaults to '443'.% k5 }  N) S1 f# I5 [; u
' [$ e& n. i. H9 {% N$ V8 W3 D
CONFIG_MANILA_NETAPP_SERVER_PORT=443
6 S2 Y, y9 r" n) Q9 L1 f# U7 d1 E3 Q' ?5 ]
# t6 `2 q( a" S  {

, y3 F" m0 D+ ~0 {/ \! Q# Pattern for searching available aggregates for NetApp provisioning.
9 J7 G/ q# D3 m7 Q/ T
& T1 x, d& \2 ]2 H# Defaults to '(.*)'.& r, p. `8 N. N) c1 `+ d8 x  w
  V0 }4 D1 Q% q. C) g
CONFIG_MANILA_NETAPP_AGGREGATE_NAME_SEARCH_PATTERN=(.*)4 h; T$ M1 B) g6 a9 P, a2 j
. _+ w4 a+ F* U! D: f
- ], G# H$ _3 t9 u
8 C9 @: l0 i  @/ |$ _: U% V0 p
# Name of aggregate on which to create the NetApp root volume. This  X, E5 c+ W( ^4 m, k

6 Y9 D' u8 D1 U% m5 R# option only applies when the option
. D# @( p' n) P# L6 q6 F" X- C: k" q' C# P
# CONFIG_MANILA_NETAPP_DRV_HANDLES_SHARE_SERVERS is set to True.
$ j+ L+ T' H( W! h5 J1 b
: Z+ r0 V7 f5 ~8 f6 c3 t. KCONFIG_MANILA_NETAPP_ROOT_VOLUME_AGGREGATE=
/ l3 g- P, |4 a6 w- N# J0 k6 P
# A4 o3 k; J- q7 S  @, v2 O/ A2 |3 O1 b/ M5 w# ?
4 s6 s; K0 {: ^; v, u
# NetApp root volume name. Defaults to 'root'.
. G! V8 x/ j  {# f1 ]! |; s3 D5 V* _2 M
CONFIG_MANILA_NETAPP_ROOT_VOLUME_NAME=root
; u' p, u7 G1 }: l* P
( B% X/ _4 n* ?+ e+ T, S" x/ {# T$ @& t' g" C

. y- P$ |0 D! K' c$ Z7 h# This option specifies the storage virtual machine (previously
% O6 q$ b9 |# _; Q# q. A; c9 f0 a9 W2 ?5 q, ~5 z
# called a Vserver) name on the storage cluster on which provisioning
' {- n# E" X! p# c
3 t9 Y- l. b2 t! h4 v1 K0 t! t# of shared file systems should occur. This option only applies when  m% S2 C; f% J# E& o4 i
% J" t# p/ L0 ]4 _; H
# the option driver_handles_share_servers is set to False. Defaults to
4 w1 m6 S6 a2 r( Z5 C3 V. Q8 W  N0 n7 Q  H
# ''.4 E# d$ j' {/ a3 i2 c: e1 u
8 u) I/ u0 x: t9 Q$ d
CONFIG_MANILA_NETAPP_VSERVER=
- q" z  k: B7 r0 ?; _  R8 g7 A$ v. E: z0 R4 [% O

6 y; [" J) |8 L; w  m' x) _0 S! _" H
# Denotes whether the driver should handle the responsibility of' H  w$ \$ l" e( i7 b8 i; u

7 J, _  p1 U: p' d5 V8 J6 g9 T# managing share servers. This must be set to false if the driver is
: A; ~5 W5 y& L' L" c8 p' O" g
& j9 t( G9 g+ _# Q2 Y. C/ f# to operate without managing share servers. Defaults to 'true'.. p$ z) h, C. p4 e# E/ g5 O! Q6 ]) O% ?
3 v, y( ]7 o, A
# ['true', 'false']3 z; \% A4 @6 I3 |7 i; N# V9 ]; w, i
/ T9 w- F- ?, a# F4 i8 j$ K. {
CONFIG_MANILA_GENERIC_DRV_HANDLES_SHARE_SERVERS=true
  H# J( B- d9 x0 @' I8 s
% O1 p  s$ W; H3 x5 H6 {4 [+ U9 e" b8 e, I. e+ K
1 O: q% M' g0 n8 J/ m& W
# Volume name template for Manila service. Defaults to 'manila-
+ V( l$ l" \7 c0 F9 s8 A$ t! C. C' s1 a
# share-%s'.- `* [# w- w+ `8 U
# ?+ _) E- E0 r% C
CONFIG_MANILA_GENERIC_VOLUME_NAME_TEMPLATE=manila-share-%s
, a8 S  l2 B7 D$ ?1 W0 m  T0 `
# Z2 y& a/ K' H% ^" i) t9 M/ @. R" P  X* l4 k6 x% }) e& O
  a& \( E7 R" S" X
# Share mount path for Manila service. Defaults to '/shares'.
2 n: K. w2 E* P( H! y# f
( Y; v, n% u* o! E7 [9 ]7 H, \8 E1 aCONFIG_MANILA_GENERIC_SHARE_MOUNT_PATH=/shares
; g3 G. `! n5 }$ R2 C* l  \, M1 w; l) X

" n( H" u# g9 B6 g8 d
- V1 u/ W  Z0 J% e$ A; }, B8 ~5 B  X+ |" ^# Location of disk image for Manila service instance. Defaults to '5 S1 N) ?; o" ?, h. p4 u
# u  U4 o! e- E: [
CONFIG_MANILA_SERVICE_IMAGE_LOCATION=http://192.168.117.129/centos/help/files/manila-service-image.qcow2
' F  `1 S0 b& y% M; E- h$ _, R2 r5 @5 k* U
* o% X$ m  _  m; x

3 y% Y9 O+ N/ `& n6 e* e# User in Manila service instance., l& f, t) o7 u" y/ Q4 _& ]

. h1 X) W: Q. X. s4 uCONFIG_MANILA_SERVICE_INSTANCE_USER=manila
) E; c% l3 r! |) _7 C5 c% J
% m( L7 W: t3 ]9 x" C+ f9 n4 u. `

% I9 ]+ N# v$ _# a: K+ ]: g# Password to service instance user.7 X/ ?2 d5 X0 y2 A. \
0 G  R3 t' K# w, F& c! ~
CONFIG_MANILA_SERVICE_INSTANCE_PASSWORD=manila
7 q/ O8 S1 x& b9 G! Y. ^! f5 m( w( U9 w. |7 d

$ B' U; W4 E: T6 o, H. u) |
# p. Z+ ]: j% K1 z- d0 q# Type of networking that the backend will use. A more detailed! p8 W, g7 N1 r: Q- }& H' H; T# A1 I1 b
: D& W$ p0 P: V
# description of each option is available in the Manila docs. Defaults* @& ~& a5 ~! a$ D) o$ b/ y

" W2 S9 A2 B$ _7 _( G9 Q9 R- C# to 'neutron'. ['neutron', 'nova-network', 'standalone']
& Y% T. L# t2 h$ V/ H' _8 m& V+ r
* Z' A3 A/ e) LCONFIG_MANILA_NETWORK_TYPE=neutron
; b1 R  h; ]# u# u  ~$ H, r  x3 B; e, @+ h* J
3 _9 D& ]2 h' D
9 P3 ^3 {3 Q5 q* C5 {
# Gateway IPv4 address that should be used. Required. Defaults to ''.
4 `- y) P1 o1 p- j5 h0 \' H  T; l. ?1 w! U# a. H
CONFIG_MANILA_NETWORK_STANDALONE_GATEWAY=8 q; W4 O7 u; Q. |8 t" K/ p4 ~
* V) f" q+ o1 F  Y

( H  ?4 N' C3 }- M1 ^- J( `) X4 L* g4 X4 Q5 |/ Z  K
# Network mask that will be used. Can be either decimal like '24' or) S2 f9 h3 u) h9 b) O

5 _7 M/ {# T7 O; w# binary like '255.255.255.0'. Required. Defaults to ''.
3 o$ w" r4 Q8 M9 @& }& T5 S, \9 M+ B; n: ]  i& Z
CONFIG_MANILA_NETWORK_STANDALONE_NETMASK=. j/ P* @1 x; l2 c  @

+ L% j. |- t- B) T9 Y; h, U
* \4 |& N5 Q( i  Y6 m& b, J5 Y. W. W; s0 Z/ u1 r
# Set it if network has segmentation (VLAN, VXLAN, etc). It will be# F% g3 ^# y- W& V& _0 i

+ y. E: }& y$ K6 ~6 r4 ~- T# assigned to share-network and share drivers will be able to use this
6 }, x# U% D0 ~. L' w' `& o8 f+ Q. V2 n+ o
# for network interfaces within provisioned share servers. Optional.: F& B  `/ n9 ?
+ a0 o+ q2 x# \' J5 |
# Example: 1001. Defaults to ''.  L0 _$ G% `" \# `4 `% e) L9 ^1 V

2 p* z& }. |; \4 ZCONFIG_MANILA_NETWORK_STANDALONE_SEG_ID=- ?3 `, O7 G3 `% o% o
# S$ a: n8 `. ]: D* u) m
7 J2 T( o4 r- ]- b$ @- \/ v- c

8 O6 F6 B4 J3 F8 Q; S+ C) f% s4 D4 x# Can be IP address, range of IP addresses or list of addresses or
- Z  v8 E) l1 Y, h- H* S
' s, @( p1 a' N" Y. b# ranges. Contains addresses from IP network that are allowed to be/ }! c0 A! b( p7 J, A& `! ?2 ^
8 }, G1 Y1 V, z$ j4 k+ T6 n
# used. If empty, then will be assumed that all host addresses from
8 O3 R8 z. [( g0 p- V: h$ j+ ^4 P/ A7 q' n6 ]
# network can be used. Optional. Examples: 10.0.0.10 or
, z! O7 W# u0 ?- o* T
+ l- Q* Z! y- H# 10.0.0.10-10.0.0.20 or
/ y# D3 K# q2 ?+ t/ v7 L( ]7 k, h3 D: ?6 o% |# ^7 \
# 10.0.0.10-10.0.0.20,10.0.0.30-10.0.0.40,10.0.0.50. Defaults to ''.& @) L* n& U+ U! y% o( G, m2 e
5 t: ?  _; d+ `/ U- S
CONFIG_MANILA_NETWORK_STANDALONE_IP_RANGE=
. t1 E& I$ j/ b  f1 ~8 L$ N; i) |0 H/ b% G" Z7 E
$ A1 W3 t0 f9 Y- E' j
5 Q% t6 ?! K# A1 J
# IP version of network. Optional. Defaults to '4'. ['4', '6']
2 z$ P: X0 D6 e1 R/ h+ T. p7 j% ~; w- h6 g! ]8 J7 L8 F  t
CONFIG_MANILA_NETWORK_STANDALONE_IP_VERSION=45 b: P: _3 W/ m- @3 c9 X. X" p$ n  T

) a; n0 M% Q- R* Y1 @$ h6 {
4 A! o, u" @1 Q  Y! Q$ {/ e* W7 w! ~1 i% l/ X  T7 ?+ B% }' U
# List of GlusterFS servers that can be used to create shares. Each
9 U7 ~3 P4 t& H
' X/ J, [, k9 u# m) A# GlusterFS server should be of the form [remoteuser@]<volserver>, and1 Y3 Z' I0 |- C' N  Y2 L
# N8 T6 ?) S  m2 R6 L6 @5 y
# they are assumed to belong to distinct Gluster clusters.
' S/ b% N0 F% ~. m/ n, I5 |+ }$ k4 z8 |) b( `5 x9 Z& l; M2 o
CONFIG_MANILA_GLUSTERFS_SERVERS=+ l2 ~1 ?# B! P

0 p  w' @) h; R% U8 ]4 U5 L- t1 k0 r, m' n

, s" B2 Q( \/ t( W# Path of Manila host's private SSH key file.6 h' \- r/ U, A( `9 R
" q/ s# |8 O% `5 h2 G% S
CONFIG_MANILA_GLUSTERFS_NATIVE_PATH_TO_PRIVATE_KEY=
  @$ R) ~3 F$ W$ ?( f; f% D/ W" R9 ~/ V5 ^+ u

1 _+ O* u& T$ c' u
2 S8 t" v2 f# {$ Y# Regular expression template used to filter GlusterFS volumes for
( j! m! U* I' J( Y9 \* c" m9 ^5 ~1 ^- y. k5 R
# share creation. The regex template can optionally (ie. with support; C5 T* ~- d3 w. q, x* S% D" D

* q7 {. ]* y; @* m# of the GlusterFS backend) contain the #{size} parameter which
6 V+ c" Q* r3 ^
& O- _$ |* K* g8 n# matches an integer (sequence of digits) in which case the value
. n9 Q- {+ q- K$ W: G
0 u* i0 l& B  K" M, }8 k$ k# shall be intepreted as size of the volume in GB. Examples: "manila-
- \8 S6 |3 `# U* F4 ~" x* c! q0 C7 {# l; z# h
# share-volume-d+$", "manila-share-volume-#{size}G-d+$"; with matching6 \# t9 V/ s7 g5 p) P
' p: Q, U- E' o, e* U8 w0 C
# volume names, respectively: "manila-share-volume-12", "manila-share-
6 Z- D: P, r* a# H( {$ V% f: t& k( I  S. C
# volume-3G-13". In latter example, the number that matches "#{size}",) I+ k& f; V& u& G
  ]( t. A  w6 ~* y
# that is, 3, is an indication that the size of volume is 3G.- V1 B3 X3 `# _4 s$ e: T$ b' G# I

# X1 ~) q1 |1 x$ Z, _# N! }4 kCONFIG_MANILA_GLUSTERFS_VOLUME_PATTERN=- V' w& F: p$ D; c& s2 m+ M1 M2 L

3 q. i; @- ?/ h8 s
5 s! r  R- o3 q+ {3 a3 ~
  ?5 C# d+ Y! c( M# Specifies the GlusterFS volume to be mounted on the Manila host.
, l  A# X' k  x  ^" V! F# ~0 g
- P& K* K! j- M/ Z1 Q# For e.g: [remoteuser@]<volserver>:/<volid>! Q. D0 M) Z- G" ~/ t

/ ~2 v1 N2 @( [% n3 i3 UCONFIG_MANILA_GLUSTERFS_TARGET=
2 J# m* H# C# O4 j8 W; q0 q# b) B$ w% T# `

& |8 M; j7 r$ |9 p- x% B/ w; i: x% |$ c5 o) F
# Base directory containing mount points for Gluster volumes.5 |3 t5 H/ g( ?$ Q# ~* ^

+ K& d5 M' Z& E0 s% W2 ACONFIG_MANILA_GLUSTERFS_MOUNT_POINT_BASE=+ V4 U5 a4 {/ n* i+ `$ B

( f+ u9 n: C3 h5 X! G! C# b
0 m/ B0 x. t5 [, k- G8 M1 o3 a9 {( P2 j6 d, o, M' g
# Type of NFS server that mediate access to the Gluster volumes6 u; j0 r" L$ \1 I, D. d: N& u
1 A& n: ~$ t4 M, L) s6 z
# (Gluster or Ganesha)./ w, `) d  d' Q0 @8 y, s
" Z1 F& r! \2 K- i
CONFIG_MANILA_GLUSTERFS_NFS_SERVER_TYPE=gluster
* Y2 q: {" i5 G8 ?; }- O6 @
# |) Z2 j% B, z9 p4 S+ F# x. z
) \3 D9 x9 p: _( [$ N2 H3 A1 i* K7 Z" m9 H
# Path of Manila host's private SSH key file.
: I3 S( e% c. X; H" ^$ j
1 [+ n4 [& X7 r5 S' N0 ZCONFIG_MANILA_GLUSTERFS_PATH_TO_PRIVATE_KEY=6 ~$ X8 ^. N! e5 w) x# m) a
3 u( Y- r# a4 h  k2 n7 F
7 ^# l, `9 O: G3 W6 I
, D. u0 _" {% r
# Remote Ganesha server node's IP address.
+ V2 D$ s; a7 w1 E. y/ m7 Q; E0 D; m7 N- `- B& {- H4 u
CONFIG_MANILA_GLUSTERFS_GANESHA_SERVER_IP=- _  E$ V- Z) n8 N/ W* D

- D' k) c& w5 u" u/ C
0 d8 f, {7 j3 g- C6 m- n8 ]+ W0 N; j0 O5 _
# Specify 'y' to set up Horizon communication over https. ['y', 'n']# w+ V1 C5 x. F) h+ v+ B

: d6 n2 V; H- G; w- mCONFIG_HORIZON_SSL=n1 F9 }* x9 i2 o9 s" T/ V0 I' V) f

  Q3 |" p* F6 b. g9 p( a) d
7 ~# A1 c1 Y% x  p. w; P  \. n2 d: l$ n
# Secret key to use for Horizon Secret Encryption Key.4 @6 e0 _: a+ q1 G. B2 p) N
+ \# o0 K9 O  m: I% w
CONFIG_HORIZON_SECRET_KEY=4c5dae8f4f124d68bf2516083b38b2924 |9 B4 b+ ]& O( K, K; t6 K8 P

- w  W- r5 O* e( q  I9 A6 K
, |+ c4 `$ G; s5 Z: h5 H& b2 N0 {
# PEM-encoded certificate to be used for SSL connections on the https; k6 @0 e+ P) V0 O! x, m
9 R% j: b% ]! j- _. o2 {0 J
# server. To generate a certificate, leave blank.
! e" \* J  S$ R7 k9 a5 ?6 m; R- ]% z1 ~4 b8 [9 h8 J
CONFIG_HORIZON_SSL_CERT=- s9 q0 m- |5 B$ S8 e. T& @- D

9 N5 e' n1 g& }! u
/ U/ ?* t- K% F7 I3 k3 B
# n' ~* A6 F. `2 y' B7 s# SSL keyfile corresponding to the certificate if one was specified.6 z! l$ l0 h1 q, |# |- [3 j7 f& C& `
& r* q8 q! ]2 y5 j/ g1 Q7 E8 v
# The certificate should not require a passphrase.5 i7 U& e' {3 W# J3 ?2 U2 _6 k+ M
8 @% k2 U  f$ Y. g
CONFIG_HORIZON_SSL_KEY=
1 p, U: q3 x, z" q/ ]4 f- `5 r' {1 I

4 H: `' L) t' G+ L+ Z+ d' r1 s/ E! h+ s$ \, i! p
CONFIG_HORIZON_SSL_CACERT=7 J) D9 Q, E9 L4 u5 k. a2 ]
$ J6 z% _: @7 Y* p2 P* h$ O
+ J1 W  ]) f: {, R
3 e* o5 ^' l) F3 m! t2 h/ m
# Password to use for the Object Storage service to authenticate with
) d, ^& T% I/ F4 g
. }* `% j1 r9 E3 l4 i1 b/ v  G* n- I# the Identity service.
' @8 U  R4 M4 v. B. T! y
, S% \) K5 ^0 M: tCONFIG_SWIFT_KS_PW=dff5fe32de494c99
; W7 u9 h! F$ A9 V
  w; ^% ^; ]! c. t1 I8 B
) [+ V; b, `# r% \0 G) w% {6 o% ]6 \0 M+ L% o9 q  x
# Comma-separated list of devices to use as storage device for Object+ z% T% d) I5 w4 q' ^( i" M: E
6 \5 H: }  Z. q1 i' ^: F- h8 o
# Storage. Each entry must take the format /path/to/dev (for example,
4 p; }4 u- c  f  J* e  u4 r% ]" K# W9 i( ]# i9 n2 v
# specifying /dev/vdb installs /dev/vdb as the Object Storage storage
2 T$ F* f$ o% h% L4 S7 H% l+ \
) G( ?9 I3 E' c8 K$ |! K' A# y3 ^# device; Packstack does not create the filesystem, you must do this( r5 ^4 X6 F! _! [' T! M; F
  z' J, C' a4 Z7 p
# first). If left empty, Packstack creates a loopback device for test
# l0 @' m- c9 i9 Q" `
, t3 ~3 Y! t- M% T% Y* s3 [# setup.
  f! n$ ~7 E$ a; }+ P9 U/ X/ t! Q7 b4 D+ h( w9 a
CONFIG_SWIFT_STORAGES=! n$ m" T3 x9 n" K% T' x
8 u4 M0 p2 F7 o4 q

5 r# T) u$ t& r7 w3 W3 C2 d( A/ B: l$ {6 Y$ \) Z- ]& V& W( V3 ^
# Number of Object Storage storage zones; this number MUST be no
' Q9 v' U) w, T4 v
1 |: ]1 G2 B, ], w; i# o' s$ ]# larger than the number of configured storage devices.0 P/ ]) X( Y) @2 d
. r& G: v$ ^  _3 h+ I  n1 n0 }
CONFIG_SWIFT_STORAGE_ZONES=12 Y4 @; [3 O) o
: L6 i' X+ p7 j; P
' y+ Q, e. G8 C
# r' \" y; R  q; w+ O
# Number of Object Storage storage replicas; this number MUST be no
! I, \8 z+ U3 A. g6 a4 Z# T! g6 R' }" e, n! K, u
# larger than the number of configured storage zones.
. e% G! s8 T5 {$ e0 c8 {: ?' E" [7 {* r! p! h
CONFIG_SWIFT_STORAGE_REPLICAS=1
: m; L% r4 i/ J# M9 z2 F
) v7 y1 Y+ l9 ^2 J& h9 n! D/ B
  ?3 {/ Y. J. B8 Z1 |- i" z* {9 p8 d, a. k8 u" u
# File system type for storage nodes. ['xfs', 'ext4']
( {- \: ]& A: S4 M+ N$ e* F: \) N$ o; A7 E6 p. U9 N+ ~
CONFIG_SWIFT_STORAGE_FSTYPE=ext4
! z1 ^* t" j/ b8 }/ ?( p% r
; Q( t+ i! b; k' W
" H& _' X  o) o% o* M+ c1 v; _9 ~" |* A" s  u( T. q. q+ E
# Custom seed number to use for swift_hash_path_suffix in, c7 }6 ~( j& C( u
; V( `1 }) M5 o; V, g
# /etc/swift/swift.conf. If you do not provide a value, a seed number; r3 L# h" m" c  ^# Q( ?& ?: i" U7 x
+ Q$ V) R( a1 m. l' Q* m, W
# is automatically generated.. L- k( A9 o- v0 i* c

2 R# s- i3 Q1 e3 e  {6 u0 _CONFIG_SWIFT_HASH=01da2433204e416b9 D/ p4 D" T7 M
9 S+ Y7 K6 z3 f  B) S% i

2 W8 X9 L: s( }3 e) ~- J
% `0 C; }1 I! H( K" h# Size of the Object Storage loopback file storage device.$ f$ a4 M% q) H( w

4 r3 v( V5 E2 f3 B+ G# ?CONFIG_SWIFT_STORAGE_SIZE=2G% M- E9 o8 l* p- L2 V

( S" g0 z* J/ e5 ^7 u8 x2 Z& D/ o0 R8 y

+ a. q5 p/ I, s; T/ R4 k# Password used by Orchestration service user to authenticate against
5 ^  U, P/ T) a( R
! L2 k* F* I3 V6 N3 W1 V: \7 X# the database.
& U3 }! K/ p1 ^! Y2 y( p- w
5 v% t: S) E, ]3 Y1 \  VCONFIG_HEAT_DB_PW=PW_PLACEHOLDER
6 h( {$ F8 j2 a0 a) y/ n0 }% F& _+ X' ]: J

# }- g) P! @% F7 I7 u5 B" O+ c+ f7 N6 F8 a% t
# Encryption key to use for authentication in the Orchestration
1 m4 {( n2 t  Z! Q! d2 e* ~* @. }! X& A/ B, ?
# database (16, 24, or 32 chars).7 U/ O: Y6 _/ z7 J% d

; d* k  m0 _; C( E' FCONFIG_HEAT_AUTH_ENC_KEY=8aecdfeb31124de5
1 N, l0 G$ @+ H* q
5 z% f& X/ _9 Q- e4 ]5 A% J! M+ ~7 W5 \! Q$ b& \
& z9 @% w4 ]! m7 O1 G
# Password to use for the Orchestration service to authenticate with
+ T* A$ ~0 ~6 A6 G  U" X( r9 i& _# q( p& k$ w; B
# the Identity service.
) A9 R+ l! f8 o3 x5 D: [% _+ A
CONFIG_HEAT_KS_PW=PW_PLACEHOLDER
' G$ I; V. u% J. x% A, z: [0 Y9 [* ]4 I: R7 u

" v; D5 |4 `: ^. a
6 P% `. s" |" g( M" m6 Y7 {1 i( q# Specify 'y' to install the Orchestration CloudWatch API. ['y', 'n']
4 }  t/ h! a% q
1 t/ ?0 N' o# u. p9 XCONFIG_HEAT_CLOUDWATCH_INSTALL=n- q0 Y7 F& |) n

# v3 N$ C2 D) Y3 X5 ]9 {$ a! L8 z. h& \1 Y! q; H

3 e9 T  O1 t& E6 q# Specify 'y' to install the Orchestration CloudFormation API. ['y',. a6 g& y' L" y+ _3 R7 v

' a5 a0 e) T, u# 'n']3 Q# O% p- ^, R% |" C+ D/ C$ k

% O2 R1 h' x) J9 ?CONFIG_HEAT_CFN_INSTALL=n
/ s% ]+ V! V: Y8 V* m4 f! _# ~: N% x& ]$ y

1 }' O, f5 }9 _% c5 w! H1 r6 E
  I" C7 S7 k* _! y- L6 d  M4 R# Name of the Identity domain for Orchestration.$ ~( R1 o, M, p: j2 G# h( m, I
( X" y! u  g, r2 y9 h1 d3 L
CONFIG_HEAT_DOMAIN=heat
4 P+ j6 M) D/ L+ i9 l  q0 j% c. x2 J8 A0 u

; ^% s, K' [( p( O2 _. G* b$ k: p; y9 ?% E; `. o( j
# Name of the Identity domain administrative user for Orchestration.
0 B; j' {5 W$ V# S" A4 a6 v5 J! _0 q
CONFIG_HEAT_DOMAIN_ADMIN=heat_admin$ g' k: S) r, S
- @! Z3 q/ S; I8 X7 O3 M

7 g5 f% N+ p# W* D- i
0 j8 I6 L7 b: G$ ]/ C# R  R# Password for the Identity domain administrative user for
2 g9 ^5 I9 }: D" ?% q$ ~% O, ~
5 l$ u: G" i* }! _# Orchestration.) z! H# P! O- r
/ x; |9 o; p/ Z" H6 T9 p+ p
CONFIG_HEAT_DOMAIN_PASSWORD=PW_PLACEHOLDER/ {/ j1 L- y( F9 k, V4 M" o
. I/ N- l8 G' G

+ ]3 g+ L4 f3 V, }2 O- ~' _$ R8 ?* b* S7 b6 R+ l
# Specify 'y' to provision for demo usage and testing. ['y', 'n']
6 ~* m8 B/ r+ _+ q( `$ Y  N5 o, E) `* r; c# [* G8 O6 j+ r
CONFIG_PROVISION_DEMO=y; s6 C; ^5 N) d. o
/ L, [3 Y9 f6 _( E
6 D" G; G* b, ]
; x' ?6 ~& H  X' r0 A
# Specify 'y' to configure the OpenStack Integration Test Suite" J# v: W- A& i$ u0 b$ _: y
6 e' H9 K: U0 T9 C- u
# (tempest) for testing. The test suite requires OpenStack Networking
; m  g; c* E) Y1 d, w" k. V! {6 G! d1 U7 `& B. x) a
# to be installed. ['y', 'n']: }, o7 u, L( Q/ Q' S! k
$ I' p/ L, n2 S% P/ E! S
CONFIG_PROVISION_TEMPEST=n- x2 }) N, _% E, S! }: }
. q; B! s- c3 x! M2 E2 P1 d# V
! X! r/ E2 G& N: \# a- j7 T

8 a& ^% @/ G3 Q# CIDR network address for the floating IP subnet.
* r7 B9 A8 Z0 J0 p0 [  K" n
0 _- K: ~$ t+ u  r. L( z' x+ F( F3 fCONFIG_PROVISION_DEMO_FLOATRANGE=172.24.4.224/287 W! m8 p4 C1 h' n

2 O# X* I% t( Q
: U/ G* }0 e7 s- d/ p* b2 ~" |3 Z% f5 |/ X
# The name to be assigned to the demo image in Glance (default" u' T9 \9 v. Y
# _5 Q) V8 x/ ]& k
# "cirros").
, T( {* i  a1 A. S; ^
/ `* T$ j; A3 Q5 ?9 FCONFIG_PROVISION_IMAGE_NAME=cirros
% l. w6 `" H7 V  G! W/ z+ D- v! f  \% N
- l- Z; \6 T1 z0 C+ l" l3 b5 z( b
0 P& T) J; j  s7 }2 l7 i; |
# A URL or local file location for an image to download and provision$ J' Z% j! L! G( \
/ _1 K6 X: B6 ^8 i: _
# in Glance (defaults to a URL for a recent "cirros" image).
- ]- u" b3 T3 e
, N! }( u9 j7 c0 gCONFIG_PROVISION_IMAGE_URL=http://192.168.117.129/centos/help/files/cirros-0.3.4-x86_64-disk.img
# W% C8 o2 N& S5 i* B* K7 q: h% ]) M  h' ^

( X5 |& u1 t" |% Y! |& P! B  i, ^1 w4 a) G9 T! t2 O. Z
# Format for the demo image (default "qcow2").. L9 u% G: i7 n) K3 N9 s- a$ @
% l" E6 Q0 q: F' _
CONFIG_PROVISION_IMAGE_FORMAT=qcow2
/ p7 l/ `1 x: T6 {7 E8 A  }( }: M3 d& {0 S
4 q; q! ^- n' s: G
; m7 U' P  ~! |/ B. v0 Q
# User to use when connecting to instances booted from the demo$ z2 l; O6 E: [& h3 {1 C$ s
" R$ O+ B8 U- v& T8 [
# image.
! w5 X( s( I& p8 ?- u
% x9 j4 b5 ?1 a- t* W- ?% o. m7 V8 \CONFIG_PROVISION_IMAGE_SSH_USER=cirros
3 \6 @9 a) b0 c6 _& ]# [; N1 Z* q8 v: t
3 r  p) }5 P" E' o+ v

% ?/ ^9 g- o9 a/ B2 X" R0 A4 {CONFIG_TEMPEST_HOST=; s3 t5 I2 `7 \$ X+ ^+ m. T

4 c9 t* o" x2 X! u- s
# B; D5 {+ N( w! c4 m( \: P& y+ g4 E1 S
# Name of the Integration Test Suite provisioning user. If you do not
9 q) g6 m7 J+ G$ c7 a1 G( s  j! p
5 i, x7 Z9 [+ U' W# provide a user name, Tempest is configured in a standalone mode.
/ ~! }& P* k6 _7 k9 L$ N
/ T5 V" q3 m1 J% bCONFIG_PROVISION_TEMPEST_USER=% a5 M1 q* B' A8 x5 N" E" G3 ]  U
% ~. o# Y: _/ Z- n+ w( O

- V- X- l: G) [6 {/ _/ f1 T7 Z1 Z0 C- q6 B3 o5 c) F3 y/ B2 c$ p$ A
# Password to use for the Integration Test Suite provisioning user.
3 p7 x5 u% E# A: h# {4 g
1 w: g- z! ^; {" {CONFIG_PROVISION_TEMPEST_USER_PW=PW_PLACEHOLDER! ]6 K  a+ K# q% o% Y) Z- ~( O

0 ]+ G  F2 d; _) r5 h" ]. ~! ]7 j# R' {$ e  V- e6 D

' N$ _' @" D* ]2 j4 a2 `' E# CIDR network address for the floating IP subnet.' n2 R$ n3 K! \
/ a7 U! w3 f: o
CONFIG_PROVISION_TEMPEST_FLOATRANGE=172.24.4.224/28
, a, a" H. R7 v
+ s, J( C! V( ^, d7 v- l5 o& C% o$ Z; T

5 [1 i! U7 {8 U3 d* c# URI of the Integration Test Suite git repository.
, @# g' |4 O+ A- ]# Z' v5 d, P& a
0 {. N8 }* I; y; M- ?CONFIG_PROVISION_TEMPEST_REPO_URI=https://github.com/openstack/tempest.git) m5 d# }3 x: D3 f; v0 D% U: l
/ J. B0 j' g6 O% \! _

2 {4 |# C' g/ e: }
% z; c9 X+ U: @3 s0 e% k4 h# Revision (branch) of the Integration Test Suite git repository.
+ s2 P1 y5 C; s1 l
; x8 t- |, b1 ]7 E1 Z- |CONFIG_PROVISION_TEMPEST_REPO_REVISION=master& p% O# c: r% f6 H

( Z  ?# W- l! h0 @" G* F* w* [7 K1 t7 o% \5 n# Y4 O+ g# J7 Z" G, |
' {9 V2 s8 z! e) @4 u+ t
# Specify 'y' to run Tempest smoke test as last step of installation.
/ z3 i* ?0 U0 C* q
0 _  |$ e9 v- q1 C9 D6 L) jCONFIG_RUN_TEMPEST=n
) b2 ~+ M- o* |) i/ r
7 i9 B1 l5 ?1 u4 r
* L0 J% c& n0 ?9 O: n2 T
- a9 R$ I! v; Y& G. P# Test suites to run, example: "smoke dashboard TelemetryAlarming".: K1 |5 i7 Q# Q; J
0 c0 u3 @- F- d
# Optional, defaults to "smoke".- J7 l( [; }4 @: w% N+ ~/ H
) t% l  B' T' i. t6 B- l- _
CONFIG_RUN_TEMPEST_TESTS=smoke, |" }3 @# k( s) J4 ^
( e& S% s, j& E3 n9 r

, r. I4 _0 X  f( j# @3 z; |9 T7 D$ z
# Specify 'y' to configure the Open vSwitch external bridge for an
+ f: v4 g0 Z! P  \. e( C
! O) {% J# a6 g, F3 }# all-in-one deployment (the L3 external bridge acts as the gateway0 B3 f+ o. f' D5 D- Y
: F) p6 J, G. B! b  z# i
# for virtual machines). ['y', 'n']
% d/ ]- H/ }' m' I; s1 i( K. ?9 `& b! r2 f0 O6 B
CONFIG_PROVISION_OVS_BRIDGE=y
, x: K' q$ C; h/ l- i/ ?( w0 t& \' Y# [" _# h
* L0 W4 |3 f: T7 `3 s7 W
0 i% o, ]5 v- x8 P1 a- v$ a7 p
# Password to use for Gnocchi to access the database.
8 W& ~* n$ {& s' P$ ~! ~: G, P  b
CONFIG_GNOCCHI_DB_PW=f40e4c770e3b4d1c
8 U' n# B# a( l. l! C) s) Z5 A1 G( D$ y; q0 j

: u2 n" q! T0 x( D
" O3 Y4 l* o+ a0 E& K) Z# Password to use for Gnocchi to authenticate with the Identity* ~) ]& U4 [, G+ n5 J( r

: @: N% h8 z; F" t# service.
, C6 P4 E+ z. h5 e9 x8 ~; j! r1 I. a5 R
CONFIG_GNOCCHI_KS_PW=314a530c538048f9; s6 F1 u6 `2 z- u. _( Z

) Z9 V! _; @  E9 M# D- u. {
, ~. t7 P7 x$ D& M- A7 O) t0 S' u+ D* X7 s+ ~/ w
# Secret key for signing Telemetry service (ceilometer) messages.
# v! J0 s* w% ^: D# G4 U
) n' d9 @+ F3 M$ J4 t0 s5 M4 HCONFIG_CEILOMETER_SECRET=e0dccc8ed8024c16
. b4 X% ^3 V# f% x
# I+ e  [; @6 j) I' E0 O; W3 ^) `/ O, t% _/ O$ y
0 a6 L1 a6 C5 e/ @7 J9 J
# Password to use for Telemetry to authenticate with the Identity" i" P; i4 |) O* |3 C$ @
1 C! n" V; N3 y" b& C
# service.: `. A" R! B. P8 P' h
! N0 B2 w6 p% ?
CONFIG_CEILOMETER_KS_PW=4c2b90ee71664e5e
2 {0 y( X( J3 [0 q  L0 X, T  @% J
/ K( j" p& \! t/ F4 u8 R* D
, B" @- A* w" ?8 l3 n
# Ceilometer service name. ['httpd', 'ceilometer']& A# N6 A9 f" [
' n: Y5 {5 e% |$ H# g$ t( Y) A
CONFIG_CEILOMETER_SERVICE_NAME=httpd
% L) i5 R  n; P7 ^: z* W8 P- K* w8 \4 p& L+ ~9 z7 l
5 ^: B. o3 f% l( w

' f+ I* c: o6 l# Backend driver for Telemetry's group membership coordination.
" }7 p2 k8 ]& h8 i5 C. ^3 Y% R6 U. s# ]" u& L% a  N
# ['redis', 'none']2 P5 s1 n  @' X5 X6 R8 o1 r- x; n. u

' N) |2 ]- d) Y0 c+ ACONFIG_CEILOMETER_COORDINATION_BACKEND=redis6 s1 t: T0 Q' S# }8 c' O0 i
- o% e1 l4 |9 |! P
4 m8 S& ^9 }) B( Q
) W' y+ `+ Q" R# S4 k: H) t
# Backend driver for Telemetry's metering backend configuration.
1 A( z0 w- C3 c& _
- |( j; H+ o  H% O# ['database', 'gnocchi']
2 }$ v; s, ~1 K0 ?% r3 j: Q+ J, l
6 U' @8 P. c$ X% }% xCONFIG_CEILOMETER_METERING_BACKEND=database
( R; j6 m% Q5 n- ]% s& x5 X7 ~5 P0 L! S: ]# @

& A3 I: V) b2 {: Z* ~# T: F$ t; e
# IP address of the server on which to install MongoDB.
! C: p$ }1 @( F2 z8 o
- E+ {8 d5 v' x% kCONFIG_MONGODB_HOST=10.0.2.15
4 v8 B5 P/ q( s+ Q& b' \3 j- ^; z( S
" H6 W6 d9 J$ a" p

* r) |. c) R0 E8 D6 ~$ i5 \# IP address of the server on which to install the Redis master
4 {4 n  ~' b3 N9 t1 s& `
% _& a1 Y$ s# E) @2 T/ J# server.
) [( A7 K3 W+ M6 a+ ^8 l
/ d; {# x$ O: D! g9 JCONFIG_REDIS_MASTER_HOST=10.0.2.15& p" a- b# M; t# ^* E+ \

( T' j& ~; Z3 a2 Y1 `9 ^2 S+ Q- u/ n& F( b( c7 u2 A

- p) P$ v1 T6 C- z$ ]. I# Port on which the Redis server(s) listens.
- P7 I6 ?! Y, x6 n9 Z
6 z0 O! J. m' m  hCONFIG_REDIS_PORT=6379
! _6 i, o, q; s
9 x6 R  L: O7 D# x: Q1 V* k) V& v3 ~

! N+ o% C3 D/ M# Specify 'y' to have Redis try to use HA. ['y', 'n']( f5 y6 Z3 t/ I, V) J
. J3 e4 E  w& s
CONFIG_REDIS_HA=n
* q5 M+ k% n/ o/ h1 L, e! A' B- M& v* j9 K
- y; p4 f) t' v  d' Z  C& k
0 x7 w" D  N1 P7 G0 @) r; U
# Hosts on which to install Redis slaves.
# y# b; G( v$ G4 k
' G" U% H6 T, \9 ACONFIG_REDIS_SLAVE_HOSTS=10.0.2.15. e" H% k1 ^6 M% r

1 j$ L$ G2 X% ]" @
8 M6 Z7 ~" Y! a7 Q- M4 r0 y: \& B/ J% `8 [5 c3 ~. Q
# Hosts on which to install Redis sentinel servers.
# `2 a9 M. N& Q
9 ~5 u8 ]3 G! ^. ]3 P( }# CCONFIG_REDIS_SENTINEL_HOSTS=10.0.2.15
1 d& r" y, z& O4 Y! C7 w3 T
( W+ k' k* |5 N& M5 B& u' r; o. q& G; X$ L' ?% R& Q/ z2 u
- w! W  U; W" }( P2 X/ F
# Host to configure as the Redis coordination sentinel.2 N7 ?) h& R7 o

$ d8 l- U- X$ O& H: d- D( kCONFIG_REDIS_SENTINEL_CONTACT_HOST=10.0.2.153 k) Y8 \2 f1 o
5 s! G# H& q$ [7 I3 V! K

) t3 S5 F, ?7 t  d" J" l- w4 z" P& D7 ]
# Port on which Redis sentinel servers listen.: d  L4 ^5 l. ?) H( Q; n
3 h& U/ u. k6 }3 h: X8 ~
CONFIG_REDIS_SENTINEL_PORT=26379
' d0 a1 b1 O' R0 `$ o' A6 Z5 E- B- \, U( J( V+ H

' z* R# R; G& }2 F. c$ {
+ E" i) w) H5 [( n+ `  L$ w; ~" `# Quorum value for Redis sentinel servers.# `, d' d" s6 F5 ?3 Q3 ~
4 _- G- |  R8 J: M7 ^
CONFIG_REDIS_SENTINEL_QUORUM=2
9 y; p( {" I- m- i% m
5 t1 o' I" {/ U  _% C
7 B0 p, p# [& s3 T+ m. S3 f7 D3 f5 H6 T; o5 i! f7 G% x. [4 E2 x) x
# Name of the master server watched by the Redis sentinel. ['[a-z]+']' ~2 D8 O; ^$ z( z7 w
, f. z/ t2 G5 C0 }- f% ]$ i- R. c
CONFIG_REDIS_MASTER_NAME=mymaster8 u, D( W" i4 c: T

/ \  j# F+ q* H" k! U( v; n- _& k% `& R1 l. ]- J( h
# A+ h+ D0 X; s* Q& \
# Password to use for Telemetry Alarming to authenticate with the/ x" E1 E' z) _& U$ }
5 H1 e0 j; K. k( J, x+ L
# Identity service.3 M: Y4 i+ [& Y6 G# F* h
. B7 M& E% h9 \9 M0 s
CONFIG_AODH_KS_PW=739a1dae2a254e6a
$ a8 u& o! U: u5 I9 X0 z" B. e2 y+ I5 I! v
' K" a6 N. l# U+ b
3 P1 T9 k, a; X  R/ l) Q. H7 d' m
# Password to use for OpenStack Database-as-a-Service (trove) to
+ U7 G2 _1 c1 p
) e3 ?2 [: K8 ~* @4 ^; O# access the database.- t7 ^- Y1 S" u& ^1 S, N

$ Z4 x" R* m' Y2 ~( LCONFIG_TROVE_DB_PW=PW_PLACEHOLDER4 Y; l8 s$ A2 ?* g3 K+ z
/ f: ]# B! g) ~

# N: G3 i$ O9 b! @, T. H8 l$ S- W) r  L6 o3 F
# Password to use for OpenStack Database-as-a-Service to authenticate$ u9 [+ G+ E( }% s

- b8 `& d& B1 M  z) V# with the Identity service., @5 d) y$ o9 Q. u& v

: ^) y5 a1 U' q: O, z% [( {/ B4 ~CONFIG_TROVE_KS_PW=PW_PLACEHOLDER. P4 U. u' v3 ?7 i' g
' z/ o; J( H7 ?3 Q- X6 \2 c2 S; ^% ?

* Y3 N6 _6 u* M/ Z/ }5 ~9 U+ [, Q+ y% J1 s6 l' e' B( J4 F1 D
# User name to use when OpenStack Database-as-a-Service connects to. f3 O- H4 v( C( l+ P7 m

, ?# w6 X, P6 ~& @/ k6 V# the Compute service.* y) d- x. }) V* w# o7 g
7 [" T& W+ k8 v( r0 A$ T9 o& ]+ N
CONFIG_TROVE_NOVA_USER=trove
' C: [2 ]1 v- `9 T
' F" N# l" ]7 e! D% a2 z( o1 s. T( u* }+ Z  c3 W
6 g( `( |9 B3 J" [& `' G
# Tenant to use when OpenStack Database-as-a-Service connects to the
% u! |7 [- L; f1 L- i+ p
+ Z" U) j& B# h6 D2 Z( E# Compute service." q: p! Y4 ]9 `2 b' C7 W" S5 o
7 D+ w" m9 D- y5 d# A, W/ Z: Q* b3 d
CONFIG_TROVE_NOVA_TENANT=services3 b  @1 H& k2 B3 F8 B, P! |

" z4 G- @, @% R
0 I- m+ g& A. ]$ c* k9 u* _1 \5 n# r' }1 _9 h# a
# Password to use when OpenStack Database-as-a-Service connects to
( ]/ o& B  G) S) o) o8 o
) M* i" U& G  p+ d# z+ K, a# the Compute service.
- l4 F9 R/ R2 H; M  }, e* x4 R% k% \( P4 J7 W% K& B
CONFIG_TROVE_NOVA_PW=PW_PLACEHOLDER
8 E% m8 i3 }- N0 f! I, V% d/ A3 k2 X* H4 [  Q6 k8 ?; p+ U

1 ~; }/ d3 Z; ?* N
# }  S% O9 L, ^& S; o1 l; l# Password to use for OpenStack Data Processing (sahara) to access" D) T! X7 {5 W3 H
4 a+ Y: O" B$ ~
# the database.
" y, h) `8 t2 y# o, a" m& P4 H
0 r) y2 Z/ P; }CONFIG_SAHARA_DB_PW=PW_PLACEHOLDER/ r2 K6 R; b( }3 _  K, `2 Z
, s0 D0 V( I# M' _

! Z5 B& d7 I' c; h7 D/ c& j2 I/ G; o
# Password to use for OpenStack Data Processing to authenticate with( v4 g$ P- q4 l! E2 a' o
/ x) O% z2 \% u3 y* x
# the Identity service.
) I% h5 B' r; c# T% r+ s
: M: R9 s+ [3 {$ f# l3 vCONFIG_SAHARA_KS_PW=PW_PLACEHOLDER
" w: z, w# T5 C% s" s! ~
' [! ]9 ]. X4 w6 T# ^' M$ p+ V4 P0 s
' ~5 G  N9 b# Z% p
, k+ F% j. l& e1 [9 P# Password of the nagiosadmin user on the Nagios server.
$ [1 F" d% ?5 G$ e. W" `: P
+ P- h# a* {$ s3 kCONFIG_NAGIOS_PW=d346f2fb71ef489a8 k" U) s- E; e  e
0 I( h. J2 V. M: W

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2018-9-26 09:43:24 | 显示全部楼层
其中, 需要根据自己的情况修改的部分包括:0 S+ Q' ]& |: s$ [+ [3 p

! Z" H; V% A2 D3 t5 t1 T/ N. A1. IP地址:
% V: N3 O/ K8 k6 U: b, Y0 e9 c+ J! r+ r8 P  d5 k
我的主机地址为: 10.0.2.15. 全部替换为你的主机IP.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:59 , Processed in 0.024088 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表