The max-repo-count setting in the cgitrc adjusts how many repos should
be displayed on each page. In the puppet-cgit module we have a default
of 600, which was intended to be enough for all the repos to be shown
on git.openstack.org without a second page. We're now at over 1,000
repos, so you now need to page through them and this is not an optimal
experience. Since cgit can handle loading thousands of repos on the
main page, add the setting to our local configuration and bump it up
to 1500.
Change-Id: I7a2ea185f0876806ecfd17bedd84dbcd9769b124
By parameterizing the selinux mode we can set the mode and pass the mode
to other classes so they can make decisions on whether or not to run
selinux commands as part of their configuration.
Depends-On: I21add092d9d09077f2b23760a384f5a5cb91d86a
Change-Id: I86a5bb006b6ab9d64f7fbd894c967428cfaed8f8
The cgitrc configuration should be 'clone-prefix' not 'clone_prefix'[1]
This fix will correctly override the default set in puppet-cgit.
[1] http://git.zx2c4.com/cgit/tree/cgitrc.5.txt
Change-Id: Ie96e046febcacc5359fe449b82ee6f32bcac9287
Instead of taking care of cgitrc configuration in system-config,
use the new embedded logic for puppet-cgit to set that
configuration.
Depends on puppet-cgit module, as the configuration was moved
there.
Depends-On: I5c8ef0e7036c4b7a33aa12dc502c048af0499dda
Change-Id: I0bdbbdc3689cc33981c9c74af4b6c3080acf2dbe
Two minor changes here:
- vhost_name need to be double quoted for vhost_name to be
interpreted
- create-cgitrepos script does not exist until jeepyb is
installed, so requiring jeepyb class before calling that.
Change-Id: I1596a76a67014d7a18fa85ff5fadb5cb0b8e2fb0
It should be more flexible to just add use vhost_name
as part of the name, instead of hardcoding to openstack.
Change-Id: I0f3e9216480e4ef008b965481e669b12597566d1
lsof is a very valuable tool for debugging connectivity issues. It is
not installed on our centos6 nodes by default. Install it here so that
we have it available for debugging connections issues.
Change-Id: I836b6bb4e852a2fbbff8d3a1620920de8d03b112
The gate-config-puppet-apply test will try to run everything on a
bare-precise node, so even though this doesn't occur in production it is
being tested.
Change-Id: I13b03a7476e30cbb26dc820bb4cf5b56c4018669
We need for the keys to only have the key content. Also, we've learned
that the ssh_authorized_key title is important.
Change-Id: Ie772572e041ea6c1587dddb02937b89541a37e1b
There is a builtin type for adding authorized_keys. We started
using it for the restricted access for the puppet triggering key,
and it seems to make sense to be consistent across the board.
Change-Id: I76ffb0136c58c05fa7c8abb793cb8e3b03cb5f6c
Zuul should use a dedicated ssh key rather than piggy backing off of the
jenkins ssh key. This change makes this distinction clear and removes
one zuul use of the jenkins ssh key that is not necessary.
Change-Id: I74c811a8bf94838b285791e158f4e468513eaa3e
A couple of varibles that are not used by the git_backend.pp
manifest are defined because they're required by jeepyb.
Rewrote inline comment to make this more clear.
Change-Id: Ic96df55c40847bafcf5ce6197f1e627d7aef26aa
The volume of loose refs which get replicated to our git backends
pile up quickly during periods of heavy use, which increases load
and network traffic on the servers, slowing down updates and raising
the risk from network errors. Reduce the scheduled repack frequency
from weekly to daily, which should also result in quicker repacks.
Change-Id: I6380e67444c54f5b1a1c1b5b631e95c5a20f119a
The projects list is a common list for devs to interact with. The config
in the list is not, but the config in the list means the file needs to
be in an erb template.
Split the two concerns, similar to zuul. Put the config in a config file
and the project data in a yaml file.
Change-Id: I708b8655b4b1ce377f3b7369e987418c1d72d977
* manifests/site.pp
* modules/openstack_project/manifests/git_backend.pp: Add the zuul
server's public SSH key to a dedicated zuul account on the git
server farm. This will allow zuul to push arbitrary references into
its scratch repositories. Also set ownership on its scratch
repository hierarchy and pack them, properly skipping it in the
existing cgit repo repack since ownership differs.
Change-Id: I4b5b583847c828aadc903270433882531e5b1ea7
* modules/openstack_project/manifests/git_backend.pp: Pass "zuul" as
the SCRATCH_SUBPATH environment variable for the create-cgitrepos
utility. With a new enough jeepyb to support this, it will generate
empty shadow git repositories where zuul can stow its throwaway job
references.
Change-Id: I26828ab9935e47382f6706a5c590f32b806d1713
A commit-filter adds the ability to format commit messages.
This commit-filter automatically adds links for:
- Change-id: Link to the change on review.o.o
- SHA1 hash: Link to the git commit on git.o.o
- Bug: Link to the bug on launchpad.net
- Blueprint: Link to the blueprint on launchpad.net
Change-Id: If8916948ca154e6957efb005d35812ae097721b7
* manifests/site.pp: Use distinct manifests for git.o.o and git.o.o
backends. This allows for the haproxy server to not serve git content
and purely be a load balancer.
* modules/cgit/manifests/init.pp: Remove haproxy from cgit module.
Remove stale xinetd cleanup. Select git daemon port when selecting
HTTP(S) ports.
* modules/openstack_project/manifests/git.pp: Make git.pp a manifest to
load balance git servers with haproxy.
* modules/openstack_project/manifests/git_backend.pp: New manifest to
manage servers that actually serve git content. They sit behind a load
balancer.
* modules/openstack_project/manifests/review.pp: Stop replicating repos
to git load balancer.
Change-Id: I343a0d1e0a7b93874c2e2299ed974a3304957efb