Ansible ssh encaminhamento é bom enquanto adhoc, mas falhou no playbook

1

Depois de muito puxar o cabelo e bater a cabeça, não consigo descobrir isso.

Estou tentando fazer com que o Ansible copie / registre um repositório privado em uma máquina remota e decidi usar o encaminhamento de SSH após a pesquisa.

Eu configurei tudo e o manual falhou. Eu testei no comando ansible ad-hoc, estes são os resultados:

$ ansible build-servers -a "ssh -T [email protected]" -u builder                                                                                             
zaar | FAILED | rc=1 >>
Hi yuchunc! You've successfully authenticated, but GitHub does not provide shell access.non-zero return code

$ ansible build-servers -a "git ls-remote --heads [email protected]:yuchunc/ZaZaar.git" -u builder                                                           
zaar | SUCCESS | rc=0 >>
def3ca999e9f77776dc74fe4c152497040a5f020    refs/heads/master

No entanto, falhou quando eu corri o jogo de um manual.

jogar:

- name: Check out project from git
  git:
    repo: "{{ app_repo }}"
    dest: "{{ build_dir }}"
    version: "{{ app_version | default('HEAD') }}"
    force: yes
    accept_hostkey: yes

Saída detalhada:

The full traceback is:
  File "/tmp/ansible_dDsiHl/ansible_module_git.py", line 435, in clone
    os.makedirs(dest_dirname)
  File "/usr/lib64/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)

fatal: [zaar]: FAILED! => {
    "changed": false,
    "cmd": "/bin/git clone --origin origin '' /home/builder/build/zazaar",
    "invocation": {
        "module_args": {
            "accept_hostkey": true,
            "archive": null,
            "bare": false,
            "clone": true,
            "depth": null,
            "dest": "/home/builder/build/zazaar",
            "executable": null,
            "force": true,
            "key_file": null,
            "recursive": true,
            "reference": null,
            "refspec": null,
            "remote": "origin",
            "repo": "[email protected]:yuchunc/ZaZaar.git",
            "ssh_opts": null,
            "track_submodules": false,
            "umask": null,
            "update": true,
            "verify_commit": false,
            "version": "HEAD"
        }
    },
    "msg": "Permission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.",         "rc": 128,
    "stderr": "Permission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n",
    "stderr_lines": [
        "Permission denied (publickey).",
        "fatal: Could not read from remote repository.",
        "",
        "Please make sure you have the correct access rights",
        "and the repository exists."
    ],
    "stdout": "Cloning into '/home/builder/build/zazaar'...\n",
    "stdout_lines": [
        "Cloning into '/home/builder/build/zazaar'..."
    ]
}

Ansible.cfg:

[defaults]
remote_user = centos
# system_errors = False
host_key_checking = False
inventory = inventory
roles_path = roles.galaxy:roles
# vault_password_file = vault.key
# lookup_plugins = ./lookup_plugins/
# filter_plugins = ./filter_plugins/
library = library
# timeout = 30
ansible_managed = Ansible managed, any changes you make here will be overwritten
retry_files_enabled = False

[ssh_connection]
# This assumes that you have added your servers to a ~/.ssh/config file
ssh_args = -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=15m -q
# With larger teams, we normally put the hosts in a ssh.config in the project
# which is the master definition of the hosts
# ssh_args = -o ControlMaster=auto -o ControlPersist=15m -F ssh.config -q
scp_if_ssh = True
control_path = /tmp/mux-%%r@%%h:%%p
pipelining = True

Eu perdi alguma coisa?

    
por Mickey 21.07.2018 / 11:51

0 respostas

Tags