| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> |
| <document> |
| <header> |
| <title>Notes for forrest.zones.apache.org</title> |
| </header> |
| <body> |
| <section id="overview"> |
| <title>Overview</title> |
| <p> |
| Note the current hostname is forrest-vm.apache.org. Links in this |
| text have been updated but not all uses of the name forrest.zones.apache.org. |
| </p> |
| <p> |
| The server <a href="ext:forrest-zone">forrest-vm.apache.org</a> |
| provides our testing and demonstration area. It is managed by Apache |
| Forrest committers. The material is intended for developer use only. |
| </p> |
| </section> |
| <section id="configuration"> |
| <title>Configuration</title> |
| <p> |
| Configuration files and directory structures are stored in SVN at |
| <a href="ext:forrest-zone/svn">https://svn.apache.org/repos/asf/forrest/zone</a> and |
| additional private stuff is in our pmc/forrest/zone SVN. |
| </p> |
| <p> |
| The current environment is a virtual machine provisioned using |
| configuration information stored using <a href="ext:forrest-zone/puppet">Puppet</a>. |
| </p> |
| <ul> |
| <li>Basic configuration classes and settings |
| <ul> |
| <li> |
| <a href="https://github.com/apache/infrastructure-puppet/blob/deployment/data/nodes/forrest-vm.apache.org.yaml"> |
| data/nodes/forrest-vm.apache.org.yaml</a> |
| </li> |
| </ul> |
| </li> |
| <li>Manifest to create role account and install extra packages |
| <ul> |
| <li> |
| <a href="https://github.com/apache/infrastructure-puppet/blob/deployment/modules/forrest_pvm_asf/manifests/init.pp"> |
| modules/forrest_pvm_asf/manifests/init.pp</a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <p> |
| Configuration changes may be applied by submitting a |
| <a href="https://help.github.com/articles/using-pull-requests/">pull request</a>. |
| Fork the <a href="https://github.com/apache/infrastructure-puppet">repository</a>, |
| make your changes on a topic branch based on deployment branch, and submit your request. |
| </p> |
| <p> |
| Other (old) notes are in SVN at |
| <a href="http://svn.apache.org/repos/asf/forrest/zone/README.txt">zone/README.txt</a> |
| </p> |
| <p> |
| Note that the user account <code>forrest</code> is now a role account named <code>forrest_role</code>. |
| </p> |
| <p> |
| <strong>config</strong> |
| </p> |
| <source> |
| creates /home/forrest_role/config ... $CONFIG |
| directories /forrestbot-*/ are the forrestbot homes, see below. |
| setenv*.sh ... these are sourced by the forrestbots and other |
| cronjobs and user configs, to set the environment. |
| </source> |
| <p> |
| <strong>htdocs</strong> |
| </p> |
| <source> |
| creates /home/forrest_role/htdocs ... $DOC_ROOT |
| directories /ft/ and /fts/ are the forrestbot config and results, see below. |
| </source> |
| <p> |
| <strong>test-sources</strong> |
| </p> |
| <source> |
| A place to hold sources for various test sites. |
| Normally these would be in the relevant project's SVN. |
| Hold them here until building properly. |
| </source> |
| <p> |
| Cron runs the various Forrestbots and management tasks, such as updating |
| the forrest-trunk software; cleaning up old logfiles, etc. A copy of the |
| crontab is stored in SVN at <code>zone/config/crontab.txt</code>. |
| </p> |
| </section> |
| <section id="software"> |
| <title>Software</title> |
| <p> |
| Installed software is now managed via Puppet, see above. |
| </p> |
| <section id="s-forrest"> |
| <title>Forrest</title> |
| <p> |
| <strong>forrest-trunk</strong> |
| </p> |
| <source> |
| svn checkout of trunk. |
| automatically 'svn update' and 'build' via cron: $CONFIG/update-forrest-trunk.sh |
| </source> |
| <p> |
| <strong>forrest-trunk-stable</strong> |
| </p> |
| <source> |
| svn checkout of trunk, manually updated as needed. |
| </source> |
| <p> |
| <strong>forrest-release</strong> |
| </p> |
| <source> |
| svn checkout of current release branch, manually updated as needed. |
| </source> |
| <p> |
| To manually update -stable or -release do this: |
| </p> |
| <source> |
| <![CDATA[ |
| source $CONFIG/setenv-java-14.sh |
| cd /export/opt/forrest-trunk-stable |
| svn up |
| cd main |
| ./build.sh clean; ./build.sh |
| ]]> |
| </source> |
| </section> |
| </section> |
| <section id="fb"> |
| <title>The forrestbots</title> |
| <p> |
| There are various forrestbots operating with different versions of |
| forrest. Their home is at $CONFIG |
| </p> |
| <p> |
| <strong>$CONFIG/forrestbot-trunk</strong> |
| </p> |
| <source> |
| forrestbot operating with trunk. |
| builds various sites automatically, triggered via cron. |
| Configuration files and the generated results are at $DOC_ROOT/ft/ |
| </source> |
| <p> |
| <strong>$CONFIG/forrestbot-trunk-stable</strong> |
| </p> |
| <source> |
| forrestbot operating with trunk-stable. |
| builds various sites, only runs when needed, triggered via cron. |
| Configuration files and the generated results are at $DOC_ROOT/fts/ |
| </source> |
| </section> |
| <section id="logs"> |
| <title>Log files</title> |
| <p> |
| Forrestbot logs are at <code>$CONFIG/forrestbot-trunk/logs/</code> |
| and old ones are cleaned up daily by the crontab. |
| The content is sent to the dev list whenever a non-successful build happens. |
| </p> |
| <p> |
| The Cocoon logfiles for each built site are at |
| <code>$CONFIG/forrestbot-trunk/conf/work/*/webapp/WEB-INF/logs/</code> |
| (which of course are re-generated on each hourly run). |
| These are saved to |
| <code>$CONFIG/forrestbot-trunk/logs/*-cocoon-log-*.tar.gz</code> |
| to assist with debugging. |
| </p> |
| <p> |
| There is also a log file for each site that |
| forrestbot builds which captures the output of cron (cronout-*.txt). Be |
| sure to verify this logfile after making configuration changes. |
| </p> |
| <p> |
| Whenever the 'forrest' software automatically updates following commits, |
| then there will be a logfile at the <code>$CONFIG</code> top-level directory. |
| Old ones are cleaned up daily by the crontab. |
| </p> |
| </section> |
| <section id="admin"> |
| <title>Administration</title> |
| <p> |
| See the general notes for the |
| <a href="http://www.apache.org/dev/solaris-zones.html">zone |
| administration</a>. |
| </p> |
| <p> |
| The project chair is the root user. Committers can ask on the dev list |
| to get a user account added or modified. |
| </p> |
| <p> |
| Monitor the infrastructure@ |
| <a href="http://www.apache.org/dev/infra-mail.html">mail lists</a> |
| for changes to the |
| <a href="http://www.apache.org/dev/machines.html#jails-tlps">machine</a>. |
| </p> |
| <p> |
| Keep an eye on the status via the |
| <a href="http://status.apache.org/">monitoring</a> service. |
| </p> |
| <p> |
| Occasionally the "SSL server certificate" will change for svn.apache.org |
| server. Monitor the infrastructure and committers mail lists, and see |
| infra |
| <a href="http://www.apache.org/dev/version-control.html#cert">notes</a> |
| about this topic. |
| </p> |
| <p> |
| If you think that you need to contact |
| <a href="http://www.apache.org/dev/infra-contact">infra</a> |
| about anything, then please try our Forrest dev or private list first. |
| See the monitor page for |
| <a href="http://status.apache.org/">Service Status</a>. |
| </p> |
| <p> |
| Keep an occasional eye on $CONFIG/update-forrest-trunk.log This is |
| the output of the cronjob to do svn update to trunk and re-build. |
| </p> |
| |
| <section id="admin-user"> |
| <title>User administration</title> |
| <p> |
| After receiving your account, please be sure to configure it properly. |
| </p> |
| <p> |
| See some notes at |
| <a href="https://www.apache.org/dev/freebsd-jails#opie">configuring opie |
| for sudo access</a>. Opie and sudo are needed to work as the <code>forrest_role</code> |
| user. |
| </p> |
| <p> |
| Look at the setup of some other users on our zone. |
| </p> |
| </section> |
| </section> |
| <section id="other"> |
| <title>Other notes</title> |
| <ul> |
| <li>See some other discussion in the thread |
| <a href="http://marc.info/?l=forrest-dev&m=111717382712670" rel="nofollow">Re: zone for testing forrest</a></li> |
| </ul> |
| </section> |
| </body> |
| </document> |