Separate physical configuration for discovery
After discovery Neutron needs to own the control of ports for the baremetal compute nodes. We separate the interface configuration and add an --enable-discovery flag to kayobe physical network configure
This commit is contained in:
parent
92c97463af
commit
65ed0da197
@ -17,3 +17,8 @@ switch_config: []
|
|||||||
# Generally this should be configured on a per-switch basis via a host_vars
|
# Generally this should be configured on a per-switch basis via a host_vars
|
||||||
# file.
|
# file.
|
||||||
switch_interface_config: {}
|
switch_interface_config: {}
|
||||||
|
|
||||||
|
# Interface configuration for hardware discovery. After discovery Neutron owns
|
||||||
|
# the configuration of these ports. Has the same format as
|
||||||
|
# switch_interface_config.
|
||||||
|
switch_interface_config_discovery: {}
|
||||||
|
@ -5,11 +5,20 @@
|
|||||||
- name: Group hosts by their switch type
|
- name: Group hosts by their switch type
|
||||||
hosts: switches
|
hosts: switches
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
vars:
|
||||||
|
# Set this variable to True to configure of network for hardware discovery.
|
||||||
|
physical_network_enable_discovery: False
|
||||||
tasks:
|
tasks:
|
||||||
- name: Group hosts by their switch type
|
- name: Group hosts by their switch type
|
||||||
group_by:
|
group_by:
|
||||||
key: "switches_of_type_{{ switch_type }}"
|
key: "switches_of_type_{{ switch_type }}"
|
||||||
|
|
||||||
|
- name: Add discovery interface configuration when performing discovery
|
||||||
|
set_fact:
|
||||||
|
switch_interface_config: >
|
||||||
|
{{ switch_interface_config | combine(switch_interface_config_discovery) }}
|
||||||
|
when: "{{ physical_network_enable_discovery | bool }}"
|
||||||
|
|
||||||
- name: Ensure DellOS physical switches are configured
|
- name: Ensure DellOS physical switches are configured
|
||||||
hosts: switches_of_type_dellos6:switches_of_type_dellos9
|
hosts: switches_of_type_dellos6:switches_of_type_dellos9
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
@ -151,11 +151,15 @@ modules. Currently Dell Network OS 6 and Dell Network OS 9 switches are
|
|||||||
supported but this could easily be extended. To provision the physical
|
supported but this could easily be extended. To provision the physical
|
||||||
network::
|
network::
|
||||||
|
|
||||||
(kayobe-venv) $ kayobe physical network configure --group <group>
|
(kayobe-venv) $ kayobe physical network configure --group <group> [--enable-discovery]
|
||||||
|
|
||||||
The ``--group`` argument is used to specify an Ansible group containing
|
The ``--group`` argument is used to specify an Ansible group containing
|
||||||
the switches to be configured.
|
the switches to be configured.
|
||||||
|
|
||||||
|
The ``--enable-discovery`` argument enables a one-time configuration of ports
|
||||||
|
attached to baremetal compute nodes to support hardware discovery via ironic
|
||||||
|
inspector.
|
||||||
|
|
||||||
Seed
|
Seed
|
||||||
====
|
====
|
||||||
|
|
||||||
|
@ -136,12 +136,17 @@ class PhysicalNetworkConfigure(KayobeAnsibleMixin, Command):
|
|||||||
group = parser.add_argument_group("Physical Networking")
|
group = parser.add_argument_group("Physical Networking")
|
||||||
group.add_argument("--group", required=True,
|
group.add_argument("--group", required=True,
|
||||||
help="the Ansible group to apply configuration to")
|
help="the Ansible group to apply configuration to")
|
||||||
|
group.add_argument("--enable-discovery", action="store_true",
|
||||||
|
help="configure the network for hardware discovery")
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
self.app.LOG.debug("Configuring a physical network")
|
self.app.LOG.debug("Configuring a physical network")
|
||||||
|
extra_vars = {}
|
||||||
|
if parsed_args.enable_discovery:
|
||||||
|
extra_vars["physical_network_enable_discovery"] = True
|
||||||
ansible.run_playbook(parsed_args, "ansible/physical-network.yml",
|
ansible.run_playbook(parsed_args, "ansible/physical-network.yml",
|
||||||
limit=parsed_args.group)
|
limit=parsed_args.group, extra_vars=extra_vars)
|
||||||
|
|
||||||
|
|
||||||
class SeedVMProvision(KollaAnsibleMixin, KayobeAnsibleMixin, Command):
|
class SeedVMProvision(KollaAnsibleMixin, KayobeAnsibleMixin, Command):
|
||||||
|
Loading…
Reference in New Issue
Block a user