Как изменить имя сетевого интерфейса с помощью ansible?

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

например. mv /etc/sysconfig/сетевые сценарии/ifcfg-eno1675454 /etc/sysconfig/сетевые сценарии/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

Изменить: добавлен код


person willing_to_learn    schedule 19.06.2019    source источник
comment
Привет @willing_to_learn и добро пожаловать в SO (кстати, мне нравится твой ник :)). Что вы уже пробовали и что не сработало, как ожидалось? Пожалуйста, найдите время, чтобы просмотреть раздел справки, в частности Как мне задать хороший вопрос и Как создать минимальный воспроизводимый пример   -  person Zeitounator    schedule 19.06.2019
comment
Привет @Zeitounator. Я сделал следующее: Создал задачу, которая копирует текущий файл интерфейса в eth0 и, наконец, заменяет имя интерфейса в этом файле.   -  person willing_to_learn    schedule 23.06.2019
comment
Я не уверен, что это правильный путь?   -  person willing_to_learn    schedule 23.06.2019


Ответы (1)


Когда вы запускаете эти задачи и перезагружаете систему, изменения сохраняются? В 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
person Diogo Serrano    schedule 24.06.2019
comment
Привет, Диого, я также вношу изменения в файл GRUB. Я забыл добавить эту часть кода. Я добавил код, который я использую. - person willing_to_learn; 24.06.2019