Commit Graph

30 Commits

Author SHA1 Message Date
Ghanshyam Mann 9470460ef4 Retire opendev/puppet-openstack_health: remove repo content
openstack/health is retiring[1] so we need to retire
the opendev/puppet-openstack_health module also.
This removes the repo content and updates the README file.

[1] https://review.opendev.org/c/openstack/governance/+/836706/2

Depends-On: https://review.opendev.org/c/openstack/project-config/+/836710
Change-Id: I66bb6e0df4a132352f0ebdd57393059061329fe2
2023-10-12 08:28:35 +02:00
Colleen Murphy c148067970 Turn off binary symlink in nodejs module
On Xenial, the nodejs puppet module tries to create a symlink from
/usr/bin/node to /usr/bin/nodejs. Depending on the resource ordering,
this might happen before or after the nodejs package creates its own
/usr/bin/node. If puppet has the chance to make the symlink itself, it
breaks node by creating a broken link cycle. This patch uses the
legacy_debian_symlinks parameter to prevent the puppet module from doing
that. This problem was fixed and the option was deprecated and removed
in later versions of the nodejs puppet module, so we will have to remove
the parameter if we update the nodejs module.

Change-Id: I1884dc5a005fe328469b58f876e854c22037d0b7
2018-07-15 11:42:29 +02:00
Ian Wienand 0687bb339e Use v2.3.0 for nodejs
Use v2.3.0 of nodejs.  node.js 0.12 is EOL so update to the oldest LTS
release which is 6.x.  It automaticaly detects the symlink argument so
this is not required.

Depends-On: Ia7966fb9578d0d79f3a7f9480e3a956555737dc8
Depends-On: I9eb17646bd949c3bd84fa61f92881e9fac015de5
Change-Id: Ib925c87760d75fe22d3239bb2c5833183bc849e1
2017-12-14 09:30:36 +11:00
Jeremy Stanley cf611d0b85 Don't set npm_package_ensure
Using repo_url_suffix implies nodesource packaging, whose nodejs
package bundles the npm executable rather than having it in a
separate package. Attempting to set npm_package_ensure to present
results in dependency resolution conflict when the module attempts
to install the distro's npm package which conflicts with the nodejs
package being installed from nodesource. This is consistent with the
behavior described by
https://github.com/voxpupuli/puppet-nodejs#npm_package_ensure as
well.

Change-Id: I9516bf52c72609355748e6a521eef21020f75fe4
2017-09-29 16:36:02 +00:00
Matthew Treinish 46ebfa525e
Switch api server to use system python instead of venv
This commit removes the venv handling from the api puppet module. The
venv added unecessary complexity to the puppet module and made things a
bit fragile. Since this is typically deployed on a standalone server
there wasn't really a reason to do this.

Change-Id: Ifa3a0c8ece479534115d8905f5faf831d8bb88ae
2017-08-04 14:47:43 -04:00
Colleen Murphy 7df7a1dddb Install npm
The nodejs module does not install npm by default, and it is needed in
order to use it as a package provider. Also remove the npm package test
from beaker, since it makes no sense for package 'npm' to be installed
by provider 'npm'.

Change-Id: Idc3d51399f1263eded3f373a7c852a609b15a204
2017-06-11 21:14:53 +02:00
Colleen Murphy 90451309d3 Fix linter error
In the updated style guide, required parameters go at the top.

Change-Id: I2cf332691c3b50a61161f9075bc07160bc077ef8
2017-06-11 21:12:32 +02:00
Matthew Treinish a223e47c27
Install cython with the openstack-health api server
Pandas now has a build dep on cython. So to actually install an api
server now we need to ensure that cython is installed on the machine.
This commit adds that to api.pp manifest.

Change-Id: I55053b4c5d7d6edde191fd0c695d446dc216bcba
2016-10-04 12:13:16 -04:00
Matthew Treinish 86bd0f1d64 Add build_newrev to the list of ignored keys
A new run metadata key, build_newrev, started showing up in the db
recently. [1] It's not actually something we want to expose, since it
is unique for each job and not something we can group on. This commit
adds it to the list of ignored keys so we don't have to see it
anymore.

[1] http://status.openstack.org/openstack-health/#/?groupKey=build_newrev

Change-Id: Iea4a0babe10cd8d54a31e39dc5c3738570fda126
2016-06-22 06:48:15 +00:00
Matthew Treinish c94f14be3d
Use the distributed memcached locked dbm cache backend
This commit switches the backend used on the api server to be the dbm
file backend with using memcached for distributed locking. This enables
having an async worker, but avoids the size limitations with storing
the cached data in memcached directly.

Change-Id: If506bbca1eb867135430c7f435c5e4a1db1a0232
Depends-On: Ied241ca1762c62a047bd366d7bd105028a884f30
2016-06-01 17:10:24 -04:00
Matthew Treinish 814b6585e5
Add memcached to api server
This commit adds installing and configuring memcached to the api
server. It then configures the api server to use memcached for it's
local response cache. This is needed to enable the async worker from
openstack-health change I0fd29839c72ca2fdfb4c4724bb3da7e283e3d27d.

Change-Id: I3057e7f9f920550a12c12c1bfeb643a713c5f696
2016-05-25 22:14:09 -04:00
Matthew Treinish a5c17a8719
Add option to make cache expiration configurable
This commit adds a cache_expiration parameter to make the cache
expiration for the api configurable. By default it sets it 15min
(which is half of the far more conservative openstack-health default)
to match the longest e-r query times seen in testing.

Change-Id: Iaea17e16f6995121ad54bae2c46a96112b702caf
2016-05-25 17:35:26 -04:00
Joshua Hesketh aad1f6a6f8 elastic-recheck requires libffi-dev to install
Change-Id: Ia46ed829dd87a7dd55627c5ef28a7f59d3022b3c
2016-05-25 05:43:04 +00:00
Andrea Frittoli (andreaf) d857d6fc44 Add E-R repo and revision to class
The openstack_health class has been recently extended to include
deployment to E-R, a new data source for OpenStack Health.
The E-R repo and revions are hardcoded in the class, which prevents
using the new E-R feature in downstream deployments that have an own
E-R repo.

Adding repo and revision at class level solves that.

Change-Id: Ifde71192f0cc618480be95feb77e712f8c27356b
2016-05-23 11:10:30 +01:00
Matthew Treinish a718005b05
Add elastic recheck to api server
This commits adds the installation of elastic-recheck and the
configuration to the openstack-health api server for using the
additional data source. This depends on openstack-health change:
Icf203668690419c38f6d6be6b6fe4af8462845f3 to work, however it's not a
hard dependency because we can land this first without any issues.
If we do it'll mean the api server will be configured and start using
the data as soon as the openstack-health change lands.

Change-Id: Ia17effc714d176f0b0ceb517bd93d6533e16fdbc
2016-05-13 22:02:37 -04:00
Matthew Treinish e6d4474cec
Add another missing lxml dep
This commits adds yet another missing package needed for lxml

Change-Id: I6398ffdffc805d31a884faab8e9d6fe5ccf1bbbc
2016-04-21 20:04:40 -04:00
Matthew Treinish cf8a051b18
Add packages needed to build lxml
This commit adds the ubuntu packages needed to build lxml which is now
being pulled it because of the addition of rss support to
openstack-health's api server.

Change-Id: Id59c044413f47b59a471fe9a915caf4cca64d253
2016-04-21 09:53:03 -04:00
Matthew Treinish f2a1f93bbd
Add apache2-utils package to api server
This commit adds the missing apache2-utils package to the api server.
The apache2 startup (because of mod_cache I guess) is requiring the
use of htcacheclean. However, it's not present on the system. By
installing it, this should fix the issue.

Change-Id: I6bf1790b0511a0006408144fb2f98ec2a9896825
2016-03-10 10:56:50 -05:00
Jenkins cc34f5f770 Merge "Update default api configurations" 2015-12-17 22:06:29 +00:00
Matthew Treinish 41840e287f
Add a longer timeout to the pip install phase
We are possibly hitting timeouts pip installing larger dependencies
that require c compilations as part of the install. This commit bumps
the timeout to fix this.

Change-Id: Ie172b2573df85a6b0b47ac06bef461aab0b627b5
2015-12-08 11:03:23 -05:00
Matthew Treinish 0a5077351e
Make sure we install the latest requirements
This commit switches the api server from installing the requirements
file with pip install, via the ::python::requirements class, to using
pip install -U explicitly via an exec. We need to use -U to ensure
we're pulling in the latest version of subunit2sql that's valid,
otherwise the version won't be in sync with our database which can
potentially cause issues.

Change-Id: I6797bcf82cc82a8a49441f9abb90bbc95fbd365b
2015-11-30 18:26:55 -05:00
Glauco Oliveira 346894e2ef Update default api configurations
OpenStack Health api has a new functionality that allows users to
retrieve the grouping keys used on the dashboard page.

A few of them simply don't make sense for the users, since they
are too granular.

This commit includes a new default configuration that will ignore
these keys. In case you are interested on how I come up with these keys,
please check this patch: https://review.openstack.org/#/c/240453/

Change-Id: Ibe591d9af94c1cd8d5c1d4956c1c82b4a764b5b7
2015-11-23 14:50:30 -03:00
Danilo Ramalho 10bb4095f0 Fix httpd apply in Ubuntu Precise
Alteration of the Apache configuration for apply in the Ubuntu Precise.

It was changed for mod_disk_cache because mod_cache_disk not exist for the
Precise and check Apache Version due the parameter "Require all Granted".

Change-Id: Icc1d13fc39058f147bdbb1e6b9a810143051ece4
Co-Authored-By: Maitê Balhester <mbalhest@thoughtworks.com>
2015-11-18 09:36:41 -02:00
Glauco Oliveira 576fe04b85 Fix broken acceptance tests
While applying this module downstream we noticed that its acceptance
tests were broken.

During the process of fixing them we noticed that the reason for this
were the changes made in the manifest 'openstack_health::frontend'.
Apparently a new manifest was created to take care of installing the
frontend, 'openstack_health::vhost'.

The first step in order to fix this was adapting the tests to use this
new manifest instead of the former. While doing so we noticed that the
apache vhost template file was not being generated correctly. That
happened because it was binding agains 'openstack_health::frontend',
which now did not have the parameters necessary.

So, in order to make the whole acceptance test suite work, it was
necessary updating the vhost template file as well.

Change-Id: I79edb3b05ca25b484a62d6a414592e662b42d85e
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>
2015-11-11 14:05:35 -02:00
Matthew Treinish f73456a123
Enable mod_cache to do API server side caching
This commit adds enabling mod_cache to the api server to enable some
server side caching. We don't need to update the data in real time on
the dashboard and performing some server side caching will improve
the dashboard performance. It'll also decrease the load we'll put on
that poor trove node in rax cloud we're running subunit2sql on.

Change-Id: I61d862603306a36c3ec6cd74d000126155bb29d5
2015-10-30 01:58:26 -04:00
Clark Boylan 40e79ffdbb Use file resource to manage build copy
We had a complicated series of execs to build and copy files into the
docroot. Unfortunately these haven't worked as expected but we can
simplify the puppet by using a file resource to manage the copy of the
build for us.

Change-Id: I55c521bc7b5f24e46932c11cece4376e55f50767
2015-10-21 16:12:35 -07:00
Matthew Treinish 559d6b83c7
Only run mv if we generated a new js build
This commit adds a missing refreshonly from the exec to run the mv
which moves the build dir to the output dir. Previously we were
running this on every exec which caused failures when a new build
wasn't run. This should address this by only running the mv when we
build the js.

Change-Id: Id9d48c0e5da4567b0afefad22513c391b95e9bc0
2015-10-21 17:23:58 -04:00
Matthew Treinish c974b922e9
Add site module to deploy frontend to a dir
This commit adds a site.pp file which is used to deploy the frontend
to a directory instead of setting up a vhost. When deploying this on
status.o.o we need to put the dashboard in a dir on an existing vhost
instead of deploying a seperate one. This commit adds the class to do
this.

Change-Id: Ic47fbd817a293a257f7a9b164682fc96cce5321e
2015-10-20 21:34:47 -04:00
Matthew Treinish 9d625d903d
Install openstack-health in editable mode
Due to the magic of non-determinism that is python packaging for
whatever reason the wsgi_script entrypoint is not being generated
when installing openstack-health in non-editable mode. So while we
wait for the local witch doctor to remove the curse from the system
this switches to using editable installs to move forward.

As part of this change the exec for running pip to install
openstack-health is also improved.

Change-Id: If5e166d6cba0553f160eabde491d0230e4834f01
2015-10-20 20:14:43 -04:00
Glauco Oliveira e091e45134 Add provisioning scripts
This is a initial version of how to deploy OpenStack-Health.

This script provisions openstack-health as it is today. This will be a
foundation for future deployments, once the application becomes more
mature.

Change-Id: Id4ef45bba0db28b95d7fb72799cb86ab4db6343b
Co-Authored-By: Bruno Tavares <btavare@thoughtworks.com>
Co-Authored-By: Caio Carrara <ccarrara@thoughtworks.com>
2015-10-13 22:34:07 -03:00