Cisco Elastic Services Controller 1 0 REST API Guide

Cisco Elastic Service Controller 1.0
REST API Guide
Cisco Systems, Inc.
www.cisco.com
Cisco has more than 200 offices worldwide.
Addresses, phone numbers, and fax numbers
are listed on the Cisco website at
www.cisco.com/go/offices.
Cisco Elastic Service Controller 1.0 REST API Guide
© 1999–2015 Cisco Systems, Inc. All rights reserved.
Contents
PART 1 – ESC REST API FOR NB CLIENTS ...................................................................................... 5
Introduction........................................................................................................................................................... 5
1) Tenants .............................................................................................................................................................. 7
List Tenants ...............................................................................................................................................................7
Create a Tenant .........................................................................................................................................................8
Get a Tenant ............................................................................................................................................................11
Delete a Tenant .......................................................................................................................................................14
2) Networks ......................................................................................................................................................... 17
List Networks for Tenant .........................................................................................................................................17
Create Network for Tenant .....................................................................................................................................19
Get Network for Tenant ..........................................................................................................................................23
Delete Network for Tenant .....................................................................................................................................26
3) Subnets ............................................................................................................................................................ 29
List Subnets for Tenant ...........................................................................................................................................29
Create Subnet for Tenant ........................................................................................................................................32
Get Subnet for Tenant .............................................................................................................................................36
Delete Subnet for Tenant ........................................................................................................................................38
4) Service-Catalog ................................................................................................................................................ 40
List all services in ServiceCatalog ............................................................................................................................41
Create/Register Service in ServiceCatalog ..............................................................................................................44
Get a specific registered Service in Service Catalog ................................................................................................48
Delete/Unregister Service in ServiceCatalog...........................................................................................................51
5) Deployments ................................................................................................................................................... 54
Get All Deployments ...............................................................................................................................................54
Create/Deploy .........................................................................................................................................................56
Get a Specific Deployment ......................................................................................................................................61
Delete/Undeploy .....................................................................................................................................................64
ESC Callback Event ..................................................................................................................................................67
6) VM Operations ................................................................................................................................................ 81
Stop a specified VM .................................................................................................................................................81
Start a specified VM ................................................................................................................................................85
Reboot a specified VM ............................................................................................................................................90
Disable VM Monitoring on a specified VM..............................................................................................................95
Enable VM Monitoring on a specified VM ..............................................................................................................99
7) VNF Operations ............................................................................................................................................. 104
Stop Service ...........................................................................................................................................................104
Start Service ..........................................................................................................................................................109
Reboot Service ......................................................................................................................................................117
Disable Monitoring for VNF ...................................................................................................................................123
Enable Monitoring for VNF....................................................................................................................................127
4
PART 1 – ESC REST API for NB Clients
Introduction
o
o
o
o
o
o
Resources managed by ESC: Tenants, Networks, Subnets, Users, ServiceCatalog, Deployments
GET operations are synchronous the request/response parameters are described with an example of
a request/response
POST, DELETE, PUT operations are asynchronous. The asynchronous design use the “web hooks”
approach using two independent "one-way" invocations - one to start a long-running operation
(Client to ESC) and the other one to notify a requester that it is completed (ESC to client)
o The inbound representation of the operation request will contain a callback field, whose
value is a URI where the client expects a callback. If this field is not present, no callback will
be performed.
o When the operation has completed (either successfully or unsuccessfully), ESC will perform
a POST request to the callback URI, with an entity body containing the final status resource
for this operation.
o Client can match a completion report back to the original request by comparing the internal
transaction ID field value to the one returned in the initial status response
o ESC Clients are expected to provide a REST implementation for all the callbacks.
All POST,DELETE,PUT operations that require request and/or response body must provide a header
parameter for media type. Note, that ESC is currently tested to accept and return XML. For
example:
Content-Type: application/xml
Accept: application/xml
Some string parameters, such as id, name, are restricted by the underlying cloud provider, such as
Openstack. The allowable range for these parameters is included in the Create section for each
resource, in this notation: String minimum-length . . maximum length, for example, for
Tenant name: String 1 . . 64
Generally, names are either 1..64 (for Tenant/User) or 1..255 (Network/Subnet/Flavor/Image/VM)
Id (such as uuid) are restricted to 64 characters, such internal_id 1..64, external_id 1..64
ESC imposes this limitation / restriction concerning internal ids:
 internal id naming must conform the standards stated in RFC 3986 Uniform
Resource Identifier (URI): Generic Syntax. See sections related to URI encoding,
sections 2.2 Reserved Characters and 2.3 Unreserved Characters. ESC will accept
an internal id specified in the request URL form the unreserved character set:
unreserved = ALPHA / DIGIT / "-" / "." / "_”
 NOTE: the tilde “~” is not supported in the internal id character set
 the internal id received in a request must be unique within the scope of all the
domain resources (tenant, network, subnet, service catalog, deployment )
For example, you cannot create 2 networks with the same internal_network_id,
even if the networks are created in different tenants
 It is recommended that the ESC north bound client generate internal ids within the
scope of the ESC.
5
o
NOTE: Reusing ( recycling ) of internal ids is not recommended. This practice can
lead to confusion in trouble shooting.
ESC does not support Use Cases where Resources managed by ESC are modified directly in
Openstack, that is, created/delete/updated out-of-band of ESC. The behavior for out-of-band
modifications to Openstack of resources tenant/user/network/subnet/vm is as follows:
Out-of-Band Action
Result of ESC API call
create tenant/user/network/subnet in
• create tenant/user/network/subnet with
Openstack
matching name will fail, with callback POST
409 conflict
delete tenant/user/network/subnet in
• delete of tenant/user/network/subnet,
Openstack
previously created through ESC will fail, with
callback POST 404 not found
• get of tenant/user/network/subnet will
return details stored in esc_database
• create of tenant/user/network/subnet will
fail, with callback POST 409 conflict
update resource in Openstack
• tenant/user/network/subnet in esc database
remains unmodified. The result is a
mismatch between esc and Openstack
delete vm in Openstack
• this will trigger ESC statemachine to perform
recovery – a new VM will be deploy
reboot or shutdown vm in Openstack
• this will trigger ESC statemachine to perform
recovery – VM hard reboot will be
attempted, followed by undeploy/deploy (if
required)
6
1) Tenants
List Tenants
Note: All URIs listed in this document needs to be preceded by http://10.0.0.1:8080/ESCManager/
assuming 10.0.0.1 is ESC IP and the REST interface is running with http and not https. For more info
about running ESC REST interface over https please refer to ESC installation guide.
Verb
URI
/v0/tenants
GET
Description
List tenants
Request
Request Parameters:
Name
client-transaction-id
Style
Header
Type
String
Required
No
Description
Transaction ID
supplied by ESC
NB client used
for debugging
and logging
Request Example:
GET /v0/tenants HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error
Response Parameters
Name
external_tenant_id
Style
Body
Type
String
internal_tenant_id
name
Body
Body
String
String
Description
Generated Openstack
tenant ID
NB Client tenant ID
Tenant name
7
enabled
Body
description
Body
Boolean Indicates if tenant is
enabled
String
Description about the
tenant
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
<?xml version="1.0" encoding="UTF-8"?>
<tenants>
<tenant>
<internal_tenant_id>434353243432434</internal_tenant_id>
<external_tenant_id>234243490854004</external_tenant_id>
<name>Elie</name>
<enabled>true</enabled>
<description>A description...</description>
</tenant>
<tenant>
<internal_tenant_id>434353243432434</internal_tenant_id>
<external_tenant_id>534534543854004</external_tenant_id>
<name>Michael</name>
<enabled>true</enabled>
<description>A description...</description>
</tenant>
</tenants>
Create a Tenant
Verb
URI
Description
POST /v0/tenants/{internal_tenant_id} Creates a
tenant
Request
Request Parameters:
Name
client-transaction-id
Style
Header
Type
String
internal_tenant_id
Template String
Required
Description
No
Transaction
ID supplied
by ESC NB
client used
for debugging
and logging
Yes
Internal
8
1..64
Name
Body
Enabled
Body
String
Yes
1..64
Boolean Yes
description
Body
String
No
callback
Header
String
Yes
Tenant ID
provided by
ESC NB client
Tenant name
Indicates if
tenant is
enabled
Description
about the
tenant
URL to be
used for
callback
Request Example:
POST /v0/tenants/123 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/createtenantcallback
<?xml version="1.0" encoding="UTF-8"?>
<tenant xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<name>Elie</name>
<enabled>true</enabled>
<description>A description...</description>
</tenant>
Response (synchronous)
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Internal Server Error (500)
Response(synchronous)Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
9
HTTP/1.1 204 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response (callback)
Response Codes
Normal Response Code(s): 200
Error Response Code(s): Conflict 409, Internal Server Error 500
Response(callback)Parameters
Name
esc-transaction-id
Style
Header
esc-status-code
Header
esc-status-message
Header
external_tenant_id
Body
name
internal_tenant_id
Body
Body
enabled
Body
description
Body
Type
String
Description
A unique internal
transaction ID
generated by ESC for
every request
String
Code representing
Http status code
String
A message describing
the response could be
a success or error
message
String
Generated Openstack
tenant ID
String
Tenant name
String
Generated Openstack
tenant ID
Boolean Indicates if tenant
is enabled
String
Description about the
tenant
Response Example (Success):
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Success …
10
<?xml version="1.0" encoding="UTF-8"?>
<tenant>
<external_tenant_id>234243490854004</external_tenant_id>
<internal_tenant_id>434344896854965</internal_tenant_id>
<name>Elie</name>
<enabled>true</enabled>
<description>A description...</description>
</tenant>
Response Example (Failure):
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 500
ESC-Status-Message: Internal Server Error
<?xml version="1.0" encoding="UTF-8"?>
<tenant>
</tenant>
Get a Tenant
Verb
URI
Description
GET
/v0/tenants/{internal_tenant_id} Get tenant
information
by ID
Request
Request Parameters:
Name
clienttransaction-id
Style
Header
Type
String
internal_tenant_id Template
String
Required
Description
No
Transaction ID
supplied by ESC
NB client used
for debugging
and logging
Yes
Internal Tenant
ID provided by
ESC NB client
11
Request Example:
GET /v0/tenants/123 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Body
external_tenant_id
Body
name
enabled
Body
Body
description
Body
Type
String
Description
A unique internal
transaction ID
generated by ESC for
every request
String
Generated Openstack
tenant ID
String
Tenant name
Boolean Indicates if tenant
is enabled
String
Description about the
tenant
Response Example:
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<tenant>
<external_tenant_id>234243490854004</external_tenant_id>
<name>Elie</name>
<enabled>true</enabled>
<description>A description...</description>
</tenant>
12
13
Delete a Tenant
Verb
URI
Description
DELETE /v0/tenants/{internal_tenant_id} Deletes a
tenant
Request
Request Parameters
Name
client-transaction-id
Style
Header
Type
String
internal_tenant_id
Template
String
callback
Header
String
Required Description
No
Transaction
ID supplied
by ESC NB
client used
for
debugging
and logging
Yes
Internal
Tenant ID
provided by
ESC NB
client
Yes
URL to be
used for
callback
Request Example:
DELETE /v0/tenants/123 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/deletetenantcallback
Response (synchronous)
Normal Response Code(s): 204
Bad Request (400), Internal Server Error
(500), 400 Resource Not Found
Error Response Code(s):
Response(synchronous)Parameters
14
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response(callback)
Response Codes
Normal Response Code(s): 200
Error Response Code(s): Internal Server Error 500
Response(callback)Parameters
Name
Style
esc-transaction-id Header
Type
String
esc-status-code
Header
String
esc-status-message Header
String
Description
A unique internal
transaction ID generated
by ESC for every request
Code representing Http
status code
A message describing the
response could be a
success or error message
Response Example:
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Success …
15
16
2) Networks
List Networks for Tenant
Verb
URI
Description
GET
/v0/{internal_tenant_id}/networks Lists networks
to which the
specified
tenant has
access.
NOTE: a List request will return all shared networks. So
networks that were created with a different internal_tenant_id
that are shared will be returned.
Request
Request Parameters:
Name
clienttransaction-id
Style
Header
Type
String
internal_tenant_id Template
String
Required
Description
No
Transaction ID
supplied by ESC
NB client used
for debugging and
logging
Yes
Internal Tenant
ID provided by
ESC NB client
Request Example:
GET /v0/123/networks HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code(s): 200
Error Response Codes: 400 Bad Request, 500 Internal Server Error
17
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
Description
A unique internal
transaction ID generated
by ESC for every request
status
subnets
name
admin_state_up
Body
Body
Body
Body
String
List
String
Boolean
The network status.
external_tenant_id
Body
external_network_id Body
shared
Body
The associated subnets.
The network name.
A Boolean value that
indicates the
administrative status of
the network.
String
OpenStack tenant ID.
String
OpenStack network ID.
Boolean Indicates whether this
network is shared across
all tenants. By default,
only administrative users
can change this value.
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<networks>
<network>
<admin_state_up>true</admin_state_up>
<external_network_id>9ad32b6f-bb65-4a09-b67395945a7dfd00</external_network_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_network_id>sample-network-01</internal_network_id>
<name>sample-network-01</name>
<network_id>9ad32b6f-bb65-4a09-b673-95945a7dfd00</network_id>
<shared>false</shared>
<tenant_id>4f384dfc667a4776bc3169da27d09db5</tenant_id>
</network>
<network>
<admin_state_up>true</admin_state_up>
<external_network_id>5661d66b-6ac4-49ae-b744a5593f4aafbb</external_network_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_network_id>sample-network-02</internal_network_id>
<name>sample-network-02</name>
18
<network_id>5661d66b-6ac4-49ae-b744-a5593f4aafbb</network_id>
<shared>false</shared>
<tenant_id>4f384dfc667a4776bc3169da27d09db5</tenant_id>
</network>
</networks>
Create Network for Tenant
19
Verb
URI
Description
POST /v0/{internal_tenant_id}/networks/{ Creates a
internal_network_id}
network for
tenant
Request
Request Parameters:
Name
client-transaction-id
Style
Header
Type
String
Required
No
callback
Header
String
Yes
internal_tenant_id
Template
String
1..64
Yes
internal_network_id
Template
String
1..64
Yes
name
Body
admin_state_up
Body
String
Yes
1..255
Boolean No
shared
Body
Boolean No
provider:network_type
Body
String
No
Description
Transaction
ID supplied
by ESC NB
client used
for
debugging
and logging
URL to be
used for
callback
Internal
Tenant ID
provided by
ESC NB
client
Internal
Network ID
provided by
ESC NB
client
Network name
Description
about the
tenant
Indicates
whether this
network is
shared across
all tenants.
By default,
only
administrativ
e users can
change this
value.
Provider
20
provider:physical_networ
k
Body
String
No
provider:segmentation_id
Body
String
No
network type
for instance
“vlan”
Provider
physical
network
Vlan ID
Request Example:
POST /v0/123/networks/567 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/createnetworkcallback
<?xml version="1.0" encoding="UTF-8"?>
<network xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<name>sample-network-01</name>
<admin_state_up>true</admin_state_up>
<shared>false</shared>
</network>
Response (synchronous)
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Internal Server Error (500),
Conflict (409)
Response(synchronous)Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
21
Response(callback)
Response Codes
Normal Response Code(s): 200
Error Response Code(s): Internal Server Error 500
Response(callback) Parameters
Name
esc-transaction-id
Style
Header
Type
String
Description
A unique internal
transaction ID
generated by ESC for
every request
Code representing Http
status code
A message describing
the response could be a
success or error
message
esc-status-code
Header
String
esc-status-message
Header
String
status
name
admin_state_up
Body
Body
Body
external_tenant_id
Body
external_network_id
shared
Body
Body
The network status.
String
String
The network name.
Boolean A Boolean value that
indicates the
administrative status
of the network.
String
OpenStack tenant ID of
network owner
String
Openstack network ID.
Boolean Indicates whether this
network is shared
across all tenants. By
default, only
administrative users
can change this value.
Response Example:
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
22
ESC-Status-Message: Success …
<?xml version="1.0" encoding="UTF-8"?>
<network>
<admin_state_up>true</admin_state_up>
<external_network_id>9ad32b6f-bb65-4a09-b67395945a7dfd00</external_network_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_network_id>sample-network-01</internal_network_id>
<name>sample-network-01</name>
<shared>false</shared>
</network>
Get Network for Tenant
Verb
GET
URI
/v0/{internal_tenant_id}/networks/{inter
nal_network_id}
Description
Shows information
for the specified
network
NOTE: The GET request will return successfully only if the
network was created under the tenant or if the network is
shared.
So it is valid to get a network created under a
23
different tenant id, as long as the network was created as
shared.
Request
Request Parameters:
Name
client-transaction-id
Style
Header
Type
String
internal_tenant_id
Template
String
internal_network_id
Template
String
Required Description
No
Transaction
ID supplied
by ESC NB
client used
for
debugging
and logging
Yes
Internal
Tenant ID
provided by
ESC NB
client
Yes
Internal
Network ID
provided by
ESC NB
client
Request Example:
GET /v0/123/networks/567 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
Description
A unique internal
24
transaction ID
generated by ESC for
every request
status
subnets
name
admin_state_up
Body
Body
Body
Body
external_tenant_id
Body
external_network_id
shared
Body
Body
String
List
String
Boolean
The network status.
The associated subnets.
The network name.
A Boolean value that
indicates the
administrative status
of the network.
String
OpenStack tenant ID of
network owner
String
Openstack network ID.
Boolean Indicates whether this
network is shared
across all tenants. By
default, only
administrative users
can change this value.
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<network>
<admin_state_up>true</admin_state_up>
<external_network_id>9ad32b6f-bb65-4a09-b67395945a7dfd00</external_network_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_network_id>sample-network-01</internal_network_id>
<name>sample-network-01</name>
<network_id>9ad32b6f-bb65-4a09-b673-95945a7dfd00</network_id>
<shared>false</shared>
<tenant_id>4f384dfc667a4776bc3169da27d09db5</tenant_id>
</network>
25
Delete Network for Tenant
Verb
DELET
E
URI
Description
Deletes
the
/v0/{internal_tenant_id}/networks/{internal
specified
network and its
associated
resources.
_network_id}
Request
Request Parameters:
Name
client-transaction-id
Style
Header
Type
String
callback
Header
String
internal_tenant_id
Template
String
internal_network_id
Template
String
Required Description
No
Transaction
ID supplied
by ESC NB
client used
for
debugging
and logging
Yes
URL to be
used for
callback
Yes
Internal
Tenant ID
provided by
ESC NB
client
Yes
Internal
Network ID
provided by
ESC NB
client
Request Example:
DELETE /v0/123/networks/567 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/deletenetworkcallback
Response (synchronous)
26
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Resouce Not Found (404), Internal
Server Error (500)
Response(synchronous)Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response(callback)
Response Codes
Normal Response Code(s): 200
Error Response Code(s): Network In Use (409), Internal Server Error (500)
Response(callback) Parameters
Name
esctransaction-id
esc-statuscode
esc-statusmessage
Style
Header
Type
String
Header
String
Header
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Response Example:
27
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Success …
28
3) Subnets
List Subnets for Tenant
Verb
URI
Description
GET
/v0/{internal_tenant_id}/subnets Lists subnets
to which the
specified
tenant has
access.
Request
Request Parameters:
Name
clienttransaction-id
Style
Header
Type
String
internal_tenant_id Template
String
Required
Description
No
Transaction ID
supplied by ESC
NB client used
for debugging and
logging
Yes
Internal Tenant
ID provided by
ESC NB client
Request Example:
GET /v0/123/subnets HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error
Response Parameters
Name
Style
Type
Description
29
esc-transaction-id
Header
String
A unique internal
transaction ID generated
by ESC for every request
name
Body
String
Human-readable name for
this subnet (might not be
unique).
external_tenant_id
Body
String
external_network_id
allocation_pools
Body
Body
String
List
OpenStack tenant ID of
network owner
Openstack network ID.
gateway_ip
Body
ip_version
cidr
Body
Body
external_subnet_id
enable_dhcp
Body
Body
List of cidr sub-ranges
that are available for
dynamic allocation to
ports. Syntax:
<start>10.10.0.2</start>
<end>10.10.0.254</end>
Default gateway used by
String
devices in this subnet.
IP version.
String
IP range for this subnet,
String
based on the IP version.
OpenStack subnet ID
String
Boolean Specifies whether DHCP is
enabled for this subnet.
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<subnets>
<subnet>
<cidr>1.80.0.0/24</cidr>
<enable_dhcp>true</enable_dhcp>
<external_network_id>9ad32b6f-bb65-4a09-b67395945a7dfd00</external_network_id>
<external_subnet_id>0ff5c75c-69fa-450f-86717c1d1a4842f4</external_subnet_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<gateway_ip>1.80.0.1</gateway_ip>
<internal_subnet_id>sample-subnet-01</internal_subnet_id>
<ip_version>4</ip_version>
<name>sample-subnet-01</name>
<network_id>9ad32b6f-bb65-4a09-b673-95945a7dfd00</network_id>
<subnet_id>0ff5c75c-69fa-450f-8671-7c1d1a4842f4</subnet_id>
</subnet>
<subnet>
30
<cidr>1.81.0.0/24</cidr>
<enable_dhcp>true</enable_dhcp>
<external_network_id>5661d66b-6ac4-49ae-b744a5593f4aafbb</external_network_id>
<external_subnet_id>c332ae2a-2215-4eb9-ac39cb554e0ccb63</external_subnet_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<gateway_ip>1.81.0.1</gateway_ip>
<internal_subnet_id>sample-subnet-02</internal_subnet_id>
<ip_version>4</ip_version>
<name>sample-subnet-02</name>
<network_id>5661d66b-6ac4-49ae-b744-a5593f4aafbb</network_id>
<subnet_id>c332ae2a-2215-4eb9-ac39-cb554e0ccb63</subnet_id>
</subnet>
</subnets>
31
Create Subnet for Tenant
Verb
URI
Description
POST /v0/{internal_tenant_id}/subnets/{interna Creates a subnet on
a specified network.
l_subnet_id}
NOTE: a List request will return all subnets that are created in
a shared network. So subnets that were created with a different
internal_tenant_id that are in a shared network will be
returned.
Request
Request Parameters:
Name
Style
Type
Requir
ed
Description
clienttransaction-id
Header
String
No
Transaction ID supplied
by ESC NB client used
for debugging and
logging
name
Body
String
1..255
No
Human-readable name for
this subnet (might not be
unique).
internal_subnet_id
Template
String
1..64
Yes
internal_tenant_id
Template
String
1..64
Yes
internal_network_id
Body
String
1..64
Yes
Internal Subnet ID
provided by ESC NB
client
Internal Tenant ID
provided by ESC NB
client. Should be owner
of the network
Internal Network ID
provided by ESC NB
Client. Should be the
allocation_pools
Body
List
No
gateway_ip
Body
String
No
ip_version
cidr
Body
Body
String
String
No
No
Network ID with which
this subnet is
associated.
List of cidr sub-ranges
that are available for
dynamic allocation to
ports. Syntax:
<start>10.10.0.2</start>
<end>10.10.0.254</end>
Default gateway used by
devices in this subnet.
IP version.
IP range for this subnet,
32
enable_dhcp
Body
callback
Body
Boolea
n
Header
No
No
based on the IP version.
Specifies whether DHCP is
enabled for this subnet.
URL to be used for
callback
Request Example:
POST /v0/123/subnets/567 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/createsubnetcallback
<?xml version="1.0" encoding="UTF-8"?>
<subnet xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<name>sample-subnet-01</name>
<internal_network_id>sample-network-01</internal_network_id>
<enable_dhcp>true</enable_dhcp>
<ip_version>4</ip_version>
<cidr>1.80.0.0/24</cidr>
<gateway_ip>1.80.0.1</gateway_ip>
<allocation_pools>
<start>1.80.0.2</start>
<end>1.80.0.254</end>
</allocation_pools>
</subnet>
Response (synchronous)
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Internal Server Error (500)
Response(synchronous)Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
33
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response(callback)
Response Codes
Normal Response Code: Created 200
Error Response Codes: Conflict 409, Internal Server Error 500
Response(callback) Parameters
Name
esc-transaction-id
Style
Header
Type
String
Description
A unique internal
transaction ID generated
by ESC for every request
Code representing Http
status code
A message describing the
response could be a
success or error message
esc-status-code
Header
String
esc-status-message
Header
String
name
Body
String
Human-readable name for
this subnet (might not be
unique).
external_tenant_id
Body
String
external_network_id
allocation_pools
Body
Body
String
List
OpenStack tenant ID of
network owner
Openstack network ID.
gateway_ip
Body
String
ip_version
cidr
Body
Body
String
String
external_subnet_id
enable_dhcp
Body
Body
String
Openstack subnet ID.
Boolean Specifies whether DHCP is
List of cidr sub-ranges
that are available for
dynamic allocation to
ports. Syntax:
<start>10.10.0.2</start>
<end>10.10.0.254</end>
Default gateway used by
devices in this subnet.
IP version.
IP range for this subnet,
based on the IP version.
enabled for this subnet.
34
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Success …
<?xml version="1.0" encoding="UTF-8"?>
<subnet>
<cidr>1.80.0.0/24</cidr>
<enable_dhcp>true</enable_dhcp>
<external_network_id>9ad32b6f-bb65-4a09-b67395945a7dfd00</external_network_id>
<external_subnet_id>0ff5c75c-69fa-450f-86717c1d1a4842f4</external_subnet_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<gateway_ip>1.80.0.1</gateway_ip>
<internal_network_id>sample-network-01</internal_network_id>
<internal_subnet_id>sample-subnet-01</internal_subnet_id>
<ip_version>4</ip_version>
<name>sample-subnet-01</name>
<allocation_pools>
<start>1.80.0.2</start>
<end>1.80.0.254</end>
</allocation_pools>
</subnet>
35
Get Subnet for Tenant
URI
Ver
b
GET
Description
/v0/{internal_tenant_id}/subnets/{internal_sub
net_id}
Shows
information
for a
specified
subnet.
NOTE: The GET request will return successfully only if the
subnet was created under the tenant or if the subnet is in a
network that is shared.
So it is valid to get a subnet created
under a different tenant id, as long as the subnet is under a
network created as shared.
Request
Request Parameters:
Name
clienttransaction-id
Style
Header
Type
String
internal_tenant_id Template
String
internal_subnet_id Template
String
Required
Description
No
Transaction ID
supplied by ESC
NB client used
for debugging and
logging
Yes
Internal Tenant
ID provided by
ESC NB client
Yes
Internal Subnet
ID provided by
ESC NB client.
Request Example:
GET /v0/123/subnets/789 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
36
Response Codes
Normal Response Code: 200
Error Response Codes: 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
Description
A unique internal
transaction ID generated
by ESC for every request
name
Body
String
Human-readable name for
this subnet (might not be
unique).
external_tenant_id
Body
String
external_network_id
allocation_pools
Body
Body
String
List
OpenStack tenant ID of
network owner
Openstack network ID.
gateway_ip
Body
String
ip_version
cidr
Body
Body
String
String
external_subnet_id
enable_dhcp
Body
Body
String
Openstack subnet ID.
Boolean Specifies whether DHCP is
List of cidr sub-ranges
that are available for
dynamic allocation to
ports. Syntax:
<start>10.10.0.2</start>
<end>10.10.0.254</end>
Default gateway used by
devices in this subnet.
IP version.
IP range for this subnet,
based on the IP version.
enabled for this subnet.
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<subnet>
<cidr>1.81.0.0/24</cidr>
<enable_dhcp>true</enable_dhcp>
<external_network_id>5661d66b-6ac4-49ae-b744a5593f4aafbb</external_network_id>
<external_subnet_id>c332ae2a-2215-4eb9-ac39cb554e0ccb63</external_subnet_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
37
<gateway_ip>1.81.0.1</gateway_ip>
<internal_subnet_id>sample-subnet-02</internal_subnet_id>
<ip_version>4</ip_version>
<name>sample-subnet-02</name>
<network_id>5661d66b-6ac4-49ae-b744-a5593f4aafbb</network_id>
<subnet_id>c332ae2a-2215-4eb9-ac39-cb554e0ccb63</subnet_id>
</subnet>
Delete Subnet for Tenant
Verb
DELET
E
URI
/v0/{internal_tenant_id}/subnets/{internal_su
bnet_id}
Description
Deletes a
specified
subnet.
Request
Request Parameters:
Name
client-transaction-id
Style
Header
Type
String
internal_tenant_id
Template
String
internal_subnet_id
Template
String
callback
Header
String
Required Description
No
Transaction
ID supplied
by ESC NB
client used
for
debugging
and logging
Yes
Internal
Tenant ID
provided by
ESC NB
client
Yes
Internal
Subnet ID
provided by
ESC NB
client.
Yes
URL to be
used for
callback
Request Example:
38
DELETE /v0/123/subnets/789 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/deletesubnetcallback
Response (synchronous)
Normal Response Code(s): 200
Error Response Code(s):
Bad Request (400), Internal Server Error
(500)
Response(synchronous)Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Codes: Unauthorized (401), Not Found (404),
Conflict (409), Internal Server Error (500)
Response(callback) Parameters
Name
Style
Type
Description
39
escHeader
transaction-id
String
esc-statuscode
esc-statusmessage
Header
String
Header
String
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Success …
4) Service-Catalog
40
List all services in ServiceCatalog
Verb
URI
/v0/servicecatalog
GET
Description
Lists registered
services.
Request
Request Parameters:
Name
Style
clientHeader
transaction-id
Type
String
Required
Description
No
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Request Example:
GET /v0/servicecatalog HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Internal Server Error (500)
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
Description
A unique internal
transaction ID
generated by ESC for
every request
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
41
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<services>
<service_registration>
<flavor>
<ephemeral_disk_mb>0</ephemeral_disk_mb>
<external_flavor_id>a54750af-2bbb-4d30-b327117da37366e0</external_flavor_id>
<name>sample-service-definition-Group_0-sample_vm1</name>
<internal_flavor_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-flavor-0000</internal_flavor_id>
<memory_mb>4096</memory_mb>
<root_disk_mb>0</root_disk_mb>
<swap_disk_mb>0</swap_disk_mb>
<vcpus>2</vcpus>
</flavor>
<flavor>
<ephemeral_disk_mb>0</ephemeral_disk_mb>
<external_flavor_id>33e495bd-23c6-486f-8e780b1877a6bd7d</external_flavor_id>
<name>sample-service-definition-Group_0-sample_vm2</name>
<internal_flavor_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-flavor-0001</internal_flavor_id>
<memory_mb>4096</memory_mb>
<root_disk_mb>0</root_disk_mb>
<swap_disk_mb>0</swap_disk_mb>
<vcpus>4</vcpus>
</flavor>
<disk>
<cloud_init_support>true</cloud_init_support>
<container_format>bare</container_format>
<disk_bus>ide</disk_bus>
<disk_format>qcow2</disk_format>
<disk_prefix>sd</disk_prefix>
<e1000_net>true</e1000_net>
<external_image_id>9a239124-23cd-42fc-9faf7a0a1ae09435</external_image_id>
<imageIsEnabled>false</imageIsEnabled>
<name>sample-service-definition-Group_0-sample_vm1</name>
<internal_image_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-image-0000</internal_image_id>
<serial_console>true</serial_console>
<src>http://161.44.198.62:9009/web-ubuntu.qcow2</src>
</disk>
<disk>
<cloud_init_support>true</cloud_init_support>
<container_format>bare</container_format>
<disk_bus>ide</disk_bus>
<disk_format>qcow2</disk_format>
<disk_prefix>sd</disk_prefix>
<e1000_net>true</e1000_net>
<external_image_id>b2505bb5-0259-4c03-84b1486d88ee644d</external_image_id>
42
<imageIsEnabled>false</imageIsEnabled>
<name>sample-service-definition-Group_0-sample_vm2</name>
<internal_image_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-image-0001</internal_image_id>
<serial_console>true</serial_console>
<src>http://161.44.198.62:9009/csr1000v-universalk9.03.12.00.S.154-2.Sstd.qcow2</src>
</disk>
<internal_service_registration_id>regsample</internal_service_registration_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
</service_registration>
</services>
43
Create/Register Service in ServiceCatalog
Verb
POST
URI
Description
/v0/servicecatalog/{internal_service_reg
istration_id}
Registers a
service to
the
ServiceCatal
og
Request
Request Parameters:
Name
Style
Type
Requi
red
clientHeader
transaction-id
String
No
callback
String
Yes
internal_servi Temaplate
ce_registratio
n_id
String
1..64
Yes
reg.xml
XML data
model
Yes
Header
Body
Description
Transaction ID
supplied by ESC NB
client used for
debugging and logging
URL to be used for
callback
Internal Service
Registration ID
provided by ESC NB
client.
The service reg.xml
data model
Request Example:
POST /v0/servicecatalog/123 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/registerservicecallback
<datamodel>
<version>1.0</version>
<service_definition>
. . .
</service_definition>
</datamodel>
Response (synchronous)
44
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Internal Server Error (500),
Conflict (409)
Response(synchronous)Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response(callback)
Response Codes
Normal Response Code: Created (200)
Error Response Code(s): Bad Request (400), Internal Server Error (500)
Response(callback) Parameters
Name
Style
Header
Type
String
esc-statuscode
esc-statusmessage
Header
String
Header
String
reg.xml
Body
XML data
model
esctransaction-id
Description
A unique internal transaction
ID generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success
or error message
The service reg.xml data
model
Response Example:
45
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Success …
<?xml version="1.0" encoding="UTF-8"?>
<services>
<service_registration>
<flavor>
<ephemeral_disk_mb>0</ephemeral_disk_mb>
<external_flavor_id>a54750af-2bbb-4d30-b327117da37366e0</external_flavor_id>
<name>sample-service-definition-Group_0-sample_vm1</name>
<internal_flavor_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-flavor-0000</internal_flavor_id>
<memory_mb>4096</memory_mb>
<root_disk_mb>0</root_disk_mb>
<swap_disk_mb>0</swap_disk_mb>
<vcpus>2</vcpus>
</flavor>
<flavor>
<ephemeral_disk_mb>0</ephemeral_disk_mb>
<external_flavor_id>33e495bd-23c6-486f-8e780b1877a6bd7d</external_flavor_id>
<name>sample-service-definition-Group_0-sample_vm2</name>
<internal_flavor_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-flavor-0001</internal_flavor_id>
<memory_mb>4096</memory_mb>
<root_disk_mb>0</root_disk_mb>
<swap_disk_mb>0</swap_disk_mb>
<vcpus>4</vcpus>
</flavor>
<disk>
<cloud_init_support>true</cloud_init_support>
<container_format>bare</container_format>
<disk_bus>ide</disk_bus>
<disk_format>qcow2</disk_format>
<disk_prefix>sd</disk_prefix>
<e1000_net>true</e1000_net>
<external_image_id>9a239124-23cd-42fc-9faf7a0a1ae09435</external_image_id>
<imageIsEnabled>false</imageIsEnabled>
<name>sample-service-definition-Group_0-sample_vm1</name>
<internal_image_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-image-0000</internal_image_id>
<serial_console>true</serial_console>
<src>http://161.44.198.62:9009/web-ubuntu.qcow2</src>
</disk>
<disk>
<cloud_init_support>true</cloud_init_support>
<container_format>bare</container_format>
<disk_bus>ide</disk_bus>
46
<disk_format>qcow2</disk_format>
<disk_prefix>sd</disk_prefix>
<e1000_net>true</e1000_net>
<external_image_id>b2505bb5-0259-4c03-84b1486d88ee644d</external_image_id>
<imageIsEnabled>false</imageIsEnabled>
<name>sample-service-definition-Group_0-sample_vm2</name>
<internal_image_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-image-0001</internal_image_id>
<serial_console>true</serial_console>
<src>http://161.44.198.62:9009/csr1000v-universalk9.03.12.00.S.154-2.Sstd.qcow2</src>
</disk>
<internal_service_registration_id>regsample</internal_service_registration_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
</service_registration>
</services>
47
Get a specific registered Service in Service Catalog
Ver
b
GET
URI
Description
/v0/servicecatalog/{internal_service_registration
_id}
Get info for
a specific
registered
service in
the
ServiceCatalo
g
Request
Request Parameters:
Name
Style
clientHeader
transaction-id
Type
String
No
Required
internal_servi Temaplat
ce_registratio e
n_id
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and logging
Internal Service
Registration ID
provided by ESC NB
client.
Request Example:
GET /v0/servicecatalog/567 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code: 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
Style
Type
Description
48
escHeader
transaction-id
String
reg.xml
XML
data
model
String
Body
external_servi Body
ce_registratio
n_id
A unique internal transaction ID
generated by ESC for every
request
The service reg.xml data model
Service Registration ID
generated by ESC
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<services>
<service_registration>
<flavor>
<ephemeral_disk_mb>0</ephemeral_disk_mb>
<external_flavor_id>a54750af-2bbb-4d30-b327117da37366e0</external_flavor_id>
<name>sample-service-definition-Group_0-sample_vm1</name>
<internal_flavor_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-flavor-0000</internal_flavor_id>
<memory_mb>4096</memory_mb>
<root_disk_mb>0</root_disk_mb>
<swap_disk_mb>0</swap_disk_mb>
<vcpus>2</vcpus>
</flavor>
<flavor>
<ephemeral_disk_mb>0</ephemeral_disk_mb>
<external_flavor_id>33e495bd-23c6-486f-8e780b1877a6bd7d</external_flavor_id>
<name>sample-service-definition-Group_0-sample_vm2</name>
<internal_flavor_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-flavor-0001</internal_flavor_id>
<memory_mb>4096</memory_mb>
<root_disk_mb>0</root_disk_mb>
<swap_disk_mb>0</swap_disk_mb>
<vcpus>4</vcpus>
</flavor>
<disk>
<cloud_init_support>true</cloud_init_support>
<container_format>bare</container_format>
<disk_bus>ide</disk_bus>
<disk_format>qcow2</disk_format>
<disk_prefix>sd</disk_prefix>
<e1000_net>true</e1000_net>
49
<external_image_id>9a239124-23cd-42fc-9faf7a0a1ae09435</external_image_id>
<imageIsEnabled>false</imageIsEnabled>
<name>sample-service-definition-Group_0-sample_vm1</name>
<internal_image_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-image-0000</internal_image_id>
<serial_console>true</serial_console>
<src>http://161.44.198.62:9009/web-ubuntu.qcow2</src>
</disk>
<disk>
<cloud_init_support>true</cloud_init_support>
<container_format>bare</container_format>
<disk_bus>ide</disk_bus>
<disk_format>qcow2</disk_format>
<disk_prefix>sd</disk_prefix>
<e1000_net>true</e1000_net>
<external_image_id>b2505bb5-0259-4c03-84b1486d88ee644d</external_image_id>
<imageIsEnabled>false</imageIsEnabled>
<name>sample-service-definition-Group_0-sample_vm2</name>
<internal_image_id>d5258a0d-9f4f-4b60-a545-0f2882c07d67-image-0001</internal_image_id>
<serial_console>true</serial_console>
<src>http://161.44.198.62:9009/csr1000v-universalk9.03.12.00.S.154-2.Sstd.qcow2</src>
</disk>
<internal_service_registration_id>regsample</internal_service_registration_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
</service_registration>
</services>
50
Delete/Unregister Service in ServiceCatalog
Verb
DELETE
URI
Description
/v0/servicecatalog/{
internal_service_registration
_id }
Deletes/Unregiste
rs a registered
service in the
ServiceCatalog
Request
Request Parameters:
Name
Style
Type
Require
d
clientHeader
transaction-id
String
No
callback
String
Yes
String
Yes
Header
internal_servi Temaplat
ce_registratio e
n_id
Description
Transaction ID supplied
by ESC NB client used
for debugging and
logging
URL to be used for
callback
Internal Service
Registration ID
provided by ESC NB
client.
Request Example:
DELETE /v0/servicecatalog/567 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/unregisterservicecallback
Response (synchronous)
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Resource Not Found (404), Internal
Server Error (500)
Response(synchronous)Parameters
Name
esc-transaction-id
Style
Header
Type
String
Description
A unique internal
51
esc-request-status
Header
String
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response(callback)
Response Codes
Normal Response Code: 204
Error Response Code(s):
Bad Request (400), Internal Server Error
(500)
Response(callback) Parameters
Name
esctransaction-id
esc-statuscode
esc-statusmessage
Style
Header
Type
String
Header
String
Header
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Success …
52
53
5) Deployments
Get All Deployments
Verb
GET
URI
Descri
ption
Lists
deploye
d
service
s.
/v0/deployments
Request
Request Parameters:
Name
client-transaction-id
Style
Header
Type
String
Required Description
No
Transaction
ID supplied
by ESC NB
client used
for
debugging
and logging
Request Example:
GET /v0/deployments/ HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code(s): 200
Error Response Code(s):
Bad Request (400), Internal Server Error
(500)
Response Parameters
Name
Style
Type
Description
54
esc-transaction-id
Header String A unique internal transaction
generated by ESC for every re
external_service_deployment_id Body
String Deployment ID generated by ES
deployments_details
Body
XML
See example below
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<deployments>
<deployment>
<deployment_stage>VM_DEPLOYED</deployment_ stage>
<deployment_details>
<vm_uuid>26ebf6a5-812e-4034-8a50-588c6579f70a</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.58</ip_address>
<port_uuid>c806c915-d5af-4269-bb6b-b76b66c720e1</port_uuid>
<subnet_uuid>fd96c915-d5af-4269-bb6b-b76b66c720e1</subnet_uuid>
<mac_address>fa:16:3e:01:ed:13</mac_address>
</interface>
</interfaces>
<management_ip_address>10.0.3.58</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm1__0</vm_name>
</deployment_details>
<external_deployment_id>9866330f-a4e0-4d29-9ce2ef90b94a65e8</external_deployment_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_deployment_id>dep-sample-01</internal_deployment_id>
<internal_service_registration_id>regsample</internal_service_registration_id>
<internal_tenant_id>sample-tenant-01</internal_tenant_id>
</deployment>
</deployments>
55
Create/Deploy
Verb
URI
POST /v0/deployments/{internal_deployment_id}
Description
Create/Deploy
a service
Request
Request Parameters:
Name
Style
Type
Requ
ired
Description
clienttransaction-id
Header
String
No
callback
Header
String
Yes
Callback-ESCEvents
Header
String
Yes
internal_user_id
Header
No
Perform request on behalf
of User ID
internal_deploymen
Yes
The deployment ID
t_id
Templa
te
String
1..64
String
dep.xml
Body
XML
data
model
Yes
The service dep.xml data
model
Transaction ID supplied
by ESC NB client used for
debugging and logging
URL to handle POST when
every VM is deployed and
when every VM is alive
and when Service Group
deployment is complete
URL to handle events
notification such as
recovery, scale up, scale
down
Request Example:
POST /v0/deployments/123 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/deployservicecallback
Callback-ESC-Events:/escevents
<datamodel>
<version>1.0</version>
<service_definition>
. . .
56
</service_definition>
</datamodel>
Response (synchronous)
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Conflict (409), Internal Server
Error (500)
Response(synchronous)Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response(callback)
Response Codes
Normal Response Code: Created (200)
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
Style
escHeader
transaction-id
Type
String
esc-statuscode
esc-status-
Header
String
Header
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
57
message
deployment
Body
XML
response could be a success or
error message
See example below
Response Example: one callback for each VM that is deployed
Deployment - First stage callback
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 1488
ESC-Status-Message: VM successfully created
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<deployment>
<deployment_stage>VM_DEPLOYED</deployment_ stage>
<deployment_details>
<vm_uuid>26ebf6a5-812e-4034-8a50-588c6579f70a</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.58</ip_address>
<port_uuid>c806c915-d5af-4269-bb6b-b76b66c720e1</port_uuid>
<subnet_uuid>fd96c915-d5af-4269-bb6b-b76b66c720e1</subnet_uuid>
<mac_address>fa:16:3e:01:ed:13</mac_address>
</interface>
</interfaces>
<management_ip_address>10.0.3.58</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm1__0</vm_name>
</deployment_details>
<external_deployment_id>9866330f-a4e0-4d29-9ce2ef90b94a65e8</external_deployment_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_deployment_id>dep-sample-01</internal_deployment_id>
<internal_service_registration_id>regsample</internal_service_registration_id>
<internal_tenant_id>sample-tenant-01</internal_tenant_id>
</deployment>
Response Example: one callback for each VM that is alive
Deployment - Second stage callback
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
58
Content-Length: 1488
ESC-Status-Message: VM is alive
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<deployment>
<deployment_stage>VM_ALIVE</deployment_ stage>
<deployment_details>
<vm_uuid>26ebf6a5-812e-4034-8a50-588c6579f70a</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.58</ip_address>
<port_uuid>c806c915-d5af-4269-bb6b-b76b66c720e1</port_uuid>
<subnet_uuid>fd96c915-d5af-4269-bb6b-b76b66c720e1</subnet_uuid>
<mac_address>fa:16:3e:01:ed:13</mac_address>
</interface>
</interfaces>
<management_ip_address>10.0.3.58</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm1__0</vm_name>
</deployment_details>
<external_deployment_id>9866330f-a4e0-4d29-9ce2ef90b94a65e8</external_deployment_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_deployment_id>dep-sample-01</internal_deployment_id>
<internal_service_registration_id>regsample</internal_service_registration_id>
<internal_tenant_id>sample-tenant-01</internal_tenant_id>
</deployment>
Response Example: final callback when all VMs are deployed and
Alive
Deployment – Final Callback
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 1488
ESC-Status-Message: Service Group completed successfully
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<deployments>
<deployment>
<deployment_stage>SERVICE_ALIVE</deployment_ stage>
<deployment_details>
59
<vm_uuid>7a9ac1db-4ba0-4e8c-aa72-0bbc6bd1c8fc</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.37</ip_address>
<port_uuid>e3431d87-aa23-45cb-b067-91e0050757a8</port_uuid>
<subnet_uuid>fd96c915-d5af-4269-bb6b-b76b66c720e1</subnet_uuid>
<mac_address>fa:16:3e:01:ed:13</mac_address>
</interface>
</interfaces>
<management_ip_address>10.0.3.37</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm2__0</vm_name>
</deployment_details>
<deployment_details>
<vm_uuid>75229b6b-8fbe-401a-b9c6-4b0bd9aaddc2</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.56</ip_address>
<port_uuid>cb0184a6-fd66-44b2-a197-cdb490c7478b</port_uuid>
<subnet_uuid>fd96c915-d5af-4269-bb6b-b76b66c720e1</subnet_uuid>
<mac_address>fa:16:3e:01:ed:13</mac_address>
</interface>
</interfaces>
<management_ip_address>10.0.3.56</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm1__0</vm_name>
</deployment_details>
<external_deployment_id>416d4d7d-476a-4d3a-b9079d05a0368fd2</external_deployment_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_deployment_id>dep-sample-01</internal_deployment_id>
<internal_service_registration_id>regsample</internal_service_registration_id>
<internal_tenant_id>sample-tenant-01</internal_tenant_id>
</deployment>
</deployments>
60
Get a Specific Deployment
Verb
GET
URI
Descri
ption
/v0/deployments/{internal_deployment_id}
Get
info
for a
specifi
c
deploye
d
service
Request
Request Parameters:
Name
clienttransaction-id
Style
Header
Type
String
Required
No
internal_deplo
Template
String
Yes
Header
String
1..64
No
Description
Transaction ID
supplied by ESC NB
client used for
debugging and logging
The deployment ID
yment_id
internal_user_i
d
Perform request on
behalf of User ID
Request Example:
GET /v0/deployments/567 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Response
Response Codes
Normal Response Code: 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-
Style
Header
Type
String
Description
A unique internal transaction ID
61
transaction-id
external_deplo Body
yment_id
String
generated by ESC for every
request
Deployment ID.
Response Example:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<deployments>
<deployment>
<deployment_details>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<vm_uuid>7a9ac1db-4ba0-4e8c-aa72-0bbc6bd1c8fc</vm_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.37</ip_address>
<port_uuid>e3431d87-aa23-45cb-b067-91e0050757a8</port_uuid>
</interface>
</interfaces>
<management_ip_address>10.0.3.37</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm2__0</vm_name>
</deployment_details>
<deployment_details>
<vm_uuid>75229b6b-8fbe-401a-b9c6-4b0bd9aaddc2</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.56</ip_address>
<port_uuid>cb0184a6-fd66-44b2-a197-cdb490c7478b</port_uuid>
</interface>
</interfaces>
<management_ip_address>10.0.3.56</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm1__0</vm_name>
</deployment_details>
<external_deployment_id>416d4d7d-476a-4d3a-b9079d05a0368fd2</external_deployment_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_deployment_id>dep-sample-01</internal_deployment_id>
62
<internal_service_registration_id>regsample</internal_service_registration_id>
<internal_tenant_id>sample-tenant-01</internal_tenant_id>
</deployment>
</deployments>
63
Delete/Undeploy
Verb
DELETE
URI
Description
/v0/deployments/{internal_deploymen Deletes/Undeploys
a deployed
service for a
tenant
t_id}
Request
Request Parameters:
Name
Style
Type
Requir
ed
clienttransaction-id
Header
Str
ing
No
Internal_deploymen
t_id
internal_user_id
Templa
te
Header
Yes
callback
Header
Str
ing
Str
ing
1..
64
Str
ing
Description
Transaction ID supplied
by ESC NB client used for
debugging and logging
The deployment ID
No
Perform request on behalf
of User ID
Yes
URL to be used for
callback
Request Example:
DELETE /v0/deployments/567 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/undeployservicecallback
Response (synchronous)
Normal Response Code(s): 200
Error Response Code(s): Bad Request (400), Resource Not Found (404), Internal
Server Error (500)
Response(synchronous)Parameters
Name
Style
Type
Description
64
esc-transaction-id
Header
String
esc-request-status
Header
String
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response(synchronous)Parameters Example
HTTP/1.1 201 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: ESC is processing the request…
Response(callback)
Response Codes
Normal Response Code: 204
Error Response Code(s): Bad Request (400), Internal Server Error (500)
Response(callback) Parameters
Name
Style
Header
Type
String
esc-statuscode
esc-statusmessage
Header
String
Header
String
deployment
Body
XML
esctransaction-id
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
See example below
Response Example: one callback for each VM that is undeployed
(First stage callback)
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
65
Content-Length: 1488
ESC-Status-Message: VM successfully deleted
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<deployment>
<deployment_stage>VM_UNDEPLOYED</deployment_stage>
<deployment_details>
<vm_uuid>26ebf6a5-812e-4034-8a50-588c6579f70a</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.58</ip_address>
<port_uuid>c806c915-d5af-4269-bb6b-b76b66c720e1</port_uuid>
<subnet_uuid>fd96c915-d5af-4269-bb6b-b76b66c720e1</subnet_uuid>
<mac_address>fa:16:3e:01:ed:13</mac_address>
</interface>
</interfaces>
<management_ip_address>10.0.3.58</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm1__0</vm_name>
</deployment_details>
<external_deployment_id>9866330f-a4e0-4d29-9ce2ef90b94a65e8</external_deployment_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_deployment_id>dep-sample-01</internal_deployment_id>
<internal_service_registration_id>regsample</internal_service_registration_id>
<internal_tenant_id>sample-tenant-01</internal_tenant_id>
</deployment>
Response Example: final callback when all VMs are undeployed:
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 1488
ESC-Status-Message: Service Group undeployed successfully
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
<?xml version="1.0" encoding="UTF-8"?>
<deployments>
<deployment>
<deployment_stage>SERVICE_UNDEPLOYED</deployment_stage>
<deployment_details>
<vm_uuid>7a9ac1db-4ba0-4e8c-aa72-0bbc6bd1c8fc</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
66
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.37</ip_address>
<port_uuid>e3431d87-aa23-45cb-b067-91e0050757a8</port_uuid>
<subnet_uuid>fd96c915-d5af-4269-bb6b-b76b66c720e1</subnet_uuid>
<mac_address>fa:16:3e:01:ed:13</mac_address>
</interface>
</interfaces>
<management_ip_address>10.0.3.37</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm2__0</vm_name>
</deployment_details>
<deployment_details>
<vm_uuid>75229b6b-8fbe-401a-b9c6-4b0bd9aaddc2</vm_uuid>
<host_uuid>rereea5-812e-4034-8a50-588c6579f70a</host_uuid>
<interfaces>
<interface>
<network_uuid>0e89b2ed-5e79-47b2-9ff1-07018fc417ef</network_uuid>
<ip_address>10.0.3.56</ip_address>
<port_uuid>cb0184a6-fd66-44b2-a197-cdb490c7478b</port_uuid>
<subnet_uuid>fd96c915-d5af-4269-bb6b-b76b66c720e1</subnet_uuid>
<mac_address>fa:16:3e:01:ed:13</mac_address>
</interface>
</interfaces>
<management_ip_address>10.0.3.56</management_ip_address>
<vm_name>sample-service-definition__sample-tenant-01__dep-sample01__Group_0__sample_vm1__0</vm_name>
</deployment_details>
<external_deployment_id>416d4d7d-476a-4d3a-b9079d05a0368fd2</external_deployment_id>
<external_service_registration_id>2dee7003-8f9d-4a1c-b2ebf2de1d3daafb</external_service_registration_id>
<external_tenant_id>4f384dfc667a4776bc3169da27d09db5</external_tenant_id>
<internal_deployment_id>dep-sample-01</internal_deployment_id>
<internal_service_registration_id>regsample</internal_service_registration_id>
<internal_tenant_id>sample-tenant-01</internal_tenant_id>
</deployment>
</deployments>
ESC Callback Event
Client registers a callback “callback-esc-event” during create deployments. ESC will post an event with
payload describing the event name, details, including affected vm, deployment id. Additional APIs are
67
provided to acknowledge the event. Typically, the client acknowledges the event by posting with the
same payload as contained in the payload callback-esc-event.
Service Scale Out - First Callback – Notification
ESC will do a callback using the “Callback-ESC-Events” URL notifying PF that a service scale up is going to
happen. The payload will be the esc_event payload
with the <event_type> SERVICE_SCALE_UP_INIT</event_type> tag and the <event_source> tag
containing the VM details of the VM that is overloaded
<esc_event>
<event_name>VM_OVERLOADED</event_name>
<event_type>SERVICE_SCALE_UP_INIT</event_type>
<event_details>
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed threshold for
'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_source>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_source>
</vm_instance>
68
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
Service Scale Up - Second Callback - Notification
ESC will do a callback using the “Callback-ESC-Events” URL notifying NORTHBOUND CLIENT that a VM
has been deployed. The payload will be the esc_event payload
with the <event_type> SERVICE_SCALE_UP_DEPLOYED</event_type> tag and the <vm_deployed> tag
containing the VM details of the VM that was deployed part of scale up
<esc_event>
<event_name>VM_OVERLOADED</event_name>
<event_type>SERVICE_SCALE_UP_DEPLOYED</event_type>
<event_details>
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed threshold for
'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_deployed>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
69
</interfaces>
</vm_deployed>
</vm_instance>
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
Third and Final Callback Notification
ESC will do a callback using the “Callback-ESC-Events” URL notifying NORTHBOUND CLIENT that VM is
alive. The payload will be the esc_event payload
with the <event_type>SERVICE_SCALE_UP_COMPLETE</event_type> tag, the <event_source> tag
containing the VM details of the VM that is overloaded and the <vm_deployed> tag with the VM details
of the VM that was deployed part of scale up
<esc_event>
<event_name>VM_OVERLOADED</event_name>
<event_type>SERVICE_SCALE_UP_INIT</event_type>
<event_details>
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed threshold for
'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_source>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
70
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_source>
<vm_deployed>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_deployed>
</vm_instance>
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
Service Scale Down
First Callback - Notification: ESC will do a callback using the “Callback-ESC-Events” URL notifying
NORTHBOUND CLIENT that a service scale down is going to happen. The payload will be the esc_event
payload
with the <event_type>SERVICE_SCALE_ DOWN_INIT</event_type> tag and the <event_source> tag
containing the VM details of the VM that is underloaded
<esc_event>
<event_name>VM_UNDERLOADED</event_name>
<event_type>SERVICE_SCALE_DOWN_INIT</event_type>
<event_details>
71
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed threshold for
'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_source>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_source>
</vm_instance>
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
Second and Final Callback – Notification
ESC will do a callback using the “Callback-ESC-Events” URL notifying NORTHBOUND CLIENT that the VM
has been undeployed. The payload will be the esc_event payload
with the <event_type>SERVICE_SCALE_ DOWN_COMPLETE</event_type> tag, the <event_source> tag
containing the VM details of the VM that is underloaded and the <vm_undeployed> tag with the VM
details
72
of the VM that was undeployed part of scale down
<esc_event>
<event_name>VM_UNDERLOADED</event_name>
<event_type>SERVICE_SCALE_DOWN_INIT</event_type>
<event_details>
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed threshold for
'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_source>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_source>
<vm_undeployed>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
73
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4-b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_undeployed>
</vm_instance>
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
Service Recovery - First Callback - Notification:
ESC will do a callback using the “Callback-ESC-Events” URL notifying NORTHBOUND CLIENT that a
service recovery is going to happen. The payload will be the esc_event payload
with the <event_type>SERVICE_ RECOVERY_INIT</event_type> tag and the <event_source> tag
containing the VM details of the VM that is down
<esc_event>
<event_name>VM_DOWN</event_name>
<event_type>SERVICE_ RECOVERY_INIT</event_type>
<event_details>
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed
threshold for 'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_source>
74
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_source>
</vm_instance>
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
Second Callback – Notification
ESC will do a callback using the “Callback-ESC-Events” URL notifying NORTHBOUND CLIENT that a VM
has been undeployed. The payload will be the esc_event payload
with the <event_type>SERVICE_ RECOVERY_UNDEPLOYED</event_type> tag and the <vm_undeployed>
tag containing the VM details of the VM that was undeployed part of recovery
<esc_event>
<event_name>VM_DOWN</event_name>
<event_type>SERVICE_ RECOVERY_ UNDEPLOYED</event_type>
<event_details>
75
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed
threshold for 'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_undeployed>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_undeployed>
</vm_instance>
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
76
Third Callback – Notification
ESC will do a callback using the “Callback-ESC-Events” URL notifying NORTHBOUND CLIENT that a VM
has been deployed. The payload will be the esc_event payload
with the <event_type>SERVICE_ RECOVERY_DEPLOYED</event_type> tag and the <vm_deployed> tag
containing the VM details of the VM that was deployed part of recovery
<esc_event>
<event_name>VM_DOWN</event_name>
<event_type>SERVICE_ RECOVERY_ DEPLOYED</event_type>
<event_details>
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed
threshold for 'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_deployed>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
77
<interface>
</interfaces>
</vm_deployed>
</vm_instance>
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
Fourth and Final Callback – Notification
ESC will do a callback using the “Callback-ESC-Events” URL notifying NORTHBOUND CLIENT that the VM
is alive. The payload will be the esc_event payload
with the <event_type> SERVICE_ RECOVERY_COMPLETE</event_type> tag, the <event_source> tag
containing the VM details of the VM that was down, <vm_undeployed> tag with the VM details
of the VM that was undeployed, <vm_deployed> tag with the VM details of the VM that was deployed
part of service recovery
<esc_event>
<event_name>VM_DOWN</event_name>
<event_type>SERVICE_ RECOVERY_ UNDEPLOYED</event_type>
<event_details>
<summary>2014-01-13 12:37:14.229;threshold:Threshold : 'VM_OVERLOADED_COFFEE' 'Node=external_vm_id:3c5c2523-19e6-4cd1-a0
23c1fd36dc5e6d,CPUSlotStr=0,CPUNum=0,CPUDescr=CPU 0 of module R0' crossed
threshold for 'CPU 5 Min Utilization /Average Utilization' value '17' threshold '99'.
</summary>
<threshold>99</threshold>
<time>2014-01-13 12:37:11.199</time>
<value>17</value>
</event_details>
<vm_group>
<vm_instance>
<vm_source>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
78
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_source>
<vm_undeployed>
<vm_uuid> VM-UUID </vm_uuid>
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_undeployed>
<vm_deployed>
<vm_uuid> VM-UUID </vm_uuid>
79
<host_uuid>HOST-UUID</host_uuid>
<management_ip_address>10.0.0.1</management_ip_address>
<interfaces>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
<interface>
<port_uuid>75b326da-90e6-4310-a6a4b7d8171daf45</port_uuid>
<ip_address>10.0.0.1</ip_address>
<mac_address>fa:16:3e:01:ed:13</mac_address>
<subnet_uuid>SUBNET-UUID</subnet_uuid>
<network_uuid>NETWORK-UUID</network_uuid>
<interface>
</interfaces>
</vm_deployed>
</vm_instance>
</vm_group>
<external_deployment_id>ESC-Deployement-Id</external_deployment_id>
<internal_deployment_id>Client-Deployment-Id</internal_deployment_id>
</esc_event>
80
6) VM Operations
Stop a specified VM
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
vm/{vm_name}
Description
Stop a deployed
virtual machine
for a tenant
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
force
Boolean
String
Yes
Callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation - stop
Specifies whether
force is true or
false
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST /v0/SystemAdminTenantId/deployments/vm/VMGROUP_NS1KV__0 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<vm_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>stop</operation>
<force>false</force>
</vm_operation>
Response
81
Response Codes
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for stop deploymentdetails.Results will
be sent to http://10.85.77.91:9010
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
Style
escHeader
transaction-id
Type
String
esc-statuscode
esc-statusmessage
Header
String
Header
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
82
deployment_nam
e
event_type
internal_tenan
t_id
service_name
Body
String
Body
Body
String
String
Body
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
Deployment name of the Service
VM
Indicates VM Stop progress
Internal tenant ID of the VM
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Successfully stopped VM
[NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4_
_0__YESC_WILL_VMGROUP_NS1KV__0]
<?xml version="1.0" encoding="UTF-8"?>
<esc_event
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<event_details/>
<event_type>VM_STOP_COMPLETE</event_type>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
<vm_source>
<interfaces>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interfaces>
<interfaces>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
83
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interfaces>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5…</host_uuid>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWill…</vm_name>
</vm_source>
</esc_event>
84
Start a specified VM
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
vm/{vm_name}
Description
Start a virtual
machine for a
tenant
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
force
Body
Boolean
Yes
Callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation - start
Specifies whether
force is true or
false
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST /v0/SystemAdminTenantId/deployments/vm/VMGROUP_NS1KV__0 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<vm_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>start</operation>
<force>false</force>
</vm_operation>
Response
Response Codes
85
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for start deploymentdetails.Results
will be sent to http://10.85.77.91:9010
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
esctransaction-id
esc-statuscode
esc-statusmessage
Style
Header
Type
String
Header
String
Header
String
deployment_nam Body
e
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Deployment name of the Service
VM
86
event_type
Body
internal_tenan Body
t_id
service_name
Body
String
String
Indicates VM Start progress
Internal tenant ID of the VM
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
First Callback – Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Started VM
[NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4_
_0__YESC_WILL_VMGROUP_NS1KV__0]
<?xml version="1.0" encoding="UTF-8"?>
<esc_event
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<event_details/>
<event_type>VM_START_STARTED</event_type>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
<vm_source>
<interfaces>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interfaces>
<interfaces>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
87
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interfaces>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5...</host_uuid>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWilly…</vm_name>
</vm_source>
</esc_event>
Second Callback - Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Successfully started VM
[NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4_
_0__YESC_WILL_VMGROUP_NS1KV__0].
<?xml version="1.0" encoding="UTF-8"?>
<esc_event
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<event_details/>
<event_type>VM_START_COMPLETE</event_type>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
<vm_source>
<interfaces>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interfaces>
<interfaces>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interfaces>
88
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b526…</host_uuid>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWilly…</vm_name>
</vm_source>
</esc_event>
89
Reboot a specified VM
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
vm/{vm_name}
Description
Reboot a
virtual
machine for
a tenant
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
force
Boolean
String
Yes
callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation - reboot
Specifies whether
force is true or
false
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST /v0/SystemAdminTenantId/deployments/vm/VMGROUP_NS1KV__0 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<vm_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>reboot</operation>
<force>false</force>
</vm_operation>
Response
90
Response Codes
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for reboot deploymentdetails.Results
will be sent to http://10.85.77.91:9010
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
esctransaction-id
esc-statuscode
esc-statusmessage
Style
Header
Type
String
Header
String
Header
String
deployment_nam Body
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Deployment name of the Service
91
e
VM
event_type
Body
internal_tenan Body
t_id
service_name
Body
String
String
Indicates VM reboot progress
Internal tenant ID of the VM
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
First Callback – Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Rebooted VM
[NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4_
_0__YESC_WILL_VMGROUP_NS1KV__0]
<?xml version="1.0" encoding="UTF-8"?>
<esc_event
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<event_details/>
<event_type> VM_REBOOT_REBOOTED</event_type>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
<vm_source>
<interfaces>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interfaces>
<interfaces>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
92
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interfaces>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5...</host_uuid>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWilly…</vm_name>
</vm_source>
</esc_event>
Second Callback - Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Successfully rebooted VM
[NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4_
_0__YESC_WILL_VMGROUP_NS1KV__0].
<?xml version="1.0" encoding="UTF-8"?>
<esc_event
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<event_details/>
<event_type>VM_REBOOT_COMPLETE</event_type>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
<vm_source>
<interfaces>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interfaces>
<interfaces>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
93
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interfaces>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b526…</host_uuid>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWilly…</vm_name>
</vm_source>
</esc_event>
94
Disable VM Monitoring on a specified VM
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
vm/{vm_name}
Description
Disable
monitoring
on a virtual
machine for
a tenant
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
force
Boolean
String
Yes
callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation disable_maintenanc
e
Specifies the
force option to
false
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST /v0/SystemAdminTenantId/deployments/vm/VMGROUP_NS1KV__0 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<vm_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>disable_maintenance</operation>
<force>false</force>
</vm_operation>
95
Response
Response Codes
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for disable_maintenance
deploymentdetails.Results will be sent to http://10.85.77.91:9010
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
esctransaction-id
esc-statuscode
esc-status-
Style
Header
Type
String
Header
String
Header
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
96
message
deployment_nam
e
event_type
internal_tenan
t_id
service_name
Body
String
Body
Body
String
String
Body
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
response could be a success or
error message
Deployment name of the Service
VM
Indicates VM monitor status
Internal tenant ID of the VM
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Unset monitor completed successfully
<?xml version="1.0" encoding="UTF-8"?>
<esc_event
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<event_details/>
<event_type>VM_MONITOR_UNSET</event_type>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
<vm_source>
<interfaces>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interfaces>
<interfaces>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
97
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interfaces>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5…</host_uuid>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWill…</vm_name>
</vm_source>
</esc_event>
98
Enable VM Monitoring on a specified VM
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
vm/{vm_name}
Description
Enable
monitoring
on a virtual
machine for
a tenant
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
force
Boolean
String
Yes
callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation enable_maintenance
Specifies the
force option to
false
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST /v0/SystemAdminTenantId/deployments/vm/VMGROUP_NS1KV__0 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<vm_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>enable_maintenance</operation>
<force>false</force>
</vm_operation>
99
Response
Response Codes
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for enable_maintenance
deploymentdetails.Results will be sent to http://10.85.77.91:9010
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
esctransaction-id
esc-statuscode
esc-statusmessage
Style
Header
Type
String
Header
String
Header
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
100
deployment_nam
e
event_type
internal_tenan
t_id
service_name
Body
String
Body
Body
String
String
Body
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
error message
Deployment name of the Service
VM
Indicates VM monitor status
Internal tenant ID of the VM
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
First Callback – Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Set monitor completed successfully
<?xml version="1.0" encoding="UTF-8"?>
<esc_event
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<event_details/>
<event_type>VM_MONITOR_SET</event_type>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
<vm_source>
<interfaces>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interfaces>
<interfaces>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
101
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interfaces>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5…</host_uuid>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWill…</vm_name>
</vm_source>
</esc_event>
Second Callback – VM alive Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: VM
[NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4_
_0__YESC_WILL_VMGROUP_NS1KV__0] is alive.
<?xml version="1.0" encoding="UTF-8"?>
<esc_event
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<event_details/>
<event_type>VM_MONITOR_SET_COMPLETE</event_type>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
<vm_source>
<interfaces>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interfaces>
<interfaces>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
102
</interfaces>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b526…</host_uuid>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWilly…</vm_name>
</vm_source>
</esc_event>
103
7) VNF Operations
Stop Service
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
service/{internal_deployment_id}
Description
Stop a deployed
service for a
tenant
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
Callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation - stop
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST
/v0/SystemAdminTenantId/deployments/service/SystemAdminTenantIddepWillyescNS1
KVNS1KV_WILL_YESC1.4 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<service_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>stop</operation>
</service_operation>
Response
Response Codes
104
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for stop deployments.Results will be
sent to http://10.85.77.91:9010.
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
esctransaction-id
esc-statuscode
esc-statusmessage
Style
Header
Type
String
Header
String
Header
String
deployment_nam Body
e
internal_tenan Body
String
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Deployment name of the Service
VM
Internal tenant ID of the
105
t_id
service_name
Body
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
Virtual Machine
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
First Callback – Notification one callback for each VM that is successfully stop
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: VM successfully stopped
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<host_uuid>8ccdfc8e02fabad4b3205e9f135a118cc0b8cc6489dede7a99de6…</host_uuid>
<host_name>my-ucs-4</host_name>
<vm_uuid>35c2fd9d-b246-40c2-afc3-f1ebac7585cb</vm_uuid>
<interfaces>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.114</ip_address>
<mac_address>FA:16:3E:73:19:F9</mac_address>
<nic_id>0</nic_id>
<port_uuid>c970d093-48a1-4899-ad21-aaee614a5dbc</port_uuid>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.97</ip_address>
<mac_address>fa:16:3e:6c:76:21</mac_address>
<nic_id>1</nic_id>
<port_uuid>f4afa5aa-ac9a-4005-a2a2-d4b4b4e0fe83</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
</interfaces>
<sharedIps>
<nic_id>0</nic_id>
<shared_ip>192.168.0.113</shared_ip>
</sharedIps>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
106
<vm_name>NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__1</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>VM_STOPPED</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
Second Callback - Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Service group suspension completed successfully
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b52…</host_uuid>
<host_name>my-ucs-5</host_name>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<interfaces>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
107
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
</interfaces>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__0</vm_name>
</deployment_details>
<deployment_details>
<host_uuid>8ccdfc8e02fabad4b3205e9f135a118cc0b8cc6489dede7a99de601c</host_uuid>
<host_name>my-ucs-4</host_name>
<vm_uuid>35c2fd9d-b246-40c2-afc3-f1ebac7585cb</vm_uuid>
<interfaces>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.114</ip_address>
<mac_address>FA:16:3E:73:19:F9</mac_address>
<nic_id>0</nic_id>
<port_uuid>c970d093-48a1-4899-ad21-aaee614a5dbc</port_uuid>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.97</ip_address>
<mac_address>fa:16:3e:6c:76:21</mac_address>
<nic_id>1</nic_id>
<port_uuid>f4afa5aa-ac9a-4005-a2a2-d4b4b4e0fe83</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
</interfaces>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__1</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>SERVICE_STOPPED</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
108
Start Service
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
service/{internal_deployment_id}
Description
Start a deployed
service for a
tenant
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
Callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation - start
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST
/v0/SystemAdminTenantId/deployments/service/SystemAdminTenantIddepWillyescNS1
KVNS1KV_WILL_YESC1.4 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<service_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>start</operation>
</service_operation>
Response
Response Codes
Normal Response Code(s): 200
109
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for start deployments.Results will be
sent to http://10.85.77.91:9010.
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
Style
escHeader
transaction-id
Type
String
esc-statuscode
esc-statusmessage
Header
String
Header
String
deployment_nam Body
e
internal_tenan Body
t_id
String
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Deployment name of the Service
VM
Internal tenant ID of the
Virtual Machine
110
service_name
Body
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
First Callback – Notification one callback for each VM that is successfully started and one
callback for each VM that received VM Alive event
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: VM successfully started
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<vm_name>NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWillye
scNS1KVNS1KV_WILL_YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__1</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>VM_STARTED</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillye
scNS1KVNS1KV_WILL_YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__0</vm_name>
111
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>VM_STARTED</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: VM_Alive event received after started, VM ID:
[NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL
_YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__1]
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<host_uuid>8ccdfc8e02fabad4b3205e9f135a118cc0b8cc6489dede7a99de601c<
/host_uuid>
<host_name>my-ucs-4</host_name>
<vm_uuid>35c2fd9d-b246-40c2-afc3-f1ebac7585cb</vm_uuid>
<interfaces>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.114</ip_address>
<mac_address>FA:16:3E:73:19:F9</mac_address>
<nic_id>0</nic_id>
<port_uuid>c970d093-48a1-4899-ad21-aaee614a5dbc</port_uuid>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.97</ip_address>
<mac_address>fa:16:3e:6c:76:21</mac_address>
<nic_id>1</nic_id>
<port_uuid>f4afa5aa-ac9a-4005-a2a2-d4b4b4e0fe83</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
</interfaces>
112
<sharedIps>
<nic_id>0</nic_id>
<shared_ip>192.168.0.113</shared_ip>
</sharedIps>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__1</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>START_SERVICE_VM_ALIVE</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId
</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: VM_Alive event received after started, VM ID:
[NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4_
_0__YESC_WILL_VMGROUP_NS1KV__0]
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5262d</host_uuid>
<host_name>my-ucs-5</host_name>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<interfaces>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
113
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
</interfaces>
<sharedIps>
<nic_id>0</nic_id>
<shared_ip>192.168.0.113</shared_ip>
</sharedIps>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__0</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>START_SERVICE_VM_ALIVE</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
Second Callback - Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Service group started successfully
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5262d</host_uuid>
<host_name>my-ucs-5</host_name>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<interfaces>
114
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
</interfaces>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__0</vm_name>
</deployment_details>
<deployment_details>
<host_uuid>8ccdfc8e02fabad4b3205e9f135a118cc0b8cc6489dede7a99de601c</host_uuid>
<host_name>my-ucs-4</host_name>
<vm_uuid>35c2fd9d-b246-40c2-afc3-f1ebac7585cb</vm_uuid>
<interfaces>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.114</ip_address>
<mac_address>FA:16:3E:73:19:F9</mac_address>
<nic_id>0</nic_id>
<port_uuid>c970d093-48a1-4899-ad21-aaee614a5dbc</port_uuid>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.97</ip_address>
<mac_address>fa:16:3e:6c:76:21</mac_address>
<nic_id>1</nic_id>
<port_uuid>f4afa5aa-ac9a-4005-a2a2-d4b4b4e0fe83</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
</interfaces>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__1</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>START_SERVICE_SERVICE_ACTIVE</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
115
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
116
Reboot Service
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
service/{internal_deployment_id}
Description
Reboot a deployed
service for a
tenant
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
Callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation - reboot
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST
/v0/SystemAdminTenantId/deployments/service/SystemAdminTenantIddepWillyescNS1
KVNS1KV_WILL_YESC1.4 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<service_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>reboot</operation>
</service_operation>
Response
Response Codes
Normal Response Code(s): 200
117
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for reboot deployments.Results will be
sent to http://10.85.77.91:9010.
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
esctransaction-id
esc-statuscode
esc-statusmessage
Style
Header
Type
String
Header
String
Header
String
deployment_nam Body
e
internal_tenan Body
t_id
String
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Deployment name of the Service
VM
Internal tenant ID of the
Virtual Machine
118
service_name
Body
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
First Callback – Notification one callback for each VM that is successfully rebooted and one
callback for each VM that received VM Alive event
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: VM successfully rebooted
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWill…</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>VM_REBOOTED</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29e-f194f12a…</external_deployment_id>
<external_service_registration_id>b37aad30-cbe…</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: VM_Alive event received after rebooted, VM ID:
[NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4_
_0__YESC_WILL_VMGROUP_NS1KV__0]
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
119
<deployment_details>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5262d</host_uuid>
<host_name>my-ucs-5</host_name>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<interfaces>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
</interfaces>
<sharedIps>
<nic_id>0</nic_id>
<shared_ip>192.168.0.113</shared_ip>
</sharedIps>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__0</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>REBOOT_SERVICE_VM_ALIVE</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
Second Callback - Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
120
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Service group rebooted successfully
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<host_uuid>2c5f08eb9eda6981813dd7a2fd68b13f6dceed41ebb3e2b0b6b5262d</host_uuid>
<host_name>my-ucs-5</host_name>
<vm_uuid>ed9e550d-7473-4d73-b2e5-8e43955f0632</vm_uuid>
<interfaces>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.96</ip_address>
<mac_address>fa:16:3e:af:1f:99</mac_address>
<nic_id>1</nic_id>
<port_uuid>02973060-3749-4e44-b19c-b68f0ab930d6</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.112</ip_address>
<mac_address>fa:16:3e:73:19:f8</mac_address>
<nic_id>0</nic_id>
<port_uuid>716cbee5-81d1-464c-9070-3950996d99df</port_uuid>
<shared_ip>192.168.0.113</shared_ip>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
</interfaces>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__17023__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__0</vm_name>
</deployment_details>
<deployment_details>
<host_uuid>8ccdfc8e02fabad4b3205e9f135a118cc0b8cc6489dede7a99de601c</host_uuid>
<host_name>my-ucs-4</host_name>
<vm_uuid>35c2fd9d-b246-40c2-afc3-f1ebac7585cb</vm_uuid>
<interfaces>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.114</ip_address>
<mac_address>FA:16:3E:73:19:F9</mac_address>
<nic_id>0</nic_id>
<port_uuid>c970d093-48a1-4899-ad21-aaee614a5dbc</port_uuid>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.97</ip_address>
121
<mac_address>fa:16:3e:6c:76:21</mac_address>
<nic_id>1</nic_id>
<port_uuid>f4afa5aa-ac9a-4005-a2a2-d4b4b4e0fe83</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
</interfaces>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_
YESC1.4__0__YESC_WILL_VMGROUP_NS1KV__1</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>REBOOT_SERVICE_SERVICE_ACTIVE</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
122
Disable Monitoring for VNF
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
service/{internal_deployment_id}
Description
Disable monitoring
for VNF
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
Callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation –
disable_maintenanc
e
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST
/v0/SystemAdminTenantId/deployments/service/SystemAdminTenantIddepWillyescNS1
KVNS1KV_WILL_YESC1.4 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<service_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>disable_maintenance</operation>
</service_operation>
Response
Response Codes
123
Normal Response Code(s): 200
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for disable_maintenance deployments.
Results will be sent to http://10.85.77.91:9010.
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
Style
escHeader
transaction-id
Type
String
esc-statuscode
esc-statusmessage
Header
String
Header
String
deployment_nam Body
e
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Deployment name of the Service
VM
124
internal_tenan Body
t_id
service_name
Body
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
String
Internal tenant ID of the
Virtual Machine
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
First Callback – Notification one callback for each VM that has unset monitoring successfully
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Unset Monitoring VM successfully
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<host_uuid>8ccdfc8e02fabad4b3205e9f135a118cc0b8cc6489dede7a99de60…</host_uuid>
<host_name>my-ucs-4</host_name>
<vm_uuid>35c2fd9d-b246-40c2-afc3-f1ebac7585cb</vm_uuid>
<interfaces>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.114</ip_address>
<mac_address>FA:16:3E:73:19:F9</mac_address>
<nic_id>0</nic_id>
<port_uuid>c970d093-48a1-4899-ad21-aaee614a5dbc</port_uuid>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.97</ip_address>
<mac_address>fa:16:3e:6c:76:21</mac_address>
<nic_id>1</nic_id>
<port_uuid>f4afa5aa-ac9a-4005-a2a2-d4b4b4e0fe83</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
</interfaces>
<sharedIps>
<nic_id>0</nic_id>
<shared_ip>192.168.0.113</shared_ip>
</sharedIps>
125
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWilly…</vm_name>
</deployment_details>
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>MAINTENANCE_SERVICE_STAGE_VM_MONITOR_UNSET</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescN…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
Second Callback - Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: SVC_UNSET_MONITOR_WORKFLOW_STATE_MACHINE completed successfully
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>MAINTENANCE_SERVICE_STAGE_SERVICE_MONITOR_UNSET</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
126
Enable Monitoring for VNF
Verb
POST
URI
/v0/{internal_tenant_id}/deployments/
service/{internal_deployment_id}
Description
Enable monitoring
for VNF
Request
Request Parameters:
Name
Style
Type
Req
uir
ed
client-transaction-id
Header
String
No
operation
Body
String
Yes
Callback
Header
String
Yes
Callback-ESC-Events
Header
String
Yes
Description
Transaction ID
supplied by ESC NB
client used for
debugging and
logging
Specifies the
operation –
enable_maintenance
URL to be used for
callback
URL to handle
events
notification
Request Example:
POST
/v0/SystemAdminTenantId/deployments/service/SystemAdminTenantIddepWillyescNS1
KVNS1KV_WILL_YESC1.4 HTTP/1.1
Host: client.host.com
Content-Type: application/xml
Accept: application/xml
Client-Transaction-Id: 123456
Callback:/
<?xml version='1.0' encoding='UTF-8'?>
<service_operation xmlns='urn:ietf:params:xml:ns:netconf:base:1.0'>
<operation>enable_maintenance</operation>
</service_operation>
Response
Response Codes
Normal Response Code(s): 200
127
Error Response Code(s): 400 Bad Request, 500 Internal Server Error, 404
Resource Not found
Response Parameters
Name
esc-transaction-id
Style
Header
Type
String
esc-request-status
Header
String
Description
A unique internal
transaction ID
generated by ESC for
every request
A message describing
the status of the
request
Response Parameters Example
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Request-Status: Request submitted for enable_maintenance deployments.
Results will be sent to http://10.85.77.91:9010.
Response(callback)
Response Codes
Normal Response Code: 200
Error Response Code(s): Internal Server Error (500)
Response(callback)Parameters
Name
Style
escHeader
transaction-id
Type
String
esc-statuscode
esc-statusmessage
Header
String
Header
String
deployment_nam Body
e
internal_tenan Body
t_id
String
String
Description
A unique internal transaction ID
generated by ESC for every
request
Code representing Http status
code
A message describing the
response could be a success or
error message
Deployment name of the Service
VM
Internal tenant ID of the
Virtual Machine
128
service_name
Body
String
service
_version
Body
String
ip_address
mac_address
vm_uuid
vm_group_name
vm_name
Body
Body
Body
Body
Body
String
String
String
String
String
Service name of the registered
service used by the VM
Service version of the
registered service used by the
VM
IP address of the interface
MAC address of the interface
VM UUID in OpenStack
VM group name
VM name
First Callback – Notification one callback for each VM that has set monitoring successfully
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: Monitoring VM successfully.
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_details>
<host_uuid>8ccdfc8e02fabad4b3205e9f135a118cc0b8cc6489dede7a99de6…</host_uuid>
<host_name>my-ucs-4</host_name>
<vm_uuid>35c2fd9d-b246-40c2-afc3-f1ebac7585cb</vm_uuid>
<interfaces>
<interface>
<network_uuid>7af5c7df-6246-4d53-91bd-aa12a1607656</network_uuid>
<ip_address>192.168.0.114</ip_address>
<mac_address>FA:16:3E:73:19:F9</mac_address>
<nic_id>0</nic_id>
<port_uuid>c970d093-48a1-4899-ad21-aaee614a5dbc</port_uuid>
<subnet_uuid>7cb6815e-3023-4420-87d8-2b10efcbe14e</subnet_uuid>
</interface>
<interface>
<network_uuid>c5a30da2-be89-40c9-bbe2-ba49136d8f89</network_uuid>
<ip_address>3.3.3.97</ip_address>
<mac_address>fa:16:3e:6c:76:21</mac_address>
<nic_id>1</nic_id>
<port_uuid>f4afa5aa-ac9a-4005-a2a2-d4b4b4e0fe83</port_uuid>
<subnet_uuid>f6b3a6c8-f5e4-4d00-b6f3-cf0e42a96ef5</subnet_uuid>
</interface>
</interfaces>
<sharedIps>
<nic_id>0</nic_id>
<shared_ip>192.168.0.113</shared_ip>
</sharedIps>
<vm_group_name>YESC_WILL_VMGROUP_NS1KV</vm_group_name>
<vm_name>NS1KV_WILL_YESC__38628__admin__SystemAdminTenantIddepWill…</vm_name>
</deployment_details>
129
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>MAINTENANCE_SERVICE_STAGE_VM_ALIVE</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS…</internal_deployment_id>
<internal_service_registration_id>NS1KV_WILL_Y…</internal_service_registration_id>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
Second Callback - Notification
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 200
Date: Sun, 1 Jan 2011 9:00:00 GMT
ESC-Transaction-Id: 123456
ESC-Status-Code: 200
ESC-Status-Message: SVC_SET_MONITOR_WORKFLOW_STATE_MACHINE completed successfully
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<deployment
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<deployment_name>depWillyescNS1KV</deployment_name>
<deployment_stage>MAINTENANCE_SERVICE_STAGE_SERVICE_ACTIVE</deployment_stage>
<external_deployment_id>a39f015b-4e8c-4d72-a29ef194f12a1f3b</external_deployment_id>
<external_service_registration_id>b37aad30-cbe1-4c83-b09c536c3941d89e</external_service_registration_id>
<external_tenant_id>13ba276203b748aebc48f4643c47fcd2</external_tenant_id>
<internal_deployment_id>SystemAdminTenantIddepWillyescNS1KVNS1KV_WILL_YESC1.4</interna
l_deployment_id>
<internal_service_registration_id>NS1KV_WILL_YESC1.4</internal_service_registration_id
>
<internal_tenant_id>SystemAdminTenantId</internal_tenant_id>
<service_name>NS1KV_WILL_YESC</service_name>
<service_version>1.4</service_version>
</deployment>
130