Skip to content

ansible role opx mac

Amy Buck edited this page Nov 16, 2017 · 10 revisions

ansible-role-opx-mac

This role facilitates the configuration of the media access control (MAC) table supported using the CPS API in OpenSwitch OPX. It describes an example MAC role and how to use the Ansible generic CPS. This role is abstracted for dellos9 and dellos10.

The ansible-role-opx-mac role requires an SSH connection for connectivity to an OpenSwitch OPX device. You can use any of the built-in OS connection variables or the provider dictionary.

Installation

ansible-galaxy install open-switch.ansible-role-opx-mac

Dependencies

The ansible-role-opx-acl role is built on modules included in the core Ansible code. These modules were added in Ansible version 2.2.0.

Example playbook

This example uses the ansible-role-opx-mac role to configure different types of ACLs (standard and extended) for both IPv4 and IPv6 and assigns the access-class to the line terminals. The example creates a hosts file with the switch details and corresponding variables. The hosts file should define the ansible_net_os_name variable with the corresponding OS name.

When dellos_cfg_generate is set to true, it generates the configuration commands as a .part file in the build_dir path. By default it is set to false. It writes a simple playbook that only references the ansible-role-opx-mac role.

Sample hosts file

leaf1 ansible_host= <ip_address> ansible_net_os_name= <OS name(dellos9, dellos10)>

Sample host_vars/leaf1

hostname: leaf1
provider:
  host: "{{ hostname }}"
  username: xxxxx 
  password: xxxxx
  authorize: yes
  auth_pass: xxxxx 
  transport: cli
build_dir: ../temp/opx
opx_acl:
  - type: mac
    name: ssh-only
    description: mac
    entries:
      - number: 5
        permit: true
        protocol: tcp
        source: any
        src_condition: ack
        destination: any
        dest_condition: eq 22
        other_options: count
        state: present
    state: present

Simple playbook to setup system - leaf.yaml

- hosts: leaf1
  roles:
     - { role: open-switch.ansible-role-opx-mac, when: ansible_net_os_name is defined and ansible_net_os_name == "openswitch" }

Run

ansible-playbook -i hosts leaf.yaml
Clone this wiki locally