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.
|
# Hosts in this group will have Docker installed.
|
||||||
seed
|
seed
|
||||||
controllers
|
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]
|
[controllers]
|
||||||
# Add controller nodes here if required. These hosts will provide the
|
# Add controller nodes here if required. These hosts will provide the
|
||||||
# OpenStack overcloud.
|
# 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…
Reference in New Issue
Block a user