2016-03-30 2 views
0

Мне нужно было подключить NIC с помощью Ansible. У меня есть 4 NIC на машине & попробовал эту игру, которую я взял из hereВозможность создания связи NIC

--- 

#ansible-playbook -i hosts/groups.dat -l vertica07.abc.com vertica-network.yml -e '{ "bond1_ip" : "10.253.1.7" }' -u root -k 

- hosts: vertica 
    gather_facts: true 
    sudo: yes 

    vars: 
    - bond1_ip: "{{ bond1_ip }}" 
    - bond1_gw: "x.x.x.x" 

    #bond vars 
    - nmcli_bond: 
     - {conn_name: 'bond0', ip4: "{{ ansible_default_ipv4.address }}", gw4: "{{ ansible_default_ipv4.gateway }}", mode: 'active-backup'} 
     - {conn_name: 'bond1', ip4: "{{ bond1_ip }}", gw4: 'bond1_gw', mode: 'active-backup'} 

    - nmcli_bond_slave: 
     - {conn_name: 'p1p1', ifname: 'p1p1', master: 'bond0'} 
     - {conn_name: 'p1p2', ifname: 'p1p2', master: 'bond0'} 
     - {conn_name: 'p2p1', ifname: 'p2p1', master: 'bond1'} 
     - {conn_name: 'p2p2', ifname: 'p2p2', master: 'bond1'} 

    #ethernet vars 
    - nmcli_ethernet: 
     - {conn_name: 'p1p1', ifname: 'p1p1', ip4: "{{ ansible_default_ipv4.address }}", gw4: "{{ ansible_default_ipv4.gateway }}"} 
     - {conn_name: 'p1p2', ifname: 'p1p2', ip4: "{{ ansible_default_ipv4.address }}", gw4: "{{ ansible_default_ipv4.gateway }}"} 
     - {conn_name: 'p2p1', ifname: 'p2p1', ip4: "{{ bond1_ip }}", gw4: "{{ bond1_gw }}"} 
     - {conn_name: 'p2p2', ifname: 'p2p2', ip4: "{{ bond1_ip }}", gw4: "{{ bond1_gw }}"} 

    tasks: 

    - name: install needed network manager libs 
    yum: name={{ item }} state=installed 
    with_items: 
     - NetworkManager-glib 
     - libnm-qt-devel.x86_64 
     - nm-connection-editor.x86_64 
     - libsemanage-python 
     - policycoreutils-python 


    - name: try nmcli add bond - conn_name only & ip4 gw4 mode 
    nmcli: type=bond conn_name={{item.conn_name}} ip4={{item.ip4}} gw4={{item.gw4}} mode={{item.mode}} state=present 
    with_items: 
     - "{{nmcli_bond}}" 


    - name: try nmcli add bond-slave 
    nmcli: type=bond-slave conn_name={{item.conn_name}} ifname={{item.ifname}} master={{item.master}} state=present 
    with_items: 
     - "{{nmcli_bond_slave}}" 

Но его неисправного на

TASK [try nmcli add bond - conn_name only & ip4 gw4 mode] ********************** 
failed: [vertica07.abc.com] => (item={u'conn_name': u'bond0', u'mode': u'active-backup', u'ip4': u'10.100.1.7', u'gw4': u'bond0_gw'}) => {"failed": true, "item": {"conn_name": "bond0", "gw4": "bond0_gw", "ip4": "10.100.1.7", "mode": "active-backup"}, "module_stderr": "", "module_stdout": "Traceback (most recent call last):\r\n File \"/root/.ansible/tmp/ansible-tmp-1459368691.93-148688989216143/nmcli\", line 385, in <module>\r\n from gi.repository import NetworkManager, NMClient\r\nImportError: No module named gi.repository\r\n", "msg": "MODULE FAILURE", "parsed": false} 
failed: [vertica07.abc.com] => (item={u'conn_name': u'bond1', u'mode': u'active-backup', u'ip4': u'10.253.1.7', u'gw4': u'bond1_gw'}) => {"failed": true, "item": {"conn_name": "bond1", "gw4": "bond1_gw", "ip4": "10.253.1.7", "mode": "active-backup"}, "module_stderr": "", "module_stdout": "Traceback (most recent call last):\r\n File \"/root/.ansible/tmp/ansible-tmp-1459368692.4-174709839763552/nmcli\", line 385, in <module>\r\n from gi.repository import NetworkManager, NMClient\r\nImportError: No module named gi.repository\r\n", "msg": "MODULE FAILURE", "parsed": false} 

я на анзибль 2.0.1 и делать сети связи на Centos 6.3 , В настоящее время я запускаю это только на одном хосте.

Что мне здесь не хватает?

Благодаря

ответ

0

Попробуйте установить Python-GObject в CentOS попробуйте:

yum install NetworkManager-glib 

yum install pygobject2 

https://live.gnome.org/PyGObject

Потребности модуля, что pyhton зависимость.

+0

По-прежнему не удается установить pygobject2 – roy

+0

Что вы, версия python? Вы используете virtualenv? –

+0

Я изменил свой ответ, попробовав установить NetworkManager-glib, который работает для меня. –

1

Попробуйте использовать:

- libnm-gtk-devel.x86_64 

Вместо:

- libnm-qt-devel.x86_64 

настоящее время я использую анзибль 2.0.1 в моем CentOS 7-сервер.

0

Если бы подобную ошибку в RHEL 7 и его фиксированной установкой PyGObject2 как Рауль Упоминания выше

[корень @ node1 ~] # мин -qa --last | head pygobject2-2.28.6-11.el7.x86_64

Смежные вопросы