Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

**test_sp02_test_service_reconfiguration_(OS)** #209

Open
tsoenen opened this issue Jul 2, 2019 · 6 comments
Open

**test_sp02_test_service_reconfiguration_(OS)** #209

tsoenen opened this issue Jul 2, 2019 · 6 comments
Assignees
Projects

Comments

@tsoenen
Copy link
Member

tsoenen commented Jul 2, 2019

Short description: Ensure that a service reconfiguration is triggered and executed correctly based on custom metrics from Openstack.
Tool: monitoring engine, MANO, Policy Manager
Collected metric: test execution time, test instantiation time, test scale time
Priority: high
Complexity: medium
Responsible: PANOS K (SYN), Eleni (UBI), Thomas (IMEC)

@tsoenen tsoenen created this issue from a note in sp-group-4 (Creating test cases) Jul 2, 2019
@tsoenen
Copy link
Member Author

tsoenen commented Jul 2, 2019

We need to ensure that a service reconfiguration is triggered based on custom metrics from VIM (OS)
	* define SP platform (pre-int)
	* clean our specific package
	* upload our specific package (vnf based - year 1 demo)
	* create a policy descriptor that defines a scaling event when a threshold for a generic metric is crossed
	* define the policy as default for this specific package / ns
	* deploy the network service
	* wait until the service is deployed
	* check if the serivce is deployed correctly
	* fake the custom metric crossing the threshold by placing it on the pushgateway
	* check if the metric is available from prometheus, associated to the service
	* wait for the policy manager to request a MANO scaling action, and for the MANO to execute this action
	* evaluate the outcome of the MANO action
	* terminate the service
	* deactivate policy
	* delete the policy
	* delete the package

efotopoulou added a commit to ubitech/tng-tests that referenced this issue Jul 15, 2019
@efotopoulou efotopoulou moved this from Creating test cases to Creating robot file in sp-group-4 Jul 15, 2019
@tsoenen
Copy link
Member Author

tsoenen commented Jul 17, 2019

@efotopoulou Hi Eleni, how is it going with this? Do you have an idea when you would have a correctly functioning robot testfile?

@efotopoulou
Copy link
Collaborator

efotopoulou commented Jul 18, 2019

hi @tsoenen and @pkarkazis,

just commited a new version of the current integration test.
ns-squid-haproxy is succesfully packaged and deployed/undeployed with an elasticity policy enforced within the current integration test.
I have some issues we could tackle together:

  1. the service instantiation is done without a friendly name (it is optional to change this at the tnglib)
  2. i was not able to stress the haproxy with some traffic input because the external IP was not accessible. (maybe @tsoenen you can help on this)

The remaining steps are the following:
A. Check monitoring rules (almost done)
@pkarkazis i added the relevant function at monitor.py
B. Trigger one Monitoring rule
@pkarkazis how can we push a fake metric at this step?
Alternatively since the "haproxy_vnf_vdu01_haproxy_backend_sespsrv_less30_19ca692b" rule is already active i can also adapt the policy so as to demand a scale out action a while after the NS deployment. This is also an option that is more simple and reaches the test purposes. But if you prefer to do it by a fake metric value no problem!
Screenshot_20190718_173019
C. Check that scaling action has been triggered by the policy manager
i will impement this by checking the actions generated by the policy manager.
D. Evaluate the outcome of the MANO action
here i plan to check the number of VDUs. if they are 3 (one haproxy and two squids then the scaling action is done)
@tsoenen if you want to check this step by an other way, again you are more than welcome!

Tomorrow i have a day-off, so i will continue with the test implementation from monday.

@pkarkazis
Copy link
Collaborator

@efotopoulou The scope of the test is to check the scaling action. So, I agree with the usage of the already defined rule.

@efotopoulou
Copy link
Collaborator

efotopoulou commented Jul 26, 2019

@tsoenen
i am trying to finish the test_sp02_test_servicereconfiguration(OS) #209
i have a problem at scaling out the squid vnf. Graylogs servicelifecyclemanagement container give me the message:
Service None Response on scaling request: {'error': "Missing 'service_instance_id' in request", 'status': 'ERROR', 'scaling_type': None}
the NS created by the test is placed here https://int-sp-ath.5gtango.eu/service-management/network-services/services/fea733a3-0176-4b41-bf9b-444698d44635
if you instantiate it ... in a while the scaling out will be requested from the MANO?
what goes wrong with scaling?
thanks a lot for your time!

@efotopoulou
Copy link
Collaborator

@tsoenen i have a problem when trying to terminate the NS. i get the following error message from the servicelifecyclemanagement container

Error in subscription thread: '0e3563e7-3eaf-45a9-907b-414efbbff04d' File "/usr/local/lib/python3.4/site-packages/sonmanobase-0.9-py3.4.egg/sonmanobase/messaging.py", line 173, in _wrapper_cbf cbf(ch, method, properties, body) File "/plugins/son-mano-service-lifecycle-management/son_mano_slm/slm.py", line 512, in service_instance_kill orig='GK') File "/plugins/son-mano-service-lifecycle-management/son_mano_slm/slm.py", line 1141, in terminate_workflow return self.services[serv_id]['schedule']

@efotopoulou efotopoulou moved this from Creating robot file to Automating test with jenkins in sp-group-4 Jul 29, 2019
@efotopoulou efotopoulou moved this from Automating test with jenkins to Test case and robot file being reviewed in sp-group-4 Aug 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
sp-group-4
  
Test case and robot file being reviewed
Development

No branches or pull requests

3 participants