On 2021-04-05 2:55 p.m., Michael Halstead wrote:

**[Please note: This e-mail is from an EXTERNAL e-mail address]



On Mon, Apr 5, 2021 at 9:23 AM Trevor Gamblin <trevor.gamb...@windriver.com <mailto:trevor.gamb...@windriver.com>> wrote:

    Signed-off-by: Trevor Gamblin <trevor.gamb...@windriver.com
    <mailto:trevor.gamb...@windriver.com>>
    ---
     README-Guide.md | 94
    +++++++++++++++++++++++++++++++++++++++++++++++++
     1 file changed, 94 insertions(+)

    diff --git a/README-Guide.md b/README-Guide.md
    index 21dd7c1..8558c48 100644
    --- a/README-Guide.md
    +++ b/README-Guide.md
    @@ -43,6 +43,16 @@ yocto-controller/yoctoabb
     yocto-worker
     ```

    +Before proceeding, make sure that the following is added to the
    +pokybuild3 user's exports (e.g. in .bashrc), or builds will fail
    after
    +being triggered:
    +
    +```
    +export LC_ALL=en_US.UTF-8
    +export LANG=en_US.UTF-8
    +export LANGUAGE=en_US.UTF-8
    +```



On the AB at typhoon.yocto.io <http://typhoon.yocto.io> only LANG=en_US.UTF-8 is set. I don't know why LC_ALL or LANGUAGE need to be set on your cluster for builds to succeed.
You're right, I don't need the others. Fixing this for the next revision.

    +
     Next, we need to update
    the `yocto-controller/yoctoabb/master.cfg` towards the bottom
    where the `title`, `titleURL`, and `buildbotURL` are all set. 
    This is also where you would specify a different password for
    binding workers to the master.

     Then, we need to update the `yocto-controller/yoctoabb/config.py`
    to include our worker.  In that file, find the line
    where `workers` is set and add: ["example-worker"].  _NOTE:_ if
    your worker's name is different, use that here.  Section 3.1
    discusses how to further refine this list of workers.
    @@ -112,6 +122,90 @@ sudo
    /home/pokybuild3/yocto-worker/qemuarm/build/scripts/runqemu-gen-tapdevs
    \

     In the above command, we assume the a build named qemuarm
    failed.  The value of 8 is the number of tap interfaces to create
    on the worker.

    +### 1.3) Adding Dedicated Worker Nodes
    +
    +Running both the controller and the worker together on a single
    machine
    +can quickly result in long build times and an unresponsive web UI,
    +especially if you plan on running any of the more comprehensive
    builders
    +(e.g. a-full). Additional workers can be added to the cluster by
    +following the steps given above, except that the yocto-controller
    steps
    +do not need to be repeated. For example, to add a new worker
    +"ala-blade51" to an Autobuilder cluster with a yocto-controller
    at the
    +IP address 147.11.105.72 <http://147.11.105.72>:
    +
    +1. On the yocto-controller host, add the name of the new worker
    to a worker
    +list (or create a new one) e.g. 'workers_wrlx = ["ala-blade51"]' and
    +make sure that it is added to the "workers" list.
    +
    +2. On the new worker node:
    +
    +```
    +sudo apt-get install gawk wget git-core diffstat unzip texinfo \
    +gcc-multilib build-essential chrpath socat cpio python python3 \
    +python3-pip python3-pexpect xz-utils debianutils iputils-ping \
    +libsdl1.2-dev xterm


Should we link to https://docs.yoctoproject.org/ref-manual/system-requirements.html#ubuntu-and-debian <https://docs.yoctoproject.org/ref-manual/system-requirements.html#ubuntu-and-debian> for the current package set as well as listing this information here?
The beginning of README-Guide.md mentions that the user should reference the Yocto Manual for the required packages, so maybe copying the list here is inconsistent. I'll put the link near the top of the doc and we can look at a better way to do this if/when a new version of this guide makes it into the Manual.

    +
    +sudo pip3 install buildbot buildbot-www buildbot-waterfall-view \
    +buildbot-console-view buildbot-grid-view buildbot-worker
    +
    +useradd -m --system pokybuild3
    +cd /home/pokybuild3
    +mkdir -p git/trash
    +buildbot-worker create-worker -r --umask=0o22 yocto-worker
    147.11.105.72 ala-blade51 pass
    +chown -R pokybuild3:pokybuild3 /home/pokybuild3
    +```
    +
    + > Note 1: The URL/IP given to the create-worker command must
    match the
    +host running the yocto-controller.
    +
    + > Note 2: The "pass" argument given to the create-worker command
    must
    +match the common "worker_pass" variable set in
    yocto-controller/yoctoabb/config.py.
    +
    +
    +### 1.4) Configuring NFS for the Autobuilder Cluster
    +
    +The Yocto Autobuilder relies on NFS to distribute a common sstate
    cache
    +and other outputs between nodes. A similar configuration can be
    +deployed by performing the steps given below, which were written for
    +Ubuntu 18.04.In <http://18.04.In> order for both the controller
    and worker nodes to be able
    +to access the NFS share without issue, the "pokybuild3" user on all
    +systems must have the same UID/GID, or sufficient permissions
    must be
    +granted on the /srv/autobuilder path (or wherever you modified
    the config
    +files to point to). The following instructions assume a
    controller node
    +at 147.11.105.72 and a single worker node at 147.11.105.71, but
    +additional worker nodes can be added as needed (see the previous
    +section).
    +
    +1. On the NFS host:
    +
    +```
    +sudo apt install -y nfs-kernel-server
    +sudo mkdir -p
    /srv/autobuilder/autobuilder.yoctoproject.org/pub/sstate
    <http://autobuilder.yoctoproject.org/pub/sstate>
    +sudo chown -R pokybuild3:pokybuild3 /srv


Let's only chown the directories we intend to export. Other data may be present in /srv and leaving its owner intact is desirable.

Good point. Fixing this for the next patch.

Thanks again for your review!

- Trevor

    +```
    +2. Add the following to /etc/exports, replacing the path and IP
    fields
    +   as necessary for each client node:
    +```
    +/srv/autobuilder/autobuilder.yoctoproject.org/pub/sstate
    <http://autobuilder.yoctoproject.org/pub/sstate>
    147.11.105.71(rw,sync,no_subtree_check)
    +```
    +
    +3. Run
    +```
    +sudo systemctl restart nfs-kernel-server
    +```
    +
    +4. Adjust the firewall (if required). Example:
    +```
    +sudo ufw allow from 147.11.105.71 to any port nfs
    +```
    +
    +5. On the client node(s):
    +```
    +sudo mkdir -p
    /srv/autobuilder/autobuilder.yoctoproject.org/pub/sstate
    <http://autobuilder.yoctoproject.org/pub/sstate>
    +sudo chown -R pokybuild3:pokybuild3 /srv/autobuilder/
    +sudo mount
    147.11.105.72:/srv/autobuilder/autobuilder.yoctoproject.org/pub/sstate
    <http://autobuilder.yoctoproject.org/pub/sstate>
    /srv/autobuilder/autobuilder.yoctoproject.org/pub/sstate
    <http://autobuilder.yoctoproject.org/pub/sstate>
    +```
    +
     ## 2) Basics

     This section is an overview of operation and a few basic
    configuration file relationships.  See Section 3 for more detailed
    instructions.
-- 2.30.2




--
Michael Halstead
Linux Foundation / Yocto Project
Systems Operations Engineer
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#53024): https://lists.yoctoproject.org/g/yocto/message/53024
Mute This Topic: https://lists.yoctoproject.org/mt/81868167/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to