Merge "Add support for setting the Flavor when creating a load balancer"
This commit is contained in:
commit
284d7871ce
@ -14,7 +14,7 @@ description:
|
|||||||
options:
|
options:
|
||||||
name:
|
name:
|
||||||
description:
|
description:
|
||||||
- Name that has to be given to the load balancer
|
- The name of the load balancer.
|
||||||
required: true
|
required: true
|
||||||
type: str
|
type: str
|
||||||
state:
|
state:
|
||||||
@ -23,6 +23,10 @@ options:
|
|||||||
choices: [present, absent]
|
choices: [present, absent]
|
||||||
default: present
|
default: present
|
||||||
type: str
|
type: str
|
||||||
|
flavor:
|
||||||
|
description:
|
||||||
|
- The flavor of the load balancer.
|
||||||
|
type: str
|
||||||
vip_network:
|
vip_network:
|
||||||
description:
|
description:
|
||||||
- The name or id of the network for the virtual IP of the load balancer.
|
- The name or id of the network for the virtual IP of the load balancer.
|
||||||
@ -327,6 +331,7 @@ def _wait_for_lb(module, cloud, lb, status, failures, interval=5):
|
|||||||
def main():
|
def main():
|
||||||
argument_spec = openstack_full_argument_spec(
|
argument_spec = openstack_full_argument_spec(
|
||||||
name=dict(required=True),
|
name=dict(required=True),
|
||||||
|
flavor=dict(required=False),
|
||||||
state=dict(default='present', choices=['absent', 'present']),
|
state=dict(default='present', choices=['absent', 'present']),
|
||||||
vip_network=dict(required=False),
|
vip_network=dict(required=False),
|
||||||
vip_subnet=dict(required=False),
|
vip_subnet=dict(required=False),
|
||||||
@ -342,6 +347,7 @@ def main():
|
|||||||
module = AnsibleModule(argument_spec, **module_kwargs)
|
module = AnsibleModule(argument_spec, **module_kwargs)
|
||||||
sdk, cloud = openstack_cloud_from_module(module)
|
sdk, cloud = openstack_cloud_from_module(module)
|
||||||
|
|
||||||
|
flavor = module.params['flavor']
|
||||||
vip_network = module.params['vip_network']
|
vip_network = module.params['vip_network']
|
||||||
vip_subnet = module.params['vip_subnet']
|
vip_subnet = module.params['vip_subnet']
|
||||||
vip_port = module.params['vip_port']
|
vip_port = module.params['vip_port']
|
||||||
@ -354,6 +360,7 @@ def main():
|
|||||||
vip_network_id = None
|
vip_network_id = None
|
||||||
vip_subnet_id = None
|
vip_subnet_id = None
|
||||||
vip_port_id = None
|
vip_port_id = None
|
||||||
|
flavor_id = None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
changed = False
|
changed = False
|
||||||
@ -368,6 +375,14 @@ def main():
|
|||||||
"be specified for load balancer creation"
|
"be specified for load balancer creation"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if flavor:
|
||||||
|
_flavor = cloud.load_balancer.find_flavor(flavor)
|
||||||
|
if not _flavor:
|
||||||
|
module.fail_json(
|
||||||
|
msg='flavor %s not found' % flavor
|
||||||
|
)
|
||||||
|
flavor_id = _flavor.id
|
||||||
|
|
||||||
if vip_network:
|
if vip_network:
|
||||||
network = cloud.get_network(vip_network)
|
network = cloud.get_network(vip_network)
|
||||||
if not network:
|
if not network:
|
||||||
@ -392,6 +407,7 @@ def main():
|
|||||||
|
|
||||||
lb = cloud.load_balancer.create_load_balancer(
|
lb = cloud.load_balancer.create_load_balancer(
|
||||||
name=module.params['name'],
|
name=module.params['name'],
|
||||||
|
flavor_id=flavor_id,
|
||||||
vip_network_id=vip_network_id,
|
vip_network_id=vip_network_id,
|
||||||
vip_subnet_id=vip_subnet_id,
|
vip_subnet_id=vip_subnet_id,
|
||||||
vip_port_id=vip_port_id,
|
vip_port_id=vip_port_id,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user