1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Update openvswitch_port with tag feature (#2522)

* Update openvswitch_port with tag feature

Possibility to create a port with VLAN tag.

* Update openvswitch_port.py
This commit is contained in:
blinkiz 2016-07-06 07:14:31 +02:00 committed by Matt Clay
parent 8659082857
commit 2dda9d3343

View file

@ -40,6 +40,11 @@ options:
required: true required: true
description: description:
- Name of port to manage on the bridge - Name of port to manage on the bridge
tag:
version_added: 2.2
required: false
description:
- VLAN tag for this port
state: state:
required: false required: false
default: "present" default: "present"
@ -73,6 +78,10 @@ EXAMPLES = '''
- openvswitch_port: bridge=bridge-loop port=eth6 state=present - openvswitch_port: bridge=bridge-loop port=eth6 state=present
set="Interface eth6 ofport_request=6" set="Interface eth6 ofport_request=6"
# Creates port vlan10 with tag 10 on bridge br-ex
- openvswitch_port: bridge=br-ex port=vlan10 tag=10 state=present
set="Interface vlan10 type=internal"
# Assign interface id server1-vifeth6 and mac address 52:54:00:30:6d:11 # Assign interface id server1-vifeth6 and mac address 52:54:00:30:6d:11
# to port vifeth6 and setup port to be managed by a controller. # to port vifeth6 and setup port to be managed by a controller.
- openvswitch_port: bridge=br-int port=vifeth6 state=present - openvswitch_port: bridge=br-int port=vifeth6 state=present
@ -118,6 +127,7 @@ class OVSPort(object):
self.module = module self.module = module
self.bridge = module.params['bridge'] self.bridge = module.params['bridge']
self.port = module.params['port'] self.port = module.params['port']
self.tag = module.params['tag']
self.state = module.params['state'] self.state = module.params['state']
self.timeout = module.params['timeout'] self.timeout = module.params['timeout']
self.set_opt = module.params.get('set', None) self.set_opt = module.params.get('set', None)
@ -167,6 +177,8 @@ class OVSPort(object):
def add(self): def add(self):
'''Add the port''' '''Add the port'''
cmd = ['add-port', self.bridge, self.port] cmd = ['add-port', self.bridge, self.port]
if self.tag:
cmd += ["tag=" + self.tag]
if self.set and self.set_opt: if self.set and self.set_opt:
cmd += ["--", "set"] cmd += ["--", "set"]
cmd += self.set_opt.split(" ") cmd += self.set_opt.split(" ")
@ -235,6 +247,7 @@ def main():
argument_spec={ argument_spec={
'bridge': {'required': True}, 'bridge': {'required': True},
'port': {'required': True}, 'port': {'required': True},
'tag': {'required': False},
'state': {'default': 'present', 'choices': ['present', 'absent']}, 'state': {'default': 'present', 'choices': ['present', 'absent']},
'timeout': {'default': 5, 'type': 'int'}, 'timeout': {'default': 5, 'type': 'int'},
'set': {'required': False, 'default': None}, 'set': {'required': False, 'default': None},