The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Cisco ICFP, which is a virtual appliance that is deployed on the service provider cloud data center, enables service provider customers to access cloud resources using Cisco Intercloud Fabric APIs. The virtual appliance provides a virtual network interface that enables a customer's Cisco Intercloud Fabric to reach the Cisco ICFP appliance instance from public networks.
The following figure shows the Cisco ICFP virtual appliance architecture.
The Cisco ICFP architecture includes four major interfacing modules:
Module |
Description |
---|---|
Northbound Cisco Intercloud Cloud API |
Implements the Cisco Intercloud cloud API, which is consumed by cloud API translations on the customer private cloud for workload-provisioning purposes. |
Northbound Cisco Intercloud Provider API |
Implements two sets of APIs that enable the service provider to: |
Core Application Logic |
Implements the main application logic of Cisco ICFP, such as tenant configuration in Cisco ICFP and resource usage metering. |
Southbound Cloud Adapter Layer |
Implements the various cloud platform-interfacing adapters, each of which is responsible for interfacing with a specific cloud platform, such as Cisco Intercloud Services – V. |
The northbound Cisco Intercloud Fabric module uses Representational State Transfer (REST) APIs that are consumed by Cisco Intercloud Fabric in the customer private cloud for provisioning workloads and managing workload images and templates.
A service provider administrator uses the northbound Cisco Intercloud provider APIs to configure and manage the Cisco ICFP virtual appliance. These APIs belong to the following categories:
Cloud instance management APIs
Database management APIs
Logging APIs
Syslog configuration APIs
System information API
Tenant management APIs
For details on these APIs, see Service Provider APIs.
Many APIs can be used with other troubleshooting tools to build diagnostic suites that a service provider administrator can use to debug appliance- and tenant-related problems.
The following tables summarize the available APIs.
Category | HTTP Method | Request URL | Request Header / Body | Response Body | Comments |
---|---|---|---|---|---|
Cloud Instance Management |
POST |
/capi/v1/cloudinstances |
API session key, cloud instance |
Cloud instance ID |
Creates a new cloud instance. |
PUT |
/capi/v1/cloudinstances/cloudId |
API session key, cloud instance ID |
Cloud instance ID |
Updates an existing cloud instance. |
|
GET |
/capi/v1/cloudinstances/cloudId |
API session key, cloud instance ID, cloud credentials |
Cloud record |
Gets a cloud record. |
|
GET |
/capi/v1/cloudinstances |
API session key |
Cloud record |
Gets all cloud records in the database. |
|
DELETE |
/capi/v1/cloudinstances/cloudId |
API session key, cloud instance ID |
Cloud record |
Deletes a cloud instance. |
Category |
HTTP Method |
Request URL |
Request Header / Body |
Response Body |
Comments |
---|---|---|---|---|---|
Database Management |
POST |
/capi/v1/dbbackup |
API session key, database backup name |
Database backup ID |
Creates a database backup. |
GET |
/capi/v1/dbbackup/backupId |
API session key |
Database backup status |
Gets a database backup status. |
|
POST |
/capi/v1/dbrestore |
API session key, database backup ID |
Restores a database from a backup |
Restores a database backup. |
|
GET |
/capi/v1/dbrestore/restoreId |
API session key |
Database restoration status. |
Gets a database restoration status. |
Category |
HTTP Method |
Request URL |
Request Header / Body |
Response Body |
Comments |
---|---|---|---|---|---|
Logging |
GET |
/capi/v1/logs/current |
API session key |
Zipped file of current logs |
Downloads the current logs in a zipped file. |
GET |
/capi/v1/logs/all |
API session key |
Zipped file of all logs |
Downloads all logs in a zipped file. |
Category |
HTTP Method |
Request URL |
Request Header / Body |
Response Body |
Comments |
---|---|---|---|---|---|
Syslog Configuration |
POST |
/capi/v1/syslogconfig |
API session key, log level, remote syslog server |
Syslog server configuration |
Configures syslog in Cisco ICFP. |
GET |
/capi/v1/syslogconfig |
API session key |
Syslog server configuration |
Retrieves the syslog configuration from Cisco ICFP. |
Category |
HTTP Method |
Request URL |
Request Header / Body |
Response Body |
Comments |
---|---|---|---|---|---|
System Information |
GET |
/capi/v1/systeminfo |
API session key |
Information about Cisco ICFP |
Retrieves information about Cisco ICFP system nodes. |
Category | HTTP Method | Request URL | Request Header / Body | Response Body | Comments |
---|---|---|---|---|---|
Tenant Management |
POST |
/capi/v1/tenants |
API session key, tenant record (such as name and resource limits) |
Tenant ID |
Provisions a new tenant. |
PUT |
/capi/v1/tenants/tenantId |
API session key, tenant ID |
Tenant ID |
Updates an existing tenant record. |
|
GET |
/capi/v1/tenants/tenantId |
Tenant ID |
Tenant record and associated servers |
Gets a tenant's details and all associated servers. |
|
GET |
/capi/v1/tenants/tenantId/servers |
API session key, tenant ID |
Tenant record |
Gets the details of a tenant. |
|
GET |
/capi/v1/tenants |
API session key |
Tenant record |
Gets all tenant records in the database. |
|
DELETE |
/capi/v1/tenants/tenantId |
API session key, tenant ID |
Tenant record |
Deletes a tenant. |
|
DELETE |
/capi/v1/tenants/tenantId/purge |
API session key, tenant ID |
Tenant record |
Deletes a tenant and all of its resources from the database. |
|
GET |
/capi/v1/servers/serverId |
API session key, server ID |
Server record |
Gets a server record. |
The core application logic module handles the following functions:
Function |
Description |
---|---|
Intercloud cloud API back-end processing |
The back end of Intercloud cloud API processing. Based on the cloud platform type that is configured for the tenant, this function calls the appropriate cloud adapter function for fulfilling cloud orchestration requests that are issued by Cisco Intercloud Fabric. |
Cloud instance and tenant provisioning |
Creates and manages cloud platform instance records and tenant records. |
Tenant resource usage limit enforcing |
Enforces the usage limit based on tenant-specific resource usage limits, such as the number of VMs, that the provider administrator has configured for a tenant. |
Tenant resource usage metering |
Collects resource usage rates for usage-metering applications, based on cloud resource allocation and provisioning requests and responses. |
Tenant resource monitoring |
Issues cloud platform API requests for resource-monitoring purposes. The service provider can use the relevant northbound APIs to retrieve the resource-monitoring status on demand. |
The southbound cloud adapter layer implements cloud adapters that communicate with cloud platforms to provision workloads and orchestrate cloud infrastructures. The Cisco ICFP cloud adapter layer defines the APIs that are to be implemented by the cloud platforms.
Cisco ICFP supports built-in cloud adapters that facilitate integration with the following cloud platforms in the service provider's environment:
Service providers who use these cloud platforms can use the built-in cloud adapters. Service providers who use other cloud platforms must build platform-specific adapters for Cisco ICFP to work with the targeted cloud platforms. Service providers can use Cisco's Custom Cloud Adapter Integration framework to simplify and facilitate cloud adapter development for their customers.
Cloud adapters must issue one or more API requests to the targeted cloud platforms and expect an asynchronous event when they receive corresponding API responses from the cloud platforms.
The following figure shows the logical flow of the Cisco ICFP cloud adapter infrastructure when it is shared between built-in and custom adapters.