Временно смонтируйте общий ресурс smb с Ansible, используя модуль вместо оболочки - PullRequest
0 голосов
/ 24 января 2020

Мне нужно смонтировать общий ресурс smb, чтобы иметь доступ к большим общим файлам установки в Ansible. Это работает с использованием CLI:

- name: Mount share
  become: yes
  shell: "mount.cifs {{ smb_share.path }} {{ smb_share.mount_point }} -o user={{ smb_share.user }},password={{ smb_share.password }},mfsymlinks,exec"

Однако у этого есть два недостатка:

  • Не соблюдает лучшие практики использования модулей вместо команд оболочки при необходимости
  • Не обнаружен, если уже смонтирован - мне нужно реализовать это, например, grep для точки монтирования в mount

В * 1026 есть модуль mount *. Но поскольку этот общий ресурс предназначен только для установки и использует учетные данные, я не хочу, чтобы он был постоянно смонтирован. Параметр boot ищет то, что мне нужно, к сожалению, не для Linux:

Determines if the filesystem should be mounted on boot.
Only applies to Solaris systems.

Я все еще пытался установить boot: no, но, как описано в документации, он по-прежнему создает запись /etc/fstab с пароль в виде простого текста.

Есть ли альтернатива, если общий ресурс Windows временно устанавливается в CentOS 7 с любым модулем Ansible?

1 Ответ

0 голосов
/ 29 января 2020

Я не знаю, существует ли какой-либо модуль временного монтирования c в ansible. Но из документов вы можете использовать модуль mount следующим образом:

- name: Mount network share
  mount:
    src: //path/to/windows/share
    path: /mnt
    fstype: cifs
    opts: 'username=example@domain,password=Password1!'
    state: mounted
  become: true

- name: Unmount network share
  mount:
    path: /mnt
    state: absent
  become: true

Первая задача state = mount создаст запись в / etc / fstab и смонтируйте этот сетевой ресурс, и вторую задачу состояние = отсутствует , которую можно использовать для размонтирования смонтированного общего ресурса и удаления соответствующей записи из / etc / fstab . Это лучший вариант, который приходит мне в голову.

...