static Params fromOptions(FleetControllerOptions opts) {
            return new Params()
                    .maxPrematureCrashes(opts.maxPrematureCrashes())
                    .minStorageNodesUp(opts.minStorageNodesUp())
                    .minDistributorNodesUp(opts.minDistributorNodesUp())
                    .minRatioOfStorageNodesUp(opts.minRatioOfStorageNodesUp())
                    .minRatioOfDistributorNodesUp(opts.minRatioOfDistributorNodesUp())
                    .minNodeRatioPerGroup(opts.minNodeRatioPerGroup())
                    .idealDistributionBits(opts.distributionBits())
                    .transitionTimes(opts.maxTransitionTime());
        }
Infer parameters from controller options. Important: does _not_ set cluster;
it must be explicitly set afterwards on the returned parameter object before
being used to compute states.
clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateGenerator.java