Puncte:0

ansible [Errno 2] Nu există un fișier sau un director în numele căii

drapel cn

Execut printr-un turn ansible următorul cod:

 comanda:
   chdir={{ __iim_install_location }}/eclipse/tools/
   "su - {{ __was_user }} -c {{ __iim_install_location }}/eclipse/tools/imcl install {{ __product_id }} -acceptLicense -repositories {{ __tmp_dir }}/{{ item.file_name }} -install_directory {_}_install_directory } -log {{ __log_file }}"
 înregistrare: cout
 with_items: „{{ __was_this_files }}”
 changed_when: cout.stdout este definit și ( cout.stdout.find( __version_check ) != -1)

Primesc următoarea eroare. Validez și toate căile există în gazda la distanță.

{
    "ansible_loop_var": "articol",
    „_ansible_no_log”: fals,
    „schimbat”: fals,
    „articol”: {
        "check_sum": "866C82D13C24189E880C70AF7AE20143851330AD1C090E0DCF687B612BBC8513",
        „file_name”: „8.5.5.16-ws-was-ifph42899.zip”
    },
    „cmd”: „'su - was -c /opt/IBM/was/InstallationManager/eclipse/tools/imcl install 8.5.5.16-WS-WAS-IFPH42899_8.5.5016.20211218_1245 -acceptLicense -/softwares/MIBnt WAS/8.5.5.16-ws-was-ifph42899.zip -installationDirectory /opt/IBM/was5/WebSphere/AppServer -log /opt/IBM/was/logs/was_nd_fix_install.20211223102239.log'",
    „_ansible_item_label”: {
        "check_sum": "866C82D13C24189E880C70AF7AE20143851330AD1C090E0DCF687B612BBC8513",
        „file_name”: „8.5.5.16-ws-was-ifph42899.zip”
    },
    "rc": 2,
    „invocare”: {
        „module_args”: {
            „creează”: nul,
            „executable”: nul,
            „chdir”: „/opt/IBM/was/InstallationManager/eclipse/tools/”,
            „strip_empty_ends”: adevărat,
            "_raw_params": "\"su - was -c /opt/IBM/was/InstallationManager/eclipse/tools/imcl install 8.5.5.16-WS-WAS-IFPH42899_8.5.5016.20211218_1245 -software/License/IBMnt -software/IBMnt /WAS/8.5.5.16-ws-was-ifph42899.zip -installationDirectory /opt/IBM/was5/WebSphere/AppServer -log /opt/IBM/was/logs/was_nd_fix_install.20211223102239.log\",
            „elimină”: nul,
            „argv”: nul,
            „avertizează”: adevărat,
            „_uses_shell”: fals,
            „stdin_add_newline”: adevărat,
            „stdin”: nul
        }
    },
    "msg": "[Errno 2] Nu există un fișier sau un director în numele căii.: b'su - was -c /opt/IBM/was/InstallationManager/eclipse/tools/imcl install 8.5.5.16-WS- WAS-IFPH42899_8.5.5016.20211218_1245 -acceptLicense -repositories /mnt/software/IBM/WAS/8.5.5.16-ws-was-ifph42899.zip -installationDirectory /opt/IBM/wasphere/AppServer/IBSphere5 was/logs/was_nd_fix_install.20211223102239.log': b'su - was -c /opt/IBM/was/InstallationManager/eclipse/tools/imcl install 8.5.5.16-WS-WAS-IFPH42899_8.5.50License16.20.50116.5.50 /mnt/software/IBM/WAS/8.5.5.16-ws-was-ifph42899.zip -installationDirectory /opt/IBM/was5/WebSphere/AppServer -log /opt/IBM/was/logs/was_nd_fix_install.202112930log'2"23231
}
Puncte:0
drapel jp

Comanda a trecut ca parametru -c de su trebuie citat.

Puncte:0
drapel cn

În urma tuturor răspunsurilor și recomandărilor, am ajuns să funcționeze următorul cod:

- nume: Actualizați software-ul IBM WAS
  comanda:
    cmd: "su - {{ __was_user }} -c '{{ __iim_install_location }}/eclipse/tools/imcl install {{ __product_id }} -acceptLicense -repositories {{ __tmp_dir }}/{{ item.file_name_directory }} { __was_install_location}} -log {{ __log_file }}'"
  argumente: 
    chdir: „{{ __iim_install_location }}/eclipse/tools/”
  înregistrare: cout
  with_items: „{{ __was_this_files }}”
  changed_when: cout.stdout este definit și ( cout.stdout.find( __version_check ) != -1)
´´´
Puncte:0
drapel cn

Se pare că tratează șirul de comandă ca pe un fișier.

Cred că dacă îți schimbi jocul în asta:

comanda:
  chdir: {{ __iim_install_location }}/eclipse/tools/
  cmd: "su - {{ __was_user }} -c {{ __iim_install_location }}/eclipse/tools/imcl install {{ __product_id }} -acceptLicense -repositories {{ __tmp_dir }}/{{ item.file_name }} { -directory_install. __was_install_location}} -log {{ __log_file }}"
înregistrare: cout
with_items: „{{ __was_this_files }}”
changed_when: cout.stdout este definit și ( cout.stdout.find( __version_check ) != -1)

În mod specific prefixând comanda cu cmd: , ar trebui să funcționeze?

João Pedro Alexandre avatar
drapel cn
Multumesc, o sa incerc.
João Pedro Alexandre avatar
drapel cn
Ceva este în neregulă cu acea sintaxe. Acum am următoarele: { "reason": "Nu am putut citi nici ca JSON, nici ca YAML, acestea sunt erorile pe care le-am primit de la fiecare: JSON: Niciun obiect JSON nu a putut fi decodat\n\nEroare de sintaxă la încărcarea YAML.\n valorile de mapare nu sunt permise în acest context\n\nEroarea pare să fie în .../project/roles/was-install-ifix/tasks/install_ifix.yml': linia 5, coloana 8, dar poate\nsă fie în altă parte a fișierului, în funcție de exact problemă de sintaxă.\n\nRândul ofensator pare să fie:\n\n chdir={{ __iim_install_location }}/eclipse/tools/\n
João Pedro Alexandre avatar
drapel cn
cmd: \"su - {{ __was_user }} -c {{ __iim_install_location }}/eclipse/tools/imcl install {{ __product_id }} -acceptLicense -repositories {{ __tmp_dir }}/{{ item.file_name_directory }} { __was_install_location}} -log {{ __log_file }} S-ar putea să ne înșelim, dar acesta pare că ar putea fi o problemă cu\nlipsă ghilimele. Menționați întotdeauna parantezele expresiei șablonului când\nîncep o valoare. De exemplu:\n\n with_items:\n - {{ foo }}\n\nAr trebui să fie scris ca:\n\n with_items:\n - \"{{ foo }}\"\n" }
drapel cn
Ah, înfășurați argumentul în `chdir:` între ghilimele duble. Dar nu cele scăpate.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.