Application Capabilities
This page describes ISR4K/ASR1K platform specific capabilities that are available to IOx application.
Application Types supported
ISR4K/ASR1K platforms support LXC and KVM type applications.
However, there are some exceptions for docker type support are discussed in the following section.
Docker Type Support Exceptions
For 16.8 and 16.9, due to the host-os lack of support for multi-layering, Enterprise "docker" type apps are "not" supported. Please use the LXC type work-flow instead.
Planned for 16.10, Polaris XE-linux support of multi-layering via OverlayFS will enable "docker" type application support
Additionally, to console access an IOx docker app, which does not support a "getty" serial driver attached to t
tyS0/S1 devices, the console "session" option is supported for non-authenticated connections to the docker app as shown below.
Refer to Docker Applications for more details on building a Docker Type application.
Application resource limit
Platform |
Memory (MB) |
Max VMs |
vCPUs |
CPU Units |
HDD Storage (GB) |
ISR4321 |
512-10240 |
2-4 |
2-6 |
|
20 |
|
|
|
|
|
|
ASR1001-X |
512-4096 |
2-4 |
1 |
|
10-20 |
ioxclient Configuration
The initial default "ioxclient" default profile, which is created at the users home directory, needs to be initialized as follows.
In general, the configuration values are customer specific, except for the following parameters:
- Your IOx platform's port number[8443] : 443
- Local repository path on IOx platform[/software/downloads]:
- API Prefix[/iox/api/v2/hosting/]:
- Your IOx platform's SSH Port[2222]: 22
Example:
Application Networking
ISR4K/ASR1K platforms support for application networking:
- Management Interface connections only support Layer2 Bridge mode. Applications are not aware of the IOS Management interface's VRF configuration.
- VPG (Virtual Port Group) interfaces connections:
- Layer3 Routed mode
- NAT (Network Address Translation)
- ip-unnumbered
- IPv6 for application network interface is not supported.
Device resources
- Application accessible storage medium is the same medium used for installation which is an internal HDD.
- There are four serial ports (stty0-stty3) available for applications as follows:
Serial Port |
Linux Device (/dev) |
Function |
IOS Exec CLI Command |
serial0 |
ttyS0 |
console connection |
app-hosting connect appid MYAPP console |
serial1 |
ttyS1 |
auxillary connection (2nd concurrent app console connection) |
app-hosting connect appid MYAPP aux |
serial2 |
ttyS2 |
syslog and IOS console logging |
show logging |
serial3 |
ttyS3 |
Trace logfile |
request platform software trace rotate all |
For more details, refer to Section Enterprise App-Hosting Logging Tracing Services
Application Security
ISR4K/ASR1K platforms support application signature verification. App signature validation is disabled by default.
Licensing
ISR4K/ASR1K platforms do not require any special Cisco Smart Licensing to enable App-Hosting.
IOx services
IOx services is by default disabled for ISR4K/ASR1K platforms.
The following IOX features require IOS CLI configurations to be saved on the platform.
IOx Enablement
To enable IOX to support any App-Hosting features, the following IOS CLI is required:
To validate IOX infra is running:
"IOx service (HA)" state of "Not Running" is expected since ISR4K does not support High Availability (HA).
To proceed with any app-hosting life-cycle commands, you must wait until the IOX infra is ready by using the "show app-hosting list" until the current app-hosting state output is shown.
Example:
IOX Interface Configuration Examples
Below are examples of 16.8 IOS CLI App-hosting configuration CLIs. Release 16.9 introduces a different IOS CLI syntax. Refer to the customer documentation on Cisco.com: Programmability Command Reference and Programmability Configuration Guide
Management Interface Configurations
Use these configurations "only" if Management port is used for the Application data port.
Configs requires Management interface and Application interface to be on the same subnet.
Front Data Panel data-port interface configurations
Use these configurations "only" if front data-port is used for the Application data port.
Configs requires data-port interface and Application interface to be on the different, routable "public" subnets.
Application eth0 connects to a Virtual Port Group (VPG) subnet which is routed to a front panel data-port.
For 16.8, only L3 routable front-panel data port mode is supported for container connections via VPG. No L2 switching features are supported for the VPG in 16.8.
IOX App DHCP Support
The above app-hosting Static IP address configurations apply only to LXC or Docker type IOx applications.
KVM does not support IOS configuration for Static IPs.
KVM apps IP address assignment can be done either:
- OS specific manual configuration of the eth0 interfaces.
- Using an application installed DHCP client.
For any IOx application implementing DHCP IP address assignments, the following app-hosting configurations are used.
IOx Application Life-cycle IOS CLI Commands
Below are examples of 16.8 IOS CLI App-hosting Life-cycle CLIs.
16.9 introduces a different IOS CLI syntax. Refer to the customer documentation on Cisco.com: Programmability Command Reference
Example of Life-cycle command for a PerfSonar LXC app
- To Connect to IOx PerfSonar console: (login/password: root/cisco)
NOTE: to exit Perfsonar's console mode, use "^c^c^c".
Output Example:
- To Delete a Running App, the following sequence order must be followed:
- app-hosting stop appid
- App in "shutdown" state, but cpu/memory/disk resources still allocated and rootfs files and changes remain persistent
- app-hosting deactivate appid
- App removed with cpu/memory/disk resources all released, but rootfs files and changes remain persistent
- app-hosting uninstall appid
- App completely removed from IOx and all rootfs files and changes are lost