You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Introduction

This feature introduces a new API command that will improve troubleshooting of network issues on CloudStack hosted networks by executing network-utility commands (ping, traceroute, arping) remotely on system VMs. 

Feature Specification

For troubleshooting purposes, CloudStack administrators may wish to execute network utility commands remotely on system VMs, or request system VMs to ping/traceroute/arping to specific addresses over specific interfaces. An API command to provide such functionalities is being developed without altering any existing APIs. The targeted system VMs for this feature are the Virtual Router (VR), Secondary Storage VM (SSVM) and the Console Proxy VM (CPVM).

Use Cases

1. An admin wants to test if the SSVM can reach a web server in case of download to Secondary storage failures.

2. Ping an outside web server from the VR in case the VM is unable to get data in or out.

3. Admin might also want to know which interfaces are being used for communication between VMs.

API

runDiagnostics command  is implemented to take the following parameters:

  • uuid: the id of the system VM instance to execute network-utility command from.
  • diagnosticsType: the type of network utility tool to run, e.g. ping, traceroute or arping.
  • destinationIpAddress: the ping/arping/traceroute destination IP address.
  • OPTIONAL: additional command line arguments for each utility tool.

The API will execute a script in the system VM, and return back as API response the;

  • stdout: normal standard output information return by the command execution. 
  • stderr: normal standard error output information.
  • exitcode: the remote command execution code.

Example output below using cloudmonkey to test with an SSVM;

Not Doing

  • UI integration
  • No labels