diff --git a/tcp_tests/tests/system/test_virtlet_actions.py b/tcp_tests/tests/system/test_virtlet_actions.py
new file mode 100644
index 0000000..523aceb
--- /dev/null
+++ b/tcp_tests/tests/system/test_virtlet_actions.py
@@ -0,0 +1,48 @@
+#    Copyright 2017 Mirantis, Inc.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+import copy
+import time
+
+import pytest
+
+from tcp_tests import settings
+from tcp_tests.helpers import ext
+from tcp_tests import logger
+
+LOG = logger.logger
+
+
+class TestVirtletActions(object):
+    """Test class for testing Virtlet actions"""
+
+    #salt_cmd = 'salt -l debug '  # For debug output
+    #salt_call_cmd = 'salt-call -l debug '  # For debug output
+    salt_cmd = 'salt --hard-crash --state-output=mixed --state-verbose=False '  # For cause only output
+    salt_call_cmd = 'salt-call --hard-crash --state-output=mixed --state-verbose=False '  # For cause only output
+    #salt_cmd = 'salt --state-output=terse --state-verbose=False '  # For reduced output
+    #salt_call_cmd = 'salt-call --state-output=terse --state-verbose=False '  # For reduced output
+
+    def test_virtlet_create_delete_vm(self, underlay, virtlet_deployed,
+                                     show_step, virtlet_actions):
+        """Test for deploying an mcp environment with virtlet
+
+        Scenario:
+            1. Start VM as a virtlet pod
+            2. Wait active state of VM
+            3. Delete VM and wait to delete pod
+
+        """
+        vm_name = virtlet_actions.run_vm()
+        virtlet_actions.wait_active_state(vm_name)
+        virtlet_actions.delete_vm(vm_name)
