/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package at.ac.tuwien.dsg.cloud.salsa.pioneer.elise; import at.ac.tuwien.dsg.cloud.salsa.pioneer.instruments.DockerConfigurator; import at.ac.tuwien.dsg.cloud.salsa.pioneer.utils.PioneerConfiguration; import at.ac.tuwien.dsg.cloud.salsa.pioneer.utils.SystemFunctions; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.MalformedURLException; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; /** * * @author Duc-Hung LE */ public class EliseConductorManager { static Logger logger = PioneerConfiguration.logger; /** * Run a conductor if need * * @return ID of the conductor */ public static String runConductor() { try { InputStream is = EliseConductorManager.class.getResourceAsStream("/scripts/elise_conductor_install.sh"); OutputStream os = new FileOutputStream(new File(PioneerConfiguration.getWorkingDir() + "/elise_conductor_install.sh")); IOUtils.copy(is, os); int result = SystemFunctions.executeCommandGetReturnCode("/bin/bash " + PioneerConfiguration.getWorkingDir() + "/elise_conductor_install.sh " + PioneerConfiguration.getEliseConductorURL(), PioneerConfiguration.getWorkingDir() , PioneerConfiguration.getPioneerID()); return result + ""; } catch (MalformedURLException ex) { logger.error("Wrong conductor URL", ex); } catch (IOException ex) { logger.error("Cannot download conductor artifact", ex); } return null; } /** * Inject a collector * @param collectorName * @return */ public static String injectCollectors(String collectorName){ return "Will be implemented"; } }