On Tue, Jun 8, 2021 at 3:48 PM Wainer dos Santos Moschetta <waine...@redhat.com> wrote: > > Hi, > > On 6/8/21 12:14 AM, Cleber Rosa wrote: > > To run basic jobs on custom runners, the environment needs to be > > properly set up. The most common requirement is having the right > > packages installed. > > > > The playbook introduced here covers the QEMU's project s390x and > > aarch64 machines. At the time this is being proposed, those machines > > have already had this playbook applied to them. > > > > Signed-off-by: Cleber Rosa <cr...@redhat.com> > > --- > > docs/devel/ci.rst | 30 ++++++++ > > scripts/ci/setup/build-environment.yml | 98 ++++++++++++++++++++++++++ > > scripts/ci/setup/inventory.template | 1 + > > 3 files changed, 129 insertions(+) > > create mode 100644 scripts/ci/setup/build-environment.yml > > create mode 100644 scripts/ci/setup/inventory.template > > > > diff --git a/docs/devel/ci.rst b/docs/devel/ci.rst > > index 585b7bf4b8..35c6b5e269 100644 > > --- a/docs/devel/ci.rst > > +++ b/docs/devel/ci.rst > > @@ -26,3 +26,33 @@ gitlab-runner, is called a "custom runner". > > The GitLab CI jobs definition for the custom runners are located under:: > > > > .gitlab-ci.d/custom-runners.yml > > + > > +Machine Setup Howto > > +------------------- > > + > > +For all Linux based systems, the setup can be mostly automated by the > > +execution of two Ansible playbooks. Create an ``inventory`` file > > +under ``scripts/ci/setup``, such as this:: > Missing to mention the template file. > > + > > + fully.qualified.domain > > + other.machine.hostname > > + > > +You may need to set some variables in the inventory file itself. One > > +very common need is to tell Ansible to use a Python 3 interpreter on > > +those hosts. This would look like:: > > + > > + fully.qualified.domain ansible_python_interpreter=/usr/bin/python3 > > + other.machine.hostname ansible_python_interpreter=/usr/bin/python3 > > + > > +Build environment > > +~~~~~~~~~~~~~~~~~ > > + > > +The ``scripts/ci/setup/build-environment.yml`` Ansible playbook will > > +set up machines with the environment needed to perform builds and run > > +QEMU tests. It covers a number of different Linux distributions and > > +FreeBSD. > > + > > +To run the playbook, execute:: > > + > > + cd scripts/ci/setup > > + ansible-playbook -i inventory build-environment.yml > > diff --git a/scripts/ci/setup/build-environment.yml > > b/scripts/ci/setup/build-environment.yml > > new file mode 100644 > > index 0000000000..664f2f0519 > > --- /dev/null > > +++ b/scripts/ci/setup/build-environment.yml > > @@ -0,0 +1,98 @@ > > +--- > > +- name: Installation of basic packages to build QEMU > > + hosts: all > > You will need to "become: yes" if the login user is not privileged, right? > > Or mention on the documentation how the user should configure the > connection for privileged login.
As this will vary from system to system, I think it is worth mentioning in the documentation it can be configured in the inventory file, adding the variable ansible_become=yes and ansible_become_password= if password is needed to sudo.