Coder Social home page Coder Social logo

ansible-galaxy-fortiadc-collection's People

Contributors

ftnt-hqcm avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

mduijm

ansible-galaxy-fortiadc-collection's Issues

Feature: Implement Idempotency

Currently it is possible to run modules with add, edit, get, or delete actions.
It would be nice if the modules would support idempotent actions with states state=present or state=absent. This would help to reduce code complexity in in playbooks.

From the Ansible glossary (https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html):
Idempotency
An operation is idempotent if the result of performing it once is exactly the same as the result of performing it repeatedly without any intervening actions.

Condition in virtual server python part of module is wrong and should be removed

Condition in virtual server python part of module (lines 264-267) is wrong and should be removed:

https://github.com/fortinet-ansible-dev/ansible-galaxy-fortiadc-collection/blob/galaxy/1.0.1/plugins/modules/fadcos_virtual_server.py#L264

There are conditions evaluated:

if module.params['traffic_group'] and module.params['traffic_group'] != data['traffic-group']:
    data['traffic-group'] = module.params['traffic_group']
    res = True
if module.params['traffic_group'] and module.params['traffic_group'] != data['traffic-log']:
    data['traffic-log'] = module.params['traffic_group']
    res = True
if module.params['traffic_log'] and module.params['traffic_log'] != data['traffic-log']:
    data['traffic-log'] = module.params['traffic_log']
    res = True

1st condition "traffic-group" evaluation is proper.
2nd condition evaluation is wrong - looks like combination between 1st and 3rd hence it's redundant and shall be removed.
3rd condition "traffic-log" evaluation is proper.

In our project to properly interact with FortiADC device updates we are manually remove those lines from the module.

Bug in code of ssl-cipher condition in health check python file in module

Condition in health check python part of module (line 637) is not correct and should be fixed:

https://github.com/fortinet-ansible-dev/ansible-galaxy-fortiadc-collection/blob/galaxy/1.0.1/plugins/modules/fadcos_health_check.py#L637

There is condition evaluated:

		elif module.params[param] != data[ key]:
			data[key] = module.params[param]
			res = True

Previously if key == 'ssl-ciphers' and there is no update in list, then ssl-ciphers are tried to be evaluated by above clause, hence module always trying to update ssl-ciphers.
After fixing line 637 module code shall be modified to:

                elif key != 'ssl-ciphers' and module.params[param] != data[key]:
                    data[key] = module.params[param]
                    res = True

In our project to properly interact with FortiADC device updates we are manually change this line in the module.

Bug in code of schedule-pool-list condition in virtual server python file in module

Condition in virtual server python part of module (lines 323-326) is not correct and should be fixed:

https://github.com/fortinet-ansible-dev/ansible-galaxy-fortiadc-collection/blob/galaxy/1.0.1/plugins/modules/fadcos_virtual_server.py#L323

There is condition evaluated:

if list_need_update(module.params['source_pool_list'], data['schedule-pool-list']):
    data['schedule-pool-list'] = list_to_str(
        module.params['source_pool_list'])
    res = True

using 'schedule-pool-list' should be replaced with 'source-pool-list' hence above condition shall become:

if list_need_update(module.params['source_pool_list'], data['source-pool-list']):
    data['source-pool-list'] = list_to_str(
        module.params['source_pool_list'])
    res = True

In our project to properly interact with FortiADC device updates we are manually change those lines in the module.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.