Skip to content

Add siatest Dockerfile and Fix NDFs

Matthew Sevey requested to merge sevey/docker-local-ci into master

MERGE REQUEST

MR Guidelines

Overview

Out of sheer annoyance of not being able to reproduce NDFs locally I made a Dockerfile for the siatest package that creates a docker container that matches the online CI environment. Linux with 1 CPU.

I added the following Makefile command:
make docker-ci this initializes the docker image, launches a docker container, runs make docker-test-long, saves the output to docker/, and closes the docker container.

Tests fixed on this branch

  1. TestRenterClean: Skyfile was being cleaned because it wasn't seen as recoverable. Updated test structure to fix.
  2. TestRenterOne/TestLocalRepair: There were two failures. Test hit an edge case were the host announcement wasn't seen when adding hosts to the test group. Added a sync check to fix. Stuck chunk wasn't being repaired. I think this might have been a chunk from a previous test, I changed the test to specifically check the file for stuck and numstuckchunks. Also added a manually bubble call to ensure the filesystem was updated prior to the check.

Additionally, this MR splits out the renter and the skynet siatests to speed up the CI.

Example for Visual Changes

Docker running the tests
https://asciinema.org/a/h773wJA9HTFy2gllCQDjFMcIM

Exploring the test files
https://asciinema.org/a/oAAeWOGs5ktQxHPHCWFocuxAs

The initialization of the tests in docker seems to take a while, not sure what part of the process takes so long. Might be a good follow-up for someone with a little more docker knowledge than me. Could also be due to the CPU limitations within docker.

Checklist

Review and complete the checklist to ensure that the MR is complete before assigned to an approver.

  • All new methods or updated methods have clear docstrings
  • Testing added or updated for new methods
  • Any new packages are added to Makefile and .gitlab-ci.yml
  • API documentation updated for API updates
  • Module README.md updated for changes to workflow
  • Changelog File Created

Issues Closed

Edited by Matthew Sevey

Merge request reports