1
# Copyright 2015 Brocade Communications Systems, Inc.
4
# Licensed under the Apache License, Version 2.0 (the "License"); you may
5
# not use this file except in compliance with the License. You may obtain
6
# a copy of the License at
8
# http://www.apache.org/licenses/LICENSE-2.0
10
# Unless required by applicable law or agreed to in writing, software
11
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
# License for the specific language governing permissions and limitations
16
"""Implementation of Brocade ML2 Mechanism driver for ICX and MLX."""
18
from networking_brocade.mlx.ml2.fi_ni import mechanism_brocade_fi_ni
19
from oslo_config import cfg
25
help=('Switches connected to the compute nodes'))]
27
ML2_BROCADE = [cfg.StrOpt('address', default='',
28
help=('The address of the host to SSH to')),
29
cfg.StrOpt('username', default='admin',
30
help=('The SSH username to use')),
31
cfg.StrOpt('password', default='password', secret=True,
32
help=('The SSH password to use')),
33
cfg.StrOpt('physical_networks', default='',
34
help=('Allowed physical networks')),
35
cfg.StrOpt('ports', default='',
37
cfg.StrOpt('transport', default='SSH',
38
choices=('SSH', 'TELNET'),
39
help=('Protocol used to communicate with Switch')),
40
cfg.StrOpt('ostype', default='NI', choices=('NI', 'FI'),
41
help=('OS type of the device.')),
43
cfg.CONF.register_opts(SWITCHES, 'ml2_brocade_fi_ni')
46
class BrocadeFiNiMechanism(mechanism_brocade_fi_ni.BrocadeFiNiMechanism):
49
self._switch_names = cfg.CONF.ml2_brocade_fi_ni.switch_names
50
switches = [x.strip() for x in self._switch_names.split(',')]
51
for switch in switches:
52
cfg.CONF.register_opts(ML2_BROCADE, switch)
53
super(BrocadeFiNiMechanism, self).__init__()