AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / Perguntas / 76945582
Accepted
EisenWang
EisenWang
Asked: 2023-08-21 21:05:46 +0800 CST2023-08-21 21:05:46 +0800 CST 2023-08-21 21:05:46 +0800 CST

É possível usar o registro para atribuir a origem do arquivo dinamicamente no Ansible? [fechado]

  • 772
Fechado. Esta pergunta não pode ser reproduzida ou foi causada por erros de digitação . No momento não está aceitando respostas.

Esta pergunta foi causada por um erro de digitação ou um problema que não pode mais ser reproduzido. Embora questões semelhantes possam estar no tópico aqui, esta foi resolvida de uma maneira menos provável de ajudar futuros leitores.

Fechado há 15 horas .

Melhore esta questão

Sou novo no Ansible. Recentemente, preciso do ansible para fazer isso -

  1. execute um comando no cliente para obter o nome da função deste cliente
  2. copie um arquivo para este cliente pelo nome da função desse cliente - por exemplo. o nome do cliente pode ser -- "web1", "db1", "cache2" ... Isso pode ser obtido executando um aplicativo -- "/opt/userlib/getrolename" E o nome do arquivo seria "web1.conf", "db1.conf", "cache2.conf" ...

Então, estou tentando isso -

- name: conf_files
  hosts: all

  tasks:
    - name: tracing
      shell: |
        date +%F_%T >> /tmp/ansible_record.log

    - name: get host role
      shell: |
        /opt/userlib/getrolename|sed "s/rolename://"
      register: host_output

    - name: check output
      debug:
        msg: "{{host_output.stdout}}"

    - name: copy file with number
      copy:
        src: {{ host_output.stdout }}.txt
        dest: /tmp/reg_role.txt

A partir da saída de depuração, parece bom - que posso obter a função pelo stdout do registro. Mas falhou pelo nome da origem do arquivo dinâmico-- {{ host_output.stdout }}.txt

The offending line appears to be:

      copy:
        src: {{ host_output.stdout }}.txt
                                     ^ here

Você poderia me dizer se é possível usar o nome da fonte do arquivo dinâmico com a variável no ansible? E se sim, como usá-lo? Agradecemos antecipadamente por qualquer ajuda.

ansible
  • 1 1 respostas
  • 14 Views

1 respostas

  • Voted
  1. Best Answer
    papanito
    2023-08-21T21:22:05+08:002023-08-21T21:22:05+08:00

    A solução para o seu problema é usar "aspas duplas", ou seja,"{{ host_output.stdout }}.txt"

    Veja também Sintaxe YAML (pegadinhas)

    Ansible usa “{{ var }}” para variáveis. Se um valor após dois pontos começar com “{”, o YAML pensará que é um dicionário, então você deve citá-lo

    • 1

relate perguntas

  • Comparando duas listas depois de passar pelo mapa Ansible ('regex_replace')

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    destaque o código em HTML usando <font color="#xxx">

    • 2 respostas
  • Marko Smith

    Por que a resolução de sobrecarga prefere std::nullptr_t a uma classe ao passar {}?

    • 1 respostas
  • Marko Smith

    Você pode usar uma lista de inicialização com chaves como argumento de modelo (padrão)?

    • 2 respostas
  • Marko Smith

    Por que as compreensões de lista criam uma função internamente?

    • 1 respostas
  • Marko Smith

    Estou tentando fazer o jogo pacman usando apenas o módulo Turtle Random e Math

    • 1 respostas
  • Marko Smith

    java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duratio

    • 3 respostas
  • Marko Smith

    Por que 'char -> int' é promoção, mas 'char -> short' é conversão (mas não promoção)?

    • 4 respostas
  • Marko Smith

    Por que o construtor de uma variável global não é chamado em uma biblioteca?

    • 1 respostas
  • Marko Smith

    Comportamento inconsistente de std::common_reference_with em tuplas. Qual é correto?

    • 1 respostas
  • Marko Smith

    Somente operações bit a bit para std::byte em C++ 17?

    • 1 respostas
  • Martin Hope
    fbrereto Por que a resolução de sobrecarga prefere std::nullptr_t a uma classe ao passar {}? 2023-12-21 00:31:04 +0800 CST
  • Martin Hope
    比尔盖子 Você pode usar uma lista de inicialização com chaves como argumento de modelo (padrão)? 2023-12-17 10:02:06 +0800 CST
  • Martin Hope
    Amir reza Riahi Por que as compreensões de lista criam uma função internamente? 2023-11-16 20:53:19 +0800 CST
  • Martin Hope
    Michael A formato fmt %H:%M:%S sem decimais 2023-11-11 01:13:05 +0800 CST
  • Martin Hope
    God I Hate Python std::views::filter do C++20 não filtrando a visualização corretamente 2023-08-27 18:40:35 +0800 CST
  • Martin Hope
    LiDa Cute Por que 'char -> int' é promoção, mas 'char -> short' é conversão (mas não promoção)? 2023-08-24 20:46:59 +0800 CST
  • Martin Hope
    jabaa Por que o construtor de uma variável global não é chamado em uma biblioteca? 2023-08-18 07:15:20 +0800 CST
  • Martin Hope
    Panagiotis Syskakis Comportamento inconsistente de std::common_reference_with em tuplas. Qual é correto? 2023-08-17 21:24:06 +0800 CST
  • Martin Hope
    Alex Guteniev Por que os compiladores perdem a vetorização aqui? 2023-08-17 18:58:07 +0800 CST
  • Martin Hope
    wimalopaan Somente operações bit a bit para std::byte em C++ 17? 2023-08-17 17:13:58 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve