Ansible модуль для остановки и запуска службы `ssh` - PullRequest
2 голосов
/ 19 июня 2020

Вопрос:

Этот сценарий используется для объяснения использования модулей в Ansible.

Для этого вы должны остановить и запустить службу с именем ssh.

Задачи, которые необходимо выполнить: - Записать задачу в файл main.yml, находящийся в папке fresco_module \ tasks.

Задача - остановить и запустить службу с именем ssh, используя сервисный модуль в Ansible.

Примечание:

  • Запуск установки проекта для установки ansible .mainplaybook.yml файл предоставляется в ansible -playbook.
  • Используйте локальный хост для инвентаря для ansible -playbook.

Мой код:

- hosts: localhost
  become: yes
  tasks:
  - name: Stop and Start ssh
    service:
      name: ssh
      state: "{{ item }}"
    with_items:
      - stopped
      - started

Вывод:

PLAY [localhost] *******************************************************************************

TASK [Gathering Facts] *************************************************************************
[DEPRECATION WARNING]: Distribution Ubuntu 16.04 on host localhost should use /usr/bin/python3,
 but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future 
Ansible release will default to using the discovered platform python for this host. See 
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more 
information. This feature will be removed in version 2.12. Deprecation warnings can be disabled
 by setting deprecation_warnings=False in ansible.cfg.
ok: [localhost]

TASK [Stop and Start ssh] **********************************************************************
changed: [localhost] => (item=stopped)
ok: [localhost] => (item=started)

PLAY RECAP *************************************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Проблема: Служба уже запущена после того, как Ansible остановил ее, что похоже, что sshd никогда не останавливался изначально.

Команда, используемая для проверки статуса: service ssh status. Я также использовал эту команду с state:stopped, но sshd все еще работает. Я так долго сталкиваюсь с этой проблемой. Я также пробовал с state:restarted.

Ответы [ 5 ]

0 голосов
/ 15 июля 2020

Просто запустите playbook для остановки запуска службы s sh без перезапуска. или используйте это

-
  name: "Stop ssh"
  service:
    name: ssh
    state: stopped


-

  name: "start ssh"
  service:
    name: ssh
    state: started

после успешного запуска playbook. Просто остановите службу, набрав sudo serivce ssh stop, а затем запустите службу sudo service ssh start. тогда просто отправьте тест. передадите руку на

0 голосов
/ 09 июля 2020

Даже я попытался решить эту проблему со многими другими модулями, такими как systemd, но мне все равно не удалось остановить службу. Но с помощью командного модуля и передачи «sudo service s sh stop» я смог остановить службу. но все равно не миновала проблема. Даже пробовал ответить Феликса раньше, но все еще не смог пройти.

А также, если бы кто-нибудь мог мне помочь с «Ansible Хоровой | 5 | Ansible Ролевой проблемой», было бы здорово. даже в этой проблеме после получения 100% балла fs не может пройти.

0 голосов
/ 20 июня 2020

У меня такой же запрос. Я сделал то же самое, но такого вывода не было. Он всегда показывает запущенный sshd. Вот почему этот не полный.

0 голосов
/ 09 июля 2020

Я попробовал следующее и получил тот же вывод «sshd running», но проблема здесь, я думаю, в том, что они хотят, чтобы мы останавливались и запускались в рамках одной задачи. Также нам не разрешено использовать перезапущенное состояние: /

-
  name: "Stop ssh"
  service:
    name: ssh
    state: stopped


-

  name: "start ssh"
  service:
    name: ssh
    state: started
0 голосов
/ 19 июня 2020

Привет, Вивек, и добро пожаловать в сообщество!

Это должно быть легко. Вы можете указать Ansible перезапустить службу напрямую без остановки и запуска в два отдельных этапа.

Должен работать следующий код:

- hosts: localhost
  become: yes
  tasks:
  - name: Stop and Start ssh
    service:
      name: ssh
      state: restarted

Таким образом Ansible гарантирует, что служба s sh была остановлена ​​и запущена - короче: перезапущена. Вам даже не понадобится with_items l oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...