]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
python-common: add ServiceSpec type checking
authorMichael Fritch <mfritch@suse.com>
Wed, 3 Jun 2020 17:08:29 +0000 (11:08 -0600)
committerMichael Fritch <mfritch@suse.com>
Wed, 3 Jun 2020 22:35:37 +0000 (16:35 -0600)
- add missing type checking to NFSServiceSpec and IscsiServiceSpec
- clean-up type checking for ServiceSpec and RGWSpec

Signed-off-by: Michael Fritch <mfritch@suse.com>
src/python-common/ceph/deployment/service_spec.py

index 627a7ca6a28dd6d72922a25b3796e72bf17d6b19..033fe2531da7def00fb36758bf03bcc96c461c1d 100644 (file)
@@ -389,11 +389,11 @@ class ServiceSpec(object):
         return object.__new__(sub_cls)
 
     def __init__(self,
-                 service_type,     # type: str
-                 service_id=None,  # type: Optional[str]
-                 placement=None,   # type: Optional[PlacementSpec]
-                 count=None,       # type: Optional[int]
-                 unmanaged=False,  # type: bool
+                 service_type: str,
+                 service_id: Optional[str] = None,
+                 placement: Optional[PlacementSpec] = None,
+                 count: Optional[int] = None,
+                 unmanaged: bool = False,
                  ):
         self.placement = PlacementSpec() if placement is None else placement  # type: PlacementSpec
 
@@ -490,8 +490,14 @@ def servicespec_validate_add(self: ServiceSpec):
 
 
 class NFSServiceSpec(ServiceSpec):
-    def __init__(self, service_id=None, pool=None, namespace=None, placement=None,
-                 service_type='nfs', unmanaged=False):
+    def __init__(self,
+                 service_type: str = 'nfs',
+                 service_id: Optional[str] = None,
+                 pool: Optional[str] = None,
+                 namespace: Optional[str] = None,
+                 placement: Optional[PlacementSpec] = None,
+                 unmanaged: bool = False,
+                 ):
         assert service_type == 'nfs'
         super(NFSServiceSpec, self).__init__(
             'nfs', service_id=service_id,
@@ -528,17 +534,17 @@ class RGWSpec(ServiceSpec):
 
     """
     def __init__(self,
-                 service_type='rgw',
-                 service_id=None,  # type: Optional[str]
-                 placement=None,
-                 rgw_realm=None,  # type: Optional[str]
-                 rgw_zone=None,  # type: Optional[str]
-                 subcluster=None,  # type: Optional[str]
-                 rgw_frontend_port=None,  # type: Optional[int]
-                 rgw_frontend_ssl_certificate=None,  # type Optional[List[str]]
-                 rgw_frontend_ssl_key=None,  # type: Optional[List[str]]
-                 unmanaged=False,  # type: bool
-                 ssl=False,   # type: bool
+                 service_type: str = 'rgw',
+                 service_id: Optional[str] = None,
+                 placement: Optional[PlacementSpec] = None,
+                 rgw_realm: Optional[str] = None,
+                 rgw_zone: Optional[str] = None,
+                 subcluster: Optional[str] = None,
+                 rgw_frontend_port: Optional[int] = None,
+                 rgw_frontend_ssl_certificate: Optional[List[str]] = None,
+                 rgw_frontend_ssl_key: Optional[List[str]] = None,
+                 unmanaged: bool = False,
+                 ssl: bool = False,
                  ):
         assert service_type == 'rgw', service_type
         if service_id:
@@ -584,17 +590,20 @@ class RGWSpec(ServiceSpec):
 
 
 class IscsiServiceSpec(ServiceSpec):
-    def __init__(self, service_id, pool=None,
-                 placement=None,
-                 trusted_ip_list=None,
-                 api_port=None,
-                 api_user=None,
-                 api_password=None,
-                 api_secure=None,
-                 ssl_cert=None,
-                 ssl_key=None,
-                 service_type='iscsi',
-                 unmanaged=False):
+    def __init__(self,
+                 service_type: str = 'iscsi',
+                 service_id: Optional[str] = None,
+                 pool: Optional[str] = None,
+                 trusted_ip_list: Optional[str] = None,
+                 api_port: Optional[int] = None,
+                 api_user: Optional[str] = None,
+                 api_password: Optional[str] = None,
+                 api_secure: Optional[bool] = None,
+                 ssl_cert: Optional[str] = None,
+                 ssl_key: Optional[str] = None,
+                 placement: Optional[PlacementSpec] = None,
+                 unmanaged: bool = False
+                 ):
         assert service_type == 'iscsi'
         super(IscsiServiceSpec, self).__init__('iscsi', service_id=service_id,
                                                placement=placement, unmanaged=unmanaged)