Ansible debops.slapd и ansible gitlab_user - PullRequest
0 голосов
/ 04 ноября 2018

Это будет долго, извините, но никто, похоже, не сможет помочь ... Имейте в виду, это не моя домашняя работа !! Это проект, за который мне платят, но я не могу найти никакой информации об этом, и мне страшно, что я даже не могу этого сделать ...

Я являюсь частью проекта, в котором нам нужно настроить виртуальную среду с помощью gitlab, alfresco и т. Д., Создать пользователей, автоматизировать коммиты и тому подобное с помощью Ansible. Нам это нужно для продвинутого тестирования и безопасности, реалистичной игровой площадки.

Я настраиваю Gitlab, который работал нормально, но теперь у меня проблемы с созданием пользователей, я не могу заставить работать модуль ansible gitlab_user, нет ни одного примера того, как его использовать, и в данном примере playbooks тоже не работает ... Может кто-нибудь помочь мне разобраться в синтаксисе? Должен ли я запустить playbook с этим в нем? :

- name: Create Gitlab User
  gitlab_user:
    server_url: https://gitlab.dj-wasabi.local
    validate_certs: True
    login_user: dj-wasabi
    login_password: MySecretPassword
    name: My Name
    username: myusername
    password: mysecretpassword
    email: me@example.com
    sshkey_name: MySSH
    sshkey_file: ssh-rsa AAAAB3NzaC1yc...
    state: present
  delegate_to: localhost 

Или, если мне нужно использовать его как команду от терминала, как мне это сделать? Я присоединился к группе Google, чтобы спросить об этом, и никто не ответил в течение нескольких дней.

Я подумал, что если я не смогу заставить его работать, я буду использовать LDAP для управления пользователями, но могу ли я это сделать? Или LDAP только для аутентификации, и я должен заставить пользователей с gitlab в любом случае? Это то, чего я не очень понимаю в самом GitLab ...

Тем не менее я пытался настроить Slapd с заданной ролью debops.slapd. Я нашел этот вопрос здесь, но когда я скопировал код и запустил playbook, он просто дал мне это:

    PLAY [Manage OpenLDAP service] *************************************************

TASK [Gathering Facts] *********************************************************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Make sure that Ansible local facts directory exists] ******
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Save APT local facts] *************************************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Update Ansible facts if they were modified] ***************
skipping: [ansitest1@192.168.1.71]

TASK [debops.slapd : Install required packages] ********************************
[DEPRECATION WARNING]: Invoking "apt" only once while using a loop via 
squash_actions is deprecated. Instead of using a loop to supply multiple items 
and specifying `name: {{ item }}`, please use `name: [u'{{ apt__base_packages 
}}', u'{{ apt__packages }}']` and remove the loop. This feature will be removed
 in version 2.11. Deprecation warnings can be disabled by setting 
deprecation_warnings=False in ansible.cfg.
ok: [ansitest1@192.168.1.71] => (item=[u'apt-transport-https', u'ca-certificates'])

TASK [debops.slapd : Ensure that APT default configuration is absent] **********
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Generate APT configuration files] *************************
ok: [ansitest1@192.168.1.71] => (item=etc/apt/apt.conf.d/25no-recommends.conf)

TASK [debops.slapd : Check current APT diversions] *****************************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Divert original /etc/apt/sources.list] ********************
skipping: [ansitest1@192.168.1.71]

TASK [debops.slapd : Configure APT distribution sources] ***********************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Remove diversion of original /etc/apt/sources.list] *******
skipping: [ansitest1@192.168.1.71]

TASK [debops.slapd : Configure custom APT keys] ********************************

TASK [debops.slapd : Configure custom APT repositories] ************************

TASK [debops.slapd : Generate additionnal APT configuration files] *************

TASK [debops.slapd : Delete APT configuration files on remote hosts] ***********

TASK [debops.slapd : Remove old unattended-upgrades configuration] *************
ok: [ansitest1@192.168.1.71] => (item=25auto-upgrades.conf)
ok: [ansitest1@192.168.1.71] => (item=55unattended-upgrades.conf)

TASK [debops.slapd : Update APT cache] *****************************************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Update the role status in local facts] ********************
skipping: [ansitest1@192.168.1.71]

TASK [debops.slapd : Update Ansible facts if they were modified] ***************
skipping: [ansitest1@192.168.1.71]

PLAY RECAP *********************************************************************
ansitest1@192.168.1.71     : ok=10   changed=0    unreachable=0    failed=0   

Как видите, он, черт возьми, ничего не настроил, я даже скопировал примерный сборник с одним из предложенных ответов, и он тоже не сработал.

ВМ, на которой я пытаюсь установить slapd, является простой установкой Xubuntu, я использую Mint, я не совсем уверен, насколько это важно ...

Теперь вот вопрос, я знаю, что ни роль debos, ни модуль gitlab_user к этому моменту не затрагивались в течение многих лет, вы думаете, что есть какое-то изменение, которое я могу заставить его работать, или я должен написать пьесу самостоятельно настроить slapd и добавить пользователей в gitlab?

А если это так, могу ли я это сделать? Я посмотрел вверх цифровой океан и кажется, что я могу настроить Slapd и даже добавлять пользователей и тому подобное с помощью файлов Ldif на основе этой страницы . В чем я не уверен, так это в добавлении пользователей в Gitlab ...

Опять же, мне очень жаль, что вопрос такой длинный и сложный, но я ничего не нашел по этому поводу, и группа Google молчит. Должен ли я сделать это в несколько коротких вопросов?

Спасибо за ваше время и помощь в любом случае! (мой родной язык не английский, извините за ошибки)

1 Ответ

0 голосов
/ 05 ноября 2018

Пример, который вы показали с модулем gitlab_user, является задачей. Это должно быть задачей в игре. Ниже приведен пример пьесы с одной пьесой. Вы бы назвали это обычным способом, используя ansible-playbook.

Пробел важен, если отступ неправильный, он также может вызвать «ошибку:« gitlab_user не является допустимым атрибутом для Play », потому что Ansible считывает его как часть уровня воспроизведения, а не уровня задачи

---
- hosts: <hosts_to_run_play_on>
  vars:
    var1: <foo>
    var2: <bar>
  remote_user: <user>
  become: yes
  tasks:
    - name: Create Gitlab User
      gitlab_user:
      server_url: https://gitlab.dj-wasabi.local
      validate_certs: True
      login_user: dj-wasabi
      login_password: MySecretPassword
      name: My Name
      username: myusername
      password: mysecretpassword
      email: me@example.com
      sshkey_name: MySSH
      sshkey_file: ssh-rsa AAAAB3NzaC1yc...
      state: present

интро anible-playbook

Также убедитесь, что выполнены требования, изложенные в документации модуля.

  • pyapi-gitlab python module
  • права администратора на сервере Gitlab

gitlab_document

...