Add initial work on network configuration for management network
Currently supports configuration of network interfaces
This commit is contained in:
parent
cd33e4a75f
commit
08d34db3d1
12
ansible/group_vars/switches/interfaces
Normal file
12
ansible/group_vars/switches/interfaces
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
# Switch configuration.
|
||||
|
||||
###############################################################################
|
||||
# Interface configuration.
|
||||
|
||||
# Interface configuration. Dict mapping switch interface names to configuration
|
||||
# dicts. Each dict contains a description item and a 'config' item which should
|
||||
# contain a list of additional per-interface configuration.
|
||||
# Generally this should be configured on a per-switch basis via a host_vars
|
||||
# file.
|
||||
switch_interface_config: {}
|
23
ansible/mgmt-switch-config.yml
Normal file
23
ansible/mgmt-switch-config.yml
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
- name: Ensure the power and management network switches are configured
|
||||
hosts: mgmt-switches
|
||||
gather_facts: no
|
||||
vars:
|
||||
provider:
|
||||
host: "{{ ansible_host }}"
|
||||
username: "{{ ansible_user }}"
|
||||
password: "{{ ansible_ssh_pass }}"
|
||||
transport: cli
|
||||
authorize: yes
|
||||
auth_pass: "{{ switch_auth_pass }}"
|
||||
tasks:
|
||||
- name: Ensure switch interfaces are configured
|
||||
local_action:
|
||||
module: dellos6_config
|
||||
provider: "{{ provider }}"
|
||||
lines: >
|
||||
{{ ['description ' ~ item.value.description] +
|
||||
item.value.config | default([]) }}
|
||||
parents:
|
||||
- "interface {{ item.key }}"
|
||||
with_dict: "{{ switch_interface_config }}"
|
20
etc/kayobe/inventory/group_vars/switches/interfaces
Normal file
20
etc/kayobe/inventory/group_vars/switches/interfaces
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
# Switch configuration.
|
||||
|
||||
###############################################################################
|
||||
# Interface configuration.
|
||||
|
||||
# Interface configuration. Dict mapping switch interface names to configuration
|
||||
# dicts. Each dict contains a description item and the name of a network which
|
||||
# is used to lookup a variable containing interface config for ports on that
|
||||
# network (switch_interface_config_<network>). Each dict can also have a
|
||||
# 'config' item which should contain a list of additional per-interface
|
||||
# configuration.
|
||||
# Generally this should be configured on a per-switch basis via a host_vars
|
||||
# file.
|
||||
switch_interface_config: {}
|
||||
|
||||
# Example of an interface configuration variable for a network, referenced by
|
||||
# the 'network' item of an interface in 'switch_interface_config'.
|
||||
#switch_interface_config_example_net:
|
||||
# - switchport access vlan 42
|
@ -11,3 +11,20 @@
|
||||
# Hosts in this group will have Docker installed.
|
||||
seed
|
||||
controllers
|
||||
|
||||
###############################################################################
|
||||
# Networking groups.
|
||||
|
||||
[mgmt-switches]
|
||||
# Empty group to provide declaration of mgmt-switches group.
|
||||
|
||||
[ctl-switches]
|
||||
# Empty group to provide declaration of ctl-switches group.
|
||||
|
||||
[hs-switches]
|
||||
# Empty group to provide declaration of hs-switches group.
|
||||
|
||||
[switches:children]
|
||||
mgmt-switches
|
||||
ctl-switches
|
||||
hs-switches
|
||||
|
@ -17,3 +17,12 @@ localhost ansible_connection=local
|
||||
[controllers]
|
||||
# Add controller nodes here if required. These hosts will provide the
|
||||
# OpenStack overcloud.
|
||||
|
||||
[mgmt-switches]
|
||||
# Add management network switches here if required.
|
||||
|
||||
[ctl-switches]
|
||||
# Add control and provisioning switches here if required.
|
||||
|
||||
[hs-switches]
|
||||
# Add high speed switches here if required.
|
||||
|
Loading…
x
Reference in New Issue
Block a user