Add README files for dell-switch and dell-switch-bmp roles
This commit is contained in:
parent
34edfbec80
commit
d1a87c0e9a
@ -7,4 +7,6 @@
|
||||
# dest: Name of the file to download the image to.
|
||||
# match: dnsmasq match rule to match hosts against.
|
||||
# tag: dnsmasq tag to apply to matching hosts.
|
||||
# checksum: optional checksum of image, in format required for Ansible's
|
||||
# get_url module.
|
||||
dell_switch_bmp_images: []
|
||||
|
69
ansible/roles/dell-switch-bmp/README.md
Normal file
69
ansible/roles/dell-switch-bmp/README.md
Normal file
@ -0,0 +1,69 @@
|
||||
Dell Switch BMP
|
||||
===============
|
||||
|
||||
This role configures a network boot environment for Dell switches with Bare
|
||||
Metal Provisioning (BMP) functionality.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
The use of an OpenStack Bifrost container deployed using OpenStack
|
||||
Kolla-ansible is assumed, with the dnsmasq service providing DHCP and nginx
|
||||
serving the switch OS images.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
`dell_switch_bmp_images` is a list of images to provide a BMP configuration
|
||||
for, and defaults to an empty list. Each item should be a dict with the
|
||||
following keys:
|
||||
`url`
|
||||
URL of the image to download.
|
||||
`dest`
|
||||
Name of the file to download the image to.
|
||||
`match`
|
||||
dnsmasq match rule to match hosts against.
|
||||
`tag`
|
||||
dnsmasq tag to apply to matching hosts.
|
||||
`checksum`
|
||||
optional checksum of image, in format required for Ansible's `get_url`
|
||||
module.
|
||||
|
||||
`dell_switch_bmp_http_base_url` is the base URL of HTTP server.
|
||||
|
||||
`dell_switch_bmp_httpboot_path` is the path to the HTTP server base directory,
|
||||
and defaults to `/httpboot`.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
The following playbook configures a network boot environment in the Bifrost
|
||||
container for s6010-ON switches with the `ONIE-FTOS-9.10.0.1P25.bin` image.
|
||||
|
||||
---
|
||||
# This playbook will configure a Bare Metal Provisioning (BMP) environment for
|
||||
# Dell switches on the Bifrost node so that they can be network booted.
|
||||
|
||||
- name: Ensure that a Bare Metal Provisioning (BMP) environment is configured for Dell switches
|
||||
hosts: bifrost
|
||||
roles:
|
||||
- role: dell-switch-bmp
|
||||
dell_switch_bmp_images:
|
||||
# ONIE installer image for S6010-ON.
|
||||
- url: "ftp://ftp.force10networks.com/releases/FTOS_Release/E9.10.0.1P25/S6010/ONIE-FTOS-S6010-9.10.0.1P25.bin"
|
||||
checksum: "md5:f94fdfa50dc23f87bf2871ae96b6cff3"
|
||||
dest: "onie-installer-x86_64-dell_s6010_c2538-r0"
|
||||
match: "option:vendor-class,onie_vendor:x86_64-dell_s6010_c2538-r0"
|
||||
tag: "onie"
|
||||
# This is the base URL of the Nginx web server on the Bifrost node.
|
||||
dell_switch_bmp_http_base_url: "http://10.0.0.1:8080"
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
- Mark Goddard (<mark@stackhpc.com>)
|
86
ansible/roles/dell-switch/README.md
Normal file
86
ansible/roles/dell-switch/README.md
Normal file
@ -0,0 +1,86 @@
|
||||
Dell Switch
|
||||
===========
|
||||
|
||||
This role configures Dell switches using the `dellos6` or `dellos9` Ansible
|
||||
modules. It provides a fairly minimal abstraction of the configuration
|
||||
interface provided by the `dellos` modules, allowing for application of
|
||||
arbitrary switch configuration options.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
The switches should be configured to allow SSH access.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
`dell_switch_delegate_to` is the host on which to execute the `dellos` Ansible
|
||||
modules.
|
||||
|
||||
`dell_switch_type` is the type of Dell switch. One of `dellos6`, `dellos9`.
|
||||
|
||||
`dell_switch_provider` is authentication provider information passed as the
|
||||
`provider` argument to the `dellos` modules.
|
||||
|
||||
`dell_switch_config` is a list of configuration lines to apply to the switch,
|
||||
and defaults to an empty list.
|
||||
|
||||
`dell_switch_interface_config` contains interface configuration. It is a dict
|
||||
mapping switch interface names to configuration dicts. Each dict may contain
|
||||
the following items:
|
||||
`description`
|
||||
A description to apply to the interface.
|
||||
`config`
|
||||
A list of per-interface configuration.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
The following playbook configures hosts in the `dell-switches` group. It
|
||||
assumes host variables for each switch holding the host, username and
|
||||
passwords. It applies global configuration for LLDP, and enables two
|
||||
10G ethernet interfaces as switchports.
|
||||
|
||||
---
|
||||
- name: Ensure DellOS switches are configured
|
||||
hosts: dellos9-switches
|
||||
gather_facts: no
|
||||
roles:
|
||||
- role: dell-switch
|
||||
dell_switch_delegate_to: localhost
|
||||
dell_switch_type: "dellos9"
|
||||
dell_switch_provider:
|
||||
host: "{{ switch_host }}"
|
||||
username: "{{ switch_user }}"
|
||||
password: "{{ switch_password }}"
|
||||
transport: cli
|
||||
authorize: yes
|
||||
auth_pass: "{{ switch_auth_pass }}"
|
||||
dell_switch_config:
|
||||
- "protocol lldp"
|
||||
- " advertise dot3-tlv max-frame-size"
|
||||
- " advertise management-tlv management-address system-description system-name"
|
||||
- " advertise interface-port-desc"
|
||||
- " no disable"
|
||||
- " exit"
|
||||
dell_switch_interface_config:
|
||||
Te1/1/1:
|
||||
description: server-1
|
||||
config:
|
||||
- "no shutdown"
|
||||
- "switchport"
|
||||
Te1/1/2:
|
||||
description: server-2
|
||||
config:
|
||||
- "no shutdown"
|
||||
- "switchport"
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
- Mark Goddard (<mark@stackhpc.com>)
|
@ -7,6 +7,8 @@
|
||||
# dest: Name of the file to download the image to.
|
||||
# match: dnsmasq match rule to match hosts against.
|
||||
# tag: dnsmasq tag to apply to matching hosts.
|
||||
# checksum: optional checksum of image, in format required for Ansible's
|
||||
# get_url module.
|
||||
#dell_switch_bmp_images:
|
||||
|
||||
###############################################################################
|
||||
|
Loading…
Reference in New Issue
Block a user