From 6c3eace7943ae170a71cb6502321cbaae3ecfee2 Mon Sep 17 00:00:00 2001 From: Gaurav Rastogi Date: Thu, 15 Jun 2017 12:46:07 +0200 Subject: [PATCH] Minor Updates to the module descriptions and field options (#25430) --- .../modules/network/avi/avi_api_session.py | 16 ++++--- .../network/avi/avi_controllerproperties.py | 8 +++- lib/ansible/modules/network/avi/avi_gslb.py | 6 +++ .../modules/network/avi/avi_gslbservice.py | 6 +++ lib/ansible/modules/network/avi/avi_pool.py | 12 ++++-- .../network/avi/avi_serviceenginegroup.py | 43 ++++++++++++++++++- 6 files changed, 79 insertions(+), 12 deletions(-) diff --git a/lib/ansible/modules/network/avi/avi_api_session.py b/lib/ansible/modules/network/avi/avi_api_session.py index 447d2c88908..2216d2680ca 100644 --- a/lib/ansible/modules/network/avi/avi_api_session.py +++ b/lib/ansible/modules/network/avi/avi_api_session.py @@ -72,6 +72,7 @@ EXAMPLES = ''' path: pool params: name: "{{ pool_name }}" + api_version: 16.4 register: pool_results - name: Patch Pool with list of servers @@ -81,6 +82,7 @@ EXAMPLES = ''' password: "{{ password }}" http_method: patch path: "{{ pool_path }}" + api_version: 16.4 data: add: servers: @@ -99,6 +101,7 @@ EXAMPLES = ''' password: "{{ password }}" http_method: get path: analytics/metrics/pool + api_version: 16.4 params: name: "{{ pool_name }}" metric_id: l4_server.avg_bandwidth,l4_server.avg_complete_conns @@ -159,7 +162,8 @@ def main(): path = module.params.get('path', '') params = module.params.get('params', None) data = module.params.get('data', None) - + # Get the api_version from module. + api_version = module.params.get('api_version', '16.4') if data is not None: data = json.loads(data) method = module.params['http_method'] @@ -174,7 +178,7 @@ def main(): # change the method to be put gparams['name'] = data['name'] rsp = api.get(path, tenant=tenant, tenant_uuid=tenant_uuid, - params=gparams) + params=gparams, api_version=api_version) try: existing_obj = rsp.json()['results'][0] except IndexError: @@ -193,7 +197,7 @@ def main(): gparams['name'] = data['name'] using_collection = True rsp = api.get(path, tenant=tenant, tenant_uuid=tenant_uuid, - params=gparams) + params=gparams, api_version=api_version) rsp_data = rsp.json() if using_collection: if rsp_data['results']: @@ -211,13 +215,13 @@ def main(): cleanup_absent_fields(data) if method == 'patch': rsp = api.get(path, tenant=tenant, tenant_uuid=tenant_uuid, - params=gparams) + params=gparams, api_version=api_version) existing_obj = rsp.json() if (method == 'put' and changed) or (method != 'put'): fn = getattr(api, method) rsp = fn(path, tenant=tenant, tenant_uuid=tenant, timeout=timeout, - params=params, data=data) + params=params, data=data, api_version=api_version) else: rsp = None if method == 'delete' and rsp.status_code == 404: @@ -233,7 +237,7 @@ def main(): gparams = deepcopy(params) if params else {} gparams.update({'include_refs': '', 'include_name': ''}) rsp = api.get(path, tenant=tenant, tenant_uuid=tenant_uuid, - params=gparams) + params=gparams, api_version=api_version) new_obj = rsp.json() changed = not avi_obj_cmp(new_obj, existing_obj) if rsp is None: diff --git a/lib/ansible/modules/network/avi/avi_controllerproperties.py b/lib/ansible/modules/network/avi/avi_controllerproperties.py index 34536e394ea..af1dd6f07a7 100644 --- a/lib/ansible/modules/network/avi/avi_controllerproperties.py +++ b/lib/ansible/modules/network/avi/avi_controllerproperties.py @@ -113,6 +113,11 @@ options: - Allowed values are 1-1051200. - Special values are 0 - 'disabled'. - Default value when not specified in API or module is interpreted by Avi Controller as 60. + portal_token: + description: + - Token used for uploading tech-support to portal. + - Field introduced in 17.1.2. + version_added: "2.4" query_host_fail: description: - Number of query_host_fail. @@ -267,6 +272,7 @@ def main(): max_pcap_per_tenant=dict(type='int',), max_seq_vnic_failures=dict(type='int',), persistence_key_rotate_period=dict(type='int',), + portal_token=dict(type='str', no_log=True,), query_host_fail=dict(type='int',), se_create_timeout=dict(type='int',), se_failover_attempt_interval=dict(type='int',), @@ -302,7 +308,7 @@ def main(): 'Avi python API SDK (avisdk>=17.1) is not installed. ' 'For more details visit https://github.com/avinetworks/sdk.')) return avi_ansible_api(module, 'controllerproperties', - set([])) + set(['portal_token'])) if __name__ == '__main__': main() diff --git a/lib/ansible/modules/network/avi/avi_gslb.py b/lib/ansible/modules/network/avi/avi_gslb.py index 757e88e1cdf..fd04074692b 100644 --- a/lib/ansible/modules/network/avi/avi_gslb.py +++ b/lib/ansible/modules/network/avi/avi_gslb.py @@ -50,6 +50,11 @@ options: - In fresh start all the configsare downloaded. - Allowed values are 1-1024. - Default value when not specified in API or module is interpreted by Avi Controller as 20. + client_ip_addr_group: + description: + - Group to specify if the client ip addresses are public or private. + - Field introduced in 17.1.2. + version_added: "2.4" description: description: - User defined description for the object. @@ -125,6 +130,7 @@ def main(): state=dict(default='present', choices=['absent', 'present']), clear_on_max_retries=dict(type='int',), + client_ip_addr_group=dict(type='dict',), description=dict(type='str',), dns_configs=dict(type='list',), leader_cluster_uuid=dict(type='str',), diff --git a/lib/ansible/modules/network/avi/avi_gslbservice.py b/lib/ansible/modules/network/avi/avi_gslbservice.py index 667962d3c94..74dd8e6d3eb 100644 --- a/lib/ansible/modules/network/avi/avi_gslbservice.py +++ b/lib/ansible/modules/network/avi/avi_gslbservice.py @@ -50,6 +50,11 @@ options: - Note that the datapath status is determined by the association of health monitor profiles. - Only the controller provided status is determined through this configuration. - Default value when not specified in API or module is interpreted by Avi Controller as True. + created_by: + description: + - Creator name. + - Field introduced in 17.1.2. + version_added: "2.4" description: description: - User defined description for the object. @@ -150,6 +155,7 @@ def main(): state=dict(default='present', choices=['absent', 'present']), controller_health_status_enabled=dict(type='bool',), + created_by=dict(type='str',), description=dict(type='str',), domain_names=dict(type='list',), down_response=dict(type='dict',), diff --git a/lib/ansible/modules/network/avi/avi_pool.py b/lib/ansible/modules/network/avi/avi_pool.py index 2afa09b3edf..3ba46c8bacb 100644 --- a/lib/ansible/modules/network/avi/avi_pool.py +++ b/lib/ansible/modules/network/avi/avi_pool.py @@ -121,6 +121,12 @@ options: - Enable or disable the pool. - Disabling will terminate all open connections and pause health monitors. - Default value when not specified in API or module is interpreted by Avi Controller as True. + external_autoscale_groups: + description: + - Names of external auto-scale groups for pool servers. + - Currently available only for aws. + - Field introduced in 17.1.2. + version_added: "2.4" fail_action: description: - Enable an action - close connection, http redirect, local http response, or backup pool - when a pool failure happens. @@ -176,8 +182,8 @@ options: max_concurrent_connections_per_server: description: - The maximum number of concurrent connections allowed to each server within the pool. - - Allowed values are 50-10000. - - Special values are 0 - 'infinite'. + - Note applied value will be no less than the number of service engines that the pool is placed on. + - If set to 0, no limit is applied. - Default value when not specified in API or module is interpreted by Avi Controller as 0. max_conn_rate_per_server: description: @@ -195,7 +201,6 @@ options: description: - A list of nsx service groups where the servers for the pool are created. - Field introduced in 17.1.1. - version_added: "2.4" pki_profile_ref: description: - Avi will validate the ssl certificate present by a server against the selected pki profile. @@ -341,6 +346,7 @@ def main(): domain_name=dict(type='list',), east_west=dict(type='bool',), enabled=dict(type='bool',), + external_autoscale_groups=dict(type='list',), fail_action=dict(type='dict',), fewest_tasks_feedback_delay=dict(type='int',), graceful_disable_timeout=dict(type='int',), diff --git a/lib/ansible/modules/network/avi/avi_serviceenginegroup.py b/lib/ansible/modules/network/avi/avi_serviceenginegroup.py index c4c4942c463..4963dc79af3 100644 --- a/lib/ansible/modules/network/avi/avi_serviceenginegroup.py +++ b/lib/ansible/modules/network/avi/avi_serviceenginegroup.py @@ -61,6 +61,17 @@ options: - In compact placement, virtual services are placed on existing ses until max_vs_per_se limit is reached. - Enum options - PLACEMENT_ALGO_PACKED, PLACEMENT_ALGO_DISTRIBUTED. - Default value when not specified in API or module is interpreted by Avi Controller as PLACEMENT_ALGO_PACKED. + async_ssl: + description: + - Ssl handshakes will be handled by dedicated ssl threads. + - Default value when not specified in API or module is interpreted by Avi Controller as False. + version_added: "2.4" + async_ssl_threads: + description: + - Number of async ssl threads per se_dp. + - Allowed values are 1-4. + - Default value when not specified in API or module is interpreted by Avi Controller as 1. + version_added: "2.4" auto_rebalance: description: - If set, virtual services will be automatically migrated when load on an se is less than minimum or more than maximum thresholds. @@ -285,10 +296,22 @@ options: se_dos_profile: description: - Dosthresholdprofile settings for serviceenginegroup. + se_ipc_udp_port: + description: + - Udp port for se_dp ipc in docker bridge mode. + - Field introduced in 17.1.2. + - Default value when not specified in API or module is interpreted by Avi Controller as 1500. + version_added: "2.4" se_name_prefix: description: - Prefix to use for virtual machine name of service engines. - Default value when not specified in API or module is interpreted by Avi Controller as Avi. + se_remote_punt_udp_port: + description: + - Udp port for punted packets in docker bridge mode. + - Field introduced in 17.1.2. + - Default value when not specified in API or module is interpreted by Avi Controller as 1501. + version_added: "2.4" se_thread_multiplier: description: - Multiplier for se threads based on vcpu. @@ -296,10 +319,21 @@ options: - Default value when not specified in API or module is interpreted by Avi Controller as 1. se_tunnel_mode: description: - - Determines if dsr from secondary se is active or not 0 automatically determine based on hypervisor type 1 disable dsr - - unconditionally ~[0,1] enable dsr unconditionally. + - Determines if dsr from secondary se is active or not. + - 0 automatically determine based on hypervisor type. + - 1 disable dsr unconditionally. + - ~[0,1] enable dsr unconditionally. - Field introduced in 17.1.1. - Default value when not specified in API or module is interpreted by Avi Controller as 0. + se_udp_encap_ipc: + description: + - Determines if se-se ipc messages are encapsulated in an udp header. + - 0 automatically determine based on hypervisor type. + - 1 use udp encap unconditionally. + - ~[0,1] don't use udp encap. + - Field introduced in 17.1.2. + - Default value when not specified in API or module is interpreted by Avi Controller as 0. + version_added: "2.4" se_vs_hb_max_pkts_in_batch: description: - Maximum number of aggregated vs heartbeat packets to send in a batch. @@ -404,6 +438,8 @@ def main(): advertise_backend_networks=dict(type='bool',), aggressive_failure_detection=dict(type='bool',), algo=dict(type='str',), + async_ssl=dict(type='bool',), + async_ssl_threads=dict(type='int',), auto_rebalance=dict(type='bool',), auto_rebalance_interval=dict(type='int',), auto_redistribute_active_standby_load=dict(type='bool',), @@ -456,9 +492,12 @@ def main(): realtime_se_metrics=dict(type='dict',), se_deprovision_delay=dict(type='int',), se_dos_profile=dict(type='dict',), + se_ipc_udp_port=dict(type='int',), se_name_prefix=dict(type='str',), + se_remote_punt_udp_port=dict(type='int',), se_thread_multiplier=dict(type='int',), se_tunnel_mode=dict(type='int',), + se_udp_encap_ipc=dict(type='int',), se_vs_hb_max_pkts_in_batch=dict(type='int',), se_vs_hb_max_vs_in_pkt=dict(type='int',), service_ip_subnets=dict(type='list',),