From 5ca009c86857b9af301024db6a9c2d63ebb7cb3a Mon Sep 17 00:00:00 2001 From: Michael Fritch Date: Wed, 3 Jun 2020 11:08:29 -0600 Subject: [PATCH] python-common: add ServiceSpec type checking - add missing type checking to NFSServiceSpec and IscsiServiceSpec - clean-up type checking for ServiceSpec and RGWSpec Signed-off-by: Michael Fritch --- .../ceph/deployment/service_spec.py | 67 +++++++++++-------- 1 file changed, 38 insertions(+), 29 deletions(-) diff --git a/src/python-common/ceph/deployment/service_spec.py b/src/python-common/ceph/deployment/service_spec.py index 627a7ca6a28dd..033fe2531da7d 100644 --- a/src/python-common/ceph/deployment/service_spec.py +++ b/src/python-common/ceph/deployment/service_spec.py @@ -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) -- 2.39.5