There's some cleanup to be done in `FeatureMigrationIT` and related classes.

- [x] Convert `static` `preMigrationHook` and `postMigrationHook` to use instance members, retrieved from the `internalCluster()`
- [x] Use Hamcrest matchers as described [in this comment](https://github.com/elastic/elasticsearch/pull/84192/files#r812224067) for better failure output
- [x] Rename `createSimpleSettings` to `createSettings`
- [x] Rename `createSimpleMapping` to `createMapping`
- [x] add support for unknown fields https://github.com/elastic/elasticsearch/pull/84258#pullrequestreview-890890422
modules/reindex/src/internalClusterTest/java/org/elasticsearch/migration/SystemIndexMigrationIT.java
import org.elasticsearch.test.ESIntegTestCase;
import org.elasticsearch.test.InternalTestCluster;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean;
import static org.elasticsearch.upgrades.SystemIndexMigrationTaskParams.SYSTEM_INDEX_UPGRADE_TASK_NAME;
import static org.hamcrest.Matchers.equalTo;
/**
 * This class is for testing that when restarting a node, SystemIndexMigrationTaskState can be read.
 */
@ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.TEST, numDataNodes = 0, numClientNodes = 0, autoManageMasterNodes = false)
public class SystemIndexMigrationIT extends AbstractFeatureMigrationIntegTest {
    private static Logger logger = LogManager.getLogger(SystemIndexMigrationIT.class);
    @Override
    protected Settings nodeSettings(int nodeOrdinal, Settings otherSettings) {
        return Settings.builder().put(super.nodeSettings(nodeOrdinal, otherSettings)).build();
    }
    @Override
    protected boolean forbidPrivateIndexSettings() {
        
        return false;
    }
    @Override
    protected Collection<Class<? extends Plugin>> nodePlugins() {
        List<Class<? extends Plugin>> plugins = new ArrayList<>(super.nodePlugins());