Skip to end of metadata
Go to start of metadata

When using external build nodes or CI labs, the logs still need to be push to a public, centralized server. The following are the steps needed to get access to push logs to nexus.akraino.org.

Step-by-step guide

  1. Create a helpdesk ticket (currently, go to Jira Support Desk; always-up-to-date list here: https://docs.releng.linuxfoundation.org/en/latest/helpdesk.html), providing the following information:
    1. A name for the log directory/silo (we have generally just been using company name, e.g. "att" or "ericsson").
    2. An LFID to be granted appropriate permissions on the Nexus server. Please create an ID specifically for this purpose at identity.linuxfoundation.org, rather than using a personal LFID.
  2. Pushing the logs from within your internal jobs can be handled however you like, but below is a suggested script (adapted from one provided by Andrew Wilkinson).

    push_logs.sh
    # Deploying logs to LF Nexus log server ##
    # BUILD_NUMBER and JOB_NAME should be set by Jenkins
    
    NEXUS_URL=https://nexus.akraino.org
    SILO=<silo name provided above>
    JENKINS_HOSTNAME=<hostname/IP of your Jenkins host>
    BUILD_URL="${JENKINS_HOSTNAME}/job/${JOB_NAME}/${BUILD_NUMBER}/"
    NEXUS_PATH="${SILO}/job/${JOB_NAME}/${BUILD_NUMBER}"
    
    lftools deploy logs $NEXUS_URL $NEXUS_PATH $BUILD_URL
    
    echo "Logs uploaded to $NEXUS_URL/content/sites/logs/$NEXUS_PATH"

    This method requires installing lftools via pip: https://pypi.org/project/lftools/. The credentials for your service account's LFID should be stored in $HOME/.netrc