From c68216aee1fbc349c97634561ea5eff7e16f3be4 Mon Sep 17 00:00:00 2001 From: sdodsley Date: Thu, 22 Oct 2015 11:45:02 -0400 Subject: [PATCH] Doc update Change-Id: I9e4972d4bce9e32419afef0da732bf8ed3093975 --- docs/purestorage-cinder-guide.rst | 57 +++++++++++------- ...-purestorage-cinder-2.0-2.0.0-1.noarch.rpm | Bin 17168 -> 17574 bytes 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/docs/purestorage-cinder-guide.rst b/docs/purestorage-cinder-guide.rst index 60fa8b1..8e4aba5 100644 --- a/docs/purestorage-cinder-guide.rst +++ b/docs/purestorage-cinder-guide.rst @@ -9,9 +9,13 @@ Pure Storage Cinder =================== The Pure Storage Cinder Fuel plugin provides an automated method -to insert the necessary lines into the cinder.conf file. The plugin -extends the Fuel GUI to provide the necessary entry locations for the -information for the configuration file. +to insert the necessary lines into the ``cinder.conf`` file. The plugin +extends the Fuel Web UI to provide the necessary entry locations for the +information for the configuration file. Thus, the plugin incorporates +`OpenStack Cinder Driver for Pure Storage Flash Array `_. +Thus, the plugin provides the ability to +create a configuration file stanza so that when multi-backend support +is selected, the stanza is correct. License ------- @@ -36,42 +40,49 @@ Fuel 8.0 Limitations ----------- -The Pure Storage Cinder Fuel plugin provides the ability to -create a configuarion file stanza such that when multi-backend support -is selected the stanza is correct. +No limitations are present Installation Guide ================== - -Provide step-by-step instructions for plugin installation. -If plugin requires pre-installation steps like backend configuration, -you should also add this information here. +Make sure your Pure Storage Flash Array is up and running. +For more information on the Array configuration, follow +the official documentation available on the `Pure Storage +Community Website `_. Pure Storage Cinder Plugin installation -------------------------- -1. Download the plugin from Fuel Plugins Catalog. -2. Copy the plugin on already installed Fuel Master node. If you do not - have the Fuel Master node yet, see Quick Start Guide +#. Download the plugin from the `Fuel Plugins Catalog `_. + +#. Copy the plugin to an already installed Fuel Master node. If you do not + have the Fuel Master node yet, please follow `the instructions `_: :: scp fuel-plugin-purestorage-cinder-2.0-2.0.0.noarch.rpm root@::/tmp -3. Log into the Fuel Master node. -4. Install the plugin: +#. Log into the Fuel Master node. + +#. Install the plugin :: cd /tmp fuel plugins --install /tmp/fuel-plugin-purestorage-cinder-2.0-2.0.0.noarch.rpm -4. After plugin is installed, create a new OpenStack environment. -5. Configure your environment. -6. Open the Settings tab of the Fuel web UI and scroll down the page. Select the - Fuel plugin to enable Pure Storage driver in Cinder plugin checkbox -7. Enter the Purity API Token and the IP address of the management VIP of the Pure Storage FlashAtray -8. Select the defaults for all other Pure Storage options. +#. After the plugin is installed, `create a new OpenStack environment `_ using the Fuel UI Wizard. + +#. `Configure your environment `_. + +#. Open the Settings tab of the Fuel Web UI and scroll down the page. Select the + Fuel plugin to enable Pure Storage driver in Cinder plugin checkbox. + + .. image:: figures/cinder-purestorage-liberty-plugin.png + :width: 100% + +#. Enter the Purity API Token and the IP address of the management VIP of the Pure Storage FlashArray. + +#. Select the defaults for all other Pure Storage options. User Guide ========== @@ -90,4 +101,6 @@ There are no known issues at this time. Appendix ======== -N/A +#. `OpenStack Cinder Driver for Pure Storage Flash Array `_ + +#. `Pure Storage Flash Array User Guide `_ diff --git a/fuel-plugin-purestorage-cinder-2.0-2.0.0-1.noarch.rpm b/fuel-plugin-purestorage-cinder-2.0-2.0.0-1.noarch.rpm index 4d4336c9d8ae790c87cbd26b45f8c78ad76c060a..96017439931c4286f2e3ca6c7763ab72f331e848 100644 GIT binary patch delta 12244 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 delta 11859 zcmc(kWm6no+h_-OC%C%|?rtHtyTjlfBsetg?!h$#3ogMWAxLly5InfM^OEPzm-7qG zRCTRd``VXu?dqDInom(siQ!O*eUcKl5SN{yk&98@fj`2!I-~d^78Vdb0dp%}P7Xc` zE-Ow>hyaHbAH>Q`fSu2RgNxmQ*Nm5opO*&$`roHqI0Y7p8m-_}#9l815C}K1fg1`2 z3ZMpoVBuevU_c&yimV3j#q4|8taABEI_IKS%w~;VS<*+ACl8!%h5i zjQ`^BhW{M%KSy}21N^Tc?(4$q5D0CrgnG?=^UBu(2&b?7I}rXWUmGI&{fiU)7e_33 zVKq@0jy0@p|0c!!PFaS% zhDIJqS%5Q6;fIF++OM(yj~Cki(>w)?AVnd-!)FCC-C{C=Q6jlEw~#hkno`zz9Ab!rGQbnp+TS&Gt}6IQ&e)O z6dd%(6bpEolzw!J24)O#s0KGo2KbbGJk^v7yk!J-K@N67PQHdYd{U^C2Ld_3-fj6^ za>2&+2>kQ6w52Yasrkd36fReAM2W+(EN(){VfKX}0bIdE91hVg)I^Doh0)>71Bxf$ z1oS+GkNos`jnHLtmR>o0Hiv+ruLg&QJ!$I~i?2WbwjCjVYFWh!XuszpL2Wmugzr4x z?6F^cIQV#$Rc(;he0+SY&jDZ*?{PY@6#e0jZP2d8oeX;1G_6yVPN!$gkA`83^-m&m z&pxsqU*xSadhB+IxM@*btTQ|EAqtN$J;KO?o|_wK*qpwooVFg1$6L-uy5_umn}ZbL z`0~Us1y+Q>|0X`n_wLx*i|%E5Fc2C&_j6g0#LUk5WJ|Z#_-3fQJ{<@ltx;h!F{&%R z!0~vzf808}KfJno<9l|W-1$||v36uSW@Mh;IsVKgL_asj$jBt`X%9`b5K2(VgDRLE z-3`QQFNmC#rLPue$wemZ!0PqWRo9kv%6q`;kc%zK|5ps0+;I9wn_5lq)Hf5K+t$MH zzUF|;KeoH9X9Amq7cPMOI+y47FQN1Zdp)2k3eH*O%jO=Y-TK@c=M?#CP=%&aoG8B^gm_X$8`pwpV&=^i#C=E~@f zT-7^uv|mP<<6Hc$eRRG_C9nt+r&LhUjJ0;Wh9_!Daq7jT77lF78Ad5WNxY^H>I<~6 z(7J)ozfHaSgweC(k7gLo->)aIqO-ZHec)y*t8@Ih944#8 zK5UGbIB{*!@IDBjhBE^#7)H+Y7v8`hz0|8r(*}}7d5KJLj=S~<9z!|coYs+Hg}Y0m z%AQIt3{UOi<$Ol zpj?j!$rRmE=fgIV3%KO9HQovE>ivW8XrnI@{6?QH$(m`g({H_wo>eHq zlqS48lE+Pj(y`8D66xH$_C~!>Rqf%SDk8ZYhIk|ikL6W6p zZQ)Qt>x{$AKv9BCRRT8>iOa#^8%`y6tH}yzsh?y6$#hD-#Tiaap-q6|;=EEag9j)J z({=>*@%j?OwbAMjP%uw!{h+v{WH67!x9h2!h4le2?9WH^Oh)e?`%F{bM8y|=Ho*zM7Of?}@i~o%y{(0YT@TFBcd*CQEOZ;J8 z^ipCob~%A+@ogwl&->*4Zd1gjQC`0CUe%E(REDtHakF|Fs!xGVl)7l_Binh-!{#hy z!Pvk9--6&h?sa0;?8@Y+ynP8|OsYR0(yLK~`wfM~oK+pGIuK){C6pikGu$4{wp(2d zp9ri(D*Q4v?PRTciNrpR5IoHJu^voOTU0AxL<{#5zRu8ZHTVWDs|9GZ(aTRt0vkN z_m7Po&4`&8(rkT7Jas^vFyh}mHZA!a$L*|?czDuhZr*{V=&_(+J|Q7)!XF2ZP!|=q z<34=1@B^EN`G*^tQXAn$N(%qc>jj6tRJqhJan_II!945qz+!X6*1Eyc(Z*VpgUtbC z%Stf*#ZSET0=EoktwvTkk9v<#Y9q zNn%Ogm^D+p%92!#D?iET$~Pl+TGsyz^xhHnk11kfsiJmtjRNNk&^!d;x+EahrKLvp zRd}G^ZvWh#wQ@`en?JN~a2O53$Pxy4q18mk=IJcCKm%{YRZKaNlea*PA}YP1A8!w^ zcj^0VJ7G^*W_gG@@E+tOW*qBJCad~v6GqRQEWdwASO3bSU+r!M=4~jg2eAx+VL5Oq zL0oz+7WjcKh?TG?&Xle_v2T(zp&Nbn( z%C9bR;k+pc8|2#%TSn<(ofv#MNfw9LblgA) zuq`3*@kfPCMN&NXP;qFBd@wjEz^4&0EOmtPv)xJy($H95*S0a5x3C7Fj=RsoI1@Ex zr>!*3-!n<9X~fsa4Kn`luTj+a-L5VCJD@%p%c%MQ0G4NG&KC1OJ>&5NGI-U5dO)HAED~{1%Z>)}A$V`42@@4}J2z(a0C6 zAGcZ$uB8eEjf{OUYjOZgGfyaO(L}wH$tLNBvw308Wq%v}8G<@c?4vxNr2+4RtU>g| zaJg!!N-vEKeM1?Wq+D{7sW)95$wd=qUUVQzYk?@B>}@rkCGbXoT~}&pG#y1{1xmcJ zi{Bo?WhQ}%wpA-B#EbiZPZfL*ee@~ZQV}z18?L>)X$bQzobUlvlfzfJz49LvYmcF* z`V*Y3if_xdTDjQ(+>GY6d3^nMS=|YeBZu9tkMAq(cWP?J<5lc?{7zi^`08`BV3eHf z$+FwQSgO5@#F?c}_2E-r=p#h7MDH@;CZpsVi&QrVcACP~B;#m83=vrh>rjlV%_=wy zqjacv38=A!r96k@rz%wY#>TT6dUbyf{3HI3643I*$i-d5< ztg4}i=5ydDwOS?du?@QzW{AuVD)Xclf76>$X3zpZP|aj(X8yq({87=iq*z^dz>CQ~ zPux}te(Uga3TUqqPuq0P!WlAAMCh31g@EHt+1AZn^g$f5L0tKPc?#J|&#bDtu(EIJ z2jM)7z|@S}(e8!0A(y2URwiEWAZ5wk{=u}&uNUE=x)gy<%BKywDMqR0++^PfyHN3w z^a6BFU>(I9Gt|MekS(lr264y_V>M?Bt^L+4|(7GN~9&C+-EYm09v>o|_ zt_VRCf?$Rjc-e5sWPR~dD2+9%lGDLkM64S0nUcGr1ddyhO{;;T-p?7b&K#d=o?$a_ z(MATcY5oD3@D zIR;+EvjFYDwuoBDgz0bTCIj=^`o^yh1oO~ICPHlxYaO2Jvf|1H=D6kju`htv({|Pq z;O_42?H=Io;q%?tWbwy&jY)0sMR%=Oer|r?SDay-HBSQ4(de{L8XZ4oMg8}f-{roh zYcRieMbg^BEX}6EOZ4{lcsg%{(iIcq7Xn(dx7*-w_^oWwlU7~>?_%X@Y z?4zOS&Xh$`xJ}-4FiZifgXE=-tRb^8Q*oRgJTDfjPRs#2^-vzIvCXmtE2QG^zXhY%yvmwHLIR?9oZa>8bcilU(#7Zu~ zv%HU_Q ziOiiqeBqTE-d6GY%e!{MJjR}YJ5sg+wR!rv96{x1<5mSJ$3pv!qM=mSNIbS&?KI8V zN#9^RX%}2+4j7N5IMfCQjCC3qG0B;>7%9`s$r?+n9{lDbg%@(*H~UQ~WiTfNNr@Eq z#5|0P9V(9E&ak4x7x(Xx z!?pljuM?N-X30*y!e*g_Yf+><8?#S*O!in&sI zr$C}tMmeyp{euekn^uAvkcbCKU87YfQUZW%` zEOnrN+uI25YPXF7&mtM}0?+zL-VZXO~(R!;oB|9s~8!8n<*A*n?jgY?BJZ6=o zQ~zf0!gHGVJ?~_CA8)_X*fuPb!n5U}%VL-=Oty#MX z>ZEUl8f(&+!=AkNGgc@kU0TqKu}04QcNkn`=iL}Sy4<%=d& zQ#o9~HDWG|`U47-LP~?e^IOlV!{ze6-*I*K>tn*YMz2)`tm8>b!Rrbk5sawXA&z*r z&fMKi>q<85*hR3xbgrECfmWurXYNR_2y{@N!@NWqRHPM}wuT;3hgz^AH;PTOPQmVkISiBX4Z4|I7ko8axKw49V7Go(E> zQ=$bL)iDZcld!ELi^D6)Z#ooCtDKGoE>ma6!xBmoSs!CziHfs3*V^g7U(g ztGjS^#50TxI4xI*j4SxYq$asZJw8}%6Q^DSn*=?VK%jZz;h)xcvIYFDayB&rRpI^2 z_umXt`w33FQQ|SWNVP$eX_GKl+?bc8`8xH=K+D}CK& z)qpLY5U|uZGyH@!v{`m!?ie)2NHRY4sisbn@yA^GGU0AgI1(+&ttkx+^P)o{JHPVX zd+L%L`j1BOa=Bmm-E-mq_Kcy(Ik7pI%G6idQ(ze# zP|-MEokB>n89TTjSvqZBZ(gfEG;bwCU!6fOgKtx}QQobF_Qx?MU5^!qf46{#t5|_f z;G9DgS}=~8Tsff`VcRz+Q_h{cHl7OaS@xjqPr&pZ-!J>}xw@z{rvw^wSN2)DM-kta zcTRvEPAcdfG1>JI+2S;=7wp65*k}TG5wit+rh$Z1ovg69s^j70?5vCW2crI94anxmea4{T5dyGO5_iRgvpGT+54Oq%u z)2HuWX%!>;8ghn-7qHqI)eSo?b@Vf?iI5Nb8Lzakkq&3^Gt5=}M+jRP3S$1LOZ#Tb zne3@?naE+JF~xn}d-@I(8;pBV(?=vw<|ZGjDaL5lAlE3^q;0HK?6MuQbz=zh*pHLP zFLq3mUWM?IUoRhf3GaJ^=l04ze%h<#ZDi??a7JyPgK@Z^Jn8)@*Ab8lkXW`v>F!WyD8yIwU`U!F$Z5KicS8sA>3%}sS#-rIlQ4eGHW@w5~*1tSGtEe zMi<1vPefZ@#V=mRQHqhtqHs0cpumK1dxSh&OnF3Xk|FqN&}m;@5bys8cI7_|_`_K?$}ii9x-QP#*YqJE-lPOC;)zWkDV^~Cq)IKaKWE-0&Qqwe(0t(bhA?z^5@A9W<%m1sL3Pa{|NhL50SF$o%F)27Tky) z6T4sN-8fILWS}B7QD5}| z<5Jk~p?Ht=i6_ADfDxDHcy@klz6$rlaUZfgo@+?%cjIX_G{C$=4r2gq4TA>Bq9*y0j%|t{I z5lj^Z8!bcBcaF8x-QM{LtFa$%!&bXamrkNrX)K*`FwOuK3n94tteq0J2D6aX{DE{L zCDC!8<_9bLgGDQs0|=0!YjE-=3%V3O{jP8Cr}Y`M?>8!hG8^ zarP3|BGd-CW{7K(qd%XPQKv_^1>MDhmTKejG3o2_(|YR5x+F6@z?vF{od}$GSjrB$ zlS3yD#E0jjcYwdK{a3T)VXMO)^AGEzHd!aS%m$XLIXTZ>F78iK3S1x=LEiHL${wrW{WUty>*u3_i!=t;m61o>VBO4F(f!23Qnaidg`%0oJ zThq!*+<~*prUSNT*g$`gM9%UAclqEnu;F0R^|I!-P^%NHQhYP;^2`m9rX03UfBE&1 zZJ^Wi2hT%yKF?B8G@J1>e$AenmlCJeWiJ8T61CZ7ocx!zLK3BGLps$N;?j(d%bH$# zp4SrLLf1NDH@?waGb1_G;IxcJHCuE(bCiU`Xi~ba;y??G#=)Px@#-j8Z z#9vp+>j`a7fH8`em=R6?*vK6Ty;>0k(~M@aY#P=mBc9+NZR>(-KKDDY7HC5{)5y&B z)D_vuQ&Y_6;kM~DRo5qjm*tzKE_YlmfLwQX!C)z@dOaKJG}6~;zesybngn)P+n>z8 zjSQwY8ej+@o}(|tt2NM58ijO`r;$fhINhT86yHK48BJSiU%{86;mI&`29<_<*R9VL zOlZi3emR-+n9{>CfsC0{0cGPBA|ejLSZeabHV7!PgaYxF(0&)DZnw^@6K&ZRU8$O3 z5~_Tk(Dz$05=ceAQ4CVkpYl_XeKSdh^NZ*CS+Y@`kBGn99bki7ht<+9Rn(@N=n(y< zEqUZBeAYBO_BX4-AAHC++KT+TB2i?Q?kZwS8j6*9W|;h|esxUA8UU4l$q|b3ck^eh z=^FHGedheioPfjMWY-UK%zEAGcJ(wvG5ELy_ljdkWh^NgI9&Dm?bEaNO6i1`S1PRMME_UdC{<7K?_x)t#dYTZy#G#w5dG%!A zy11s^gXdZCwldQB`w&Y@b>AvpSiP_T$*nk)?y3a8Q)?5ig%wavoAgkiS?z9LS<2#l z!CxAMQzxh^(PEa>Qj(;FEHP7!IoTWt6=wxUu|=};orHKY7<(*0g1()`+BZQcoBV{y z`uA#5j+X7M$vH#!;IGw~9LtmW+u9cfQ4-W=vT>wQPezm5Qxx)N<3m!p)T!lP0*@D? zRlShDzsa z-H7`7AI+ve@KPtHVKk`LO+QA=EvGFoR_~+~OK%^N{H(KZ@lnmxP7qHpdGUwipBq<$ z&!;>2wCYdvJK0N*aAm!?Yi~R6!TTbM{9Y6L=%+IPoTl~yhqv`;$B=F9tDnCE%xR2=CryH&v zl*iUdN8t=R&_+3Hl^Dmd8c2h)&^#Z|USk4o<^+9k#c$H2^(%cZTZ3!?X2874`?_`3 zsru}Kp+0@K<^!$94~9jfF75LF^R& za%J?iOOU*919A^Lwwm%RCmSxg#aCUD)=HSilTU}A8JMQs$Dp4K3A?;TO89GuCu_Y} zCJhSht?z(;Y9>zqDCzGw&p3`skj#{5@4aZ#+8KQui>w zSrr|~tTRW4q0?Y84gHevJIhYSEbD%lNlL2I#D$6MZE3ZFJh zhlxPRkL+4Glca@$sF`h5r@O3Y8BryPpky5=R583Z=#x`A-%s};^~Qgf-Db?_h!0!+ zICNxXP~COSlD?LTJjMrG`BW3l=bbxw7TDWX0pWfw*svd4;=zlNX||B{z*rvDGsP1a z`y6$1iKKy!7&bilov{6rJ1dz&a5J(jqu2bfLV4Mn{H874I%|iJFDw>XDtHRgNe#OD zIbipzN4|n;zRfRPt%s41(Ik0Iqdgn2ry1MD*y|GfWmy#O2YWl)v?< zUwBO&BOSu_MWBCHM3#UStaTZQM%3AW(_@%hdc@$qjrYS%8z80%Ed<9B2EMw;HWAz0 zKW57B`tr@0UZPv{t;WJfH8sEZ*f*KG!w^!Si0ub*Tt0OwPu_HVXxvtaC9}+KKaO9$ zL(khb_`=d8lP5CG_c;;e2@s_43dO5~4@AI0=ac7=^IN5WT*O!zC`TQtRg< z zE`|CW2&R|68)eo_ZbMsFT-&UY2^g!g z;MqCHw~($u9e6B1td)o`$yo=#H(zy>Syoo-GxW`d9?chJ+`n%{Bnw%hd`;7dtlwoHVxYBREl-{{#psdJ`rp)q| z1-KY8Iv#FhVT_x6iEC#j@u^2?_m5JvuvRWLvVTKUbQph5Qo7fI{k>M7?xW)QIo^eaI3SrWgtW+lmv?8?r2F=0i2L0U%}-H?U4wNgQT|NIz%ORY zlM@}sEJIg?QQ+nB=KRXvz^1Py-PC-UcDa^1UdguFGJMP?b9^ioq{6mw+Cg z@2vaEwlLgC+YJcI07B4Lj*urq@_yZJ{(BOl{3;_m2x*0s6z+nY{LvT5N69ssvj*9! z1#+&(i~Oo99<%Q55P-G8f|cD1s$i4S%VWV#sW-!@ZJ{7-7kUYUqV-sHm~*shW!E{C zy^Jv}4K1o1Ll=6~Vn}M}#OG@!Wa5y_bWNLHdDDx_*!gq6Fse+iS90Gx7ul}CO@9S; z?y#oj8+@G#GijuEKkgPyxj71zKTz%MrVPc68t;Vsm|e8k%p#d3gO{qiWRRj(XhzQo5D)<-m0_#BT>Zm zjY)COSgwetv!n6=N-~13C?6X6-`sJ==@ED1mI_sfiw?CS5#H-HCEh? z)MM~IrS1KA;s$nlL&j42tM}`^Om^Qeh|~%_K5FzjGxes=ufIGUhNPO zIeU}#Zq7~qs?*->d9gUCwSyM(z0QBR5fg2{2Ykhz%YfSm>wD{(nx%l{d!J6ydA>V~ z1C7$?d=XzpmN|sj&*X8@2)~VueRpvFbO|es5;B!^)Bz^HWsWk)5A_uqp4{124c-vV zZ4L^>@4frUKHXw^nAsJ@S0%E&UAII2;C4ve7&npJ)ST&9j`=``)*coBn4 zg;RWYs3P#=wnL!*ry6o-BF5Z7^*(8WH#fDB)#yZ$Uz#P1C`*q;qGt#Ns>C~WmI}n8 zClLsckI)N9-9s`jTBsaJ>1~s%A>+nt7&1!NFx@~Ym?cLhz9M|2mNhix+c^Z1CCa?& zSuCU)9OPfBNRWZik&E*_Z0JWc`whN>U)gzImM;I;pS@WgxU)*)eJf`?jgIqgb<>a2;_b2Zbl7halsekR_&{9<+`W2FQ5C7#o+ z^IZa10ZgQfg80*(cFss|GJ{B{zA(~>y$w|Xy-O_sk>p|(2x8@W5yY)j$6oJ_2W9-&>n#%do@wlnZUy@ggBO9K5|V#jSe2xY@{ zkHZ=QnghWUPSUC1=3+^WVZA+Mt}>56&^%SSST%v=Z3V|uc-i-riHByV27A#o2=owmaOY7VXf#E+|Alk0#8 z%PJW*r(p&4N9`V$F3V(xp1~v-g7d*SRvK8JPT76|t3bT^j&k@!T48dsUhL+N#|k=A zPVPk02|28x$K&I$&el-DCl*L`SJM zf&ozVrWhcfBsX-gA-BdPhVzza8!>7Dh3`DJD@|jACC@#B|1-G6OD66>7mcmw_O0+*C6^`Qdvdp(P0l>Q{(3V?XS5*X!8l>D($U@e(E1P~H9@=+$lXu*pm*JC4z<85JOqlM=w^)k5*FW7j8U`YnWSlI@pg#e!yJRj z^6Q_hEX*}l4ND^!U<|^_YJXR6+3%1!vf&E>txtD}SK({q_{>Sj8_%Wgc@~V{bL~~y p($z)QBLdo+4PHK8^c;*7H)ND$nD}448L)X4i@