Task Name | Test is a host is listening on a specific port |
Description |
|
Prerequisites | - Tested on 6.0
|
Category | Workflow |
Components | vSphere 5.x |
User Inputs |
|
Output | ID |
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 .WFD file resides. Choose the .WFD 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.
Thank you goes to: Phani Penmethsa
The workflow:
Workflow Import:
Workflow location:
Input for custom task:
Workflow run when Device is listening:
Workflow run when Device is not listening:
The custom task code:
i
mportPackage(java.lang);
importPackage(java.net);
importPackage(java.io);
function isReachable(count)
{
try
{
var s = new Socket(input.ipAddress, input.tcpPort);
s.close();
return true;
} catch(e)
{
if (count == 0)
{
logger.addDebug("IP Address "+input.ipAddress +":"+ input.tcpPort + " not reachable");
}
return false;
}
}
var start = System.currentTimeMillis();
var stopTime = start + input.maxWaitSeconds * 1000;
var count = 0;
while (System.currentTimeMillis() < stopTime)
{
if (isReachable(count) === true)
{
logger.addInfo("Device is reachable");
ctxt.exit();
}
count++;
if (count === 3)
{
count = 0;
}
Thread.sleep(10000);
}
ctxt.setFailed("Maximum wait time exceeded for device");
ctxt.exit();