Skip to content
This repository has been archived by the owner on Sep 18, 2021. It is now read-only.

Raising the Beaker Provisioning Timeout

Jeremy Poulin edited this page May 31, 2018 · 3 revisions

Under the hood, the test template simply passes a topology file to beaker for provisioning.

If beaker is timing out, you can simply update the following options in workspace/PinFile:

# options to configure amount of time spent polling beaker:
# 180 attempts with 60 seconds wait time between them,
# provisioning timeout is roughly 10800 seconds
max_attempts: 180
attempt_wait_time: 60
# option to set cancellation message if linchpin cancels provisioning
cancel_message: Job cancelled due to beaker request timeout

If any of these are missing, you can simply add them so that your topology resembles this structure:

---
jenkins-slave:
  topology:
    topology_name: jenkins-slave
    resource_groups:
    - resource_group_name: beaker-slaves
      resource_group_type: beaker
      resource_definitions:
      - role: bkr_server
        job_group: {{ job_group }}
        whiteboard: "{{ arch }} slave for multiarch testing"
        # options to configure amount of time spent polling beaker:
        # 180 attempts with 60 seconds wait time between them,
        # provisioning timeout is roughly 10800 seconds
        max_attempts: 180
        attempt_wait_time: 60
        # option to set cancellation message if linchpin cancels provisioning
        cancel_message: Job cancelled due to beaker request timeout
        recipesets:
        - distro: "RHEL-7.4"
          arch: {{ arch }}
          variant: Server
          count: 1
          name: "Jenkins Slave"
          {% if hostrequires %}
          hostrequires:
            {% for req in hostrequires %}
            - tag: "{{ req.tag }}"
              op: "{{ req.op }}"
              value: "{{ req.value }}"
            {% endfor %}
          {% endif %}
  layout:
    inventory_layout:
      hosts:
        jenkins-slave:
          count: 1
          host_groups:
            - rhel7
            - certificate_authority
            - repositories
            - jenkins_slave
            - master_node
  {% if hooks %}
  hooks:
    {% if hooks.postUp %}
    postup:
      {% if hooks.postUp.connectToMaster %}
      - type: ansible
        name: cinch
        path: /home/jenkins/envs/provisioner/lib/python2.7/site-packages/cinch/
        context: True
        actions:
          - playbook: site.yml
            extra_vars: {{ extra_vars }}
      {% endif %}
    {% endif %}
  {% endif %}