159 Commits

Author SHA1 Message Date
Nate Graf
f40f7d1308 [DOCS] Move horizon docs to roles
This change moves the horizon config information into the
os_horizon role repo. Moving forward, specific project
configurations are maintained in the appropriate role book.

Change-Id: Ic0b1599aee659f47128aa50f367164b64353556a
2016-08-12 19:26:54 +00:00
Marc Gariepy
387abfacb7 Compile locale to be able to change language
mo file need to be compiled in order to be able to change the language
of the dashboard.

Change-Id: Ie26496b7abeb3fc7278c00be28f6ac476dffb2eb
Closes-Bug: #1611073
2016-08-08 18:30:52 -04:00
Donovan Francesco
0b984893c9 Add Magnum-UI plugin support to Horizon
This patch adds Magnum-UI plugin support to Horizon.

Additionally some commenting is added to clarify the purpose of the
developer mode variables.

Change-Id: I79c532cbadd5f9cd84ac993d94eb795ba20ea003
Implements: blueprint role-magnum
2016-08-07 13:46:20 -05:00
Jenkins
275a4bd759 Merge "Add project group to role" 2016-08-07 18:39:29 +00:00
Jesse Pretorius
78215c033f Add project group to role
This patch adds a var used by the repo_build process to determine
which host group to check for members of before building the pip
packages required by this role. This provides the ability to
optimise the repo build process to only building the packages
that are required for an environment.

Depends-On: Idda16b4f382eee57c7469af898859d6d81d4eb30
Change-Id: Iedb4c0c91daa291f881a9fc00c5b8c40bb312ce3
2016-08-07 18:04:17 +00:00
Jesse Pretorius
05daa35ccc Add ability to change apt/yum package state
The current method of installing the distribution packages required is
set in the tasks and cannot be changed by a deployer.

Currently the apt task always installs the latest package. This results
in unexpected binary changes when a deployer may simply be trying to
execute a configuration change.

This patch adds the ability for a deployer to change the desired state
so that the results are predictable.

Change-Id: Iebd947fc93738e6ccb62460061b00306b96437d6
2016-08-07 18:04:10 +00:00
Jimmy McCrory
961d117048 Create nova endpoints for tempest test
Horizon tempest tests validate that the Project Overview page is
accessible after logging in. I1b2ddee0395ad9f55692111604b31618c4eaf69e
added permissions to this page, requiring that the compute service be
registered within the keystone catalog.

Add tasks to create the nova service and endpoints to allow the tempest
tests to complete.

Change-Id: Iec0f0f55477464979ef36eb71b9f606348857a52
2016-08-05 15:35:22 -07:00
Jenkins
6020a7f2a4 Merge "Ensure that doc linting is included in the linters test" 2016-07-26 16:07:56 +00:00
Jenkins
cc5a0c2c54 Merge "Enable Horizon Ironic dashboard plugin" 2016-07-26 13:40:58 +00:00
Jesse Pretorius
4dbde0e418 Ensure that doc linting is included in the linters test
The 'docs' tox target executes the doc8 lint test which may result in
failures when testing documentation builds, but OpenStack-CI does not
execute that tox target.

In order to ensure that we catch all standard documentation syntax
errors and prevent them from merging, this patch includes the docs
target in the 'linters' chain of tests.

Fixes for any failures which result from executing this test are also
included in the patch.

Change-Id: I3b14ec1524a0f32705b85835fe3d1eb4b181fc56
2016-07-26 07:38:09 +01:00
Neill Cox
097c01fe72 Enable Horizon Ironic dashboard plugin
Enable the Ironic dashboard plugin if ironic is configured.

Implements: blueprint role-ironic
Change-Id: I4da4720ad3deb587a0131930028f4628a22bb72f
2016-07-25 15:41:16 +00:00
Jenkins
d3d96dc3a4 Merge "Removing unused test playbook" 2016-07-22 10:19:19 +00:00
Travis Truman
ee4d926473 Removing unused test playbook
This file is not used, rather test-prepare-containers.yml
is used to perform the same function.

Change-Id: If34195d7b46d890300370d73c230af508a02f27b
2016-07-21 14:30:00 -04:00
Jimmy McCrory
7f7ad45cbb Remove openstack_hosts from test requirements
The openstack_hosts role is not used in any of the test playbooks
or required by dependent roles and can be removed from the test
role requirements.

Change-Id: I110520e864761aa697721cd24c81426a8d4ae940
2016-07-20 18:47:02 -07:00
Jesse Pretorius
9b4c1cc1cd Optimise pip install tasks
Unlike the Ansible apt module, the Ansible pip module does not
recognise a with_items list and process all the items at once.

To optimise the pip install tasks, this patch replaces the use
of with_items with a join filter so that the pip install task
does an install with all the packages in a list, ensuring that
the execution is one action instead of many.

Change-Id: Iaca857cbc31a915b8fdecfe4a06f5afb5abb46bf
2016-07-18 16:08:17 +01:00
Jesse Pretorius
e241c3761a Use plugins repo version of the human_log callback plugin
With the implementation of https://review.openstack.org/321331 the
human_log callback plugin is now part of the plugins repo.

This patch removes the retrofitted version in tox in favor of using
the version from the plugins repo instead.

Change-Id: If07d6e55c65dd083626e8967ab8705050c171929
2016-07-15 14:02:40 +01:00
Jenkins
be90ec6195 Merge "Updated from global requirements" 2016-07-15 10:05:16 +00:00
OpenStack Proposal Bot
b4cb4aaabe Updated from global requirements
Change-Id: I75425e0fcd0e5729405dc38adaa84da692582d2d
2016-07-15 03:57:54 +00:00
Mike Carden
984fae78a1 Remove duplicates from .gitignore
This patch removes the duplicated releasenotes/build
lines from .gitignore.

Change-Id: Id21292abb0486f8d834c65d81f468fa3eb611f5b
2016-07-15 11:59:02 +10:00
Jenkins
02dd478ac5 Merge "Updated tests and role for Xenial support" 2016-07-13 18:12:57 +00:00
Jesse Pretorius
ad77b184f7 Implement doc8 checks for docs
In order to prepare for the move of detailed configuration
content from the install guide to the roles, doc8 checks
are being implemented in the roles to ensure that any new
content submitted is properly checked.

Change-Id: I71feb1f32e3233693ada8f29c356f3a219c51934
Partially-Implements: blueprint osa-install-guide-overhaul
2016-07-13 12:55:58 +01:00
Jesse Pretorius
87b7057aab Update sphinx configuration
This patch updates the sphinx configuration for docs and releasenotes
to make it easier to replicate across repositories and to comply with
pep8 testing without exceptions.

Change-Id: Ie362d100b887e80982bafffd0714400adaf1139d
2016-07-12 16:53:04 +01:00
Kevin Carter
cc71003acb
Updated tests and role for Xenial support
These changes allow the role to be tested on Xenial hosts
while also ensuring that the tests are testing everything
within the container as expected.

Overview:
  * Included in this PR is a manual-test.rc. This has been
    added to  allow developers to run tests locally without
    having to invoke tox. This RC file was lifed from the
    os_keystone role.
  * The git package was added to the install list. This is
    needed on the target when the role is running with developer
    mode enabled.
  * Connection settings within the container create prep playbook
    were removed. A``connection: local`` setting forces all
    commands to be executed against the host regardless of a
    delegated task.
  * A task has been added to the horizon role to when SSL is
    enabled. This task ensures that that ca certificates are
    updated. Without this change, when running on Xenial,
    tempest will fail due to the following error:
      [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
    By updating the ca certificats on tempest is able to verify
    the certificate and pass the tests. NOTE: This fix came from
    the puppet-OpenStack community where they ran into the same
    problems in Xenial as discussed here: [0]

[0] - https://irclogs.ubuntu.com/2016/05/18/%23ubuntu-server.html#t13:37

Change-Id: I1e6808c49a8faaba5b2748918be5d6b5a59fd3d1
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-07-12 09:05:46 -05:00
Jenkins
ddd91835b1 Merge "Cleanup/standardize usage of tags" 2016-07-12 07:32:03 +00:00
Jenkins
7a0b2665fe Merge "Add support for custom Horizon themes" 2016-07-12 07:31:56 +00:00
Travis Truman
605f1765c9 Cleanup/standardize usage of tags
The numerous tags within the role have been condensed
to two tags: horizon-install and horizon-config

These tags have been chosen as they are namespaced
and cover the two major functions of the role.

Documentation has been updated to inform how each tag
influences the function of the role.

Change-Id: I02e5ee7c2975325bfa479f23ae1001095f664dcb
2016-07-11 16:48:58 -04:00
Jenkins
30f0d599f7 Merge "Only install to virtual environment" 2016-07-11 20:29:40 +00:00
Travis Truman
49376929fb Add support for custom Horizon themes
Deployers can now configure their own custom
themes and set them as the default theme using the
Horizon configuration values AVAILABLE_THEMES and
DEFAULT_THEME

See http://docs.openstack.org/developer/horizon/topics/settings.html#available-themes
for further details on the configuration.

Change-Id: I90b1cb45c851eb654638d82b83af56f93a642895
Closes-Bug: #1590839
2016-07-11 15:41:02 -04:00
Jesse Pretorius
9a104b5158 Update tox configuration
In order to prepare for implementing requirements management by the
OpenStack requirements management process, and to improve the
reliability and effectiveness of test execution, this patch implements
some changes to the tox configuration:

- The minimum tox version is increased in order to be able to use
  constraints for the python packages.
- The OpenStack upper-constraints are used when preparing the test
  venv for the linters checks.
- Any proxy environment variables set on the test host are passed
  into the venv to enable testing from behind a proxy.
- The environment variables used by Ansible tests are moved into
  a new venv called 'ansible' and this environment is inherited
  by all Ansible-related tests.
- The docs test will clean-up an existing build directory before
  executing the docs build.
- The releasenotes build cannot use upper-constraints at this point,
  so it doesn't.
- The Ansible role download will no longer ignore errors so that any
  problems discovered will result in a failed test.
- The human readable logging callback plugin is implemented for
  functional testing.
- The ansible test requirements are moved into tox.ini to ensure
  compliance for requirements.txt/test-requirements.txt for the
  global-requirements management contract.
- The ~/.ansible directory as a whole is not deleted. Instead only
  the plugins and roles folders are deleted to ensure that zuul's
  Ansible artifacts are left in-place.
- The ansible-lint version is updated to support execution against a
  folder, and the test now executes against the entire role to ensure
  that it captures all applicable files for lint testing.

This is a combined port of the following:
- https://review.openstack.org/323507
- https://review.openstack.org/338193
- https://review.openstack.org/332443
- https://review.openstack.org/338193
- https://review.openstack.org/339493

Change-Id: I7b68b4ccaf655e14a56804e3a004bb5abd4ec455
2016-07-08 15:36:20 +01:00
Jimmy McCrory
4559edf920 Only install to virtual environment
Remove all tasks and variables related to toggling between installation
of horizon inside or outside of a Python virtual environment.
Installing within a venv is now the only supported deployment.

Additionally, a few changes have been made to make the creation of the
venv more resistant to interruptions during a run of the role.
* unarchiving a pre-built venv will now also occur when the venv
  directory is created, not only after being downloaded
* virtualenv-tools is run against both pre-built and non pre-built venvs
  to account for interruptions during or prior to unarchiving

Change-Id: I8f5d33b90cc2c41beca2067f0f99d8c1283021e4
Implements: blueprint only-install-venvs
2016-07-08 06:16:12 -07:00
Jenkins
5617c4de57 Merge "Added variable to allow for arbitrary HORIZON_CONFIG" 2016-07-07 11:06:14 +00:00
Kevin Carter
39839111c0 Added variable to allow for arbitrary HORIZON_CONFIG
A new variable has been added to allow a deployer to set arbitrary
configuration options.

Closes-Bug: #1598143
Change-Id: Ic2d83d5b581046314145ecd0201087cc1682716b
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-07-06 21:04:17 +00:00
Nolan Brubaker
dfda6bc078 Compress static files after customizations
The previous behavior compressed files, then customized the horizon
install. By doing this, static files in the customization modules were
left out of the static collection/compression process. This change in
ordering will now catch those files.

Additionally, a notification is sent to the apache restart handler.

Change-Id: I5c6678c2ef93b46f38cf94f19c9b2cf444411ea8
Closes-Bug: #1598146
2016-07-06 12:01:27 -04:00
Major Hayden
6a84a06a79
Add enable_lb option back to horizon
The change from I7b384c2f78aa0aa622d23b8b4ee317dd99f396e0 in the
neutron-lbaas-dashboard brought back the ``enable_lb`` option. This
patch adds the option back into the Horizon configuration. The option
is only needed when the next-gen LBaaSv2 panels are activated.

Closes-bug: 1593074

Change-Id: I166512fc77e48c123116dc6dd95262b2e1d5f6cf
2016-06-21 23:07:53 -05:00
Jenkins
ae5256b55b Merge "Clean up container cache prep in tests" 2016-06-20 00:21:13 +00:00
Jesse Pretorius
16b8d25875 Clean up container cache prep in tests
This patch cleans up the container cache preparation in the tests
due to the following patches:

- https://review.openstack.org/307856 (new image build process)
- https://review.openstack.org/315114 (new apt config process)
- https://review.openstack.org/322188 (new resolver config process)

Change-Id: I33eacde14536057deb1828e2708e6c0d43d693ec
2016-06-17 18:44:42 +01:00
Jesse Pretorius
4dcf0fac98 Pin test-requirements to match OpenStack requirements
A new release of flake8 is causing lint faiures. Our requirements
should match OpenStack requirements anyway.

This patch pins to the current master requirements from the
OpenStack requirements repository using global-requirements.

Change-Id: If6bc861b10a45e1a8ade51567857745ace0b01b8
2016-06-17 12:35:10 +01:00
Jenkins
45f21eb38f Merge "Add Nova extensions blacklisting" 2016-06-11 00:40:46 +00:00
Jenkins
37ccd22b6c Merge "Add support for CustomLog format modification" 2016-06-10 21:49:16 +00:00
Alexey Dushechkin
583c37038b Add support for CustomLog format modification
Operators may want to log additional stuff for Horizon
requests like response time. This change adds configurable
log format.

Change-Id: I308aa085845c17a766dd7df042237b2cfcb6a0d6
2016-06-10 20:02:00 +06:00
Jenkins
7dee59c062 Merge "Remove pip_lock_down dependency" 2016-06-10 13:51:33 +00:00
Jimmy McCrory
cec81d754e Remove pip_lock_down dependency
The pip_install and pip_lock_down roles have been merged.

Remove pip_lock_down from the role's meta dependencies and test
requirements.

Change-Id: I960a9bfc558efbff8760ffb41d7619260bd59af0
2016-06-10 04:15:46 +00:00
Jean-Philippe Evrard
2c673612f4 Consistency for multi-os in the includes
This makes the include_vars consistent accross all the
openstack-ansible-.* repos.

Change-Id: I560c24d7f9980116a7a7d943a9f8f286efcc3e84
2016-06-10 04:15:29 +00:00
Alexey Dushechkin
e0d3d44b64 Add Nova extensions blacklisting
Operators may want to mask certain Nova extensions
in Horizon for performance reasons. This change
adds configurable extensions list to mask.

Change-Id: I8dff0647608833ac370a4fdab7db7dd6f39aa7c3
2016-06-10 03:34:58 +00:00
Jimmy McCrory
7232b74628 Use tempest-horizon plugin
I2a69ebed2947a5ab5e5ca79557130bd093e168dd removed horizon scenario
testing from the integrated tempest repo.

Install the tempest-horizon plugin to continue running the same tests.

Change-Id: Ic144f66f1dbdf0147ee8c56d9abc54542dea2f7b
2016-06-09 01:57:31 -05:00
Jenkins
fe79b45b6d Merge "Removed the db create tasks" 2016-05-21 02:11:55 +00:00
Travis Truman
c82ef96e1d Updating os_horizon to use the Multi-Distro framework
Debian-specific vars and logic have been moved to tasks
that will execute only on those distributions.

Change-Id: I16664a9c4364938a065bf07472e25e93ba1b828c
Implements: blueprint multi-platform-host
2016-05-20 15:01:26 -04:00
Kevin Carter
42e77eaf53 Removed the db create tasks
The db create tasks have been removed from the role and have been
relocated into the playbooks.

Change-Id: Ie4b026bdc36d6b508af4f2f7b529283039ef61d0
Depends-On: If58e482034a65c0e50241448dbe298a73c1ae71b
Depends-On: I0ca5b0403562537d2ecfdba0466a87fb0b874933
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-05-19 19:40:43 +00:00
Travis Truman
4f891b567a Removing unused verbose variable
No references to the variable exist within the role
so it does not need to be defined in defaults/main.yml

Change-Id: Ie7c71bebb181d12c9bf989d1cbee22e61061accc
2016-05-17 11:19:35 -04:00
Jenkins
7310d47a8a Merge "Use tempest for role testing" 2016-05-13 21:08:16 +00:00