Thanks Service Template creation using REST API works. Regarding Service Instance creation , I observed the following sequence of steps/REST APIs triggered by Contrail UI
1. POST http://contrail-api:8082/service-instances 2. POST http://contrail-api:8082/port-tuples 3. PUT http://contrail-api:8082/virtual-machine-interface/<id> Management, Left, Right Network Update the Port tuple in the VMI 4. PUT http://contrail-api:8082/service-instance/<id> update the port tuple in the SI 5. POST http://contrail-api:8082/instance-ips Creating a new Right,Left,Mgmt IP for service instance I think, the existing service-instance.py script doest not updated to support version 2 service instance. Do we have any other CLI scripts/methods to create SI ? Thanks Suresh. From: "Vedamurthy Ananth Joshi" <vjo...@juniper.net> To: "Suresh Kumar S" <sureshkuma...@altencalsoftlabs.com>, "users" <users@lists.opencontrail.org>, "Dev" <dev-boun...@lists.opencontrail.org> Sent: Tuesday, June 27, 2017 9:47:46 PM Subject: Re: [Users] Error in service template creation http://configuration-schema-documentation.s3-website-us-west-1.amazonaws.com/R3.2/contrail_openapi.html#service-template Below sample should help root@nodeb8:~# contrail-logs --module contrail-api --message-type VncApiConfigLog --last 10m 2017 Jun 28 00:54:18.181708 nodeb8 [Config:contrail-api:0:__default__][SYS_INFO] : VncApiConfigLog:245 [VncApiCommon: object_type = service_template, identifier_name = default-domain:test1, url = http://10.204.216.201:9100/service-templates, operation = post, useragent = Restler for node.js, remote_ip = 10.204.216.201:9100, body = {"service-template": {"display_name": "test1", "name": "test1", "parent_type": "domain", "perms2": {"owner": "f9e4b6aa638e42768d406856de6b2d4a", "owner_access": 7, "global_access": 0, "share": []}, "service_template_properties": {"instance_data": null, "availability_zone_enable": null, "service_virtualization_type": "virtual-machine", "interface_type": [{"service_interface_type": "management"}, {"service_interface_type": "left"}, {"service_interface_type": "right"}], "image_name": null, "service_mode": "in-network", "version": 2, "service_type": "firewall", "flavor": null, "service_scaling": null, "vrouter_instance_type": null, "ordered_interfaces": true}, "versionList": [{"text": "v1", "id": 1}, {"text": "v2", "id": 2}], "fq_name": ["default-domain", "test1"], "owner_visible": false, "id_perms": {"enable": true, "uuid": null, "creator": null, "created": null, "user_visible": true, "last_modified": null, "permissions": {"owner": "cloud-admin", "owner_access": 7, "other_access": 7, "group": "cloud-admin-group", "group_access": 7}, "description": null}}}, domain = default-domain, project = ctest-TestECMPSanity-63415890, user = admin] Vedu From: Users < users-boun...@lists.opencontrail.org > on behalf of OpenContrail Users List - 2 < users@lists.opencontrail.org > Reply-To: Suresh Kumar S < sureshkuma...@altencalsoftlabs.com > Date: Tuesday, June 27, 2017 at 4:39 PM To: OpenContrail Users List - 2 < users@lists.opencontrail.org >, Dev < dev-boun...@lists.opencontrail.org > Subject: [Users] Error in service template creation Hi, In Contrail 3.2, I am trying to create a service template using REST API as below, POST http://contrail-api:8082/service-templates { "name": "fw_st", "version" : 2, "service_mode": "in-network", "service_type": "firewall", "interface_type": ["management","left","right"], "service_virtualization_type": "virtual-machine" } The response is "500 Internal Server Error". The logs are below. Any suggestions to fix this error? Thanks suresh Contrail API Server Logs ===================== 06/27/2017 11:05:33 AM [contrail-api]: SANDESH: [DROP: NoSession] __default__ [SYS_ERR]: VncApiError: <type 'exceptions.KeyError'> Python 2.7.6: /usr/bin/python Tue Jun 27 11:05:33 2017 A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. /usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py in handler_trap_exception(*args=(), **kwargs={}) 1712 (code, err_msg) = status 1713 raise cfgm_common.exceptions.HttpError(code, err_msg) 1714 response = handler(*args, **kwargs) 1715 self._generate_rest_api_response_trace(trace, response) 1716 response undefined handler = <functools.partial object> args = () kwargs = {} /usr/lib/python2.7/dist-packages/cfgm_common/vnc_api_stats.py in wrapper(api_server_obj=<vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>, resource_type='service_template', *args=(), **kwargs={}) 15 statistics = VncApiStatistics( 16 obj_type=resource_type.replace('-', '_')) 17 response = func(api_server_obj, resource_type, *args, **kwargs) 18 statistics.response_size = len(str(response)) 19 statistics.response_code = bottle.response.status_code response undefined func = <function http_resource_create> api_server_obj = <vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object> resource_type = 'service_template' args = () kwargs = {} /usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py in http_resource_create(self=<vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>, obj_type='service_template') 414 def http_resource_create(self, obj_type): 415 resource_type, r_class = self._validate_resource_type(obj_type) 416 obj_dict = get_request().json[resource_type] 417 418 # check visibility obj_dict undefined global get_request = <function get_request> ).json undefined resource_type = 'service-template' <type 'exceptions.KeyError'>: 'service-template' __class__ = <type 'exceptions.KeyError'> __delattr__ = <method-wrapper '__delattr__' of exceptions.KeyError object> __dict__ = {} __doc__ = 'Mapping key not found.' __format__ = <built-in method __format__ of exceptions.KeyError object> __getattribute__ = <method-wrapper '__getattribute__' of exceptions.KeyError object> __getitem__ = <method-wrapper '__getitem__' of exceptions.KeyError object> __getslice__ = <method-wrapper '__getslice__' of exceptions.KeyError object> __hash__ = <method-wrapper '__hash__' of exceptions.KeyError object> __init__ = <method-wrapper '__init__' of exceptions.KeyError object> __new__ = <built-in method __new__ of type object> __reduce__ = <built-in method __reduce__ of exceptions.KeyError object> __reduce_ex__ = <built-in method __reduce_ex__ of exceptions.KeyError object> __repr__ = <method-wrapper '__repr__' of exceptions.KeyError object> __setattr__ = <method-wrapper '__setattr__' of exceptions.KeyError object> __setstate__ = <built-in method __setstate__ of exceptions.KeyError object> __sizeof__ = <built-in method __sizeof__ of exceptions.KeyError object> __str__ = <method-wrapper '__str__' of exceptions.KeyError object> __subclasshook__ = <built-in method __subclasshook__ of type object> __unicode__ = <built-in method __unicode__ of exceptions.KeyError object> args = ('service-template',) message = 'service-template' The above is a description of an error in a Python program. Here is the original traceback: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 1714, in handler_trap_exception response = handler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cfgm_common/vnc_api_stats.py", line 17, in wrapper response = func(api_server_obj, resource_type, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 416, in http_resource_create obj_dict = get_request().json[resource_type] KeyError: 'service-template'
_______________________________________________ Users mailing list Users@lists.opencontrail.org http://lists.opencontrail.org/mailman/listinfo/users_lists.opencontrail.org