63 Commits

Author SHA1 Message Date
Mikhail S Medvedev
088e66028c Deal with different django-admin executables
After the recent patch [1] the devstack is broken for Fedora 20 with
the error "django-admin.py: command not found" during horizon setup.

This is due to differences in how django currently packaged for Fedora,
where we should use "django-admin", without the .py

This patch sets up executable alias by checking if "django-admin"
exists, and falling back on "django-admin.py".

[1] https://review.openstack.org/#/c/120940/

Change-Id: I2b6de25fe32446edbdc0418674fea8579ec739d9
2014-11-18 16:35:12 -06:00
David Lyle
45ce98275c Moving horizon compression offline
Making the horizon scss compilation and compression happen offline.
Potentially fixing an issue with parallel compression in devstack.

Related-Bug: #1345955
Change-Id: I066c80e06a92302a3f8dc5fd45d127fbde6cf99c
2014-11-18 15:07:10 +11:00
Sean Dague
3c8973a90a support installing django_openstack_auth from pypi
Part of the libs from pypi conversion, convert django_openstack_auth
to this format.

Change-Id: I97c8ea19d8aed1e0bdd62c06cfadd1d616573d76
2014-11-14 10:40:46 -05:00
Akihiro Motoki
6518c0b88e Compile Horizon message catalogs during stack.sh
Recently compiled message catalogs (mo files) were removed
in Horizon and django_openstack_auth repositories.
We need to compile message catalogs to make translations
available for Horizon users. It is useful for developers too.

Change-Id: I0831e8308205c116d8e3bb8b43be7f0dd6fa0c0a
2014-10-18 06:40:08 +09:00
Jenkins
32ec8358c1 Merge "Update Horizon Neutron-related settings" 2014-09-27 17:44:04 +00:00
Jenkins
14f6c50b18 Merge "Use mod_version to clean-up apache version matching" 2014-09-25 03:43:29 +00:00
Akihiro Motoki
0843f0ab05 Update Horizon Neutron-related settings
- Horizon no longer has "enable_security_group" setting
  so we need to remove it.
- There is no need to set enable_lb/firewall/vpn to True
  when q-lbaas/q-fwaas/q-vpn is enabled because Horizon now checks if
  Neutron ext-list and enables corresponding dashboards accordingly.

Change-Id: I37073d73e4cba0103ab1a3d935302f1cd0ef73c5
2014-09-24 04:51:57 +09:00
Brant Knudson
3951a94499 Configurable token hashing algorithm
The Keystone server and auth_token middleware were enhanced to
support a configurable hash algorithm.

With this change, the user can set

 KEYSTONE_TOKEN_HASH_ALGORITHM=sha256

in their localrc to use the SHA256 algorithm rather than the
default md5. Any hash algorithm supported by Python's hashlib can
be used. The MD5 algorithm doesn't provide enough protection from
hash collisions and some security standards mandate a SHA2 hash
algorithm.

Change-Id: I8b373291ceb760a03c4c14aebfeb53d8d0dfbcc1
Closes-Bug: #1174499
2014-09-21 13:55:39 -05:00
Chris Dent
2f27a0ed3c Replace screen_it() with run_process() throughout
run_process will use screen if USE_SCREEN=True (the default),
otherwise it will simply start the requested service. Therefore
wherever screen_it used, run_process can be instead.

Where stop_screen was found it has been replaced with stop_process.

A tail_log function has been added which will tail a logfile in a
screen if USE_SCREEN is True.

lib/template has been updated to reflect the use of the new
functions.

When using sg the quoting in run_process gets very complicated.
To get around this run_process and the functions it calls accepts
an optional third argument. If set it is a group to be used with sg.

Change-Id: Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca
2014-09-11 18:59:39 +01:00
Noboru Iwamatsu
b4495eb410 Use mod_version to clean-up apache version matching
This change uses mod_version (shipped by default on everything we care
about) to set-up version-specific config within apache rather than
within devstack scripts.

Clean up the horizon and keystone config file generation to use the
internal apache matching.

Since I6478db385fda2fa1c75ced12d3e886b2e1152852 the apache matching in
'functions' is actually duplicated.  just leave get_apache_version in
lib/apache as it is used for config-file name matching in there.

Change-Id: I6478db385fda2fa1c75ced12d3e886b2e1152852
2014-09-08 15:59:29 +10:00
Dean Troyer
1bbfcc7a79 Clean up local variable usage - Horizon
Change-Id: I1924ecdd68a9c7bf947c06f33aa79c38ada1d3b4
2014-08-13 11:26:46 -05:00
Sean Dague
e837714244 use setup_install for django_openstack_auth
This is fundamentally a library. As such we should setup_install
so that we can possibly pin it, otherwise we *always* get the
git version instead.

Change-Id: Ia815f2675cf535bb05a7e8eda853690171559b86
2014-06-23 08:21:07 -04:00
Jenkins
51018faa06 Merge "Add support for django_openstack_auth" 2014-06-22 17:19:18 +00:00
Jenkins
e54a2b5057 Merge "Save OPENSTACK_KEYSTONE_URL to horizon local_settings" 2014-06-19 11:34:10 +00:00
Zhenguo Niu
e385d1e030 Add support for django_openstack_auth
It would be useful for development, reviewing and testing to add
support for django_openstack_auth to devstack.

This change adds the integration tests to the openstack_auth
list of test: https://review.openstack.org/#/c/86528/

Change-Id: Ifbd336b83f6b2beb23996b599ec820232c13efdd
Closes-Bug: #1262121
2014-06-18 14:04:34 +08:00
Dean Troyer
444a8d53ca Fix Apache site config handling on Fedora
Allow enable/disable_apache_sites() on Fedora to gracefully fail if the
config is not present.  This is primarily an issue when the config from
a previous run is not completely cleaned out (unstack.sh vs clean.sh).

Make APACHE_CONFIG_DIR fully qualified and overrideable in local.conf.

Also fix Horizon's handling of its Apache config file to be removed
in clean.sh.

Change-Id: I78a5de579dd3b02fa2e4e7e00ac0aabe71b531ad
2014-06-06 16:52:20 -05:00
Haiwei Xu
98a181713c Save OPENSTACK_KEYSTONE_URL to horizon local_settings
OPENSTACK_KEYSTONE_URL is not saved to local_settings correctly,
this patch fixes this bug.

Change-Id: I4275f035be3d8ab013840d8b5e3f9a5e292a366b
2014-06-04 19:26:40 +09:00
Attila Fazekas
afda4efb2c Enable horizon on Fedoras
The previous apache/horizon a688bc65104e7d8998ffdb321d67a9f33df6997e
change left horizon disabled on Fedora.

Closes-Bug: #1326126

Change-Id: I79f84bb63471f84c6b37538e8dfe2bcca3ce3eac
2014-06-04 07:34:13 +02:00
Gabriel Assis Bezerra
a688bc6510 Fix the way Apache site configuration files are used, to improve OS portability
On Ubuntu 14.04, the site configuration file must have a .conf suffix for a2ensite and a2dissite to
recognise it. a2ensite and a2dissite ignore the .conf suffix used as parameter. The default sites'
files are 000-default.conf and default-ssl.conf.

On Ubuntu 12.04, the site configuration file may have any format, as long as it is in
/etc/apache2/sites-available/. a2ensite and a2dissite need the entire file name to work. The default
sites' files are default and default-ssl.

On Fedora, any file in /etc/httpd/conf.d/ whose name ends with .conf is enabled.

On RHEL and CentOS, things should hopefully work as in Fedora.

This change puts all distribution-related site configuration file name differences in lib/apache and
the other services gets the file name for its sites using the new exported function
apache_site_config_for <sitename>.

It also makes Fedora disabled sites use the .conf.disabled suffix instead of removing the .conf from
the file name.

The table below summarizes what should happen on each distribution:
+----------------------+--------------------+--------------------------+--------------------------+
| Distribution         | File name          | Site enabling command    | Site disabling command   |
+----------------------+--------------------+--------------------------+--------------------------+
| Ubuntu 12.04         | site               | a2ensite site            | a2dissite site           |
| Ubuntu 14.04         | site.conf          | a2ensite site            | a2dissite site           |
| Fedora, RHEL, CentOS | site.conf.disabled | mv site.conf{.disabled,} | mv site.conf{,.disabled} |
+----------------------+--------------------+--------------------------+--------------------------+

Change-Id: Ia2ba3cb7caccb6e9b65380f9d51d9d21180b894e
Closes-bug: #1313765
2014-05-30 12:07:24 +00:00
Jenkins
584e65cfc1 Merge "Configure Horizon to use SSL-enabled Keystone" 2014-05-02 12:12:02 +00:00
Rob Crittenden
c31fa40b77 Configure Horizon to use SSL-enabled Keystone
SSL can be enabled in Keystone when devstack is executed.
Horizon was not being configured to use the SSL port so
authentication was failing.

Change-Id: I253766d359aaab0bd1f844a8a637adc77e8eee2b
Closes-Bug: 1293749
2014-04-29 23:32:59 -04:00
Christian Berendt
cbd97ca975 use disable/enable_apache_site on Ubuntu
Using the specific Apache2 tools a2ensite and a2dissite
(used in the methods disable/enable_apache_site in lib/apache)
should be the preferred way to disable the default site and
to enable the horizon site.

fixes bug #1298031

Change-Id: I2f247c0b6e605a330086a558e03e2c36666c55be
2014-03-27 14:30:12 +00:00
Ian Wienand
aee18c749b Enforce function declaration format in bash8
Check that function calls look like ^function foo {$ in bash8, and fix
all existing failures of that check.  Add a note to HACKING.rst

Change-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938
2014-02-28 07:59:03 +11:00
Sean Dague
67db4a9bd5 remove database init from horizon
horizon default config no longer uses a session database, it uses
signed cookies instead, so we can stop doing db initialization and
cleanup (which based on errexit we weren't doing correctly anyway).

Change-Id: Icae4318e2784486db2888cbf353e95ac9a5d7cba
2014-02-07 16:04:47 -05:00
Dean Troyer
4237f590b7 Generate Tempest service list rather than hard-code it
The list of services that Tempest used to set its 'service_available'
config values was hard-coded. To be plugin-friendly have each
service (project) add its name to the TEMPEST_SERVICES variable
and use that for setting the 'service_avilable' values.

Change-Id: I208efd7fd0798b18ac2e6353ee70b773e84a2683
2014-01-29 17:25:45 -06:00
Gonéri Le Bouder
394c11c721 horizon: drop nodejs dependency
since commit a0739c9423a4c559b45af96fa4cdb30539dcdbd7, horizon use
a pure Python alternative to nodejs

Change-Id: I231b453e42c303c3cc29e8bea4d7b935fecdccd2
2013-11-14 10:28:51 +01:00
Chris Buccella
610af8cfa7 Fix horizon config under Apache 2.4
Apache 2.4 now uses mod_authz_host for acces control. Horizon's
Apache config needs an update to allow access to its directory,
otherwise a 403 will be returned.
This change replaces a similar previous fixes done for Fedora 18
and Ubuntu 13.10, since this is an Apache version issue, not a
distro-specific one.

Change-Id: Iecc17600d8e1aae6a7b0929b1493d712c307616f
Closes-Bug: #1243075
2013-11-05 13:06:34 +00:00
Jenkins
0eeeb2efdf Merge "Fix apache horizon permissions on Ubuntu 13.10" 2013-11-01 18:32:05 +00:00
Peter Feiner
62e8a30abd Fix apache horizon permissions on Ubuntu 13.10
Fixes bug 1241574.

Change-Id: If6c30874267a6bf30c114146f83b2d3220f32c1a
2013-10-24 18:38:44 -04:00
Adam Spiers
6a5aa7c6a2 Fix some Markdown formatting issues
Address miscellaneous issues with Markdown formatting in comments which
are consumed by shocco when generating the online documentation.

Change-Id: I953075cdbddbf1f119c6c7e35f039e2e54b79078
2013-10-24 17:38:19 +01:00
Jenkins
a15f9092ec Merge "Uniquify unsupported distro error message" 2013-10-03 21:12:22 +00:00
Adam Spiers
3ac8612b55 Don't bail when setting up horizon on openSUSE
I85325179f1792d985b0375572abfe8c8a82fecc3 accidentally removed the
conditional branch required to prevent setup of horizon aborting on
openSUSE, so put it back in.

Change-Id: Ia3e4464a2d718e402d84a0bcf60f13ef30404969
2013-10-01 18:06:41 +01:00
Adam Spiers
15aa0fc315 Uniquify unsupported distro error message
Change a distro-not-supported error message in lib/horizon so that it
can't be confused with a similar error case in lib/apache.

Change-Id: I1197cb4de1497906e93a2c3ce09c3c06afe03b65
2013-10-01 18:05:08 +01:00
Jamie Lennox
5470701e10 Fix swift httpd on fedora
Implements a fedora equivalent of ubuntu's sites-enabled and moves
enabling of mod_wsgi to the installation period so that it doesn't have
to be handled in a platform dependant way later.

Fixes: bug 1226363
Change-Id: I85325179f1792d985b0375572abfe8c8a82fecc3
2013-09-24 10:48:01 +10:00
Akihiro MOTOKI
eaa9e1e3e0 Configure VPNaaS Horizon panel if q-vpn is enabled
Change-Id: I062fd31cb1de50f356c2c549a783d9c597b129fa
Closes-Bug: #1223012
2013-09-10 05:23:22 +09:00
Jenkins
440f746a04 Merge "Adds support for Openstack Networking FWaaS (Firewall)" 2013-08-29 16:27:56 +00:00
Attila Fazekas
248a8cce71 .conf suffix for the horizon config on Fedora
On Fedora by default the *.conf imported only from
the /etc/httpd/conf.d/.

Changing the default config name to horizon.conf with all
distribution in order to have a simple logic.

Change-Id: I08c3e825f697640fd73ac1f9c569f313abc3c04f
2013-08-16 18:26:46 +02:00
Jenkins
74af8ed00f Merge "enable apache2 server as front end for swift" 2013-08-02 12:24:11 +00:00
Edgar Magana
c973f1249a Set horizon configuration for security groups
Fix bug #1206271

Change-Id: I33a530265be1e5ab9181e605eb4b7c3bf1fdf9c4
2013-07-29 22:27:46 -07:00
zhang-hare
d98a5d0a58 enable apache2 server as front end for swift
1.install apache and wsgi module
2.config apache2 vhost and wsgi files for proxy,
account, container and object server.
3.refactor apache functions from horizon and swift
into lib/apache

Change-Id: I3a5d1e511c5dca1e6d01a1adca8fda0a43d4f632
Implements: blueprint enable-apache-frontend-for-swift
2013-07-29 11:15:21 +08:00
Ravi Chunduru
95c93e2b54 Adds support for Openstack Networking FWaaS (Firewall)
blueprint quantum-fwaas-devstack

Change-Id: I3c546433415ab18a5933a25774a06df7c4cb42e9
2013-07-17 00:39:31 -07:00
Nobuto MURATA
73a39bf2c6 replace left quantum string for enable_lb
writing the correct config for horizon to show LBaaS entry properly
like:

OPENSTACK_NEUTRON_NETWORK = {
    'enable_lb': True
}

Change-Id: I7f522a150a3732ee734f2b818910ff92c8c73028
Fixes: bug #1200098
2013-07-11 16:26:02 +09:00
Dean Troyer
1a6d4492e2 Periodic formatting cleanup
This is the semi-irregular comment and docs cleanup.

No functional changes should be here although some code is moved in a
small attempt to sort functions and get things where they need to be.

Change-Id: Ib4a3e2590c6fbd016c391acc7aef6421e91c0dca
2013-06-11 14:39:27 -05:00
Ian Wienand
2bda6cfabf Install nodejs for RHEL/Fedora
nodejs is required for Horizon (ships a copy of lessc internally).  I
couldn't find nodejs in the rpm list, despite it being installed in
lib/horizon.  This adds to the rpm list as NOPRIME and retains the old
install point.

RHEL6 has nodejs in EPEL now, so we remove the old hack that installed
an upstream version and add it to the install mentioned previously

Change-Id: Ib3ee2f7d77e22666c9055c8528288c01b46a95d3
2013-05-28 23:04:14 +00:00
JordanP
1e4587ef99 Clean up horizon apache logs on unstack
It feels like the right think to do. Moreover it will avoid to display
horizon errors from a previous devstack run that would be displayed because
of the tail -f in start_horizon()

Change-Id: Id1ab272e60e0733a4feef3b85029f438f2273cb0
2013-05-10 15:55:27 +02:00
Ian Wienand
ad43b3957e Grab upstream nodejs for RHEL6
RHEL6 has no nodejs in main packages or in EPEL.  The easiest way is
to just install the upstream binary version which works fine for the
very minimal usage by lesscss.

Change-Id: Ia35e7dbaf4c7add43797d6b7d0c846bab1cf0cb0
2013-04-29 16:21:54 +10:00
Sunil Thaha
627d9c77e5 Fixes running horizon on fedora 18 and above
Fixes bug: 1167066
Summary:

1. Starting with fedora 18 the httpd.conf has
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
  which requires you to explicitly permit access to web content
  directories in other <Directory> blocks

2. Install nodejs on fedora 18 and above

Change-Id: I487a7a74bad6627d32c1081dcbe48630a704a106
2013-04-15 23:24:36 +10:00
Dean Troyer
cc6b443545 Formatting cleanups, doc updates and whatnot
Change-Id: Ica8298353be22f947c8e8a03d8dc29ded9cb26dd
2013-04-09 14:05:32 -05:00
Sean Dague
584d90ec56 add emacs shell-script tagging
for files that don't start with a #! or end in .sh, the added tags
are nice for emacs users to automatically switch to the right mode.

Change-Id: If4b93e106191bc744ccad8420cef20e751cdf902
2013-03-29 14:36:49 -04:00
Akihiro MOTOKI
7104ab406a Use example settings in horizon repo as local_settings.py
The current horizon_settings.py in devstack is out-of-date and we
tend to forget to update this file. This commit changes devstack
to use the example settings in horizon repo.

Change-Id: I0bb6af21a806a72ed59f31b094dd21da85ca335e
2013-03-29 03:01:50 +09:00