def get_nodes_func(tf_config: BaseTerraformConfig, infraenv_config: InfraEnvConfig): if "nodes" in nodes_data: return nodes_data["nodes"] nodes_data["configs"] = infraenv_config, tf_config net_asset = LibvirtNetworkAssets() tf_config.net_asset = net_asset.get() nodes_data["net_asset"] = net_asset controller = TerraformController(tf_config, entity_config=infraenv_config) nodes = Nodes(controller) nodes_data["nodes"] = nodes nodes.prepare_nodes() interfaces = BaseTest.nat_interfaces(tf_config) nat = NatController( interfaces, NatController.get_namespace_index(interfaces[0])) nat.add_nat_rules() nodes_data["nat"] = nat return nodes
def infraenv_controller( self, infra_env_configuration: InfraEnvConfig, controller_configuration: BaseNodeConfig) -> NodeController: if infra_env_configuration.platform == consts.Platforms.VSPHERE: # TODO implement for Vsphere raise NotImplementedError return TerraformController(controller_configuration, entity_config=infra_env_configuration)
def controller(self, cluster_configuration: ClusterConfig, controller_configuration: BaseNodeConfig) -> NodeController: if cluster_configuration.platform == consts.Platforms.VSPHERE: return VSphereController(controller_configuration, cluster_configuration) return TerraformController(controller_configuration, entity_config=cluster_configuration)
def get_nodes_func(config: TerraformConfig = TerraformConfig()): if "nodes" in nodes_data: return nodes_data["nodes"] nodes_data["needs_nat"] = config.platform == consts.Platforms.NONE nodes_data["net_asset"] = NetworkAssets() config.net_asset = nodes_data["net_asset"].get() nodes = Nodes(TerraformController(config), config.private_ssh_key_path) nodes.prepare_nodes() if nodes_data["needs_nat"]: nodes.configure_nat() nodes_data["nodes"] = nodes return nodes
def get_nodes_func(config: TerraformConfig = TerraformConfig()): if "nodes" in nodes_data: return nodes_data["nodes"] net_asset = NetworkAssets() config.net_asset = net_asset.get() nodes = Nodes(TerraformController(config), config.private_ssh_key_path, net_asset, config.platform == consts.Platforms.NONE) nodes.prepare_nodes() nodes_data["nodes"] = nodes return nodes
def get_nodes_func(tf_config: TerraformConfig, cluster_config: ClusterConfig): if "nodes" in nodes_data: return nodes_data["nodes"] nodes_data["configs"] = cluster_config, tf_config net_asset = LibvirtNetworkAssets() tf_config.net_asset = net_asset.get() nodes_data["net_asset"] = net_asset controller = TerraformController(tf_config, cluster_config=cluster_config) nodes = Nodes(controller, tf_config.private_ssh_key_path) nodes_data["nodes"] = nodes nodes.prepare_nodes() interfaces = BaseTest.nat_interfaces(tf_config) nat = NatController(interfaces, NatController.get_namespace_index(interfaces[0])) nat.add_nat_rules() nodes_data["nat"] = nat return nodes
def get_nodes_func(config: Optional[TerraformConfig] = None): if not config: config = TerraformConfig() if "nodes" in nodes_data: return nodes_data["nodes"] net_asset = LibvirtNetworkAssets() config.net_asset = net_asset.get() controller = TerraformController(config) nodes = Nodes(controller, config.private_ssh_key_path) nodes.prepare_nodes() interfaces = BaseTest.nat_interfaces(config) nat = NatController( interfaces, NatController.get_namespace_index(interfaces[0])) nat.add_nat_rules() nodes_data["nodes"] = nodes nodes_data["config"] = config nodes_data["net_asset"] = net_asset nodes_data["nat"] = nat return nodes