[Openstack] Horizon, keystone/HTTPD config issue
Michael Hearn
mike.hearn at oracle.com
Tue Apr 8 18:56:19 UTC 2014
Guys
Really appreciate your replies on the question of external
authentication and httpd config. I have been able to move things
along, however a glaring issue remains with Horizon. It is unclear to
me how, or if access to the dashboard is possible when external
authentication is enabled.
Are there additional configuration updates required ?
Thanks
Mike
On 31/03/2014 19:30, Ali, Haneef wrote:
>
> This will work. Couple of suggestions
>
> Create file "/usr/lib/cgi-bin/keystone/admin".
>
> Instead of this, you can link to httpd/keystone.py
>
> Also you may want to check the default MPM mode for Apache. Most
> probably it will be worker-process. There you can configure number
> of servers used to serve the request which is different from keystone
> process
>
> Thanks
>
> Haneef
>
> *From:*Miller, Mark M (EB SW Cloud - R&D - Corvallis)
> *Sent:* Monday, March 31, 2014 11:01 AM
> *To:* mike.hearn; openstack at lists.openstack.org
> *Subject:* Re: [Openstack] keystone/HTTPD config issue
>
> This is my Icehouse documentation, I don't know if it will work with
> Havana:
>
> Mark
>
>
> 1.2Keystone files changed (WSGI):
>
> **
>
> *NOTE*: The Apache2 WSGI configuration scripts below replace the
> "/etc/init.d/keystone" startup script
>
> Create/configure file "/etc/apache2/sites-available/keystone.conf" to
> match your keystone installation and server.
>
> WSGIDaemonProcess keystone user=keystone group=nogroup processes=6
>
> Listen 0.0.0.0:5000
> <VirtualHost _default_:5000>
>
> LogLevel debug
> ErrorLog /var/log/keystone/keystone.log
> CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
>
> SSLEngine on
> SSLCertificateFile /etc/keystone/ssl/certs/keystone.pem
> SSLCertificateKeyFile /etc/keystone/ssl/private/keystonekey.pem
>
> SSLProtocol all -SSLv2
> SSLVerifyClient none
>
> WSGIScriptAlias / /usr/lib/cgi-bin/keystone/main
> WSGIProcessGroup keystone
> SetEnv nokeepalive ssl-unclean-shutdown
> </VirtualHost>
>
> Listen 0.0.0.0:35357
> <VirtualHost _default_:35357>
>
> LogLevel debug
> ErrorLog /var/log/keystone/keystone.log
> CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
>
> SSLEngine on
> SSLCertificateFile /etc/keystone/ssl/certs/keystone.pem
> SSLCertificateKeyFile /etc/keystone/ssl/private/keystonekey.pem
>
> SSLProtocol all -SSLv2
> SSLVerifyClient none
>
> WSGIScriptAlias / /usr/lib/cgi-bin/keystone/admin
> WSGIProcessGroup keystone
> SetEnv nokeepalive ssl-unclean-shutdown
>
> </VirtualHost>
>
> **
>
> *Note*: By changing the SSL_Engine variable in this file you can turn
> on and off the Apache2-SSL frontend to Keystone.
>
> Now link keystone sites-enabled to keystone sites-available
>
> sudo ln -s /etc/apache2/sites-available/keystone.conf
> /etc/apache2/sites-enabled/keystone.conf
>
> Create directory "/usr/lib/cgi-bin/keystone"
>
> sudo mkdir /usr/lib/cgi-bin
>
> sudo mkdir /usr/lib/cgi-bin/keystone
>
> Create file "/usr/lib/cgi-bin/keystone/admin".
>
> import logging
> import os
>
> from paste import deploy
>
> from keystone.openstack.common import gettextutils
>
> from keystone.common import dependency
> from keystone.common import environment
> from keystone.common import sql
> from keystone import config
> from keystone.openstack.common import log
> from keystone import service
>
> # NOTE(blk-u):
> # gettextutils.install() must run to set _ before importing any modules that
> # contain static translated strings.
> gettextutils.install('keystone', lazy=True)
>
> CONF = config.CONF
>
> config.configure()
> sql.initialize()
> config.set_default_for_default_log_levels()
>
> CONF(project='keystone')
> config.setup_logging()
>
> environment.use_stdlib()
> #name = os.path.basename(__file__)
> name = "admin"
>
> if CONF.debug:
> CONF.log_opt_values(log.getLogger(CONF.prog), logging.DEBUG)
>
>
> drivers = service.load_backends()
>
> # NOTE(ldbragst): 'application' is required in this context by WSGI spec.
> # The following is a reference to Python Paste Deploy documentation
> #http://pythonpaste.org/deploy/
> application = deploy.loadapp('config:%s' % config.find_paste_config(),
> name=name)
>
> dependency.resolve_future_dependencies()
>
> Also create file "/usr/lib/cgi-bin/keystone/main".
>
> import logging
> import os
>
> from paste import deploy
>
> from keystone.openstack.common import gettextutils
>
> from keystone.common import dependency
> from keystone.common import environment
> from keystone.common import sql
> from keystone import config
> from keystone.openstack.common import log
> from keystone import service
>
> # NOTE(blk-u):
> # gettextutils.install() must run to set _ before importing any modules that
> # contain static translated strings.
> gettextutils.install('keystone', lazy=True)
>
> CONF = config.CONF
>
> config.configure()
> sql.initialize()
> config.set_default_for_default_log_levels()
>
> CONF(project='keystone')
> config.setup_logging()
>
> environment.use_stdlib()
> #name = os.path.basename(__file__)
> name = "main"
>
> if CONF.debug:
> CONF.log_opt_values(log.getLogger(CONF.prog), logging.DEBUG)
>
>
> drivers = service.load_backends()
>
> # NOTE(ldbragst): 'application' is required in this context by WSGI spec.
> # The following is a reference to Python Paste Deploy documentation
> #http://pythonpaste.org/deploy/
> application = deploy.loadapp('config:%s' % config.find_paste_config(),
> name=name)
>
> dependency.resolve_future_dependencies()
>
> If the keystone service is running, shut it down because the Apache2
> service will now start it up with as many instances of keystone as are
> specified on the first line of file
> "/etc/apache2/sites-available/keystone.conf".
>
> sudo service keystone stop
>
> *From:*mike.hearn [mailto:mike.hearn at oracle.com]
> *Sent:* Monday, March 31, 2014 10:22 AM
> *To:* openstack at lists.openstack.org <mailto:openstack at lists.openstack.org>
> *Subject:* [Openstack] keystone/HTTPD config issue
>
> Hoping someone can offer some help / guidance.
>
> I am trying to configure keystone to run in HTTPD.
> Release: Havana
> OS: EL 6.5
>
> Following documentation I have configured a VirtualHost in my
> webserver and made the necessary updates in keystone.conf
> (admin_port, public_port, admin_endpoint, public_endpoint, external
> driver)
>
> Before updating endpoints in the keystone repo I ran an initial
> keystone cmd to verify the original endpoints and to test the httpd
> setup was functioning correctly e.g./
> $ keystone
> --os-endpointhttp://xxxxxxx:8080/keystone/admin/v2.0--os-token
> xxxxxxxx service-get keystone/
>
>
> This failed with errors showing up in the webserver log files.
>
>
> /[VirtualHost: xxxxxxx:8080] from paste import deploy
> [VirtualHost: xxxxxxx:8080] ImportError: cannot import name deploy/
>
> The error is obviously linked to the keystone.wsgi file (as linked
> frpm keystone/admin) and its attempt to import the paste module
> e.g. (extract from keystone.wsgi)
>
> /from paste import deploy
> from keystone.openstack.common import gettextutils/
>
> I did some research and found an older but similar issue occurred with
> the /keystone-all/ file. The fix was to ensure that the import of
> gettextutils occured before the import of deploy from paste.
> (https://github.com/redhat-openstack/keystone/commit/e053026a)
>
> I moved the import of gettextutils above the paste import in
> keystone.wsgi which did remove the paste import error. However, the
> webserver log file now shows a segfault after re-running the keystone
> cmd above
>
> /[VirtualHost: xxxxxxx:8080] Premature end of script headers: admin
> [VirtualHost: xxxxxxx:8080] Request Failed for :
> /keystone/admin/v2.0/OS-KSADM/services/keystone, Resp Code : [500]
> [VirtualHost: main] child pid 9671 exit signal Segmentation fault (11)/
>
> I also looked in /var/log/messages and see:
> / kernel: httpd.worker[9705]: segfault at 0 ip 00007f509a7cf86f sp
> 00007f508e432fb8 error 4 inlibc-2.12.so
> <http://libc-2.12.so/>[7f509a69c000+18b000]/
>
> So at this point I need to ask ://
>
> 1 - Was I correct to update keystone.wsgi and move the/import
> gettextutils/above/import deploy ?/
>
> 2 - Has anyone come across similar issues when configuring keystone to
> run in HTTPD///
>
> /I'd gratefully appreciate any help and advic/e/on solving or trouble
> shooting
>
> Cheers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140408/8cfca109/attachment.html>
More information about the Openstack
mailing list