Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cephadm: implement smb daemon core deployment #54817

Closed
wants to merge 9 commits into from

Commits on Feb 12, 2024

  1. cephadm: allow passing pathlib.Path objects to file_utils.makedirs

    Update the type annotations to allow passing pathlib.Path objects to the
    makedirs function. All the calls makedirs uses already can accept Path
    objects. This causes mypy to accept calling makedirs with a Path
    argument and Paths are nice.
    
    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    9085917 View commit details
    Browse the repository at this point in the history
  2. cephadm: add a prepare_data_dir method to container daemon form

    The prepare_data_dir method is a general way for classes to prepare the
    data dir (e.g. `/var/lib/ceph/$FSID/$DAEMON_TYPE.$DAEMON_ID`) before
    containers will use it.
    
    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    8f17617 View commit details
    Browse the repository at this point in the history
  3. cephadm: call container daemon form prepare_data_dir

    Instead of always climbing through an "if ladder" based on daemon type
    variables we will have the option of using the common method provided
    by container daemon form classes. This will initially be used by the
    smb daemon. I don't have the energy to refactor all the existing stuff
    at the moment.
    
    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    e1349b0 View commit details
    Browse the repository at this point in the history
  4. cephadm: add generic methods for sharing namespaces across containers

    In the future, some sidecar containers will need to share namespaces
    with the primary container (or each other). Make it easy to set this up
    by creating a enable_shared_namespaces function and Namespace enum.
    
    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    53c6381 View commit details
    Browse the repository at this point in the history
  5. cephadm: add a default constant value for samba server container image

    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    6f9b8e4 View commit details
    Browse the repository at this point in the history
  6. cephadm: add an SMB daemon module and classes

    Add an incomplete but largely viable SMB/Samba container daemon form
    implementation to cephadm. Currently unused but it lays out some of the
    basics needed to create smb sharing using samba containers under cephadm
    orchestration.
    
    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    99834eb View commit details
    Browse the repository at this point in the history
  7. cephadm: import and enable deployment of SMB daemon class

    Enable the use of the SMB container daemon form class by importing, and
    thus registering, it. Note that the only way to invoke this feature is
    by hand rolling some JSON to feed to the `ceph _orch deploy` command.
    Connecting this with the cephadm mgr module is left as a future task.
    
    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    4d8e643 View commit details
    Browse the repository at this point in the history
  8. cephadm: add a basic deployment test for an smb daemon

    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    a3e353b View commit details
    Browse the repository at this point in the history
  9. cephadm: fix issue joining to ad by using a virtual hostname

    The not-a-real-fqdn hostname that the containers got were causing
    performance issues joining AD (and running testjoin and winbind).
    Define a virtual hostname that can be passed in from the service or
    automatically derived from the system's hostname.
    
    Signed-off-by: John Mulligan <jmulligan@redhat.com>
    phlogistonjohn committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    c924491 View commit details
    Browse the repository at this point in the history