Commit Graph

24 Commits

Author SHA1 Message Date
Jakub Darmach dbcc3f4ae3 Use new collections in Kayobe
Refactored the code to switch the distribution source of the roles
to new collections for the roles that have already been migrated into
collections.

Updated:

 - requirements
 - role invocations
 - documentation
 - release notes
 - minor whitespace fixes

Change-Id: I8dbb88aa2061b3afcab07caeb30f45b3a5c939af
2024-03-27 15:07:08 +00:00
Mark Goddard 35259800aa switches: add flag to save configuration on Dell switches
Currently only supported on Dell OS9 and OS10 switches, and provides no
CLI integration.

Change-Id: Ia9242ed823868cba3a27fb9344a3b01283528d87
2023-11-01 16:57:03 +00:00
Will Szumski 1fbb5cb400 Add support for dellos10 switch configuration
Change-Id: I2823016294e7df63f63be9ab26535b3962a71ebe
2022-06-09 21:59:33 +02:00
Mark Goddard 388dfa369c Avoid fact gathering for group_by
There are a few places where we have a play with one task that uses the
group_by module to generate groups that are used in a subsequent play.
These plays do not need to gather facts for their target hosts.

In particular, the kolla-openstack.yml playbook should really be able to
operate without access to remote hosts.

This change also adds changed_when: false to all group_by tasks, since
they show as changed but haven't really made any changes outside of
Ansible.

TrivialFix

Change-Id: I18f67eda4e48058f3f402b9d0e692d6eeb02855f
2021-03-04 17:32:15 +00:00
Pierre Riteau 1ee19568b0 Add support for configuring Cumulus switches with NCLU
This extends the physical network configuration in Kayobe to configure
Cumulus physical switches using the nclu Ansible module.

Change-Id: I960027ead301c5793a0ada1959a23549a71bdbfb
2020-03-03 20:46:32 +00:00
Stig Telfer c6263dbfd4 Add support for Arista switches
Support for invoking Ansible EOS network modules for Arista switches.

Change-Id: I3a570adf43e1addce5eeab88e29ae4ded44669f0
2019-08-22 16:20:40 +02:00
Mark Goddard e3e48e93ce Add --disable-discovery argument to physical network
Adds support for a '--disable-discovery' argument to the 'kayobe
physical network configure' command. This can be used to configure the
physical network after discovery of bare metal compute nodes is
complete, to return the network to a normal state. The interface
configuration to be applied is configured via
'switch_interface_config_disable_discovery'.

Essentially, this is the mirror of the '--enable-discovery' argument.

Change-Id: I40426a8fd22e51e8ea3350013a614dfbcf2afccf
Story: 2004048
Task: 27054
2018-10-11 19:31:20 +01:00
Nick Jones 92880c6959
Fix list of valid switch types to include 'dellos6' or 'dellos9'
Change-Id: Ife6b88f9bd5d1489ae28389c3266117f2592ea84
Story: 2003986
2018-10-05 17:46:58 +01:00
Will Miller d5ccd8d286 Add Open vSwitch as a supported switch type
Change-Id: I48d97a0c3ff49bdb9e5d5725d5afe7e1aeb09e99
2018-08-16 08:05:48 +00:00
Zuul aff618d0cb Merge "Add support for Mellanox switches running MLNX-OS" 2018-08-02 17:03:11 +00:00
Mark Goddard c175b078e5 Fix handling of switch_type variable in Ansible 2.5
In Ansible, playbook group variables take precedence over inventory
group variables. Typically in a kayobe-config we might specify the
switch_type variable for a group containing switches using inventory
group_vars. This seemed to work in Ansible 2.3, but since Ansible 2.4
the default value of None in kayobe's playbook group_vars takes
precedence. This behaviour is as documented, not sure why it worked
previously.

This change removes the default value of None set in the playbook
group_vars.

Change-Id: I042ad8d115cdc0dd57a116e1be9d397ef4d216ae
Story: 2002903
Task: 22870
2018-07-09 15:30:44 +01:00
Mark Goddard abded1e472 Add support for Mellanox switches running MLNX-OS
Mellanox switches running MLNX-OS cannot be managed using the Ansible onyx*
modules, as the OS is too old. This change uses the stackhpc.mellanox-switch
Ansible role to configure these devices using the Ansible expect module.

Change-Id: I86f654c95be05e3a82d6015e4c89093127553408
Story: 2002687
Task: 22512
2018-06-25 16:25:38 +01:00
Mark Goddard 920d9e0eee Add Dell PowerConnect switch support
PowerConnect switches do not support the dellos Ansible modules, since
they are based on DellOS version 4. This role uses the expect module to
perform simple switch configuration.

Change-Id: Icb59aaff75f9faf089423610fecb06598f75e35e
Story: 2002106
Task: 19784
2018-06-22 15:12:29 +01:00
Mark Goddard ca284aea06 Fix ansible warnings for when clauses with curly braces 2017-10-20 12:14:35 +01:00
Mark Goddard 13a14664f9 Add a --display argument to kayobe physical network configure
This will output the candidate configuration, without applying it.
2017-10-17 11:48:36 +00:00
Mark Goddard 4f1ba98167 Allow limiting physical network interface configuration to subsets
Allow the physical network interface configuration to be limited to a subset of
interfaces, either by interface name or switch interface description. This is done
via:

kayobe physical network configure --interface-limit interface1,interface2

or

kayobe physical network configure --interface-description-limit host1,host2

Fixes: #25
2017-10-17 11:48:36 +00:00
Mark Goddard da75d6b734 Use local_action instead of delegate_to in switch config tasks
As of ansible 2.3, it is no longer possible to use delegate_to with a host other
than localhost. Use of a jump host can be enabled via setting ProxyCommand in
ansible_ssh_common_args as for other hosts.
2017-10-12 10:49:13 +00:00
Mark Goddard 887f06106d Remove stale variable from junos role invocation
We didn't end up using a virtualenv in the junos role, so this is not required.
2017-10-11 16:34:53 +00:00
Mark Goddard da82044a84 Updates to juniper switch configuration
Role renamed to junos-switch. Python dependencies are installed. Support for
multiple configuration types, including 'set', 'text', and 'json'.
2017-08-09 11:35:49 +00:00
Mark Goddard b9e1243d7d Add support for configuration of Juniper switches
Support for Juniper switches is added via the Ansible junos_* modules.
This affects the following command:

kayobe physical network configure
2017-08-07 12:08:41 +00:00
Mark Goddard 65ed0da197 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
2017-04-03 12:10:47 +01:00
Mark Goddard 2d84a41f45 Add physical switches to known SSH hosts 2017-03-24 16:14:48 +00:00
Mark Goddard 17ce724fa4 Move Dell switch configuration to a dell-switch role
This encapsulates the differences between switch OS modules. Also add support
for global switch configuration.
2017-03-24 15:11:32 +00:00
Mark Goddard 3ca08afd93 Add kayobe CLI command to configure the physical network
Currently this can configure interfaces on DellOS6 switches only but can be
extended to support other makes and models.
2017-03-16 11:02:53 +00:00