Как поменять имя сетевого интерфейса на ansible? - PullRequest
0 голосов
/ 19 июня 2019

Мне нужно изменить имя сетевого интерфейса, используя ansible.

например. mv / etc / sysconfig / network-scripts / ifcfg-eno1675454 / etc / sysconfig / network-scripts / ifcfg-eth0

nmtui и измените имя профиля

То, как я это делаю сейчас -

 - name: Copy interface file ifcfg-{{ ansible_default_ipv4.interface }} to ifcfg-etho
  copy: 
    remote_src: True 
    src: '/etc/sysconfig/network-scripts/ifcfg-{{ ansible_default_ipv4.interface }}'
    dest: /etc/sysconfig/network-scripts/ifcfg-eth0

- name: Replace device name to eth0 inside the file
  replace:
    path: '/etc/sysconfig/network-scripts/ifcfg-eth0'
    regexp:  "{{ ansible_default_ipv4.interface }}"
    replace: "eth0"

Чтобы изменить grub:

- name: update grub 
  lineinfile:
    dest: "{{ grub_input_config }}"
    regexp: "GRUB_CMDLINE_LINUX"
    line: 'GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0" '
  notify: "make grub config"

обработчик grub:

---

- name: make grub config
  command: "{{ grub_mkconfig_cmd }} -o {{ grub_output_config }}"

по умолчанию


grub_mkconfig_cmd: grub2-mkconfig
grub_output_config: /boot/grub2/grub.cfg
grub_input_config: /etc/default/grub

Редактировать: добавлен код

1 Ответ

0 голосов
/ 24 июня 2019

Когда вы запускаете это задание и перезагружаете систему, изменения сохраняются?В centos7 я должен сделать этот дополнительный шаг, чтобы сделать его постоянным:

  • Отредактируйте файл / etc / default / grub и добавьте net.ifnames = 0 biosdevname = 0 в строку GRUB_CMDLINE_LINUX:
GRUB_CMDLINE_LINUX="... net.ifnames=0 biosdevname=0 ..."
  • Восстановить файл конфигурации GRUB и перезаписать существующий:
grub2-mkconfig -o /boot/grub2/grub.cfg
...