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
The previous apache/horizon a688bc65104e7d8998ffdb321d67a9f33df6997e
change left horizon disabled on Fedora.
Closes-Bug: #1326126
Change-Id: I79f84bb63471f84c6b37538e8dfe2bcca3ce3eac
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
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
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
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
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
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
since commit a0739c9423a4c559b45af96fa4cdb30539dcdbd7, horizon use
a pure Python alternative to nodejs
Change-Id: I231b453e42c303c3cc29e8bea4d7b935fecdccd2
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
Address miscellaneous issues with Markdown formatting in comments which
are consumed by shocco when generating the online documentation.
Change-Id: I953075cdbddbf1f119c6c7e35f039e2e54b79078
I85325179f1792d985b0375572abfe8c8a82fecc3 accidentally removed the
conditional branch required to prevent setup of horizon aborting on
openSUSE, so put it back in.
Change-Id: Ia3e4464a2d718e402d84a0bcf60f13ef30404969
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
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
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
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
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
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
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
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
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
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
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
Fedora/RHEL use httpd for the package name of httpd. This is handled
in other parts of the horizon startup code, but not in shutdown.
Change-Id: I2732dad652d83a9cbe055f5f077678b7111ca782
Fixes: bug #1099538
- Use right package files for openSUSE in tools/info.sh
- Use a2enmod to enable the wsgi apache module
Change-Id: I51e3019be32dc0938674c9c8d285a55f5b023707
Between is_fedora, is_ubuntu and is_suse, we can make the code a bit
simpler to read. We also use exit_distro_not_supported to identify
places where we need implementation details for new distros.
As "/sbin/service --skip-redirect" is Fedora-specific, guard this with a
is_fedora test too.
Change-Id: Ic77c0697ed9be0dbb5df8e73da93463e76025f0c
This replaces all of the [[ "$os_PACKAGE" = "deb" ]] tests, except when
those tests are before straight calls to dpkg.
Change-Id: I8a3ebf1b1bc5a55d736f9258d5ba1d24dabf04ea
It should be the group of the effective apache user.
For example, on openSUSE, we use wwwrun:www for apache and $USER:users
for users.
Change-Id: I8e12a8d90d45cfd18e67a41cf5462216ae404733
on a clean ubuntu environment wsgi wasn't getting enabled
ensure that it actually turns on wsgi to that apache can start
Change-Id: I9c74f7c5d5d2f995843b2a649a52f7159c7de314
Note that this is the first part of the support. A second part involves
dealing with the package names.
Among the changes:
- add several functions to determine some distro-specific behavior (how
to call usermod, if some features are available on the distro, etc.)
- correctly detect openSUSE and SLE in GetOSVersion, and set DISTRO
accordingly
- new is_suse() function to check if running on a SUSE-based distro
- use zypper to install packages
- adapt apache virtual host configuration for openSUSE
- some simple fixes (path to pip, mysql service name)
Change-Id: Id2f7c9e18a1c4a7b7cea262ea7959d183e4b0cf0
pre holiday refactor extrodinare, get the horizon code
over fully into lib/horizon so that all these fixes aren't
scattered through stack.sh
Change-Id: I7f26c5c6708d5693048eb7b1ce792122adbc7351