How tacker vnfm deals with vnf config-management?

Asked by Abhijeet

Hi all,

I have deployed tacker openstack mitaka and wherein pushing hostname to hp vsr 1000vrouter vnf (which is in active state) through openwrt mgmt driver with vnf-update and getting msg vnfd-updated in tacker cli, but couldn't see configs are updated in vnf. Even I tried with the other vendors vnf but it seems issue remains same, not reflecting configs in vnfs.
Any clue or pointers on how tacker vnfm deals with vnf config-management?

Thanks,
Abhijeet

Question information

Language:
English Edit question
Status:
Expired
For:
tacker Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Abhijeet (abhijeet-karve) said :
#1

Hi All Just to add in, I am successfully deploying HP-VSR-1000v vRouter VNF and while updating host-name with vnf-update getting CLI message Updated vnf, But the same configs are not geting reflected in VNF.

And same behavior with cirros, ubuntu VNFs as well.

Currently i am trying this with a tacker code from stable/mitaka branch.

Tacker LOG
___________________________________
2017-02-26 04:40:11.131 8489 DEBUG requests.packages.urllib3.connectionpool [-] http://controler:8004 "GET /v1/1dfdb8d3adc64559a2870bb086c441b6/stacks/tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171/b1fca76b-c518-4ab3-8738-fc68e2786f57 HTTP/1.1" 200 1180 _make_request /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:395
2017-02-26 04:40:11.132 8489 DEBUG keystoneclient.session [-] RESP: [200] Content-Type: application/json; charset=UTF-8 Content-Length: 1180 X-Openstack-Request-Id: req-d19cc73c-d6f2-446a-a323-849e6a2b1073 Date: Sat, 25 Feb 2017 23:10:11 GMT Connection: keep-alive
RESP BODY: {"stack": {"disable_rollback": true, "description": "HP-VSR with services\n", "parent": null, "tags": null, "stack_name": "tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171", "stack_user_project_id": "1dfdb8d3adc64559a2870bb086c441b6", "stack_status_reason": "Stack CREATE completed successfully", "creation_time": "2017-02-25T22:16:30", "links": [{"href": "http://controler:8004/v1/1dfdb8d3adc64559a2870bb086c441b6/stacks/tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171/b1fca76b-c518-4ab3-8738-fc68e2786f57", "rel": "self"}], "capabilities": [], "notification_topics": [], "updated_time": null, "timeout_mins": 10, "stack_status": "CREATE_COMPLETE", "stack_owner": null, "parameters": {"OS::project_id": "1dfdb8d3adc64559a2870bb086c441b6", "OS::stack_id": "b1fca76b-c518-4ab3-8738-fc68e2786f57", "OS::stack_name": "tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171"}, "id": "b1fca76b-c518-4ab3-8738-fc68e2786f57", "outputs": [{"output_value": "172.24.3.25", "output_key": "mgmt_ip-VDU1", "description": "No description given"}], "template_description": "HP-VSR with services\n"}}
 _http_log_response /usr/lib/python2.7/dist-packages/keystoneclient/session.py:231
2017-02-26 04:40:11.136 8489 DEBUG tacker.vm.infra_drivers.heat.heat [req-a9b11d58-4a65-4cc4-9e75-9dacb4dd9ced None] yaml orig tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
vdus:
  vdu1:
    config:
      router: 'system-view

        sysname HP-VSR01

        '
description: HP-VSR with services
topology_template:
  node_templates:
    VDU1:
      type: tosca.nodes.nfv.VDU.Tacker
      properties:
        config:
          router: 'system-view

            sysname HP-VSR01

            '
metadata:
  template_name: HP-VSR
 update vdus:
  vdu1:
    config:
      router: |
        system-view
        sysname HP-VSR01
 update /usr/local/lib/python2.7/dist-packages/tacker/vm/infra_drivers/heat/heat.py:468
2017-02-26 04:40:11.150 8489 DEBUG tacker.vm.infra_drivers.heat.heat [req-a9b11d58-4a65-4cc4-9e75-9dacb4dd9ced None] dict orig {'tosca_definitions_version': 'tosca_simple_profile_for_nfv_1_0_0', 'vdus': {'vdu1': {'config': {'router': 'system-view\nsysname HP-VSR01\n'}}}, 'description': 'HP-VSR with services', 'topology_template': {'node_templates': {'VDU1': {'type': 'tosca.nodes.nfv.VDU.Tacker', 'properties': {'config': {'router': 'system-view\nsysname HP-VSR01\n'}}}}}, 'metadata': {'template_name': 'HP-VSR'}} update {'vdus': {'vdu1': {'config': {'router': 'system-view\nsysname HP-VSR01\n'}}}} update /usr/local/lib/python2.7/dist-packages/tacker/vm/infra_drivers/heat/heat.py:491
2017-02-26 04:40:11.151 8489 DEBUG tacker.common.log [req-a9b11d58-4a65-4cc4-9e75-9dacb4dd9ced None] __builtin__.dict method deep_update called with arguments ({'vdus': {'vdu1': {'config': {'router': 'system-view\nsysname HP-VSR01\n'}}}},) {} wrapper /usr/local/lib/python2.7/dist-packages/tacker/common/log.py:32
2017-02-26 04:40:11.151 8489 DEBUG tacker.common.log [req-a9b11d58-4a65-4cc4-9e75-9dacb4dd9ced None] __builtin__.dict method deep_update called with arguments ({'vdu1': {'config': {'router': 'system-view\nsysname HP-VSR01\n'}}},) {} wrapper /usr/local/lib/python2.7/dist-packages/tacker/common/log.py:32
2017-02-26 04:40:11.152 8489 DEBUG tacker.common.log [req-a9b11d58-4a65-4cc4-9e75-9dacb4dd9ced None] __builtin__.dict method deep_update called with arguments ({'config': {'router': 'system-view\nsysname HP-VSR01\n'}},) {} wrapper /usr/local/lib/python2.7/dist-packages/tacker/common/log.py:32
2017-02-26 04:40:11.152 8489 DEBUG tacker.common.log [req-a9b11d58-4a65-4cc4-9e75-9dacb4dd9ced None] __builtin__.dict method deep_update called with arguments ({'router': 'system-view\nsysname HP-VSR01\n'},) {} wrapper /usr/local/lib/python2.7/dist-packages/tacker/common/log.py:32
2017-02-26 04:40:11.153 8489 DEBUG tacker.vm.infra_drivers.heat.heat [req-a9b11d58-4a65-4cc4-9e75-9dacb4dd9ced None] dict new {'tosca_definitions_version': 'tosca_simple_profile_for_nfv_1_0_0', 'vdus': {'vdu1': {'config': {'router': 'system-view\nsysname HP-VSR01\n'}}}, 'description': 'HP-VSR with services', 'topology_template': {'node_templates': {'VDU1': {'type': 'tosca.nodes.nfv.VDU.Tacker', 'properties': {'config': {'router': 'system-view\nsysname HP-VSR01\n'}}}}}, 'metadata': {'template_name': 'HP-VSR'}} update {'vdus': {'vdu1': {'config': {'router': 'system-view\nsysname HP-VSR01\n'}}}} update /usr/local/lib/python2.7/dist-packages/tacker/vm/infra_drivers/heat/heat.py:494
2017-02-26 04:40:11.156 8489 INFO tacker.wsgi [req-a9b11d58-4a65-4cc4-9e75-9dacb4dd9ced None] x.x.x.x - - [26/Feb/2017 04:40:11] "PUT /v1.0/vnfs/dca444fd-20df-42aa-8d19-334c64686171.json HTTP/1.1" 200 1802 6.451459

2017-02-26 04:40:11.157 8489 DEBUG keystoneclient.auth.identity.v3.base [-] Making authentication request to http://x.x.x.x:5000/v3/auth/tokens get_auth_ref /usr/lib/python2.7/dist-packages/keystoneclient/auth/identity/v3/base.py:188
2017-02-26 04:40:11.159 8489 DEBUG requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): x.x.x.x _new_conn /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:207
2017-02-26 04:40:11.465 8489 DEBUG requests.packages.urllib3.connectionpool [-] http://x.x.x.x:5000 "POST /v3/auth/tokens HTTP/1.1" 201 5161 _make_request /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:395
2017-02-26 04:40:11.468 8489 DEBUG keystoneclient.session [-] REQ: curl -g -i -X GET http://controler:8004/v1/1dfdb8d3adc64559a2870bb086c441b6/stacks/b1fca76b-c518-4ab3-8738-fc68e2786f57 -H "User-Agent: python-heatclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}ff025f466658fcd7488b8063f9047c7ec9032931" _http_log_request /usr/lib/python2.7/dist-packages/keystoneclient/session.py:206
2017-02-26 04:40:11.469 8489 DEBUG requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): controler _new_conn /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:207
2017-02-26 04:40:12.961 8489 DEBUG requests.packages.urllib3.connectionpool [-] http://controler:8004 "GET /v1/1dfdb8d3adc64559a2870bb086c441b6/stacks/b1fca76b-c518-4ab3-8738-fc68e2786f57 HTTP/1.1" 302 263 _make_request /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:395
2017-02-26 04:40:12.962 8489 DEBUG keystoneclient.session [-] RESP: [302] Location: http://controler:8004/v1/1dfdb8d3adc64559a2870bb086c441b6/stacks/tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171/b1fca76b-c518-4ab3-8738-fc68e2786f57 Content-Length: 263 Content-Type: text/plain; charset=UTF-8 X-Openstack-Request-Id: req-c014f48b-7ef0-46e4-a36b-9330dd36c47b Date: Sat, 25 Feb 2017 23:10:12 GMT Connection: keep-alive
RESP BODY: 302 Found

The resource was found at http://controler:8004/v1/1dfdb8d3adc64559a2870bb086c441b6/stacks/tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171/b1fca76b-c518-4ab3-8738-fc68e2786f57; you should be redirected automatically.
 _http_log_response /usr/lib/python2.7/dist-packages/keystoneclient/session.py:231
2017-02-26 04:40:14.157 8489 DEBUG requests.packages.urllib3.connectionpool [-] http://controler:8004 "GET /v1/1dfdb8d3adc64559a2870bb086c441b6/stacks/tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171/b1fca76b-c518-4ab3-8738-fc68e2786f57 HTTP/1.1" 200 1180 _make_request /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:395
2017-02-26 04:40:14.158 8489 DEBUG keystoneclient.session [-] RESP: [200] Content-Type: application/json; charset=UTF-8 Content-Length: 1180 X-Openstack-Request-Id: req-7e1eae90-3d28-4c43-960a-c5f35a6d9ada Date: Sat, 25 Feb 2017 23:10:14 GMT Connection: keep-alive
RESP BODY: {"stack": {"disable_rollback": true, "description": "HP-VSR with services\n", "parent": null, "tags": null, "stack_name": "tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171", "stack_user_project_id": "1dfdb8d3adc64559a2870bb086c441b6", "stack_status_reason": "Stack CREATE completed successfully", "creation_time": "2017-02-25T22:16:30", "links": [{"href": "http://controler:8004/v1/1dfdb8d3adc64559a2870bb086c441b6/stacks/tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171/b1fca76b-c518-4ab3-8738-fc68e2786f57", "rel": "self"}], "capabilities": [], "notification_topics": [], "updated_time": null, "timeout_mins": 10, "stack_status": "CREATE_COMPLETE", "stack_owner": null, "parameters": {"OS::project_id": "1dfdb8d3adc64559a2870bb086c441b6", "OS::stack_id": "b1fca76b-c518-4ab3-8738-fc68e2786f57", "OS::stack_name": "tacker.vm.infra_drivers.heat.heat_DeviceHeat-dca444fd-20df-42aa-8d19-334c64686171"}, "id": "b1fca76b-c518-4ab3-8738-fc68e2786f57", "outputs": [{"output_value": "172.24.3.25", "output_key": "mgmt_ip-VDU1", "description": "No description given"}], "template_description": "HP-VSR with services\n"}}
 _http_log_response /usr/lib/python2.7/dist-packages/keystoneclient/session.py:231
2017-02-26 04:40:14.160 8489 DEBUG tacker.common.log [-] tacker.vm.mgmt_drivers.HP-VSR.HP-VSR.DeviceMgmtHP-VSR method mgmt_call called with arguments () {'device': {'status': 'PENDING_UPDATE', 'instance_id': u'b1fca76b-c518-4ab3-8738-fc68e2786f57', 'description': u'HP-VSR with services', 'tenant_id': u'1dfdb8d3adc64559a2870bb086c441b6', 'vim_id': u'd7372d21-b07b-4924-a32d-7152ae2656b8', 'template_id': u'94c71f83-607c-4859-9a07-a91f2b996b4b', 'device_template': {'service_types': [{'service_type': u'vnfd', 'id': u'16c43a62-ae3c-4478-9994-3b6bf23b48c5'}], 'description': u'HP-VSR with services', 'tenant_id': u'1dfdb8d3adc64559a2870bb086c441b6', 'mgmt_driver': u'HP-VSR', 'infra_driver': u'heat', 'attributes': {u'vnfd': u'tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\r\n\r\ndescription: HP-VSR with services\r\n\r\nmetadata:\r\n template_name: HP-VSR\r\n\r\ntopology_template:\r\n node_templates:\r\n VDU1:\r\n type: tosca.nodes.nfv.VDU.Tacker\r\n capabilities:\r\n nfv_compute:\r\n properties:\r\n num_cpus: 1\r\n mem_size: 2 GB\r\n disk_size: 20 GB\r\n properties:\r\n image: Hp-VSR\r\n mgmt_driver: HP-VSR\r\n \r\n CP1:\r\n type: tosca.nodes.nfv.CP.Tacker\r\n properties:\r\n management: true\r\n anti_spoofing_protection: false\r\n requirements:\r\n - virtualLink:\r\n node: VL1\r\n - virtualBinding:\r\n node: VDU1\r\n\r\n VL1:\r\n type: tosca.nodes.nfv.VL\r\n properties:\r\n network_name: internal\r\n vendor: Tacker'}, 'id': u'94c71f83-607c-4859-9a07-a91f2b996b4b', 'name': u'HP-VSR-Configpush'}, 'mgmt_url': u'{"VDU1": "172.24.3.25"}', 'placement_attr': {'vim_name': u'WHQ-GNR-TCS'}, 'attributes': {u'monitoring_policy': u'{"vdus": {}}', u'config': "tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\nvdus:\n vdu1:\n config:\n router: 'system-view\n\n sysname HP-VSR01\n\n '\ndescription: HP-VSR with services\ntopology_template:\n node_templates:\n VDU1:\n type: tosca.nodes.nfv.VDU.Tacker\n properties:\n config:\n router: 'system-view\n\n sysname HP-VSR01\n\n '\nmetadata:\n template_name: HP-VSR\n", u'heat_template': u"heat_template_version: 2013-05-23\ndescription: 'HP-VSR with services\n\n '\nparameters: {}\nresources:\n VDU1:\n type: OS::Nova::Server\n properties:\n networks:\n - port:\n get_resource: CP1\n flavor:\n get_resource: VDU1_flavor\n user_data_format: SOFTWARE_CONFIG\n image: Hp-VSR\n config_drive: false\n CP1:\n type: OS::Neutron::Port\n properties:\n port_security_enabled: false\n network: internal\n VDU1_flavor:\n type: OS::Nova::Flavor\n properties:\n vcpus: 1\n disk: 20\n ram: 2048\noutputs:\n mgmt_ip-VDU1:\n value:\n get_attr: [CP1, fixed_ips, 0, ip_address]\n"}, 'id': u'dca444fd-20df-42aa-8d19-334c64686171', 'name': u'abh'}, 'kwargs': {'action': 'update_device', 'kwargs': {'device': {'status': 'PENDING_UPDATE', 'instance_id': u'b1fca76b-c518-4ab3-8738-fc68e2786f57', 'description': u'HP-VSR with services', 'tenant_id': u'1dfdb8d3adc64559a2870bb086c441b6', 'vim_id': u'd7372d21-b07b-4924-a32d-7152ae2656b8', 'template_id': u'94c71f83-607c-4859-9a07-a91f2b996b4b', 'device_template': {'service_types': [{'service_type': u'vnfd', 'id': u'16c43a62-ae3c-4478-9994-3b6bf23b48c5'}], 'description': u'HP-VSR with services', 'tenant_id': u'1dfdb8d3adc64559a2870bb086c441b6', 'mgmt_driver': u'HP-VSR', 'infra_driver': u'heat', 'attributes': {u'vnfd': u'tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\r\n\r\ndescription: HP-VSR with services\r\n\r\nmetadata:\r\n template_name: HP-VSR\r\n\r\ntopology_template:\r\n node_templates:\r\n VDU1:\r\n type: tosca.nodes.nfv.VDU.Tacker\r\n capabilities:\r\n nfv_compute:\r\n properties:\r\n num_cpus: 1\r\n mem_size: 2 GB\r\n disk_size: 20 GB\r\n properties:\r\n image: Hp-VSR\r\n mgmt_driver: HP-VSR\r\n \r\n CP1:\r\n type: tosca.nodes.nfv.CP.Tacker\r\n properties:\r\n management: true\r\n anti_spoofing_protection: false\r\n requirements:\r\n - virtualLink:\r\n node: VL1\r\n - virtualBinding:\r\n node: VDU1\r\n\r\n VL1:\r\n type: tosca.nodes.nfv.VL\r\n properties:\r\n network_name: internal\r\n vendor: Tacker'}, 'id': u'94c71f83-607c-4859-9a07-a91f2b996b4b', 'name': u'HP-VSR-Configpush'}, 'mgmt_url': u'{"VDU1": "172.24.3.25"}', 'placement_attr': {'vim_name': u'WHQ-GNR-TCS'}, 'attributes': {u'monitoring_policy': u'{"vdus": {}}', u'config': "tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\nvdus:\n vdu1:\n config:\n router: 'system-view\n\n sysname HP-VSR01\n\n '\ndescription: HP-VSR with services\ntopology_template:\n node_templates:\n VDU1:\n type: tosca.nodes.nfv.VDU.Tacker\n properties:\n config:\n router: 'system-view\n\n sysname HP-VSR01\n\n '\nmetadata:\n template_name: HP-VSR\n", u'heat_template': u"heat_template_version: 2013-05-23\ndescription: 'HP-VSR with services\n\n '\nparameters: {}\nresources:\n VDU1:\n type: OS::Nova::Server\n properties:\n networks:\n - port:\n get_resource: CP1\n flavor:\n get_resource: VDU1_flavor\n user_data_format: SOFTWARE_CONFIG\n image: Hp-VSR\n config_drive: false\n CP1:\n type: OS::Neutron::Port\n properties:\n port_security_enabled: false\n network: internal\n VDU1_flavor:\n type: OS::Nova::Flavor\n properties:\n vcpus: 1\n disk: 20\n ram: 2048\noutputs:\n mgmt_ip-VDU1:\n value:\n get_attr: [CP1, fixed_ips, 0, ip_address]\n"}, 'id': u'dca444fd-20df-42aa-8d19-334c64686171', 'name': u'abh'}}}, 'context': <tacker.context.Context object at 0x7f4d9710a390>, 'plugin': <tacker.vm.plugin.VNFMPlugin object at 0x7f4d97c2eb50>} wrapper /usr/local/lib/python2.7/dist-packages/tacker/common/log.py:32

___________________________________

If anyone can suggest a way to rectify above issue.

Thanks,
Abhijeet

Revision history for this message
Sridhar Ramaswamy (srics-r) said :
#2

Hi Abhijeet,

OpenWRT config mgmt-driver [1] uses CLI-over-SSH method to configure and has openwrt specific operations to apply the configuration (see L56-L65). Have you written a similar code for HP-VSR ? Ideally I'd unit-test that code separately (without tacker) to make sure that "driver" can successfully apply configs on HP-VSR before trying to automate through tacker.

thanks,
Sridhar

[1] https://github.com/openstack/tacker/blob/master/tacker/vnfm/mgmt_drivers/openwrt/openwrt.py

Revision history for this message
Launchpad Janitor (janitor) said :
#3

This question was expired because it remained in the 'Needs information' state without activity for the last 15 days.