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
Making the horizon scss compilation and compression happen offline.
Potentially fixing an issue with parallel compression in devstack.
Related-Bug: #1345955
Change-Id: I066c80e06a92302a3f8dc5fd45d127fbde6cf99c
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
- 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
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
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
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
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
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
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