Feature 10509 manual scaling for native k8s charm

Juju version has to be upgraded to 2.8.6 because of a typo error.
You can see bug report: https://github.com/juju/python-libjuju/issues/477
and release note: https://github.com/juju/python-libjuju/commit/facd1f19eae65728b6c7c3b823939bb35ae45ed2

Change-Id: Iae4262e64debdf6b4d36b37778ec29f0dd46bac1
Signed-off-by: aktas <emin.aktas@ulakhaberlesme.com.tr>
diff --git a/n2vc/k8s_conn.py b/n2vc/k8s_conn.py
index 058f5ba..f82e032 100644
--- a/n2vc/k8s_conn.py
+++ b/n2vc/k8s_conn.py
@@ -208,6 +208,44 @@
         """
 
     @abc.abstractmethod
+    async def scale(
+            self, kdu_instance: str,
+            scale: int,
+            resource_name: str,
+            total_timeout: float = 1800,
+            **kwargs,
+    ) -> bool:
+        """
+        Scales an application in KDU instance.
+
+        :param: kdu_instance str:        KDU instance name
+        :param: scale int:               Scale to which to set this application
+        :param: resource_name str:       Resource name (Application name)
+        :param: timeout float:           The time, in seconds, to wait for the install
+                                         to finish
+        :param kwargs:                   Additional parameters
+
+        :return: If successful, returns True
+        """
+
+    @abc.abstractmethod
+    async def get_scale_count(
+            self,
+            resource_name: str,
+            kdu_instance: str,
+            **kwargs,
+    ) -> int:
+        """
+        Get an application scale count.
+
+        :param: resource_name str:       Resource name (Application name)
+        :param: kdu_instance str:        KDU instance name
+        :param kwargs:                   Additional parameters
+
+        :return: Return application instance count
+        """
+
+    @abc.abstractmethod
     async def rollback(
         self, cluster_uuid: str, kdu_instance: str, revision=0, db_dict: dict = None
     ):