Task Name | Read a file on UCSD and append to SR log in color |
Description | |
Prerequisites | vCenter |
Category | Workflow |
Components | UCSD 6.6 |
User Inputs | |
Output | |
Instructions for Regular Workflow Use:
- Download the attached .ZIP file below to your computer. *Remember the location of the saved file on your computer.
- Unzip the file on your computer. Should end up with a .WFD file.
- Log in to UCS Director as a user that has "system-admin" privileges.
- Navigate to "Policies-->Orchestration" and click on "Import".
- Click "Browse" and navigate to the location on your computer where the .WFDX file resides. Choose the .WFDX file and click "Open".
- Click "Upload" and then "OK" once the file upload is completed. Then click "Next".
- Click the "Select" button next to "Import Workflows". Click the "Check All" button to check all checkboxes and then the "Select" button.
- Click "Submit".
- A new folder should appear in "Policies-->Orchestration" that contains the imported workflow. You will now need to update the included tasks with information about the specific environment.
Workflow
Inputs:
Log:
Custom task:
importPackage(java.io);
importPackage(java.util);
importPackage(com.cloupia.model.cEvent.notify);
importPackage(com.cloupia.model.cIM);
importPackage(com.cloupia.lib.util.mail);
importPackage(com.cloupia.fw.objstore);
var filenamewithpath = input.FileNameWithPath ;
var COLOR = input.Color;
function writeMessage(MESSAGE,COLOR){
if (COLOR == 1) {
logger.addInfo(MESSAGE);
}
if (COLOR == 2) {
logger.addWarning(MESSAGE);
}
if (COLOR == 3) {
logger.addError(MESSAGE);
}
}
try{
var fileReader = new FileReader(filenamewithpath);
}catch(e){
logger.addError("Unable to find file and path..."+e);
ctxt.setFailed("Task got failed");
ctxt.exit();
}
var br = new BufferedReader(fileReader);
var tokens;
var UCSDLoopCounter = new ArrayList();
writeMessage("-------------------------------------------------------",COLOR);
writeMessage("File: "+filenamewithpath,COLOR);
writeMessage("-------------------------------------------------------",COLOR);
while(true){
var line = br.readLine();
if(line == null)break;
writeMessage("Line" + line,COLOR);
}
br.close();
writeMessage("-------------------------------------------------------",COLOR);
Here isa SSH task variation on this:
importPackage(com.cloupia.lib.connector.account);
importPackage(com.cloupia.model.cIM);
importPackage(com.cloupia.lib.util.ssh);
importPackage(com.cloupia.lib.connector.account.credential);
executeSSH();
function executeSSH(){
var dateCommand ="date >1.log";
var logCommand ="cat 1.log";
var client = null;
try {
// We are passing to inputs as ip address,portno,username,password.
client = new SSHClient("###", "##", "###", "####");
client.connect();
logger.addInfo("Executing command: " + dateCommand);
var o = client.executeCommand(dateCommand);
var logView =client.executeCommand(logCommand);
logger.addInfo("Log Output: " + logView.getStdOut());
logger.addInfo("Command Result: " + String(o.getExitCode()));
return o;
}catch( e) {
ctxt.setFailed("SSH Execution Failed.");
throw e;
}finally {
if(client != null) {
client.disconnect();
client = null;
}
}
}