
Give an overview of the metal3 integration job, its workflow, and adds usefule links to familiarize with the metal3 project and reach the metal3 community. Change-Id: I94bd6a90f813af7323a7c3363577953a69e62ade
3.4 KiB
Metal3 Continuous Integration
The Metal3 Continuous Integration job, named
metal3-integration
in the zuul configuration file, deploys
a kubernetes cluster on emulated bare metal nodes, helping tests the
ironic source code using the Metal3 Development
Environment (metal3-dev-env) workflow from the Metal3 project.
Job configuration
While the metal3-integration
job definition yaml file is in the same path of the other Ironic CI
jobs, it uses separate configuration files under playbooks/metal3-ci
in the Ironic repository. The configuration follows ansible syntax as
for other CI jobs. The actual job is configured in run.yaml,
where various environment variables for metal3-dev-env are defined under
the metal3_environment
entry. For more info about the
metal3-dev-env environment variables definition and values please see
the metal3-dev-env
env variables page. In post.yaml
we execute some post execution operations, like collecting logs and
environment configuration, that are useful in case of
troubleshooting.
Metal3 Development Environment Guide
To familiarize with the Metal3 Development Environment (metal3-dev-env), the Metal3 workflow, and in general with the project, it's recommended to follow the TryIt section of the Metal3 User Guide. The metal3-dev-env workflow steps are explained in Section 1.2.
The Metal3
Development Environment (metal3-dev-env) is maintained by the Metal3 project community which is present
in the #cluster-api-baremetal
channel on Kubernetes Slack.
For any questions or help on the project, or to escalate issues related
to the metal3-integration
job please contact the Metal3
community.
Troubleshooting Guide
The metal3-integration
job logs are stored in the same
way and following roughly the same path of the other Ironic CI jobs. In
the main directory the job-output.txt
file contains the
console output of the job and, if any failure exists, the main reason of
the breakage. Other useful logs are stored under the
controller
directory:
before_pivoting
directory stores services logs of the management clusterlibvirt
directory stores libvirt configuration and logs, including console logs of the emulated bare metal nodesmanagement_cluster
directory stores all configuration and logs of the metal3 services, such as the baremetal-operator (BMO)system
directory stores information and logs from the operating system where metal3-dev-env is running