Параметры платформы CloudEngine OS
CloudEngine CE OS входит в коллекцию community.network и поддерживает несколько типов подключений. На этой странице описано, как работает каждый тип подключения в Ansible и как его использовать.
Доступные подключения
CLI | NETCONF | |
|---|---|---|
Протокол | SSH | XML через SSH |
Учетные данные |
используются ключи SSH / ssh-agent, если они доступны при использовании пароля принимает |
используются ключи SSH / ssh-agent, если они доступны при использовании пароля принимает |
Непрямой доступ | через бастион (промежуточный узел) | через бастион (промежуточный узел) |
Параметры подключения |
|
|
Режим enable | не поддерживается ОС ce | не поддерживается ОС ce |
Формат возвращаемых данных | См. документацию соответствующего модуля | См. документацию соответствующего модуля |
Использование ansible_connection: local устарело. Вместо него используйте ansible_connection: ansible.netcommon.netconf или ansible_connection=ansible.netcommon.network_cli.
Использование CLI в Ansible
Пример инвентаря CLI [ce:vars]
[ce:vars] ansible_connection=ansible.netcommon.network_cli ansible_network_os=community.network.ce ansible_user=myuser ansible_password=!vault... ansible_paramiko_proxy_command='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
- Если вы используете ключи SSH (в том числе ssh-agent), конфигурацию
ansible_passwordможно удалить. - Если вы подключаетесь к узлу напрямую (не через бастион/промежуточный узел), конфигурацию
ansible_paramiko_proxy_commandможно удалить. - Если вы подключаетесь к узлу через бастион/промежуточный узел, нельзя указывать пароль SSH в директиве
ProxyCommand. Чтобы секреты не попали в открытый доступ (например, в выводps), SSH не поддерживает передачу паролей с помощью переменных окружения.
Пример задачи CLI
- name: Retrieve CE OS version
community.network.ce_command:
commands: display version
when: ansible_network_os == 'community.network.ce'
Использование NETCONF в Ansible
Включение NETCONF
Прежде чем подключаться к коммутатору с помощью NETCONF, необходимо:
- установить пакет Python
ncclientна управляющих узлах с помощьюpip install ncclient - включить NETCONF на устройствах CloudEngine OS
Чтобы включить NETCONF на новом коммутаторе с помощью Ansible, используйте модуль community.network.ce_config с подключением CLI. Настройте переменные уровня платформы так же, как в приведенном выше примере CLI, а затем выполните задачу плейбука, например:
- name: Enable NETCONF
connection: ansible.netcommon.network_cli
community.network.ce_config:
lines:
- snetconf server enable
when: ansible_network_os == 'community.network.ce'
После включения NETCONF измените переменные, чтобы использовать подключение NETCONF.
Пример инвентаря NETCONF [ce:vars]
[ce:vars] ansible_connection=ansible.netcommon.netconf ansible_network_os=community.network.ce ansible_user=myuser ansible_password=!vault | ansible_paramiko_proxy_command='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
Пример задачи NETCONF
- name: Create a vlan, id is 50(ce)
community.network.ce_vlan:
vlan_id: 50
name: WEB
when: ansible_network_os == 'community.network.ce'
Примечания
Модули, работающие с ansible.netcommon.network_cli
community.network.ce_acl_interface community.network.ce_command community.network.ce_config community.network.ce_evpn_bgp community.network.ce_evpn_bgp_rr community.network.ce_evpn_global community.network.ce_facts community.network.ce_mlag_interface community.network.ce_mtu community.network.ce_netstream_aging community.network.ce_netstream_export community.network.ce_netstream_global community.network.ce_netstream_template community.network.ce_ntp_auth community.network.ce_rollback community.network.ce_snmp_contact community.network.ce_snmp_location community.network.ce_snmp_traps community.network.ce_startup community.network.ce_stp community.network.ce_vxlan_arp community.network.ce_vxlan_gateway community.network.ce_vxlan_global
Модули, работающие с ansible.netcommon.netconf
community.network.ce_aaa_server community.network.ce_aaa_server_host community.network.ce_acl community.network.ce_acl_advance community.network.ce_bfd_global community.network.ce_bfd_session community.network.ce_bfd_view community.network.ce_bgp community.network.ce_bgp_af community.network.ce_bgp_neighbor community.network.ce_bgp_neighbor_af community.network.ce_dldp community.network.ce_dldp_interface community.network.ce_eth_trunk community.network.ce_evpn_bd_vni community.network.ce_file_copy community.network.ce_info_center_debug community.network.ce_info_center_global community.network.ce_info_center_log community.network.ce_info_center_trap community.network.ce_interface community.network.ce_interface_ospf community.network.ce_ip_interface community.network.ce_lacp community.network.ce_link_status community.network.ce_lldp community.network.ce_lldp_interface community.network.ce_mlag_config community.network.ce_netconf community.network.ce_ntp community.network.ce_ospf community.network.ce_ospf_vrf community.network.ce_reboot community.network.ce_sflow community.network.ce_snmp_community community.network.ce_snmp_target_host community.network.ce_snmp_user community.network.ce_static_route community.network.ce_static_route_bfd community.network.ce_switchport community.network.ce_vlan community.network.ce_vrf community.network.ce_vrf_af community.network.ce_vrf_interface community.network.ce_vrrp community.network.ce_vxlan_tunnel community.network.ce_vxlan_vap
Предупреждение
Никогда не храните пароли в открытом виде. Для аутентификации SSH-подключений рекомендуется использовать ключи SSH. Ansible поддерживает ssh-agent для управления ключами SSH. Если для аутентификации SSH-подключений необходимо использовать пароли, рекомендуется зашифровать их с помощью Ansible Vault.
См. также
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/network/user_guide/platform_ce.html