Group: System/Filesystems
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
-Requires: python%{python3_pkgversion}-remoto
+Requires: python%{python3_pkgversion}-asyncssh
Requires: cephadm = %{_epoch_prefix}%{version}-%{release}
%if 0%{?suse_version}
Requires: openssh
with open(os.open(os.path.join(self.daemon_path, filename), os.O_CREAT | os.O_WRONLY, mode=0o600), 'w') as f:
f.write(config[filename])
- # When __file__ is <stdin> we're being invoked over remoto via the orchestrator, so
+ # When __file__ is <stdin> we're being invoked over asyncssh via the orchestrator, so
# we pick up the file from where the orchestrator placed it - otherwise we'll
# copy it to the binary location for this cluster
if not __file__ == '<stdin>':
[mypy-urllib3.*]
ignore_missing_imports = True
-[mypy-execnet.*]
-ignore_missing_imports = True
-
-[mypy-remoto.*]
+[mypy-asyncssh.*]
ignore_missing_imports = True
[mypy-kubernetes.*]
from .configchecks import CephadmConfigChecks
try:
- import remoto
- # NOTE(mattoliverau) Patch remoto until remoto PR
- # (https://github.com/alfredodeza/remoto/pull/56) lands
- from distutils.version import StrictVersion
- if StrictVersion(remoto.__version__) <= StrictVersion('1.2'):
- def remoto_has_connection(self: Any) -> bool:
- return self.gateway.hasreceiver()
-
- from remoto.backends import BaseConnection
- BaseConnection.has_connection = remoto_has_connection
- import remoto.process
+ import asyncssh
except ImportError as e:
- remoto = None
- remoto_import_error = str(e)
+ asyncssh = None
+ asyncssh_import_error = str(e)
logger = logging.getLogger(__name__)
@staticmethod
def can_run() -> Tuple[bool, str]:
- if remoto is not None:
+ if asyncssh is not None:
return True, ""
else:
- return False, "loading remoto library:{}".format(
- remoto_import_error)
+ return False, "loading asyncssh library:{}".format(
+ asyncssh_import_error)
def available(self) -> Tuple[bool, str, Dict[str, Any]]:
"""
import logging
import uuid
from collections import defaultdict
-from typing import TYPE_CHECKING, Optional, List, cast, Dict, Any, Union, Tuple, Iterator
-try:
- import remoto
- import execnet.gateway_bootstrap
-except ImportError:
- remoto = None
+from typing import TYPE_CHECKING, Optional, List, cast, Dict, Any, Union, Tuple
from ceph.deployment import inventory
from ceph.deployment.drive_group import DriveGroupSpec
pyyaml
prettytable
pyOpenSSL
-execnet
-remoto
Jinja2
pyfakefs
+asyncssh