Rename CI to Infra in MANY MANY places.

Change-Id: I409bd50ae374e0288531f07cfeea34856c5f8067
Reviewed-on: https://review.openstack.org/17319
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: James E. Blair <corvus@inaugust.com>
This commit is contained in:
Monty Taylor 2012-12-02 11:52:32 -08:00 committed by James E. Blair
parent 5b9461b5e1
commit 74460853d1
52 changed files with 228 additions and 584 deletions

View File

@ -1,4 +1,4 @@
[gerrit] [gerrit]
host=review.openstack.org host=review.openstack.org
port=29418 port=29418
project=openstack/openstack-ci-puppet.git project=openstack-infra/config.git

View File

@ -1,5 +1,5 @@
These are a set of puppet manifests and modules that are currently being These are a set of puppet manifests and modules that are currently being
used to manage the OpenStack CI infrastructure. used to manage the OpenStack Project infrastructure.
The main entry point is in manifests/site.py. The main entry point is in manifests/site.py.

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
# OpenStack CI documentation build configuration file, created by # OpenStack Project Infrastructure documentation build configuration file,
# sphinx-quickstart on Mon Jul 18 13:42:23 2011. # created by sphinx-quickstart on Mon Jul 18 13:42:23 2011.
# #
# This file is execfile()d with the current directory set to its containing # This file is execfile()d with the current directory set to its containing
# dir. # dir.
@ -41,8 +41,8 @@ source_suffix = '.rst'
master_doc = 'index' master_doc = 'index'
# General information about the project. # General information about the project.
project = u'OpenStack CI' project = u'OpenStack Project Infrastructure'
copyright = u'2011, Monty Taylor, James Blair and Andrew Hutchings' copyright = u'2012, OpenStack Infastructure Team - see git repo for details'
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the
@ -169,7 +169,7 @@ html_static_path = ['_static']
#html_file_suffix = None #html_file_suffix = None
# Output file base name for HTML help builder. # Output file base name for HTML help builder.
htmlhelp_basename = 'OpenStackCIdoc' htmlhelp_basename = 'OpenStackInfradoc'
# -- Options for LaTeX output ------------------------------------------------- # -- Options for LaTeX output -------------------------------------------------
@ -184,8 +184,8 @@ htmlhelp_basename = 'OpenStackCIdoc'
# (source start file, target name, title, author, documentclass # (source start file, target name, title, author, documentclass
# [howto/manual]). # [howto/manual]).
latex_documents = [ latex_documents = [
('index', 'OpenStackCI.tex', u'OpenStack CI Documentation', ('index', 'OpenStackInfra.tex', u'OpenStack Infrastructure Documentation',
u'Monty Taylor and James Blair', 'manual'), u'OpenStack Infrastructure Team', 'manual'),
] ]
# The name of an image file (relative to this directory) to place at the top of # The name of an image file (relative to this directory) to place at the top of
@ -217,6 +217,6 @@ latex_documents = [
# One entry per manual page. List of tuples # One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section). # (source start file, name, description, authors, manual section).
man_pages = [ man_pages = [
('index', 'openstackci', u'OpenStack CI Documentation', ('index', 'openstackinfra', u'OpenStack Infrastructure Documentation',
[u'Monty Taylor, James Blair and Andrew Hutchings'], 1) [u'OpenStack Infrastructure Team'], 1)
] ]

View File

@ -41,8 +41,8 @@ host for use by the OpenStack project.
.. code-block:: bash .. code-block:: bash
sudo apt-get install puppet git openjdk-6-jre-headless mysql-server sudo apt-get install puppet git openjdk-6-jre-headless mysql-server
git clone git://github.com/openstack/openstack-ci-puppet.git git clone git://github.com/openstack-infra/config.git
cd openstack-ci-puppet/ cd config/
sudo bash run_puppet.sh sudo bash run_puppet.sh
Install MySQL Install MySQL
@ -462,59 +462,18 @@ onto the gerrit servers. This script follows two rules:
If your review gets touched by either of these rules it is possible to If your review gets touched by either of these rules it is possible to
unabandon a review on the gerrit web interface. unabandon a review on the gerrit web interface.
Launchpad Sync
==============
The launchpad user sync process consists of two scripts which are in
openstack/openstack-ci on github: sync_launchpad_gerrit.py and
insert_gerrit.py.
Both scripts should be run as gerrit2 on review.openstack.org
sync_launchpad_users.py runs and creates a python pickle file, users.pickle,
with all of the user and group information. This is a long process. (12
minutes)
insert_gerrit.py reads the pickle file and applies it to the MySQL database.
The gerrit caches must then be flushed.
Depends
-------
::
apt-get install python-mysqldb python-openid python-launchpadlib
Keys
----
The key for the launchpad sync user is in ~/.ssh/launchpad_rsa. Connecting
to Launchpad requires oauth authentication - so the first time
sync_launchpad_gerrit.py is run, it will display a URL. Open this URL in a
browser and log in to launchpad as the hudson-openstack user. Subsequent
runs will run with cached credentials.
Running
-------
::
cd openstack-ci
git pull
python sync_launchpad_gerrit.py
python insert_gerrit.py
ssh -i /home/gerrit2/.ssh/launchpadsync_rsa -p29418 review.openstack.org gerrit flush-caches
Gerrit IRC Bot Gerrit IRC Bot
============== ==============
Installation Installation
------------ ------------
Ensure there is an up-to-date checkout of openstack-ci in ~gerrit2. Ensure there is an up-to-date checkout of openstack-infra/config in ~gerrit2.
:: ::
apt-get install python-irclib python-daemon python-yaml apt-get install python-irclib python-daemon python-yaml
cp ~gerrit2/openstack-ci/gerritbot.init /etc/init.d cp ~gerrit2/openstack-infra/config/gerritbot.init /etc/init.d
chmod a+x /etc/init.d/gerritbot chmod a+x /etc/init.d/gerritbot
update-rc.d gerritbot defaults update-rc.d gerritbot defaults
su - gerrit2 su - gerrit2
@ -560,7 +519,7 @@ them are applied.
Installation Installation
------------ ------------
Ensure an up-to-date checkout of openstack-ci is in ~gerrit2. Ensure an up-to-date checkout of openstack-infra/config is in ~gerrit2.
:: ::
@ -650,7 +609,7 @@ Creating a new Gerrit Project with Puppet
========================================= =========================================
Gerrit project creation is now managed through changes to the Gerrit project creation is now managed through changes to the
openstack-ci-puppet repository. The old manual processes are documented openstack-infra/config repository. The old manual processes are documented
below as the processes are still valid and documentation of them may below as the processes are still valid and documentation of them may
still be useful when dealing with corner cases. That said, you should still be useful when dealing with corner cases. That said, you should
use this method whenever possible. use this method whenever possible.
@ -665,7 +624,7 @@ also want to configure Zuul and Jenkins to run tests on the new project.
The details for that process are in the next section. The details for that process are in the next section.
Gerrit projects are configured in the Gerrit projects are configured in the
``openstack-ci-puppet/modules/openstack_project/templates/review.projects.yaml.erb``. ``openstack-infra/config:modules/openstack_project/templates/review.projects.yaml.erb``.
file. This file contains two sections, the first is a set of default file. This file contains two sections, the first is a set of default
config values that each project can override, and the second is a list config values that each project can override, and the second is a list
of projects (each may contain their own overrides). of projects (each may contain their own overrides).
@ -734,7 +693,7 @@ a single project you will want to do the following:
mergeContent = true mergeContent = true
#. Add a project entry for the project in #. Add a project entry for the project in
``openstack-ci-puppet/modules/openstack_project/templates/review.projects.yaml.erb``.:: ``openstack-infra/config:modules/openstack_project/templates/review.projects.yaml.erb``.::
- project: openstack/project-name - project: openstack/project-name
acl_config: /home/gerrit2/acls/project-name.config acl_config: /home/gerrit2/acls/project-name.config
@ -756,7 +715,7 @@ Have Zuul Monitor a Gerrit Project
===================================== =====================================
Define the required jenkins jobs for this project using the Jenkins Job Define the required jenkins jobs for this project using the Jenkins Job
Builder. Edit openstack/openstack-ci-puppet:modules/openstack_project/files/jenkins_jobs/config/projects.yaml Builder. Edit openstack-infra/config:modules/openstack_project/files/jenkins_jobs/config/projects.yaml
and add the desired jobs. Most projects will use the python jobs template. and add the desired jobs. Most projects will use the python jobs template.
A minimum config:: A minimum config::
@ -787,7 +746,7 @@ Full example config for nova::
- openstack-publish-jobs - openstack-publish-jobs
- gate-{name}-pylint - gate-{name}-pylint
Edit openstack/openstack-ci-puppet:modules/openstack_project/files/zuul/layout.yaml Edit openstack-infra/config:modules/openstack_project/files/zuul/layout.yaml
and add the required jenkins jobs to this project. At a minimum you will and add the required jenkins jobs to this project. At a minimum you will
probably need the gate-PROJECT-merge test in the check and gate queues. probably need the gate-PROJECT-merge test in the check and gate queues.
@ -867,7 +826,7 @@ Pull requests can not be disabled for a project in Github, so instead
we have a script that runs from cron to close any open pull requests we have a script that runs from cron to close any open pull requests
with instructions to use Gerrit. with instructions to use Gerrit.
* Edit openstack/openstack-ci-puppet:modules/openstack_project/templates/review.projects.yaml.erb * Edit openstack-infra/config:modules/openstack_project/templates/review.projects.yaml.erb
and add the project to the list of projects in the yaml file and add the project to the list of projects in the yaml file
@ -911,14 +870,8 @@ inside of git in gerrit. Check out the branch from git::
There will be two interesting files, `groups` and `project.config`. `groups` There will be two interesting files, `groups` and `project.config`. `groups`
contains UUIDs and names of groups that will be referenced in contains UUIDs and names of groups that will be referenced in
`project.config`. There is a helper script in the openstack-ci repo called `project.config`. UUIDs can be found on the group page in gerrit.
`get_group_uuid.py` which will fetch the UUID for a given group. For Next, edit `project.config` to look like::
$PROJECT-core and $PROJECT-drivers::
openstack-ci/gerrit/get_group_uuid.py $GROUP_NAME
And make entries in `groups` for each one of them. Next, edit
`project.config` to look like::
[access "refs/*"] [access "refs/*"]
owner = group Administrators owner = group Administrators

View File

@ -1,17 +1,17 @@
.. OpenStack CI documentation master file, created by .. OpenStack Infrastructure documentation master file, created by
sphinx-quickstart on Mon Jul 18 13:42:23 2011. sphinx-quickstart on Mon Jul 18 13:42:23 2011.
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
OpenStack Continuous Integration OpenStack Project Infrastructure
================================ ================================
This documentation covers the installation and maintenance of the This documentation covers the installation and maintenance of the
Continuous Integration (CI) infrastructure used by OpenStack. It project infrastructure used by OpenStack. It
may be of interest to people who may want to help develop this may be of interest to people who may want to help develop this
infrastructure or integrate their tools into it. Some instructions infrastructure or integrate their tools into it. Some instructions
may be useful to other projects that want to set up similar CI may be useful to other projects that want to set up similar infrastrucutre
systems. systems for their developers.
OpenStack developers or users do not need to read this documentation. OpenStack developers or users do not need to read this documentation.
Instead, see http://wiki.openstack.org/ to learn how contribute to or Instead, see http://wiki.openstack.org/ to learn how contribute to or

View File

@ -53,305 +53,7 @@ Currently OpenStack integration testing is performed by the devstack
gate test framework. This framework runs the devstack exercises and gate test framework. This framework runs the devstack exercises and
Tempest smoketests against a devstack install on single use cloud Tempest smoketests against a devstack install on single use cloud
servers. The devstack gate source can be found on servers. The devstack gate source can be found on
`Github <https://github.com/openstack-ci/devstack-gate>`_ and the `Github <https://github.com/openstack-infra/devstack-gate>`_ and the
`Readme <https://github.com/openstack-ci/devstack-gate/blob/master/README.md>`_ `Readme <https://github.com/openstack-infra/devstack-gate/blob/master/README.md>`_
describes the process of using devstack gate to run your own devstack describes the process of using devstack gate to run your own devstack
based tests. based tests.
Rackspace Bare-Metal Testing Cluster
====================================
The Rackspace Bare-Metal Testing Cluster is no longer in place and is
not used for OpenStack integration testing. The following documentation
is retained as it is potentially useful should you want to do something
similar and it is historically significant.
The CI team mantains a cluster of machines supplied by Rackspace to
perform bare-metal deployment and testing of OpenStack as a whole.
This installation is intended as a reference implementation of just
one of many possible testing platforms, all of which can be integrated
with the OpenStack Jenkins system. This is a cluster of several
physical machines meaning the test environment has access to all of
the native processor features, and real-world networking, including
tagged VLANs.
Each time the trunk repo is updated, a Jenkins job will deploy an
OpenStack cluster using devstack and then run the openstack-test-rax
test suite against the cluster.
Deployment and Testing Process
------------------------------
The cluster deployment is divided into two phases: base operating
system installation, and OpenStack installation. Because the
operating system install takes considerable time (15 to 30 minutes),
has external network resource dependencies (the distribution mirror),
and has no bearing on the outcome of the OpenStack tests themselves,
the process used here effectively snapshots the machines immediately
after the base OS install and before OpenStack is installed. LVM
snapshots and kexec are used to immediately return the cluster to a
newly installed state without incurring the additional time it would
take to install from scratch. The Jenkins testing job invokes the
process starting at :ref:`rax_openstack_install`.
Installation Server Configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The CI team runs the Ubuntu Orchestra server (based on cobbler) on our
Jenkins slave node to manage the OS installation on the test machines.
The configuration for the Orchestra server is kept in the CI team's
puppet modules. If you want to set up your own system, Orchestra is
not required, any system capable of performing the following steps is
suitable. However, if you want to stand up a test system as quickly
and simply as possible, you may find it easiest to base your system on
the one the CI team uses. You may use the puppet modules yourself, or
follow the instructions below.
The CI team's Orchestra configuration module is at:
https://github.com/openstack/openstack-ci-puppet/tree/master/modules/orchestra
Install Orchestra
"""""""""""""""""
Install Ubuntu 11.10 (Oneiric) and Orchestra::
sudo apt-get install ubuntu-orchestra-server ipmitool
The install process will prompt you to enter a password for Cobbler.
Have one ready and keep it in a safe place. The procedure here will
not use it, but if you later want to use the Cobbler web interface,
you will need it.
Configure Orchestra
"""""""""""""""""""
Install the following files on the Orchestra server so that it deploys
machines with our LVM/kexec test framework.
We update the dnsmasq.conf cobbler template to add
"dhcp-ignore=tag:!known", and some site-specific network
configuration::
wget https://raw.github.com/openstack/openstack-ci-puppet/master/modules/orchestra/files/dnsmasq.template \
-O /etc/cobbler/dnsmasq.template
Our servers need a kernel module blacklisted in order to boot
correctly. If you don't need to blacklist any modules, you should
either create an empty file here, or remove the reference to this file
from the preseed file later::
wget https://raw.github.com/openstack/openstack-ci-puppet/master/modules/orchestra/files/openstack_module_blacklist \
-O /var/lib/cobbler/snippets/openstack_module_blacklist
This cobbler snippet uses cloud-init to set up the LVM/kexec
environment and configures TCP syslogging to the installation
server/Jenkins slave::
wget https://raw.github.com/openstack/openstack-ci-puppet/master/modules/orchestra/files/openstack_cloud_init \
-O /var/lib/cobbler/snippets/openstack_cloud_init
This snippet holds the mysql root password that will be configured at
install time. It's currently a static string, but you could
dynamically write this file, or simply replace it with something more
secure::
wget https://raw.github.com/openstack/openstack-ci-puppet/master/modules/orchestra/files/openstack_mysql_password \
-O /var/lib/cobbler/snippets/openstack_mysql_password
This preseed file manages the OS install on the test nodes. It
includes the snippets installed above::
wget https://raw.github.com/openstack/openstack-ci-puppet/master/modules/orchestra/files/openstack-test.preseed \
-O /var/lib/cobbler/kickstarts/openstack-test.preseed
The following sudoers configuration is needed to allow Jenkins to
control cobbler, remove syslog files from the test hosts before
starting new tests, and restart rsyslog::
wget https://raw.github.com/openstack/openstack-ci-puppet/master/modules/orchestra/files/orchestra-jenkins-sudoers -O /etc/sudoers.d/orchestra-jenkins
Replace the Orchestra rsyslog config file with a simpler one that logs
all information from remote hosts in one file per host::
wget https://raw.github.com/openstack/openstack-ci-puppet/master/modules/orchestra/files/99-orchestra.conf -O /etc/rsyslog.d/99-orchestra.conf
Make sure the syslog directories exist and restart rsyslog::
mkdir -p /var/log/orchestra/rsyslog/
chown -R syslog.syslog /var/log/orchestra/
restart rsyslog
Add an "OpenStack Test" system profile to cobbler that uses the
preseed file above::
cobbler profile add \
--name=natty-x86_64-ostest \
--parent=natty-x86_64 \
--kickstart=/var/lib/cobbler/kickstarts/openstack-test.preseed \
--kopts="priority=critical locale=en_US"
Add each of your systems to cobbler with a command similar to this
(you may need different kernel options)::
cobbler system add \
--name=baremetal1 \
--hostname=baremetal1 \
--profile=natty-x86_64-ostest \
--mac=00:11:22:33:44:55 \
--power-type=ipmitool \
--power-user=IPMI_USERNAME \
--power-pass=IPMI_PASS \
--power-address=IPMI_IP_ADDR \
--ip-address=SYSTEM_IP_ADDRESS \
--subnet=SYSTEM_SUBNET \
--kopts="netcfg/choose_interface=auto netcfg/dhcp_timeout=60 auto=true priority=critical"
When complete, have cobbler write out its configuration files::
cobbler sync
Set Up Jenkins Jobs
"""""""""""""""""""
We have Jenkins jobs to handle all of the tasks after the initial
Orchestra configuration so that we can easily run them at any time.
This includes the OS installation on the test nodes, even though we
don't run that often because the state is preserved in an LVM
snapshot, we may want to change the configuration used and make a new
snapshot. In that case we just need to trigger the Jenkins job again.
The Jenkins job that kicks off the operating system installation calls
the "baremetal-os-install.sh" script from the openstack-ci repo:
https://github.com/openstack/openstack-ci/blob/master/slave_scripts/baremetal-os-install.sh
That script instructs cobbler to install the OS on each of the test
nodes.
To speed up the devstack installation and avoid excessive traffic to
the pypi server, we build a PIP package cache on the installation
server. That is also an infrequent task that we configure as a
jenkins job. That calls:
https://github.com/openstack/openstack-ci/blob/master/slave_scripts/update-pip-cache.sh
That builds a PIP package cache that the test script later copies to
the test servers for use by devstack.
Run those two jobs, and once complete, the test nodes are ready to go.
This is the end of the operating system installation, and the system
is currently in the pristine state that will be used by the test
procedure (which is stored in the LVM volume "orig_root").
.. _rax_openstack_install:
OpenStack Installation
~~~~~~~~~~~~~~~~~~~~~~
When the deployment and integration test job runs, it does the
following, each time starting from the pristine state arrived at the
end of the previous section.
Reset the Test Nodes
""""""""""""""""""""
The Jenkins deployment and test job first runs the deployment script:
https://github.com/openstack/openstack-ci/blob/master/slave_scripts/baremetal-deploy.sh
Which invokes the following script on each host to reset it to the
pristine state:
https://github.com/openstack/openstack-ci/blob/master/slave_scripts/lvm-kexec-reset.sh
Because kexec is in use, resetting the environment and rebooting into
the pristine state takes only about 3 seconds.
The deployment script then removes the syslog files from the previous
run and restarts rsyslog to re-open them. Once the first test host
finishes booting and brings up its network, OpenStack installation
starts.
Run devstack on the Test Nodes
""""""""""""""""""""""""""""""
Devstack's build_bm_multi script is run, which invokes devstack on
each of the test nodes. First on the "head" node which runs all of
the OpenStack services for the remaining "compute" nodes.
Run Test Suite
""""""""""""""
Once devstack is complete, the test suite is run. All logs from the
test nodes should be sent via syslog to the Jenkins slave, and at the
end of the test, the logs are archived with the Job for developers to
inspect in case of problems.
Cluster Configuration
---------------------
Here are the configuration parameters of the CI team's test cluster.
The cluster is currently divided into three mini-clusters so that
independent Jenkins jobs can run in parallel on the different
clusters.
VLANs
~~~~~
+----+--------------------------------+
|VLAN| Description |
+====+================================+
|90 | Native VLAN |
+----+--------------------------------+
|91 | Internal cluster communication |
| | network: 192.168.91.0/24 |
+----+--------------------------------+
|92 | Public Internet (fake) |
| | network: 192.168.92.0/24 |
+----+--------------------------------+
Servers
~~~~~~~
The servers are located on the Rackspace network, only accessible via
VPN.
+-----------+--------------+---------------+
| Server | Primary IP | Management IP |
+===========+==============+===============+
|deploy-rax | 10.14.247.36 | 10.14.247.46 |
+-----------+--------------+---------------+
|baremetal1 | 10.14.247.37 | 10.14.247.47 |
+-----------+--------------+---------------+
|baremetal2 | 10.14.247.38 | 10.14.247.48 |
+-----------+--------------+---------------+
|baremetal3 | 10.14.247.39 | 10.14.247.49 |
+-----------+--------------+---------------+
|baremetal4 | 10.14.247.40 | 10.14.247.50 |
+-----------+--------------+---------------+
|baremetal5 | 10.14.247.41 | 10.14.247.51 |
+-----------+--------------+---------------+
|baremetal6 | 10.14.247.42 | 10.14.247.52 |
+-----------+--------------+---------------+
|baremetal7 | 10.14.247.43 | 10.14.247.53 |
+-----------+--------------+---------------+
|baremetal8 | 10.14.247.44 | 10.14.247.54 |
+-----------+--------------+---------------+
|baremetal9 | 10.14.247.45 | 10.14.247.55 |
+-----------+--------------+---------------+
deploy-rax
The deployment server and Jenkins slave. It deploys the servers
using Orchestra and Devstack, and runs the test framework. It
should not run any OpenStack components, but we can install
libraries or anything else needed to run tests.
baremetal1, baremetal4, baremetal7
Configured as "head" nodes to run nova, mysql, and glance. Each one
is the head node of a three node cluster including the two compute
nodes following it
baremetal2-3, baremtal5-6, baremetal8-9
Configured as compute nodes for each of the three mini-clusters.

View File

@ -7,17 +7,17 @@ Overview
In order to make the process of managing hundreds of Jenkins Jobs easier a In order to make the process of managing hundreds of Jenkins Jobs easier a
Python based utility was designed to take YAML based configurations and convert Python based utility was designed to take YAML based configurations and convert
those into jobs that are injected into Jenkins. The source for this utility can those into jobs that are injected into Jenkins. The source for this utility can
be found on `github <https://github.com/openstack-ci/jenkins-job-builder>`_ and be found on `github <https://github.com/openstack-infra/jenkins-job-builder>`_ and
it comes with its own it comes with its own
`documentation <http://ci.openstack.org/jenkins-job-builder/>`_. `documentation <http://ci.openstack.org/jenkins-job-builder/>`_.
The documentation below describes how the OpenStack CI team uses the Jenkins The documentation below describes how the OpenStack Infrastructure team uses
Job Builder in their environment. the Jenkins Job Builder in their environment.
Configuring Projects Configuring Projects
-------------------- --------------------
The YAML scripts to make this work are stored in the ``openstack-ci-puppet`` The YAML scripts to make this work are stored in the ``openstack-infra/config``
repository in the repository in the
``modules/openstack_project/files/jenkins_job_builder/config/`` directory. ``modules/openstack_project/files/jenkins_job_builder/config/`` directory.
In this directory you can have four different types of yaml config files: In this directory you can have four different types of yaml config files:
@ -49,8 +49,8 @@ Example defaults config:
<p>If you would like to make changes to this job, please see: <p>If you would like to make changes to this job, please see:
<a href="https://github.com/openstack/openstack-ci-puppet"> <a href="https://github.com/openstack-infra/config">
https://github.com/openstack/openstack-ci-puppet https://github.com/openstack-infra/config
</a> </a>
In modules/openstack_project/files/jenkins_jobs In modules/openstack_project/files/jenkins_jobs
@ -252,7 +252,7 @@ The contents of this erb are:
url=<%= url %> url=<%= url %>
The values for user and url are hardcoded in the Puppet repo in The values for user and url are hardcoded in the Puppet repo in
`modules/openstack_project/manifests/jenkins.pp <https://github.com/openstack/openstack-ci-puppet/blob/master/modules/openstack_project/manifests/jenkins.pp>`_, `modules/openstack_project/manifests/jenkins.pp <https://github.com/openstack-infra/config/blob/master/modules/openstack_project/manifests/jenkins.pp>`_,
but the password is stored in hiera. Make sure you have it defined as but the password is stored in hiera. Make sure you have it defined as
``jenkins_jobs_password`` in the hiera DB. ``jenkins_jobs_password`` in the hiera DB.

View File

@ -4,7 +4,7 @@ Meetbot
Overview Overview
-------- --------
The OpenStack CI team run a slightly modified The OpenStack Infrastructure team run a slightly modified
`Meetbot <http://wiki.debian.org/MeetBot>`_ to log IRC channel activity and `Meetbot <http://wiki.debian.org/MeetBot>`_ to log IRC channel activity and
meeting minutes. Meetbot is a plugin for meeting minutes. Meetbot is a plugin for
`Supybot <http://sourceforge.net/projects/supybot/>`_ which adds meeting `Supybot <http://sourceforge.net/projects/supybot/>`_ which adds meeting
@ -21,8 +21,8 @@ get you going, but there are other goodies in ``doc/``.
Once you have Supybot installed you will need to configure a bot. The Once you have Supybot installed you will need to configure a bot. The
``supybot-wizard`` command can get you started with a basic config, or you can ``supybot-wizard`` command can get you started with a basic config, or you can
have Puppet do the heavy lifting. The OpenStack CI Meetbot Puppet module creates have Puppet do the heavy lifting. The OpenStack Infrastructure Meetbot Puppet
a configuration and documentation for that module is at module creates a configuration and documentation for that module is at
:ref:`Meetbot_Puppet_Module`. :ref:`Meetbot_Puppet_Module`.
One important config setting is ``supybot.reply.whenAddressedBy.chars``, which One important config setting is ``supybot.reply.whenAddressedBy.chars``, which
@ -33,20 +33,21 @@ if you don't want a prefix character).
Meetbot Meetbot
------- -------
The OpenStack CI Meetbot fork can be found at The OpenStack Infrastructure Meetbot fork can be found at
https://github.com/openstack-ci/meetbot. Manual installation of the Meetbot https://github.com/openstack-infra/meetbot. Manual installation of the Meetbot
plugin is straightforward and documented in that repository's README. plugin is straightforward and documented in that repository's README.
OpenStack CI installs and configures Meetbot through Puppet. Documentation for OpenStack Infrastructure installs and configures Meetbot through Puppet.
the Puppet module that does that can be found at :ref:`Meetbot_Puppet_Module`. Documentation for the Puppet module that does that can be found at
:ref:`Meetbot_Puppet_Module`.
Voting Voting
^^^^^^ ^^^^^^
The OpenStack CI Meetbot fork adds simple voting features. After a meeting has The OpenStack Infrastructure Meetbot fork adds simple voting features. After
been started a meeting chair can begin a voting block with the ``#startvote`` a meeting has been started a meeting chair can begin a voting block with the
command. The command takes two arguments, a question posed to voters (ending ``#startvote`` command. The command takes two arguments, a question posed to
with a ``?``), and the valid voting options. If the second argument is missing voters (ending with a ``?``), and the valid voting options. If the second
the default options are "Yes" and "No". For example: argument is missing the default options are "Yes" and "No". For example:
``#startvote Should we vote now? Yes, No, Maybe`` ``#startvote Should we vote now? Yes, No, Maybe``

View File

@ -20,12 +20,12 @@ ship the data to the clients. To install this:
sudo apt-get install puppet puppetmaster-passenger sudo apt-get install puppet puppetmaster-passenger
Files for puppet master are stored in a git repo clone at Files for puppet master are stored in a git repo clone at
``/opt/openstack-ci-puppet``. We have a ``root`` cron job that ``/opt/openstack-infra/config``. We have a ``root`` cron job that
automatically populates these from our puppet git repository as follows: automatically populates these from our puppet git repository as follows:
.. code-block:: bash .. code-block:: bash
\*/15 * * * * sleep $((RANDOM\%600)) && cd /opt/openstack-ci-puppet && /usr/bin/git pull -q \*/15 * * * * sleep $((RANDOM\%600)) && cd /opt/openstack-infra/config && /usr/bin/git pull -q
The ``/etc/puppet/puppet.conf`` file then needs updating to point to the The ``/etc/puppet/puppet.conf`` file then needs updating to point to the
manifest and modules as follows: manifest and modules as follows:
@ -37,8 +37,8 @@ manifest and modules as follows:
# and can safely be removed if webrick is used. # and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY ssl_client_verify_header = SSL_CLIENT_VERIFY
manifestdir=/opt/openstack-ci-puppet/manifests manifestdir=/opt/openstack-infra/config/manifests
modulepath=/opt/openstack-ci-puppet/modules modulepath=/opt/openstack-infra/config/modules
manifest=$manifestdir/site.pp manifest=$manifestdir/site.pp
Hiera Hiera
@ -72,9 +72,9 @@ which tells is where to find subsequent configuration files.
:datadir: '/etc/puppet/hieradata/%{environment}' :datadir: '/etc/puppet/hieradata/%{environment}'
This setup supports multiple configuration. The two sets of environments This setup supports multiple configuration. The two sets of environments
that OpenStack CI users are ``production`` and ``development``. ``production`` that OpenStack Infrastructure uses are ``production`` and ``development``.
is the default is and the environment used when nothing else is specified. ``production`` is the default is and the environment used when nothing else
Then the configuration needs to be placed into common.yaml in is specified. Then the configuration needs to be placed into common.yaml in
``/etc/puppet/hieradata/production`` and ``/etc/puppet/hieradata/development``. ``/etc/puppet/hieradata/production`` and ``/etc/puppet/hieradata/development``.
The values are simple key-value pairs in yaml format. The values are simple key-value pairs in yaml format.

View File

@ -6,13 +6,13 @@ Overview
Much of the OpenStack project infrastructure is deployed and managed using Much of the OpenStack project infrastructure is deployed and managed using
puppet. puppet.
The OpenStack CI team manage a number of custom puppet modules outlined in this The OpenStack Infrastructure team manages a number of custom puppet modules
document. outlined in this document.
Doc Server Doc Server
---------- ----------
The doc_server module configures nginx [3]_ to serve the documentation for The doc_server module configures apache to serve the documentation for
several specified OpenStack projects. At the moment to add a site to this several specified OpenStack projects. At the moment to add a site to this
you need to edit ``modules/doc_server/manifests/init.pp`` and add a line as you need to edit ``modules/doc_server/manifests/init.pp`` and add a line as
follows: follows:
@ -31,13 +31,13 @@ Lodgeit
The lodgeit module installs and configures lodgeit [1]_ on required servers to The lodgeit module installs and configures lodgeit [1]_ on required servers to
be used as paste installations. For OpenStack we use be used as paste installations. For OpenStack we use
`a fork <https://github.com/openstack-ci/lodgeit>`_ of this which is based on `a fork <https://github.com/openstack-infra/lodgeit>`_ of this which is based on
one with bugfixes maintained by one with bugfixes maintained by
`dcolish <https://bitbucket.org/dcolish/lodgeit-main>`_ but adds back missing `dcolish <https://bitbucket.org/dcolish/lodgeit-main>`_ but adds back missing
anti-spam features required by Openstack. anti-spam features required by Openstack.
Puppet will configure lodgeit to use drizzle [2]_ as a database backend, Puppet will configure lodgeit to use drizzle [2]_ as a database backend,
nginx [3]_ as a front-end proxy and upstart scripts to run the lodgeit apache as a front-end proxy and upstart scripts to run the lodgeit
instances. It will store and maintain local branch of the the mercurial instances. It will store and maintain local branch of the the mercurial
repository for lodgeit in ``/tmp/lodgeit-main``. repository for lodgeit in ``/tmp/lodgeit-main``.
@ -92,7 +92,7 @@ The planet module installs Planet Venus [4]_ along with required dependancies
on a server. It also configures specified planets based on options given. on a server. It also configures specified planets based on options given.
Planet Venus works by having a cron job which creates static files. In this Planet Venus works by having a cron job which creates static files. In this
module the static files are served using nginx [3]_. module the static files are served using apache.
To use this module you need to add something similar to the following into the To use this module you need to add something similar to the following into the
main ``site.pp`` manifest: main ``site.pp`` manifest:
@ -125,9 +125,10 @@ Meetbot
The meetbot module installs and configures meetbot [5]_ on a server. The The meetbot module installs and configures meetbot [5]_ on a server. The
meetbot version installed by this module is pulled from the meetbot version installed by this module is pulled from the
`Openstack CI fork <https://github.com/openstack-ci/meetbot/>`_ of the project. `OpenStack Infrastructure fork <https://github.com/openstack-infra/meetbot/>`_
of the project.
It also configures nginix [3]_ to be used for accessing the public IRC logs of It also configures apache to be used for accessing the public IRC logs of
the meetings. the meetings.
To use this module simply add a section to the site manifest as follows: To use this module simply add a section to the site manifest as follows:
@ -271,7 +272,7 @@ in the ``JS`` box enter
Etherpad Lite Etherpad Lite
------------- -------------
This Puppet module installs Etherpad Lite [6]_ and its dependencies (including This Puppet module installs Etherpad Lite [3]_ and its dependencies (including
node.js). This Puppet module also configures Etherpad Lite to be started at node.js). This Puppet module also configures Etherpad Lite to be started at
boot with Nginx running in front of it as a reverse proxy and MySQL running as boot with Nginx running in front of it as a reverse proxy and MySQL running as
the database backend. the database backend.
@ -381,7 +382,6 @@ the ``etherpad-lite`` DB daily and keep a rotation of 30 days of backups.
.. rubric:: Footnotes .. rubric:: Footnotes
.. [1] `Lodgeit homepage <http://www.pocoo.org/projects/lodgeit/>`_ .. [1] `Lodgeit homepage <http://www.pocoo.org/projects/lodgeit/>`_
.. [2] `Drizzle homepage <http://www.drizzle.org/>`_ .. [2] `Drizzle homepage <http://www.drizzle.org/>`_
.. [3] `nginx homepage <http://nginx.org/en/>`_ .. [3] `Etherpad Lite homepage <https://github.com/Pita/etherpad-lite>`_
.. [4] `Planet Venus homepage <http://intertwingly.net/code/venus/docs/index.html>`_ .. [4] `Planet Venus homepage <http://intertwingly.net/code/venus/docs/index.html>`_
.. [5] `Meetbot homepage <http://wiki.debian.org/MeetBot>`_ .. [5] `Meetbot homepage <http://wiki.debian.org/MeetBot>`_
.. [6] `Etherpad Lite homepage <https://github.com/Pita/etherpad-lite>`_

View File

@ -40,13 +40,13 @@ Create a new StackForge Project with Puppet
=========================================== ===========================================
OpenStack uses Puppet and a management script to create Gerrit projects OpenStack uses Puppet and a management script to create Gerrit projects
with simple changes to the openstack-ci-puppet repository. To start make with simple changes to the openstack-infra/config repository. To start make
sure you have cloned the openstack-ci-puppet repository sure you have cloned the openstack-infra/config repository
``git clone https://github.com/openstack/openstack-ci-puppet``. ``git clone https://github.com/openstack-infra/config``.
First you need to add your StackForge project to the master project First you need to add your StackForge project to the master project
list. Edit list. Edit
``openstack-ci-puppet/modules/openstack_project/templates/review.projects.yaml.erb`` ``openstack-infra/config/modules/openstack_project/templates/review.projects.yaml.erb``
and add a new section for your project at the end of the file. It should and add a new section for your project at the end of the file. It should
look something like:: look something like::
@ -62,7 +62,7 @@ are optional, but you must have an acl_config. Note that the current
tools assume that the upstream repo will have a master branch. tools assume that the upstream repo will have a master branch.
The next step is to add a Gerrit ACL config file. Edit The next step is to add a Gerrit ACL config file. Edit
``openstack-ci-puppet/modules/openstack_project/files/gerrit/acls/stackforge/project-name.config`` ``openstack-infra/config/modules/openstack_project/files/gerrit/acls/stackforge/project-name.config``
and make it look like:: and make it look like::
[access "refs/heads/*"] [access "refs/heads/*"]
@ -85,12 +85,12 @@ these additional tools.
Add Jenkins Jobs to StackForge Projects Add Jenkins Jobs to StackForge Projects
======================================= =======================================
In the same openstack-ci-puppet repository (and in the same change if In the same openstack-infra/config repository (and in the same change if
you like) we need to edit two additional files to setup Jenkins jobs you like) we need to edit two additional files to setup Jenkins jobs
and Zuul for the new StackForge project. and Zuul for the new StackForge project.
Edit Edit
``openstack-ci-puppet/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml`` ``openstack-infra/config/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml``
and add a new section for your project at the end of the file. It should and add a new section for your project at the end of the file. It should
look something like:: look something like::
@ -124,7 +124,7 @@ python 2.6 and 2.7 unittests, and coverage) your entry in
Now that we have a Jenkins job we need to tell Zuul to run that job when Now that we have a Jenkins job we need to tell Zuul to run that job when
appropriate. Edit appropriate. Edit
``openstack-ci-puppet/modules/openstack_project/files/zuul/layout.yaml`` ``openstack-infra/config/modules/openstack_project/files/zuul/layout.yaml``
and add a new section for your project at the end of the file. It should and add a new section for your project at the end of the file. It should
look something like:: look something like::
@ -160,7 +160,7 @@ look like this instead::
publish: publish:
- project-name-docs - project-name-docs
That concludes the bare minimum openstack-ci-puppet changes necessary to That concludes the bare minimum openstack-infra/config changes necessary to
add a project to StackForge. You can commit these changes and submit add a project to StackForge. You can commit these changes and submit
them to review.openstack.org at this point, or you can wait a little them to review.openstack.org at this point, or you can wait a little
longer and add your project to GerritBot first. longer and add your project to GerritBot first.
@ -170,7 +170,7 @@ Configure StackForge Project to use GerritBot
To have GerritBot send Gerrit events for your project to a Freenode IRC To have GerritBot send Gerrit events for your project to a Freenode IRC
channel edit channel edit
``openstack-ci-puppet/modules/gerritbot/files/gerritbot_channel_config.yaml``. ``openstack-infra/config/modules/gerritbot/files/gerritbot_channel_config.yaml``.
If you want to configure GerritBot to leave alerts in a channel If you want to configure GerritBot to leave alerts in a channel
GerritBot has always joined just add your project to the project list GerritBot has always joined just add your project to the project list
for that channel:: for that channel::

View File

@ -3,8 +3,8 @@
Infrastructure Systems Infrastructure Systems
###################### ######################
The OpenStack CI team maintains a number of systems that are critical The OpenStack Infrastructure team maintains a number of systems that are
to the operation of the OpenStack project, such as gerrit, jenkins, critical to the operation of the OpenStack project, such as gerrit, jenkins,
mailman, meetbot, etherpad, paste, and others. mailman, meetbot, etherpad, paste, and others.
Additionally the team maintains the project sites on Launchpad and Additionally the team maintains the project sites on Launchpad and
@ -14,8 +14,8 @@ continued and secure operation of the project.
SSH Access SSH Access
********** **********
For any of the systems managed by the CI team, the following practices For any of the systems managed by the OpenStack Infrastructure team, the
must be observed for SSH access: following practices must be observed for SSH access:
* SSH access is only permitted with SSH public/private key * SSH access is only permitted with SSH public/private key
authentication. authentication.
@ -40,9 +40,9 @@ must be observed for SSH access:
the confirmation constraint ('ssh-add -c'). the confirmation constraint ('ssh-add -c').
* The number of SSH keys that are configured to permit access to * The number of SSH keys that are configured to permit access to
OpenStack machines should be kept to a minimum. OpenStack machines should be kept to a minimum.
* OpenStack CI machines must use puppet to centrally manage and * OpenStack Infrastructure machines must use puppet to centrally manage and
configure user accounts, and the SSH authorized_keys files from the configure user accounts, and the SSH authorized_keys files from the
openstack-ci-puppet repository. openstack-infra/config repository.
* SSH keys should be periodically rotated (at least once per year). * SSH keys should be periodically rotated (at least once per year).
During rotation, a new key can be added to puppet for a time, and During rotation, a new key can be added to puppet for a time, and
then the old one removed. Be sure to run puppet on the backup then the old one removed. Be sure to run puppet on the backup
@ -59,7 +59,7 @@ project infrastructure servers should be carried out entirely through
puppet so that anyone can contribute. puppet so that anyone can contribute.
The Git repository with the puppet configuration may be cloned from The Git repository with the puppet configuration may be cloned from
https://github.com/openstack/openstack-ci-puppet and changes submitted https://github.com/openstack-infra/config and changes submitted
with `git-review`. with `git-review`.
In order to ensure that it is easy for both the OpenStack project as In order to ensure that it is easy for both the OpenStack project as

View File

@ -84,12 +84,14 @@ To request a sevice acconut for your system you first need to create a new
account in LaunchPad. This account needs to be joined to the account in LaunchPad. This account needs to be joined to the
`OpenStack Team <https://launchpad.net/~openstack>`_ or one of the related teams `OpenStack Team <https://launchpad.net/~openstack>`_ or one of the related teams
so that Gerrit can pick it up. You can then contact the so that Gerrit can pick it up. You can then contact the
OpenStack CI Admins via `email <mailto:openstack-ci-admins@lists.launchpad.net>`_ OpenStack Infrastructure Team via
`email <mailto:openstack-infra@lists.openstack.org>`_
or the #openstack-infra IRC channel. We will set things up on Gerrit to or the #openstack-infra IRC channel. We will set things up on Gerrit to
receive your system's votes. receive your system's votes.
Feel free to contact the CI team to arrange setting up a dedicated user so your Feel free to contact the Infrastructure team to arrange setting up a dedicated
system can post reviews up using a system name rather than your user name. user so your system can post reviews up using a system name rather than your
user name.
The Jenkins Gerrit Trigger Plugin Way The Jenkins Gerrit Trigger Plugin Way
------------------------------------- -------------------------------------

View File

@ -14,7 +14,7 @@ dpkg -i $puppet_deb
apt-get update apt-get update
apt-get install -y puppet git rubygems apt-get install -y puppet git rubygems
git clone https://github.com/openstack/openstack-ci-puppet git clone https://github.com/openstack-infra/config
bash openstack-ci-puppet/install_modules.sh bash config/install_modules.sh
puppet apply --modulepath=`pwd`/openstack-ci-puppet/modules:/etc/puppet/modules -e 'node default {class { "openstack_project::bare_slave": install_users => false }}' puppet apply --modulepath=`pwd`/config/modules:/etc/puppet/modules -e 'node default {class { "openstack_project::bare_slave": install_users => false }}'

View File

@ -1,5 +1,5 @@
# This file is managed by puppet. # This file is managed by puppet.
# https://github.com/openstack/openstack-ci-puppet # https://github.com/openstack-infra/config
[gerrit] [gerrit]
basePath = git basePath = git

View File

@ -1,5 +1,5 @@
# This file is managed by puppet. # This file is managed by puppet.
# https://github.com/openstack/openstack-ci-puppet # https://github.com/openstack-infra/config
<% if replicate_github -%> <% if replicate_github -%>
[remote "github"] [remote "github"]

View File

@ -4,22 +4,21 @@ openstack-infra:
- change-merged - change-merged
- x-vrif-minus-2 - x-vrif-minus-2
projects: projects:
- openstack/openstack-ci-puppet - openstack-infra/config
- openstack-ci/config - openstack-infra/devstack-gate
- openstack-ci/devstack-gate - openstack-infra/gerrit
- openstack-ci/gerrit - openstack-infra/gerrit-trigger-plugin
- openstack-ci/gerrit-trigger-plugin - openstack-infra/gerrit-verification-status-plugin
- openstack-ci/gerrit-verification-status-plugin - openstack-infra/gerritbot
- openstack-ci/gerritbot - openstack-infra/gerritlib
- openstack-ci/gerritlib - openstack-infra/git-review
- openstack-ci/git-review - openstack-infra/jeepyb
- openstack-ci/jeepyb - openstack-infra/jenkins-job-builder
- openstack-ci/jenkins-job-builder - openstack-infra/lodgeit
- openstack-ci/lodgeit - openstack-infra/meetbot
- openstack-ci/meetbot - openstack-infra/nose-html-output
- openstack-ci/nose-html-output - openstack-infra/pypi-mirror
- openstack-ci/pypi-mirror - openstack-infra/zuul
- openstack-ci/zuul
branches: branches:
- master - master

View File

@ -1,7 +1,7 @@
# == Class: jeepyb # == Class: jeepyb
# #
class jeepyb ( class jeepyb (
$git_source_repo = 'https://github.com/openstack-ci/jeepyb.git', $git_source_repo = 'https://github.com/openstack-infra/jeepyb.git',
) { ) {
include mysql::python include mysql::python

View File

@ -24,7 +24,7 @@ class jenkins::job_builder (
ensure => latest, ensure => latest,
provider => git, provider => git,
revision => 'master', revision => 'master',
source => 'https://github.com/openstack-ci/jenkins-job-builder.git', source => 'https://github.com/openstack-infra/jenkins-job-builder.git',
} }
exec { 'install_jenkins_job_builder': exec { 'install_jenkins_job_builder':

View File

@ -221,22 +221,22 @@ class Sync(object):
projects = [ projects = [
'heat-api/heat', 'heat-api/heat',
'heat-api/python-heatclient', 'heat-api/python-heatclient',
'openstack-ci/devstack-gate', 'openstack-infra/devstack-gate',
'openstack-ci/gerrit', 'openstack-infra/gerrit',
'openstack-ci/gerrit-verification-status-plugin', 'openstack-infra/gerrit-verification-status-plugin',
'openstack-ci/gerritbot', 'openstack-infra/gerritbot',
'openstack-ci/gerritlib', 'openstack-infra/gerritlib',
'openstack-ci/git-review', 'openstack-infra/git-review',
'openstack-ci/jeepyb', 'openstack-infra/jeepyb',
'openstack-ci/jenkins-job-builder', 'openstack-infra/jenkins-job-builder',
'openstack-ci/lodgeit', 'openstack-infra/lodgeit',
'openstack-ci/meetbot', 'openstack-infra/meetbot',
'openstack-ci/nose-html-output', 'openstack-infra/nose-html-output',
'openstack-ci/puppet-apparmor', 'openstack-infra/puppet-apparmor',
'openstack-ci/puppet-dashboard', 'openstack-infra/puppet-dashboard',
'openstack-ci/puppet-vcsrepo', 'openstack-infra/puppet-vcsrepo',
'openstack-ci/pypi-mirror', 'openstack-infra/pypi-mirror',
'openstack-ci/zuul', 'openstack-infra/zuul',
'openstack-dev/devstack', 'openstack-dev/devstack',
'openstack-dev/openstack-nose', 'openstack-dev/openstack-nose',
'openstack-dev/openstack-qa', 'openstack-dev/openstack-qa',
@ -256,8 +256,7 @@ class Sync(object):
'openstack/nova', 'openstack/nova',
'openstack/object-api', 'openstack/object-api',
'openstack/openstack-chef', 'openstack/openstack-chef',
'openstack/openstack-ci', 'openstack-infra/config',
'openstack/openstack-ci-puppet',
'openstack/openstack-manuals', 'openstack/openstack-manuals',
'openstack/openstack-planet', 'openstack/openstack-planet',
'openstack/openstack-puppet', 'openstack/openstack-puppet',

View File

@ -47,7 +47,7 @@ class lodgeit {
vcsrepo { '/tmp/lodgeit-main': vcsrepo { '/tmp/lodgeit-main':
ensure => latest, ensure => latest,
provider => git, provider => git,
source => 'https://github.com/openstack-ci/lodgeit.git', source => 'https://github.com/openstack-infra/lodgeit.git',
} }
# create initial git DB backup location # create initial git DB backup location

View File

@ -4,7 +4,7 @@ class meetbot {
vcsrepo { '/opt/meetbot': vcsrepo { '/opt/meetbot':
ensure => latest, ensure => latest,
provider => git, provider => git,
source => 'https://github.com/openstack-ci/meetbot.git', source => 'https://github.com/openstack-infra/meetbot.git',
} }
user { 'meetbot': user { 'meetbot':

View File

@ -1 +1 @@
This file stores config files specific to the OpenStack CI project. This file stores config files specific to the OpenStack Infrastructure project.

View File

@ -1,10 +0,0 @@
[access "refs/heads/*"]
label-Code-Review = -2..+2 group openstack-ci-admins
label-Approved = +0..+1 group openstack-ci-admins
[project]
state = active
[receive]
requireChangeId = true
requireContributorAgreement = true
[submit]
mergeContent = true

View File

@ -7,8 +7,8 @@
<p>If you would like to make changes to this job, please see: <p>If you would like to make changes to this job, please see:
<a href="https://github.com/openstack/openstack-ci-puppet"> <a href="https://github.com/openstack-infra/config">
https://github.com/openstack/openstack-ci-puppet https://github.com/openstack-infra/config
</a> </a>
In modules/openstack_project/files/jenkins_job_builder/config In modules/openstack_project/files/jenkins_job_builder/config

View File

@ -109,7 +109,7 @@
- shell: | - shell: |
#!/bin/bash -xe #!/bin/bash -xe
if [[ ! -e devstack-gate ]]; then if [[ ! -e devstack-gate ]]; then
git clone http://zuul.openstack.org/p/openstack-ci/devstack-gate git clone http://zuul.openstack.org/p/openstack-infra/devstack-gate
else else
cd devstack-gate cd devstack-gate
git remote update git remote update

View File

@ -1,5 +1,5 @@
- job: - job:
name: gate-ci-puppet-syntax name: gate-openstack-infra-config-syntax
node: precise node: precise
triggers: triggers:
@ -15,7 +15,7 @@
- job: - job:
name: gate-ci-puppet-lint name: gate-openstack-infra-config-lint
node: precise node: precise
triggers: triggers:
@ -30,7 +30,7 @@
- job: - job:
name: ci-puppet-compare-xml name: openstack-infra-config-compare-xml
node: precise node: precise
triggers: triggers:

View File

@ -45,7 +45,7 @@
- project: - project:
name: devstack-gate name: devstack-gate
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -73,7 +73,7 @@
- project: - project:
name: gerrit-verification-status-plugin name: gerrit-verification-status-plugin
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -82,7 +82,7 @@
- project: - project:
name: gerrit name: gerrit
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -91,7 +91,7 @@
- project: - project:
name: gerritbot name: gerritbot
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
doc-publisher-site: ci.openstack.org doc-publisher-site: ci.openstack.org
tarball-publisher-site: 173.203.107.207 tarball-publisher-site: 173.203.107.207
@ -107,7 +107,7 @@
- project: - project:
name: gerritlib name: gerritlib
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
doc-publisher-site: ci.openstack.org doc-publisher-site: ci.openstack.org
tarball-publisher-site: nova.openstack.org tarball-publisher-site: nova.openstack.org
@ -122,7 +122,7 @@
- project: - project:
name: jeepyb name: jeepyb
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
doc-publisher-site: ci.openstack.org doc-publisher-site: ci.openstack.org
tarball-publisher-site: nova.openstack.org tarball-publisher-site: nova.openstack.org
@ -137,7 +137,7 @@
- project: - project:
name: git-review name: git-review
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
- gate-{name}-merge - gate-{name}-merge
@ -221,7 +221,7 @@
- project: - project:
name: jenkins-job-builder name: jenkins-job-builder
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
tarball-publisher-site: nova.openstack.org tarball-publisher-site: nova.openstack.org
@ -252,7 +252,7 @@
- project: - project:
name: lodgeit name: lodgeit
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -261,7 +261,7 @@
- project: - project:
name: meetbot name: meetbot
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -302,7 +302,7 @@
- project: - project:
name: nose-html-output name: nose-html-output
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
doc-publisher-site: ci.openstack.org doc-publisher-site: ci.openstack.org
tarball-publisher-site: 173.203.107.207 tarball-publisher-site: 173.203.107.207
@ -332,8 +332,8 @@
- project: - project:
name: ci-puppet name: config
github-org: openstack github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -419,7 +419,7 @@
- project: - project:
name: puppet-apparmor name: puppet-apparmor
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -428,7 +428,7 @@
- project: - project:
name: puppet-dashboard name: puppet-dashboard
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -437,7 +437,7 @@
- project: - project:
name: puppet-vcsrepo name: puppet-vcsrepo
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -446,7 +446,7 @@
- project: - project:
name: pypi-mirror name: pypi-mirror
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -692,7 +692,7 @@
- project: - project:
name: tempest name: tempest
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
jobs: jobs:
@ -720,7 +720,7 @@
- project: - project:
name: zuul name: zuul
github-org: openstack-ci github-org: openstack-infra
node: precise node: precise
tarball-publisher-site: nova.openstack.org tarball-publisher-site: nova.openstack.org

View File

@ -72,7 +72,7 @@ jobs:
voting: false voting: false
failure-message: XML output has changed. failure-message: XML output has changed.
success-message: XML output is unchanged. success-message: XML output is unchanged.
- name: ci-puppet-compare-xml - name: openstack-infra-config-compare-xml
voting: false voting: false
failure-message: Jenkins XML output has changed. failure-message: Jenkins XML output has changed.
success-message: Jenkins XML output is unchanged. success-message: Jenkins XML output is unchanged.
@ -83,7 +83,7 @@ jobs:
projects: projects:
- name: openstack-ci/zuul - name: openstack-infra/zuul
check: check:
- gate-zuul-merge: - gate-zuul-merge:
- gate-zuul-docs - gate-zuul-docs
@ -107,7 +107,7 @@ projects:
- zuul-docs - zuul-docs
- zuul-pypi-sdist - zuul-pypi-sdist
- name: openstack-ci/nose-html-output - name: openstack-infra/nose-html-output
check: check:
- gate-nose-html-output-merge - gate-nose-html-output-merge
gate: gate:
@ -117,7 +117,7 @@ projects:
publish: publish:
- nose-html-output-pypi-sdist - nose-html-output-pypi-sdist
- name: openstack-ci/pypi-mirror - name: openstack-infra/pypi-mirror
check: check:
- gate-pypi-mirror-merge: - gate-pypi-mirror-merge:
- gate-pypi-mirror-pyflakes - gate-pypi-mirror-pyflakes
@ -125,7 +125,7 @@ projects:
- gate-pypi-mirror-merge: - gate-pypi-mirror-merge:
- gate-pypi-mirror-pyflakes - gate-pypi-mirror-pyflakes
- name: openstack-ci/gerrit - name: openstack-infra/gerrit
check: check:
- gate-gerrit-merge: - gate-gerrit-merge:
- check-gerrit-unittests - check-gerrit-unittests
@ -135,7 +135,7 @@ projects:
post: post:
- gerrit-package - gerrit-package
- name: openstack-ci/gerritbot - name: openstack-infra/gerritbot
check: check:
- gate-gerritbot-merge: - gate-gerritbot-merge:
- gate-gerritbot-pep8 - gate-gerritbot-pep8
@ -149,7 +149,7 @@ projects:
publish: publish:
- gerritbot-pypi-sdist - gerritbot-pypi-sdist
- name: openstack-ci/gerritlib - name: openstack-infra/gerritlib
check: check:
- gate-gerritlib-merge: - gate-gerritlib-merge:
- gate-gerritlib-pep8 - gate-gerritlib-pep8
@ -161,7 +161,7 @@ projects:
publish: publish:
- gerritlib-pypi-sdist - gerritlib-pypi-sdist
- name: openstack-ci/jeepyb - name: openstack-infra/jeepyb
check: check:
- gate-jeepyb-merge: - gate-jeepyb-merge:
- gate-jeepyb-pep8 - gate-jeepyb-pep8
@ -173,13 +173,13 @@ projects:
publish: publish:
- jeepyb-pypi-sdist - jeepyb-pypi-sdist
- name: openstack-ci/gerrit-verification-status-plugin - name: openstack-infra/gerrit-verification-status-plugin
check: check:
- gate-gerrit-verification-status-plugin-merge - gate-gerrit-verification-status-plugin-merge
gate: gate:
- gate-gerrit-verification-status-plugin-merge - gate-gerrit-verification-status-plugin-merge
- name: openstack-ci/jenkins-job-builder - name: openstack-infra/jenkins-job-builder
check: check:
- gate-jenkins-job-builder-merge - gate-jenkins-job-builder-merge
- gate-jenkins-job-builder-docs - gate-jenkins-job-builder-docs
@ -197,44 +197,44 @@ projects:
publish: publish:
- jenkins-job-builder-pypi-sdist - jenkins-job-builder-pypi-sdist
- name: openstack-ci/lodgeit - name: openstack-infra/lodgeit
check: check:
- gate-lodgeit-merge - gate-lodgeit-merge
gate: gate:
- gate-lodgeit-merge - gate-lodgeit-merge
- name: openstack-ci/meetbot - name: openstack-infra/meetbot
check: check:
- gate-meetbot-merge - gate-meetbot-merge
gate: gate:
- gate-meetbot-merge - gate-meetbot-merge
- name: openstack/openstack-ci-puppet - name: openstack-infra/config
check: check:
- gate-ci-puppet-merge: - gate-openstack-infra-config-merge:
- gate-ci-puppet-syntax - gate-openstack-infra-config-syntax
- gate-ci-puppet-lint - gate-openstack-infra-config-lint
- ci-puppet-compare-xml - openstack-infra-config-compare-xml
gate: gate:
- gate-ci-puppet-merge: - gate-openstack-infra-config-merge:
- gate-ci-puppet-syntax - gate-openstack-infra-config-syntax
- gate-ci-puppet-lint - gate-openstack-infra-config-lint
post: post:
- ci-docs - ci-docs
- name: openstack-ci/puppet-apparmor - name: openstack-infra/puppet-apparmor
check: check:
- gate-puppet-apparmor-merge - gate-puppet-apparmor-merge
gate: gate:
- gate-puppet-apparmor-merge - gate-puppet-apparmor-merge
- name: openstack-ci/puppet-dashboard - name: openstack-infra/puppet-dashboard
check: check:
- gate-puppet-dashboard-merge - gate-puppet-dashboard-merge
gate: gate:
- gate-puppet-dashboard-merge - gate-puppet-dashboard-merge
- name: openstack-ci/puppet-vcsrepo - name: openstack-infra/puppet-vcsrepo
check: check:
- gate-puppet-vcsrepo-merge - gate-puppet-vcsrepo-merge
gate: gate:
@ -626,7 +626,7 @@ projects:
- gate-tempest-devstack-vm-quantum - gate-tempest-devstack-vm-quantum
- gate-tempest-devstack-vm-postgres - gate-tempest-devstack-vm-postgres
- name: openstack-ci/devstack-gate - name: openstack-infra/devstack-gate
check: check:
- gate-devstack-gate-merge: - gate-devstack-gate-merge:
- gate-tempest-devstack-vm - gate-tempest-devstack-vm
@ -947,7 +947,7 @@ projects:
publish: publish:
- openstack-qa-docs - openstack-qa-docs
- name: openstack-ci/git-review - name: openstack-infra/git-review
check: check:
- gate-git-review-merge: - gate-git-review-merge:
- gate-git-review-pep8 - gate-git-review-pep8

View File

@ -13,7 +13,7 @@ class openstack_project::puppetmaster (
cron { 'updatepuppetmaster': cron { 'updatepuppetmaster':
user => 'root', user => 'root',
minute => '*/15', minute => '*/15',
command => 'sleep $((RANDOM\%600)) && cd /opt/openstack-ci-puppet/production && /usr/bin/git pull -q && /bin/bash install_modules.sh', command => 'sleep $((RANDOM\%600)) && cd /opt/openstack-infra/config/production && /usr/bin/git pull -q && /bin/bash install_modules.sh',
environment => 'PATH=/var/lib/gems/1.8/bin:/usr/bin:/bin:/usr/sbin:/sbin', environment => 'PATH=/var/lib/gems/1.8/bin:/usr/bin:/bin:/usr/sbin:/sbin',
} }

View File

@ -14,8 +14,8 @@ pluginsync=true
# and can safely be removed if webrick is used. # and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY ssl_client_verify_header = SSL_CLIENT_VERIFY
manifestdir=/opt/openstack-ci-puppet/$environment/manifests manifestdir=/opt/openstack-infra/config/$environment/manifests
modulepath=/opt/openstack-ci-puppet/$environment/modules:/etc/puppet/modules modulepath=/opt/openstack-infra/config/$environment/modules:/etc/puppet/modules
manifest=$manifestdir/site.pp manifest=$manifestdir/site.pp
reports=store, http reports=store, http
reporturl=http://puppet-dashboard.openstack.org:3000/reports/upload reporturl=http://puppet-dashboard.openstack.org:3000/reports/upload

View File

@ -13,42 +13,42 @@
acl_config: /home/gerrit2/acls/openstack/heat.config acl_config: /home/gerrit2/acls/openstack/heat.config
- project: openstack/python-heatclient - project: openstack/python-heatclient
acl_config: /home/gerrit2/acls/openstack/python-heatclient.config acl_config: /home/gerrit2/acls/openstack/python-heatclient.config
- project: openstack-ci/devstack-gate - project: openstack-infra/devstack-gate
acl_config: /home/gerrit2/acls/openstack-ci/devstack-gate.config acl_config: /home/gerrit2/acls/openstack-infra/devstack-gate.config
- project: openstack-ci/gerrit - project: openstack-infra/gerrit
description: Fork of Gerrit used by OpenStack description: Fork of Gerrit used by OpenStack
remote: https://gerrit.googlesource.com/gerrit remote: https://gerrit.googlesource.com/gerrit
acl_config: /home/gerrit2/acls/openstack-ci/gerrit.config acl_config: /home/gerrit2/acls/openstack-infra/gerrit.config
- project: openstack-ci/gerrit-verification-status-plugin - project: openstack-infra/gerrit-verification-status-plugin
acl_config: /home/gerrit2/acls/openstack-ci/gerrit-verification-status-plugin.config acl_config: /home/gerrit2/acls/openstack-infra/gerrit-verification-status-plugin.config
- project: openstack-ci/gerritbot - project: openstack-infra/gerritbot
acl_config: /home/gerrit2/acls/openstack-ci/gerritbot.config acl_config: /home/gerrit2/acls/openstack-infra/gerritbot.config
- project: openstack-ci/gerritlib - project: openstack-infra/gerritlib
acl_config: /home/gerrit2/acls/openstack-ci/gerritlib.config acl_config: /home/gerrit2/acls/openstack-infra/gerritlib.config
- project: openstack-ci/jeepyb - project: openstack-infra/jeepyb
acl_config: /home/gerrit2/acls/openstack-ci/jeepyb.config acl_config: /home/gerrit2/acls/openstack-infra/jeepyb.config
upstream: git://github.com/emonty/gerritx.git upstream: git://github.com/emonty/gerritx.git
description: Gerrit Project Builder Tools description: Gerrit Project Builder Tools
- project: openstack-ci/git-review - project: openstack-infra/git-review
acl_config: /home/gerrit2/acls/openstack-ci/git-review.config acl_config: /home/gerrit2/acls/openstack-infra/git-review.config
- project: openstack-ci/jenkins-job-builder - project: openstack-infra/jenkins-job-builder
acl_config: /home/gerrit2/acls/openstack-ci/jenkins-job-builder.config acl_config: /home/gerrit2/acls/openstack-infra/jenkins-job-builder.config
- project: openstack-ci/lodgeit - project: openstack-infra/lodgeit
acl_config: /home/gerrit2/acls/openstack-ci/lodgeit.config acl_config: /home/gerrit2/acls/openstack-infra/lodgeit.config
- project: openstack-ci/meetbot - project: openstack-infra/meetbot
acl_config: /home/gerrit2/acls/openstack-ci/meetbot.config acl_config: /home/gerrit2/acls/openstack-infra/meetbot.config
- project: openstack-ci/nose-html-output - project: openstack-infra/nose-html-output
acl_config: /home/gerrit2/acls/openstack-ci/nose-html-output.config acl_config: /home/gerrit2/acls/openstack-infra/nose-html-output.config
- project: openstack-ci/puppet-apparmor - project: openstack-infra/puppet-apparmor
acl_config: /home/gerrit2/acls/openstack-ci/puppet-apparmor.config acl_config: /home/gerrit2/acls/openstack-infra/puppet-apparmor.config
- project: openstack-ci/puppet-dashboard - project: openstack-infra/puppet-dashboard
acl_config: /home/gerrit2/acls/openstack-ci/puppet-dashboard.config acl_config: /home/gerrit2/acls/openstack-infra/puppet-dashboard.config
- project: openstack-ci/puppet-vcsrepo - project: openstack-infra/puppet-vcsrepo
acl_config: /home/gerrit2/acls/openstack-ci/puppet-vcsrepo.config acl_config: /home/gerrit2/acls/openstack-infra/puppet-vcsrepo.config
- project: openstack-ci/pypi-mirror - project: openstack-infra/pypi-mirror
acl_config: /home/gerrit2/acls/openstack-ci/pypi-mirror.config acl_config: /home/gerrit2/acls/openstack-infra/pypi-mirror.config
- project: openstack-ci/zuul - project: openstack-infra/zuul
acl_config: /home/gerrit2/acls/openstack-ci/zuul.config acl_config: /home/gerrit2/acls/openstack-infra/zuul.config
- project: openstack-dev/devstack - project: openstack-dev/devstack
acl_config: /home/gerrit2/acls/openstack-dev/devstack.config acl_config: /home/gerrit2/acls/openstack-dev/devstack.config
- project: openstack-dev/openstack-nose - project: openstack-dev/openstack-nose
@ -87,10 +87,8 @@
acl_config: /home/gerrit2/acls/openstack/object-api.config acl_config: /home/gerrit2/acls/openstack/object-api.config
- project: openstack/openstack-chef - project: openstack/openstack-chef
acl_config: /home/gerrit2/acls/openstack/openstack-chef.config acl_config: /home/gerrit2/acls/openstack/openstack-chef.config
- project: openstack/openstack-ci - project: openstack-infra/config
acl_config: /home/gerrit2/acls/openstack/openstack-ci.config acl_config: /home/gerrit2/acls/openstack-infra/config.config
- project: openstack/openstack-ci-puppet
acl_config: /home/gerrit2/acls/openstack/openstack-ci-puppet.config
- project: openstack/openstack-manuals - project: openstack/openstack-manuals
acl_config: /home/gerrit2/acls/openstack/openstack-manuals.config acl_config: /home/gerrit2/acls/openstack/openstack-manuals.config
- project: openstack/openstack-planet - project: openstack/openstack-planet

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# This file is managed by puppet. # This file is managed by puppet.
# https://github.com/openstack/openstack-ci-puppet # https://github.com/openstack-infra/config
export PIP_DOWNLOAD_CACHE=<%= pip_cache %> export PIP_DOWNLOAD_CACHE=<%= pip_cache %>
export PIP_TEMP_DOWNLOAD=<%= pip_download %> export PIP_TEMP_DOWNLOAD=<%= pip_download %>

View File

@ -11,7 +11,7 @@ class zuul (
$zuul_ssh_private_key = '', $zuul_ssh_private_key = '',
$url_pattern = '', $url_pattern = '',
$status_url = "https://${::fqdn}/", $status_url = "https://${::fqdn}/",
$git_source_repo = 'https://github.com/openstack-ci/zuul.git', $git_source_repo = 'https://github.com/openstack-infra/zuul.git',
$push_change_refs = false $push_change_refs = false
) { ) {
include apache include apache

View File

@ -16,11 +16,11 @@ try:
except Exception: except Exception:
pass pass
setup(name='openstack-ci-puppet', setup(name='openstack-infra-config',
version="%d.%02d" % (datetime.datetime.now().year, version="%d.%02d" % (datetime.datetime.now().year,
datetime.datetime.now().month), datetime.datetime.now().month),
description="OpenStack Continuous Integration Scripts", description="OpenStack Infrastructure Config",
author="OpenStack CI Team", author="OpenStack Infrastructure Team",
author_email="openstack-ci@lists.launchpad.net", author_email="openstack-infra@lists.launchpad.net",
url="http://launchpad.net/openstack-ci", url="http://ci.openstack.org",
cmdclass=ci_cmdclass) cmdclass=ci_cmdclass)

View File

@ -19,7 +19,7 @@
rm -fr .test rm -fr .test
mkdir .test mkdir .test
cd .test cd .test
git clone https://review.openstack.org/p/openstack-ci/jenkins-job-builder --depth 1 git clone https://review.openstack.org/p/openstack-infra/jenkins-job-builder --depth 1
cd jenkins-job-builder cd jenkins-job-builder
# These are $WORKSPACE/.test/jenkins-job-builder/.test/... # These are $WORKSPACE/.test/jenkins-job-builder/.test/...
mkdir -p .test/old/config mkdir -p .test/old/config