<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:85.05pt 56.7pt 85.05pt 56.7pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1497380770;
mso-list-type:hybrid;
mso-list-template-ids:1182332878 709924874 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:27.0pt;
text-indent:-.25in;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:63.0pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:99.0pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:135.0pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:171.0pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:207.0pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:243.0pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:279.0pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:315.0pt;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Horizon’s list of required services includes Nova, Glance and Keystone. At present no work has been done to make it run with a Swift + Keystone (only) configuration. That said, it’s not impossible. The easiest
route would likely be to “unregister” all of the Nova and Glance-related panels in the existing System and Project dashboards (this can be done using Horizon’s “customization_module” setting, though documentation for it is minimal), and provide a custom “user_home”
function that directs users to the Containers (e.g. Swift) panel upon login.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">In general as long as you don’t ever touch any of the panels that try to make API calls to Nova or Glance you can avoid having to run those services. Unfortunately, *<b>a lot</b>* of the panels *<b>do</b>* make
calls to those services. The Swift “Containers” panel does not, though, so it can be done.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Keystone is absolutely required, though, along with proper Swift + Keystone auth integration. That part is critical.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">All the best,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:27.0pt;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="color:#1F497D"><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span style="color:#1F497D">Gabriel<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> openstack-bounces+gabriel.hurley=nebula.com@lists.launchpad.net [mailto:openstack-bounces+gabriel.hurley=nebula.com@lists.launchpad.net]
<b>On Behalf Of </b>Brian Ipsen<br>
<b>Sent:</b> Wednesday, January 16, 2013 1:29 PM<br>
<b>To:</b> openstack@lists.launchpad.net<br>
<b>Subject:</b> [Openstack] New to OpenStack - question Swift+Keystone & Horizon<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have just started to take a look at OpenStack (especially Swift, as this is what is most needed for a case I am investigating).<o:p></o:p></p>
<p class="MsoNormal">So far I have managed to get a Swift node up and running (all-in-one) on Ubuntu, but for some reasons I have been asked to take at look at the RedHat preview-implementation of the Folsom release.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Since Nova and the other parts not are needed, I would prefer not to install those parts… But will Horizon still be able to work – just with Swift and the underlying identity service based on keystone ?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have tried the RedHat approach, and Keystone is up and running. I then tried to install and configure Horizon according to the RedHat instructions (and installed Swift afterwards). But whenever I log on to the Horizon interface, I get
an “internal server error” page back.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sine I don’t know whether Horizon will run on such a limited setup (and I have not been able to locate information about it), I don’t know whether it could be a bug in the RedHat implementation – or it simply is an unsupported setup…<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards<o:p></o:p></p>
<p class="MsoNormal">Brian<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">PS: The error I get is this (from httpd error log):<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] mod_wsgi (pid=1715): Exception occurred processing WSGI script '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi'.<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] Traceback (most recent call last):<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 241, in __call__<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] response = self.get_response(request)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 179, in get_response<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] response = self.handle_uncaught_exception(request, resolver, sys.exc_info())<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 228, in handle_uncaught_exception<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return callback(request, **param_dict)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/utils/decorators.py", line 91, in _wrapped_view<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] response = view_func(request, *args, **kwargs)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/views/defaults.py", line 33, in server_error<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return http.HttpResponseServerError(t.render(Context({})))<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 140, in render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return self._render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 134, in _render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return self.nodelist.render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 823, in render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] bit = self.render_node(node, context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 837, in render_node<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return node.render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/loader_tags.py", line 123, in render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return compiled_parent._render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 134, in _render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return self.nodelist.render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 823, in render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] bit = self.render_node(node, context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 837, in render_node<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return node.render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/loader_tags.py", line 155, in render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return self.render_template(self.template, context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/loader_tags.py", line 137, in render_template<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] output = template.render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 140, in render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return self._render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 134, in _render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return self.nodelist.render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 823, in render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] bit = self.render_node(node, context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/django/template/base.py", line 837, in render_node<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return node.render(context)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/compressor/templatetags/compress.py", line 147, in render<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] return self.render_compressed(context, self.kind, self.mode, forced=forced)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/compressor/templatetags/compress.py", line 88, in render_compressed<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] cached_offline = self.render_offline(context, forced=forced)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] File "/usr/lib/python2.6/site-packages/compressor/templatetags/compress.py", line 72, in render_offline<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] 'You may need to run "python manage.py compress".' % key)<o:p></o:p></p>
<p class="MsoNormal">[Wed Jan 16 20:12:40 2013] [error] [client 10.41.43.34] OfflineGenerationError: You have offline compression enabled but key "1056718f92f8d4204721bac759b3871a" is missing from offline manifest. You may need to run "python manage.py compress".<o:p></o:p></p>
</div>
</div>
</body>
</html>