Melnikov Alexandr
Есть еще вариант если внутри темплейта стоит vmdeploy можно из под вмвари залезть в фс виртуалки и поменять настройки. Файлы настройки сети. После чего ребут виртуалки.
Anonymous
sysvinit
Aleksandr
lfh
Aleksandr
TASK [reconfigure vm] **********************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: UnboundLocalError: local variable 'todvs' referenced before assignment
fatal: [testdeployvm -> 127.0.0.1]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Traceback (most recent call last):\n File \"/var/folders/9r/8ggl5ctj723g2f3msxxnb8r00000gn/T/ansible_bZeaEg/ansible_module_vsphere_guest.py\", line 1879, in <module>\n main()\n File \"/var/folders/9r/8ggl5ctj723g2f3msxxnb8r00000gn/T/ansible_bZeaEg/ansible_module_vsphere_guest.py\", line 1806, in main\n force=force\n File \"/var/folders/9r/8ggl5ctj723g2f3msxxnb8r00000gn/T/ansible_bZeaEg/ansible_module_vsphere_guest.py\", line 876, in reconfigure_vm\n changed = reconfigure_net(vsphere_client, vm, module, esxi, resource_pool, guest, vm_nic, cluster_name)\n File \"/var/folders/9r/8ggl5ctj723g2f3msxxnb8r00000gn/T/ansible_bZeaEg/ansible_module_vsphere_guest.py\", line 1072, in reconfigure_net\n if todvs and fromdvs:\nUnboundLocalError: local variable 'todvs' referenced before assignment\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false}
Aleksandr
пытаюсь поменять vm network
Aleksandr
- name: reconfigure vm
vsphere_guest:
validate_certs: no
vcenter_hostname: "{{ hostvars[inventory_hostname]['vchostname'] }}"
username: "{{ USERNAME }}"
password: "{{ PASSWORD }}"
guest: "{{ inventory_hostname }}"
state: reconfigured
vm_hardware:
memory_mb: "{{ hostvars[inventory_hostname]['vmmem'] }}"
num_cpus: "{{ hostvars[inventory_hostname]['vmcpu'] }}"
vm_nic:
nic1:
type: vmxnet3
network: "{{ hostvars[inventory_hostname]['vmnetwork'] }}"
network_type: SDC-DSwitch01
esxi:
datacenter: "SDC"
hostname: kr01-esxi147.tech.mosreg.ru
force: yes
tags:
- reconfigure_vm
sysvinit
Не уверен, но state: reconfigure, позволяет изменить только cpu и mem.
Aleksandr
по аналогии с офф гайдом
Aleksandr
# Reconfigure the CPU and Memory on the newly created VM
# Will return the changes made
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
state: reconfigured
vm_extra_config:
vcpu.hotadd: yes
mem.hotadd: yes
notes: This is a test VM
vm_disk:
disk1:
size_gb: 10
type: thin
datastore: storage001
vm_nic:
nic1:
type: vmxnet3
network: VM Network
network_type: standard
vm_hardware:
memory_mb: 4096
num_cpus: 4
osid: centos64Guest
scsi: paravirtual
esxi:
datacenter: MyDatacenter
hostname: esx001.mydomain.local
sysvinit
'reconfigured' only applies changes to 'vm_cdrom', 'memory_mb', and 'num_cpus' in vm_hardware parameter.
Aleksandr
ну там nic это не vm_hardware
sysvinit
Network_type может быть или standart или dcs.
Aleksandr
nfr
Aleksandr
так
Aleksandr
TASK [reconfigure vm] **********************************************************
fatal: [testdeployvm -> 127.0.0.1]: FAILED! => {"changed": false, "failed": true, "msg": "Could not find the distributed virtual portgroup named 10.10.30.0/24 (support 1021)"}
Aleksandr
тогда сеть не видит
Aleksandr
а она есть)
Aleksandr
хм
Aleksandr
LAB ADEX SDC
Aleksandr
а вот такую сеть переключил без проблем
Aleksandr
хотя в параметрах передаю через ""
Aleksandr
в чем может быть жопа?)
Aleksandr
пробовал и через ''" и ''
sysvinit
А какую нет?
Aleksandr
на / матерится
Aleksandr
не отрабатывает с ним
Aleksandr
ну пиздец
Aleksandr
#vmware #nic "/" в vmware nic распознается как "%2f"
Anonymous
всемдня, кто как задает пароль рута при установке мускула? пока ничего умнее грепа лога установки\зайти под временным паролем\поставить свой не придумывается
Dmitrii
+ подпишусь под вопрос.
Dmitry
я бы ставил с заранее известным паролем, чем грепать логи
Dmitry
ну а потом, когда ты его знаешь, какие проблемы сменить. да и вообще, нужно ли менять? :)
Anonymous
Народ, а как правильно в ansible посмотреть, использует ли машина systemd или что-то еще?
Anonymous
Anonymous
Если ставишь через менеджер пакетов
Dmitry
за rpm говнодистры не скажу, но уверен, что их поклонники сами знают, как. а в debian based через debconf_module
http://dpaste.com/303EP8M
Dmitry
как-то так, untested
sysvinit
и руту ещё в .my.cnf этот пароль подложить,
Dmitry
sysvinit
ну да)
Anonymous
блин. прям проблема на пустом месте какая-то
Denis 災 nobody
Вообще, у дебианщиков несколько своеобразное представление о стабильности.
Когда дебианщики видят грабельное поле, то они тщательно утыкивают его понятными только им флажками, но сами грабли не трогают. Потому что стабильность. Убираются грабли, на поверку оказавшиеся обоюдоострыми, но только после того, как они убьют кого-то из пользователей насмерть, только после двухнедельного совещания в рассылках, и только после того, как кто-то недовольно хлопнет дверью.
Иногда в порядке окучивания граблей грабли заменяют на противопехотные мины (кто помнит эпичнейший фейл с OpenSSL?). Конечно, конечно, хотели как лучше, чтоб от наступания не было больно...
Ну и что, что в других дистрибутивах грабли собрали комбайном? Что с того, что в других дистрибутивах уборка граблей стала процессом постоянным? Это ни черта не значит, ведь это нарушает стабильность. А тут поле с флажками, такое теплое, такое свое, прям как е#учий ЗиЛ «буханка», прости господи, мать твою через коромысло.
Aleksandr
продолжение банкета
Aleksandr
- name: shell execution
local_action:
module: vmware_vm_shell
validate_certs: false
hostname: "{{ hostvars[inventory_hostname]['vchostname'] }}"
username: "{{ USERNAME }}"
password: "{{ PASSWORD }}"
datacenter: "SDC"
vm_id: "{{ inventory_hostname }}"
vm_username: root
vm_password: P@ssw0rd
vm_shell: /bin/echo
vm_shell_args: " $var >> ifcfg-eth0 "
vm_shell_env:
# - "PATH=/bin"
- "VAR=DEVICE=eth0\nTYPE=Ethernet\nONBOOT=yes\nNM_CONTROLLED=yes\nBOOTPROTO=none\nIPADDR={{ hostvars[inventory_hostname]['vmip'] }}\nPREFIX= {{ hostvars[inventory_hostname]['vmprefix'] }}\nGATEWAY={{ hostvars[inventory_hostname]['vmgw'] }}\nDNS2=10.10.52.1\nDNS1=10.10.51.1\nIPV6INIT=no\nUSERCTL=no"
vm_shell_cwd: "/etc/sysconfig/network-scripts"
Aleksandr
в вм проваливается, лог есть. но эхо не воркает.
Anonymous
Dmitry
друг мой, вы неудачно женились! (с) :D
Anonymous
Anonymous
у вас там пастая какая
Anonymous
про деб
Dmitry
However, as far as I can tell, there is no debconf-like equivalent for RPM, which means that you end up having to edit config files manually and can't easily install new versions from the package.
шта? это правда?
Anonymous
- name: Update MySQL root password for localhost root account (< 5.7.x).
shell: >
mysql -u root -NBe
'SET PASSWORD FOR "{{ mysql_root_username }}"@"{{ item }}" = PASSWORD("{{ mysql_root_password }}");'
with_items: "{{ mysql_root_hosts.stdout_lines }}"
when: ((mysql_install_packages | bool) or mysql_root_password_update) and ('5.7.' not in mysql_cli_version.stdout)
паходу вот так как-то
Anonymous
что за Nbe такое
Navern
не выводить табличку, выполнять команду
Navern
это флаги клиента mysql в хелпе посмотреть можно
Navern
одно по-моему отрубает роу каунт, а второе не выводит в виде таблички
Denis 災 nobody
B batch e execute
Oleg
Всем привет!
Oleg
Никто не сталкивался с тем, что несколько заданий начинают выполняться одновременно от разных пользователей. То есть девопс1 делает деплой, в тоже время девопс2 делает, например setup или еще какую инфу смотрит, не выполняя никаких действий по сути
Oleg
будет конфликт или нет?
Oleg
они работают с одним и тем же целевым серверов со своих локальных ansible
Aleksandr
ну если они каждый ходят под своим юзером то ок.
Aleksandr
иначе хз
Max
Не должно быть конфликтов
Max
Если это не что то типа apt-get install
Dmitrii
А есть способ скомбинировать with_file и with_items?
Dmitrii
И еще... есть ли возможность в lookup плагине как то получить параметры модуля в котором он вызван?
Aleksandr
ip a | grep '>' |awk '{ gsub (/:/,""); {print $2}}' | grep e
Aleksandr
а теперь как всунуть результат этой команды вместо eno в эту конструкцию? ip addr add \"{{ hostvars[inventory_hostname]['vmip']}}\"/\"{{ hostvars[inventory_hostname]['vmprefix'] }}\" dev eno16780032
sysvinit
Делай такск с первой командой и register. А во втором таске подтягивай.
Dmitrii
Dmitrii
Ага
Dmitrii
А плагины тут на ссане питоне похоже никто не пишет?
Aleksandr
Navern
Aleksandr
vm_shell: /usr/sbin/ip
vm_shell_args: "addr add \"{{ hostvars[inventory_hostname]['vmip']}}\"/\"{{ hostvars[inventory_hostname]['vmprefix'] }}\" dev eno16780032 && \
/usr/sbin/ip route add default via \"{{ hostvars[inventory_hostname]['vmgw'] }}\""
vm_shell_env:
- "SHELL=/bin/bash"
Navern
ip -o link | awk '{print $2}'