Revert "Revert "Clean up commented or unused code"" This reverts commit c1cf1b9a33dd1929fb834424626661f9c9dce64d. Code Clean up approved by TSC on Feb 2nd Change-Id: I069215c71aaebf3cf7009a3538e4e5112e66103d
Revert "Clean up commented or unused code" This reverts commit b4e7f5c425df48f7e946d792184d1d1b44879fe9. Change-Id: I31a65516e65c3eb6528f241e36c1e45f3753f4c0 Signed-off-by: David Garcia <david.garcia@canonical.com>
Clean up commented or unused code Change-Id: Ib116128c15d727b9124e51d2475556045b79ac0d Signed-off-by: David Garcia <david.garcia@canonical.com>
Add License headers to all code files This was related to bug 547 https://osm.etsi.org/bugzilla/show_bug.cgi?id=547 Change-Id: Ief72f6e3b3de828be033729298ae905d163c6988 Signed-off-by: Dominik Fleischmann <dominik.fleischmann@canonical.com>
Bug 666: Fix window_size overflow with Paramiko This commit fixes integration testing around bug fixes in the sshproxy layer that were causing a window_size overflow. This also improves reliability around testing machine charms, by verifying the sshd service is running inside the target machine (lxd) before running tests. Change-Id: I465d51521bf87b8e4b3dc5cac07c163fac836393 Signed-off-by: Adam Israel <adam.israel@canonical.com>
Improved integration tests This merge includes a refactored integration test framework, to better take advantage of asyncio, and clarifies the test logic so it's easier to extend in the future. It also supports testing of more complex VNFs, such as multi-vdu, multi-charm VNFs. n2vc/vnf.py: - Remove duplicate status filtering, as it was a poor solution and lead to situations where some callbacks were not sent. - Added an internal refcount to track libjuju instantiation (helpful in debugging) tests/charms/layers/proxy-ci/reactive/proxy_ci.py: - Fix name of install function (remove confusion while reading logs) tests/base.py: - Add debug() for more consistent and useful logging - Refactor: remove parse_metrics - Improved error handling - Better LXD network connectivity verification - Refactor test framework: - Better use of async coded - Make handling of test phase more robust - Support more complex test cases, such as multi-vdu, multi-charm tests/integration/* - Update to use refactored test framework Other: - `make clean` now removes charm artifacts in tests/charms/builds/ - `make lint` now ignores charm artifacts Signed-off-by: Adam Israel <adam.israel@canonical.com> Change-Id: I43a6d573a7bafdfe3ccb0bb0f0f7d75dcc9c42b1
Tox + Integration testing This commit implements a VNF Descriptor-driven integration test framework, which will lead to integration tests being able to run via jenkins, and more robust testing in general. N2VC: - Allow the use of an event loop passed when instantiating N2VC - Refactor the execution of the initial-config-primitive so that it can be easily re-run, such as the case of when a proxy charm is deployed before the VNF's VM is created. - Refactor GetPrimitiveStatus, to return the status (queued, running, complete, failed) of a primitive. - Add GetPrimitiveOutput, to return the output of a completed primitive - Fix model disconnection when executing a primitive (it was happening in the wrong scope) - Fix wait_for_application, which was previously unused and broken - Add support for parameter's 'data-type' field - Add support for better SSH key management, allowing for a proxy charm to be deployed before the VNF, so that it's public SSH key can be injected when the VNF's VM is created. Integration Tests: The integration tests are intended to exercise the expected functionality of a VNF/charm: deploy the charm, configure it as required (i.e., ssh credentials), and execute the VNF's initial-config-primitives. - test_native_charm: deploy a native charm to a juju-managed machine and verify primitive execution works - test_proxy_charm: deploy a proxy charm, configured to talk to a remote machine, and verify primitive execution works - test_metrics_native: deploy a native charm and collect a metric - test_metrics_proxy: deploy a proxy charm and collect a metric from the vnf - test_no_initial-config-primitive: deploy a vnf without an initial-config-primitive - test_non-string_parameter: deploy a vnf with a non-string parameter in initial-config-primitive - test_no_parameter: deploy a vnf with a primitive with no parameters General: - Add a build target to tox.ini so that a .deb is built via Jenkins TODO (in a follow-up commit): - test multi-vdu, multi-charm - test deploying a native charm to a manually-provisioned machine - Update inline pydoc - Add more integration tests - Add global per-test timeout to catch stalled tests Signed-off-by: Adam Israel <adam.israel@canonical.com> Change-Id: Id322b45d65c44714e8051fc5764f8c20b76d846c