Troubleshooting Guide
Application installation/deployment failed.
One of the major reasons for the application installation failure is not enough resources available on the device.
Check the available space on the device using one of the clients below.
Using Local Manager
Check the available space on the device by clicking on "System Troubleshoot".
Look under Diagnostic summary disk usage. "/software" will tell you the available space on device for app installation.
Using ioxclient
Command: ioxclient platform diag
Choose summary.
Choose "n" on detailed output.
Look for "/software".
Using Fog Director
- Go to devices page, and click on the device from the list. The available space is shown in a bar chart on that page (more information is displayed when the mouse cursor hovers on the chart).
If the resources requested are larger than what is available, the deployment fails. The application size includes the tar ball size. You must take into account the size of the untar components of the package.
- If there is space available on the device, wait for the given amount of time for the installation to complete. Time varies on the size of the application.
The following table shows the maximum size of the application allowed on a specific device and the ideal time taken for app deployment on the following platforms based on the app size.
In good network conditions:
Platform |
Max App size |
IR800 |
Varies on the Disk partition |
IE4K |
256MB |
Platform |
App size |
Time to deploy the application |
IR800 |
2MB - 10MB |
10 secs |
IR800 |
10MB - 20MB |
1 min 5 secs |
IR800 |
30MB -50MB |
1 min 33 secs |
Platform |
App size |
Time to deploy the application |
IE4K |
2MB - 20MB |
20 secs |
IE4K |
30MB - 50MB |
1 min 36 secs |
For IR800 platforms, use the following the command:
NOTE: This operation completely reformats the IOx VM, so you must reload the IOx (guest-os) VM. Then, you must reload and reactiviate all applications, including all application data stored in “/data”.
To reload, use the following command:
Or, repeat the bundle installation using the following command:
Application is running but not accessible.
If an application was activated in Bridge mode, check if the application has an IP address.
To check the IP address:
Using Local Manager
Click manage on the app.
Go to app-info, and click on interface-name eth0.
The network information on the pop up should display the IP address.
Using ioxclient
CMD: ioxclient app info
Look under "network info".
Using Fog Director
Go to devices page, and click on the device from the list. The application IP address is shown in the "App Details" section for that application on the page.
If the IP address is not assigned, you can use one of a few methods to debug the application based on the type of the application.
One method is try to assign a static IP address, and check if the application is able to get an IP address. Use one of the following methods:
Using Local Manager
Stop the application, and deactivate the application.
Click on "activate" on the activation page under Network Configuration.
Click on "Interface Setting".
In the pop up choose static. Fill in the required details and confirm.
Start the application.
Using ioxclient
Stop the application.
Deactivate the application.
Activate the application using a payload which has details of the static IP address.
Using Fog Director
Go to devices page.
Click on the device from the list.
Find the section for that application, and select the tab "EDIT APP SETTINGS".
Configure static IP address, and submit the new configurations.
LXC Applications
If the application does not have an IP address:
Check the app configuration, and verify if the app is in Bridge or NAT mode.
If it is in Bridge mode, check the DHCP server configuration.
Log in to the application console, and check the ps output.
Check that DHCP client is running.
If IOS is configured as the DHCP server, turn on debug in IOS to see the DHCP server logs.
Docker Applications
If the application does not have an IP address:
Check the IOS side GOS Pool Configuration. Use the show ip dhcp binding command from the privileged exec prompt (#).
Check the watchdog log of the application.
Networking Debugging
An application can be activated in two ways: NAT mode or Bridge mode (default).
In NAT mode IOx assigns an IP address to the application. In Bridge mode, you can assign the IP address in two ways: Dynamic or Static
In a Dynamic way, the application should get an IP address dynamically from IOS.
In a Static way, the developer has to assign an valid IP address.
Application goes to Stopped mode as soon as it started.
To debug this application:
Deactivate the application.
Activate the application in debug mode, and start using ioxclient.
Command to activate the application in debug mode is:
This allows the application to stay in running state.
Use the application console command to console in to the application.
Check if the required handlers are up.
How to access application console.
If application is of LXC or VM type, use the following console command to get into container namespace:
If application is of Docker type, use the following command to get into container namespace:
Log Files
Use the log files at any time to see if there are any errors with the application or system.
On Local Manager, click on the "System Troubleshoot". All the errors recorded in the CAF log will be available with details on the left pane. On the right pane you have the option to download the log for further analysis.
Cisco Application hosting Framework (CAF) is the key component of IOx that manages the operations of the applications on an IOx device.
CAF logs contain information relevant to the results of application state changes (start, stop, activate, deactivate).
Common platform logs syslog, dmesg are available to check the system status.
CAF Error Message Description
Error string |
Description |
Virsh : get_app_ipaddress_info failed: or nsenter:did not got app ipaddress info |
Application rootfs doesn't have "ifconfig" binary which is required by CAF to query app network interface info. This doesn't impact app lifecycle operation, and app functionality is expected to work fine. |