UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

61 lines 4.48 kB
"use strict"; /** * Runs the Cluster Configuration * @packageDocumentation * * @version 0.0.0-alpha.0 * @date 2020-04-18 * @author Mittag, Jörg (Lawo) <joerg.mittag@lawo.com> * @license SPDX-License-Identifier: MIT */ Object.defineProperty(exports, "__esModule", { value: true }); exports.runClusterConfig = void 0; /** * Runs the Cluster Configuration * * @param config The DMV Configuration * @param master An open VMatrix connection to the cluster master */ async function runClusterConfig({ cluster: { communication, sources }, nodes }, master) { console.log('Configuring Cluster'); let idx = -1; for (const { hostname } of nodes) { idx++; await master.cluster.global.configuration.nodes.create_row({ name: hostname || `Node ${idx}`, index: idx }); } // await Promise.all( // nodes.map( // ({ hostname }, idx) => // master.cluster.global.configuration.nodes.create_row({ "name": hostname ? hostname : `Node ${idx}`, "index": idx }) // ) // ); await Promise.all(nodes.flatMap(({ clusterIp }, idx) => [ master.cluster.global.configuration.nodes.row(idx).mode.write(idx === 0 ? 'MASTER' : 'SLAVE'), master.cluster.global.configuration.nodes.row(idx).ctrl_ip_address.write(clusterIp), ])); await Promise.all([ master.cluster.global.configuration.parameters.addresses.ctrl_mcast_addr.write(communication.addresses.control), communication.addresses.heads ? master.cluster.global.configuration.parameters.addresses.multiviewers_heads_addr_first.write(communication.addresses.heads.red) : Promise.resolve(), communication.addresses.heads ? master.cluster.global.configuration.parameters.addresses.multiviewers_heads_addr_inc.write(communication.addresses.heads.inc) : Promise.resolve(), communication.addresses.heads?.blue ? master.cluster.global.configuration.parameters.addresses.secondary_multiviewers_heads_addr_first.write(communication.addresses.heads.blue) : Promise.resolve(), communication.addresses.heads ? master.cluster.global.configuration.parameters.addresses.secondary_multiviewers_heads_addr_inc.write(communication.addresses.heads.inc) : Promise.resolve(), communication.addresses.mipmaps ? master.cluster.global.configuration.parameters.addresses.mipmaps_mcast_addr_first.write(communication.addresses.mipmaps.red) : Promise.resolve(), communication.addresses.mipmaps ? master.cluster.global.configuration.parameters.addresses.mipmaps_mcast_addr_inc.write(communication.addresses.mipmaps.inc) : Promise.resolve(), communication.addresses.mipmaps?.blue ? master.cluster.global.configuration.parameters.addresses.secondary_mipmaps_mcast_addr_first.write(communication.addresses.mipmaps.blue) : Promise.resolve(), communication.addresses.mipmaps ? master.cluster.global.configuration.parameters.addresses.secondary_mipmaps_mcast_addr_inc.write(communication.addresses.mipmaps.inc) : Promise.resolve(), master.cluster.global.configuration.parameters.routing.ip_outs_ports.write(communication.routing.heads ?? 'PORTS_ALL_SPS'), master.cluster.global.configuration.parameters.routing.mipmaps_ins_ports.write(communication.routing.mipmaps?.in ?? 'PORTS_ALL_SPS'), master.cluster.global.configuration.parameters.routing.mipmaps_outs_ports.write(communication.routing.mipmaps?.out ?? 'PORTS_ALL_SPS'), master.cluster.global.configuration.parameters.routing.ip_srcs_ports.write(communication.routing.sources), master.cluster.global.configuration.parameters.offsets.srcs_i_p_2110.write(sources.offsets.video2110_20), master.cluster.global.configuration.parameters.offsets.srcs_i_p_2022.write(sources.offsets.video2022_6), master.cluster.global.configuration.parameters.offsets.srcs_external_mipmaps.write(sources.offsets.mipmaps), master.cluster.global.configuration.parameters.offsets.srcs_multiviewers_heads.write(sources.offsets.heads), master.cluster.global.configuration.parameters.offsets.srcs_s_d_i.write(sources.offsets.sdi), master.cluster.global.configuration.parameters.offsets.srcs_per_node_s_d_i.write(sources.offsets.sdiPerNode.in), master.cluster.global.configuration.parameters.offsets.outs_per_node_s_d_i.write(sources.offsets.sdiPerNode.out), ]); } exports.runClusterConfig = runClusterConfig; exports.default = runClusterConfig; //# sourceMappingURL=cluster.js.map