Add docs on how to add a new server.
Change-Id: I081b199f5ad985db03e91b880a444d5fdb301551 Reviewed-on: https://review.openstack.org/15433 Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com> Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Approved: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins
This commit is contained in:
parent
ebb86f159a
commit
95fc1ce4ca
@ -4,12 +4,8 @@ Infrastructure Systems
|
|||||||
######################
|
######################
|
||||||
|
|
||||||
The OpenStack CI team maintains a number of systems that are critical
|
The OpenStack CI team maintains a number of systems that are critical
|
||||||
to the operation of the OpenStack project. At the time of writing,
|
to the operation of the OpenStack project, such as gerrit, jenkins,
|
||||||
these include:
|
mailman, meetbot, etherpad, paste, and others.
|
||||||
|
|
||||||
* Gerrit (review.openstack.org)
|
|
||||||
* Jenkins (jenkins.openstack.org)
|
|
||||||
* community.openstack.org
|
|
||||||
|
|
||||||
Additionally the team maintains the project sites on Launchpad and
|
Additionally the team maintains the project sites on Launchpad and
|
||||||
GitHub. The following policies have been adopted to ensure the
|
GitHub. The following policies have been adopted to ensure the
|
||||||
@ -52,6 +48,58 @@ must be observed for SSH access:
|
|||||||
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
|
||||||
servers to make sure they are updated.
|
servers to make sure they are updated.
|
||||||
|
|
||||||
|
Servers
|
||||||
|
*******
|
||||||
|
|
||||||
|
Because the configuration of servers is managed in puppet, anyone may
|
||||||
|
propose changes to existing servers, or propose that new servers be
|
||||||
|
created by editing the puppet configuration and uploading a change for
|
||||||
|
review in Gerrit. The installation and maintenance of software on
|
||||||
|
project infrastructure servers should be carried out entirely through
|
||||||
|
puppet so that anyone can contribute.
|
||||||
|
|
||||||
|
The Git repository with the puppet configuration may be cloned from
|
||||||
|
https://github.com/openstack/openstack-ci-puppet and changes submitted
|
||||||
|
with `git-review`.
|
||||||
|
|
||||||
|
In order to ensure that it is easy for both the OpenStack project as
|
||||||
|
well as others to re-use the configuration in that repository, server
|
||||||
|
definitions are split into two levels of abstraction: first, a class
|
||||||
|
is created that defines the configuration of the server, but without
|
||||||
|
specifics such as hostnames and passwords. Then a node definition is
|
||||||
|
created that uses that class, passing in any specific information
|
||||||
|
needed for that node.
|
||||||
|
|
||||||
|
For instance, `modules/openstack_project/manifests/gerrit.pp` defines a
|
||||||
|
class which specifies how the OpenStack project configures a gerrit
|
||||||
|
server, and then `manifests/site.pp` defines a node that uses that
|
||||||
|
class, passing in passwords and other information specific to that
|
||||||
|
node obtained from puppet's hiera.
|
||||||
|
|
||||||
|
To create a new server, do the following:
|
||||||
|
|
||||||
|
* Add a file in `modules/openstack_project/manifests/` that defines a
|
||||||
|
class which specifies the configuration of the server.
|
||||||
|
|
||||||
|
* Add a node entry in `manifests/site.pp` for the server that uses that
|
||||||
|
class.
|
||||||
|
|
||||||
|
* If your server needs private information such as password,s use
|
||||||
|
hiera calls in the site manifest, and ask an infra-core team member
|
||||||
|
to manually add the private information to hiera.
|
||||||
|
|
||||||
|
* You should be able to install and configure most software only with
|
||||||
|
puppet. Nonetheless, if you need SSH access to the host, add your
|
||||||
|
public key to `modules/openstack_project/manifests/users.pp` and
|
||||||
|
include a stanza like this in your server class::
|
||||||
|
|
||||||
|
realize (
|
||||||
|
User::Virtual::Localuser['USERNAME'],
|
||||||
|
)
|
||||||
|
|
||||||
|
* Add an RST file with documentation about the server in `doc/source`
|
||||||
|
and add it to the index in that directory.
|
||||||
|
|
||||||
Backups
|
Backups
|
||||||
*******
|
*******
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user