From 23ec7114940d227b03c8ed0d985b6fe7ab2338d1 Mon Sep 17 00:00:00 2001 From: Gaurav Rastogi Date: Tue, 1 Aug 2017 10:51:01 -0700 Subject: [PATCH] Added flags for Federated objects used in GLSB (#27531) --- .../modules/network/avi/avi_alertconfig.py | 47 +++++++------- .../avi/avi_applicationpersistenceprofile.py | 9 +++ .../network/avi/avi_controllerproperties.py | 2 +- lib/ansible/modules/network/avi/avi_gslb.py | 7 ++ .../network/avi/avi_gslbgeodbprofile.py | 6 ++ .../modules/network/avi/avi_gslbservice.py | 9 ++- .../modules/network/avi/avi_healthmonitor.py | 9 +++ .../modules/network/avi/avi_pkiprofile.py | 9 +++ lib/ansible/modules/network/avi/avi_pool.py | 14 +++- .../network/avi/avi_serviceenginegroup.py | 64 +++++++++++++++++-- .../network/avi/avi_systemconfiguration.py | 4 -- .../modules/network/avi/avi_vrfcontext.py | 5 -- 12 files changed, 140 insertions(+), 45 deletions(-) diff --git a/lib/ansible/modules/network/avi/avi_alertconfig.py b/lib/ansible/modules/network/avi/avi_alertconfig.py index cd8fe2a008a..70603e3f544 100644 --- a/lib/ansible/modules/network/avi/avi_alertconfig.py +++ b/lib/ansible/modules/network/avi/avi_alertconfig.py @@ -88,30 +88,29 @@ options: - Enum options - VIRTUALSERVICE, POOL, HEALTHMONITOR, NETWORKPROFILE, APPLICATIONPROFILE, HTTPPOLICYSET, DNSPOLICY, IPADDRGROUP, STRINGGROUP, - SSLPROFILE, SSLKEYANDCERTIFICATE, NETWORKSECURITYPOLICY, APPLICATIONPERSISTENCEPROFILE, ANALYTICSPROFILE, VSDATASCRIPTSET, TENANT, PKIPROFILE, - AUTHPROFILE, CLOUD, SERVERAUTOSCALEPOLICY, AUTOSCALELAUNCHCONFIG, MICROSERVICEGROUP, IPAMPROFILE, HARDWARESECURITYMODULEGROUP, POOLGROUP, - - PRIORITYLABELS, POOLGROUPDEPLOYMENTPOLICY, GSLBSERVICE, GSLBHEALTHMONITOR, GSLBSERVICERUNTIME, SCHEDULER, GSLBGEODBPROFILE, - - GSLBAPPLICATIONPERSISTENCEPROFILE, TRAFFICCLONEPROFILE, VSVIP, SERVICEENGINE, DEBUGSERVICEENGINE, DEBUGCONTROLLER, DEBUGVIRTUALSERVICE, - - SERVICEENGINEGROUP, SEPROPERTIES, NETWORK, CONTROLLERNODE, CONTROLLERPROPERTIES, SYSTEMCONFIGURATION, VRFCONTEXT, USER, ALERTCONFIG, - - ALERTSYSLOGCONFIG, ALERTEMAILCONFIG, ALERTTYPECONFIG, APPLICATION, ROLE, CLOUDPROPERTIES, SNMPTRAPPROFILE, ACTIONGROUPPROFILE, MICROSERVICE, - - ALERTPARAMS, ACTIONGROUPCONFIG, CLOUDCONNECTORUSER, GSLB, GSLBDNSUPDATE, GSLBSITEOPS, GLBMGRWARMSTART, IPAMDNSRECORD, GSLBDNSGSSTATUS, - - GSLBDNSGEOFILEOPS, GSLBDNSGEOUPDATE, GSLBDNSGEOCLUSTEROPS, GSLBDNSCLEANUP, TCPSTATRUNTIME, UDPSTATRUNTIME, IPSTATRUNTIME, ARPSTATRUNTIME, - - MBSTATRUNTIME, IPSTKQSTATSRUNTIME, MALLOCSTATRUNTIME, SHMALLOCSTATRUNTIME, CPUUSAGERUNTIME, L7GLOBALSTATSRUNTIME, L7VIRTUALSERVICESTATSRUNTIME, - - SEAGENTVNICDBRUNTIME, SEAGENTGRAPHDBRUNTIME, SEAGENTSTATERUNTIME, INTERFACERUNTIME, ARPTABLERUNTIME, DISPATCHERSTATRUNTIME, - - DISPATCHERSTATCLEARRUNTIME, DISPATCHERTABLEDUMPRUNTIME, DISPATCHERREMOTETIMERLISTDUMPRUNTIME, METRICSAGENTMESSAGE, HEALTHMONITORSTATRUNTIME, - - METRICSENTITYRUNTIME, PERSISTENCEINTERNAL, HTTPPOLICYSETINTERNAL, DNSPOLICYINTERNAL, CONNECTIONDUMPRUNTIME, SHAREDDBSTATS, SHAREDDBSTATSCLEAR, - - ICMPSTATRUNTIME, ROUTETABLERUNTIME, VIRTUALMACHINE, POOLSERVER, SEVSLIST, MEMINFORUNTIME, RTERINGSTATRUNTIME, ALGOSTATRUNTIME, - - HEALTHMONITORRUNTIME, CPUSTATRUNTIME, SEVM, HOST, PORTGROUP, CLUSTER, DATACENTER, VCENTER, HTTPPOLICYSETSTATS, DNSPOLICYSTATS, METRICSSESTATS, - - RATELIMITERSTATRUNTIME, NETWORKSECURITYPOLICYSTATS, TCPCONNRUNTIME, POOLSTATS, CONNPOOLINTERNAL, CONNPOOLSTATS, VSHASHSHOWRUNTIME, - - SELOGSTATSRUNTIME, NETWORKSECURITYPOLICYDETAIL, LICENSERUNTIME, SERVERRUNTIME, METRICSRUNTIMESUMMARY, METRICSRUNTIMEDETAIL, - - DISPATCHERSEHMPROBETEMPDISABLERUNTIME, POOLDEBUG, VSLOGMGRMAP, SERUMINSERTIONSTATS, HTTPCACHE, HTTPCACHESTATS, SEDOSSTATRUNTIME, VSDOSSTATRUNTIME, - - SERVERUPDATEREQ, VSSCALEOUTLIST, SEMEMDISTRUNTIME, TCPCONNRUNTIMEDETAIL, SEUPGRADESTATUS, SEUPGRADEPREVIEW, SEFAULTINJECTEXHAUSTM, - - SEFAULTINJECTEXHAUSTMCL, SEFAULTINJECTEXHAUSTMCLSMALL, SEFAULTINJECTEXHAUSTCONN, SEHEADLESSONLINEREQ, SEUPGRADE, SEUPGRADESTATUSDETAIL, - - SERESERVEDVS, SERESERVEDVSCLEAR, VSCANDIDATESEHOSTLIST, SEGROUPUPGRADE, REBALANCE, SEGROUPREBALANCE, SEAUTHSTATSRUNTIME, AUTOSCALESTATE, - - VIRTUALSERVICEAUTHSTATS, NETWORKSECURITYPOLICYDOS, KEYVALINTERNAL, KEYVALSUMMARYINTERNAL, SERVERSTATEUPDATEINFO, CLTRACKINTERNAL, - - CLTRACKSUMMARYINTERNAL, MICROSERVICERUNTIME, SEMICROSERVICE, VIRTUALSERVICEANALYSIS, CLIENTINTERNAL, CLIENTSUMMARYINTERNAL, - - MICROSERVICEGROUPRUNTIME, BGPRUNTIME, REQUESTQUEUERUNTIME, MIGRATEALL, MIGRATEALLSTATUSSUMMARY, MIGRATEALLSTATUSDETAIL, INTERFACESUMMARYRUNTIME, - - INTERFACELACPRUNTIME, DNSTABLE, GSLBSERVICEDETAIL, GSLBSERVICEINTERNAL, GSLBSERVICEHMONSTAT, SETROLESREQUEST, TRAFFICCLONERUNTIME, - - GEOLOCATIONINFO, SEVSHBSTATRUNTIME, GEODBINTERNAL, GSLBSITEINTERNAL, SERESOURCEPROTO, SECONSUMERPROTO, SECREATEPENDINGPROTO, PLACEMENTSTATS, - - SEVIPPROTO, RMVRFPROTO, VCENTERMAP, VIMGRVCENTERRUNTIME, INTERESTEDVMS, INTERESTEDHOSTS, VCENTERSUPPORTEDCOUNTERS, ENTITYCOUNTERS, + - PRIORITYLABELS, POOLGROUPDEPLOYMENTPOLICY, GSLBSERVICE, GSLBSERVICERUNTIME, SCHEDULER, GSLBGEODBPROFILE, GSLBAPPLICATIONPERSISTENCEPROFILE, + - TRAFFICCLONEPROFILE, VSVIP, SERVICEENGINE, DEBUGSERVICEENGINE, DEBUGCONTROLLER, DEBUGVIRTUALSERVICE, SERVICEENGINEGROUP, SEPROPERTIES, NETWORK, + - CONTROLLERNODE, CONTROLLERPROPERTIES, SYSTEMCONFIGURATION, VRFCONTEXT, USER, ALERTCONFIG, ALERTSYSLOGCONFIG, ALERTEMAILCONFIG, ALERTTYPECONFIG, + - APPLICATION, ROLE, CLOUDPROPERTIES, SNMPTRAPPROFILE, ACTIONGROUPPROFILE, MICROSERVICE, ALERTPARAMS, ACTIONGROUPCONFIG, CLOUDCONNECTORUSER, GSLB, + - GSLBDNSUPDATE, GSLBSITEOPS, GLBMGRWARMSTART, IPAMDNSRECORD, GSLBDNSGSSTATUS, GSLBDNSGEOFILEOPS, GSLBDNSGEOUPDATE, GSLBDNSGEOCLUSTEROPS, + - GSLBDNSCLEANUP, TCPSTATRUNTIME, UDPSTATRUNTIME, IPSTATRUNTIME, ARPSTATRUNTIME, MBSTATRUNTIME, IPSTKQSTATSRUNTIME, MALLOCSTATRUNTIME, + - SHMALLOCSTATRUNTIME, CPUUSAGERUNTIME, L7GLOBALSTATSRUNTIME, L7VIRTUALSERVICESTATSRUNTIME, SEAGENTVNICDBRUNTIME, SEAGENTGRAPHDBRUNTIME, + - SEAGENTSTATERUNTIME, INTERFACERUNTIME, ARPTABLERUNTIME, DISPATCHERSTATRUNTIME, DISPATCHERSTATCLEARRUNTIME, DISPATCHERTABLEDUMPRUNTIME, + - DISPATCHERREMOTETIMERLISTDUMPRUNTIME, METRICSAGENTMESSAGE, HEALTHMONITORSTATRUNTIME, METRICSENTITYRUNTIME, PERSISTENCEINTERNAL, + - HTTPPOLICYSETINTERNAL, DNSPOLICYINTERNAL, CONNECTIONDUMPRUNTIME, SHAREDDBSTATS, SHAREDDBSTATSCLEAR, ICMPSTATRUNTIME, ROUTETABLERUNTIME, + - VIRTUALMACHINE, POOLSERVER, SEVSLIST, MEMINFORUNTIME, RTERINGSTATRUNTIME, ALGOSTATRUNTIME, HEALTHMONITORRUNTIME, CPUSTATRUNTIME, SEVM, HOST, + - PORTGROUP, CLUSTER, DATACENTER, VCENTER, HTTPPOLICYSETSTATS, DNSPOLICYSTATS, METRICSSESTATS, RATELIMITERSTATRUNTIME, NETWORKSECURITYPOLICYSTATS, + - TCPCONNRUNTIME, POOLSTATS, CONNPOOLINTERNAL, CONNPOOLSTATS, VSHASHSHOWRUNTIME, SELOGSTATSRUNTIME, NETWORKSECURITYPOLICYDETAIL, LICENSERUNTIME, + - SERVERRUNTIME, METRICSRUNTIMESUMMARY, METRICSRUNTIMEDETAIL, DISPATCHERSEHMPROBETEMPDISABLERUNTIME, POOLDEBUG, VSLOGMGRMAP, SERUMINSERTIONSTATS, + - HTTPCACHE, HTTPCACHESTATS, SEDOSSTATRUNTIME, VSDOSSTATRUNTIME, SERVERUPDATEREQ, VSSCALEOUTLIST, SEMEMDISTRUNTIME, TCPCONNRUNTIMEDETAIL, + - SEUPGRADESTATUS, SEUPGRADEPREVIEW, SEFAULTINJECTEXHAUSTM, SEFAULTINJECTEXHAUSTMCL, SEFAULTINJECTEXHAUSTMCLSMALL, SEFAULTINJECTEXHAUSTCONN, + - SEHEADLESSONLINEREQ, SEUPGRADE, SEUPGRADESTATUSDETAIL, SERESERVEDVS, SERESERVEDVSCLEAR, VSCANDIDATESEHOSTLIST, SEGROUPUPGRADE, REBALANCE, + - SEGROUPREBALANCE, SEAUTHSTATSRUNTIME, AUTOSCALESTATE, VIRTUALSERVICEAUTHSTATS, NETWORKSECURITYPOLICYDOS, KEYVALINTERNAL, KEYVALSUMMARYINTERNAL, + - SERVERSTATEUPDATEINFO, CLTRACKINTERNAL, CLTRACKSUMMARYINTERNAL, MICROSERVICERUNTIME, SEMICROSERVICE, VIRTUALSERVICEANALYSIS, CLIENTINTERNAL, + - CLIENTSUMMARYINTERNAL, MICROSERVICEGROUPRUNTIME, BGPRUNTIME, REQUESTQUEUERUNTIME, MIGRATEALL, MIGRATEALLSTATUSSUMMARY, MIGRATEALLSTATUSDETAIL, + - INTERFACESUMMARYRUNTIME, INTERFACELACPRUNTIME, DNSTABLE, GSLBSERVICEDETAIL, GSLBSERVICEINTERNAL, GSLBSERVICEHMONSTAT, SETROLESREQUEST, + - TRAFFICCLONERUNTIME, GEOLOCATIONINFO, SEVSHBSTATRUNTIME, GEODBINTERNAL, GSLBSITEINTERNAL, SERESOURCEPROTO, SECONSUMERPROTO, SECREATEPENDINGPROTO, + - PLACEMENTSTATS, SEVIPPROTO, RMVRFPROTO, VCENTERMAP, VIMGRVCENTERRUNTIME, INTERESTEDVMS, INTERESTEDHOSTS, VCENTERSUPPORTEDCOUNTERS, ENTITYCOUNTERS, - TRANSACTIONSTATS, SEVMCREATEPROGRESS, PLACEMENTSTATUS, VISUBFOLDERS, VIDATASTORE, VIHOSTRESOURCES, CLOUDCONNECTOR, VINETWORKSUBNETVMS, - VIDATASTORECONTENTS, VIMGRVCENTERCLOUDRUNTIME, VIVCENTERPORTGROUPS, VIVCENTERDATACENTERS, VIMGRHOSTRUNTIME, PLACEMENTGLOBALS, APICCONFIGURATION, - CIFTABLE, APICTRANSACTION, VIRTUALSERVICESTATEDBCACHESUMMARY, POOLSTATEDBCACHESUMMARY, SERVERSTATEDBCACHESUMMARY, APICAGENTINTERNAL, diff --git a/lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py b/lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py index 731c4c5a249..b7f4fd468eb 100644 --- a/lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py +++ b/lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py @@ -59,6 +59,14 @@ options: ip_persistence_profile: description: - Specifies the client ip persistence profile parameters. + is_federated: + description: + - This field describes the object's replication scope. + - If the field is set to false, then the object is visible within the controller-cluster and its associated service-engines. + - If the field is set to true, then the object is replicated across the federation. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as False. + version_added: "2.4" name: description: - A user-friendly name for the persistence profile. @@ -135,6 +143,7 @@ def main(): hdr_persistence_profile=dict(type='dict',), http_cookie_persistence_profile=dict(type='dict',), ip_persistence_profile=dict(type='dict',), + is_federated=dict(type='bool',), name=dict(type='str', required=True), persistence_type=dict(type='str', required=True), server_hm_down_recovery=dict(type='str',), diff --git a/lib/ansible/modules/network/avi/avi_controllerproperties.py b/lib/ansible/modules/network/avi/avi_controllerproperties.py index af1dd6f07a7..e37383f76da 100644 --- a/lib/ansible/modules/network/avi/avi_controllerproperties.py +++ b/lib/ansible/modules/network/avi/avi_controllerproperties.py @@ -116,7 +116,7 @@ options: portal_token: description: - Token used for uploading tech-support to portal. - - Field introduced in 17.1.2. + - Field introduced in 16.4.6,17.1.2. version_added: "2.4" query_host_fail: description: diff --git a/lib/ansible/modules/network/avi/avi_gslb.py b/lib/ansible/modules/network/avi/avi_gslb.py index fd04074692b..b07838c71a4 100644 --- a/lib/ansible/modules/network/avi/avi_gslb.py +++ b/lib/ansible/modules/network/avi/avi_gslb.py @@ -62,6 +62,12 @@ options: description: - Sub domain configuration for the gslb. - Gslb service's fqdn must be a match one of these subdomains. + is_federated: + description: + - This field indicates that this object is replicated across gslb federation. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as True. + version_added: "2.4" leader_cluster_uuid: description: - Mark this site as leader of gslb configuration. @@ -133,6 +139,7 @@ def main(): client_ip_addr_group=dict(type='dict',), description=dict(type='str',), dns_configs=dict(type='list',), + is_federated=dict(type='bool',), leader_cluster_uuid=dict(type='str',), name=dict(type='str', required=True), send_interval=dict(type='int',), diff --git a/lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py b/lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py index 416fd20ee43..5c314dc5199 100644 --- a/lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py +++ b/lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py @@ -52,6 +52,11 @@ options: - List of geodb entries. - An entry can either be a geodb file or an ip address group with geo properties. - Field introduced in 17.1.1. + is_federated: + description: + - This field indicates that this object is replicated across gslb federation. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as True. name: description: - A user-friendly name for the geodb profile. @@ -103,6 +108,7 @@ def main(): choices=['absent', 'present']), description=dict(type='str',), entries=dict(type='list',), + is_federated=dict(type='bool',), name=dict(type='str', required=True), tenant_ref=dict(type='str',), url=dict(type='str',), diff --git a/lib/ansible/modules/network/avi/avi_gslbservice.py b/lib/ansible/modules/network/avi/avi_gslbservice.py index 74dd8e6d3eb..cc202c867eb 100644 --- a/lib/ansible/modules/network/avi/avi_gslbservice.py +++ b/lib/ansible/modules/network/avi/avi_gslbservice.py @@ -54,7 +54,6 @@ options: description: - Creator name. - Field introduced in 17.1.2. - version_added: "2.4" description: description: - User defined description for the object. @@ -77,7 +76,7 @@ options: description: - Verify vs health by applying one or more health monitors. - Active monitors generate synthetic traffic from dns service engine and to mark a vs up or down based on the response. - - It is a reference to an object of type gslbhealthmonitor. + - It is a reference to an object of type healthmonitor. health_monitor_scope: description: - Health monitor probe can be executed for all the members or it can be executed only for third-party members. @@ -85,6 +84,11 @@ options: - In such a case, avi members can have controller derived status while non-avi members can be probed by via health monitor probes in dataplane. - Enum options - GSLB_SERVICE_HEALTH_MONITOR_ALL_MEMBERS, GSLB_SERVICE_HEALTH_MONITOR_ONLY_NON_AVI_MEMBERS. - Default value when not specified in API or module is interpreted by Avi Controller as GSLB_SERVICE_HEALTH_MONITOR_ALL_MEMBERS. + is_federated: + description: + - This field indicates that this object is replicated across gslb federation. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as True. name: description: - Name for the gslb service. @@ -163,6 +167,7 @@ def main(): groups=dict(type='list',), health_monitor_refs=dict(type='list',), health_monitor_scope=dict(type='str',), + is_federated=dict(type='bool',), name=dict(type='str', required=True), num_dns_ip=dict(type='int',), tenant_ref=dict(type='str',), diff --git a/lib/ansible/modules/network/avi/avi_healthmonitor.py b/lib/ansible/modules/network/avi/avi_healthmonitor.py index b6895047117..8ed68969290 100644 --- a/lib/ansible/modules/network/avi/avi_healthmonitor.py +++ b/lib/ansible/modules/network/avi/avi_healthmonitor.py @@ -64,6 +64,14 @@ options: https_monitor: description: - Healthmonitorhttp settings for healthmonitor. + is_federated: + description: + - This field describes the object's replication scope. + - If the field is set to false, then the object is visible within the controller-cluster and its associated service-engines. + - If the field is set to true, then the object is replicated across the federation. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as False. + version_added: "2.4" monitor_port: description: - Use this port instead of the port defined for the server in the pool. @@ -160,6 +168,7 @@ def main(): failed_checks=dict(type='int',), http_monitor=dict(type='dict',), https_monitor=dict(type='dict',), + is_federated=dict(type='bool',), monitor_port=dict(type='int',), name=dict(type='str', required=True), receive_timeout=dict(type='int',), diff --git a/lib/ansible/modules/network/avi/avi_pkiprofile.py b/lib/ansible/modules/network/avi/avi_pkiprofile.py index 59936439e2a..ffc3376e398 100644 --- a/lib/ansible/modules/network/avi/avi_pkiprofile.py +++ b/lib/ansible/modules/network/avi/avi_pkiprofile.py @@ -62,6 +62,14 @@ options: - When enabled, avi will not trust intermediate and root certs presented by a client. - Instead, only the chain certs configured in the certificate authority section will be used to verify trust of the client's cert. - Default value when not specified in API or module is interpreted by Avi Controller as False. + is_federated: + description: + - This field describes the object's replication scope. + - If the field is set to false, then the object is visible within the controller-cluster and its associated service-engines. + - If the field is set to true, then the object is replicated across the federation. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as False. + version_added: "2.4" name: description: - Name of the pki profile. @@ -118,6 +126,7 @@ def main(): crl_check=dict(type='bool',), crls=dict(type='list',), ignore_peer_chain=dict(type='bool',), + is_federated=dict(type='bool',), name=dict(type='str', required=True), tenant_ref=dict(type='str',), url=dict(type='str',), diff --git a/lib/ansible/modules/network/avi/avi_pool.py b/lib/ansible/modules/network/avi/avi_pool.py index 3ba46c8bacb..a73c80c7ec2 100644 --- a/lib/ansible/modules/network/avi/avi_pool.py +++ b/lib/ansible/modules/network/avi/avi_pool.py @@ -126,10 +126,9 @@ options: - 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. + - Enable an action - close connection, http redirect or local http response - when a pool failure happens. - By default, a connection will be closed, in case the pool experiences a failure. fewest_tasks_feedback_delay: description: @@ -168,11 +167,19 @@ options: description: - The load balancing algorithm will pick a server within the pool's list of available servers. - Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, - - LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER. + - LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, + - LB_ALGORITHM_CORE_AFFINITY. - Default value when not specified in API or module is interpreted by Avi Controller as LB_ALGORITHM_LEAST_CONNECTIONS. lb_algorithm_consistent_hash_hdr: description: - Http header name to be used for the hash key. + lb_algorithm_core_nonaffinity: + description: + - Degree of non-affinity for core afffinity based server selection. + - Allowed values are 1-65535. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as 2. + version_added: "2.4" lb_algorithm_hash: description: - Criteria used as a key for determining the hash between the client and server. @@ -356,6 +363,7 @@ def main(): ipaddrgroup_ref=dict(type='str',), lb_algorithm=dict(type='str',), lb_algorithm_consistent_hash_hdr=dict(type='str',), + lb_algorithm_core_nonaffinity=dict(type='int',), lb_algorithm_hash=dict(type='str',), max_concurrent_connections_per_server=dict(type='int',), max_conn_rate_per_server=dict(type='dict',), diff --git a/lib/ansible/modules/network/avi/avi_serviceenginegroup.py b/lib/ansible/modules/network/avi/avi_serviceenginegroup.py index 4963dc79af3..6217e1b72c8 100644 --- a/lib/ansible/modules/network/avi/avi_serviceenginegroup.py +++ b/lib/ansible/modules/network/avi/avi_serviceenginegroup.py @@ -61,6 +61,11 @@ 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. + archive_shm_limit: + description: + - Amount of se memory in gb until which shared memory is collected in core archive. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as 8. async_ssl: description: - Ssl handshakes will be handled by dedicated ssl threads. @@ -108,6 +113,14 @@ options: - Allocate all the cpu cores for the service engine virtual machines on the same cpu socket. - Applicable only for vcenter cloud. - Default value when not specified in API or module is interpreted by Avi Controller as False. + custom_securitygroups_data: + description: + - Custom security groups to be associated with data vnics for se instances in openstack and aws clouds. + - Field introduced in 17.1.3. + custom_securitygroups_mgmt: + description: + - Custom security groups to be associated with management vnic for se instances in openstack and aws clouds. + - Field introduced in 17.1.3. custom_tag: description: - Custom tag will be used to create the tags for se instance in aws. @@ -174,14 +187,18 @@ options: - Default value when not specified in API or module is interpreted by Avi Controller as True. host_attribute_key: description: - - Key of a (key, value) pair identifying a set of hosts. - - Currently used to separate north-south and east-west se sizing requirements. - - This is useful in container ecosystems where ses on east-west traffic nodes are typically smaller than those on north-south traffic nodes. + - Key of a (key, value) pair identifying a label for a set of nodes usually in container clouds. + - Needs to be specified together with host_attribute_value. + - Ses can be configured differently including ha modes across different se groups. + - May also be used for isolation between different classes of virtualservices. + - Virtualservices' se group may be specified via annotations/labels. + - A openshift/kubernetes namespace maybe annotated with a matching se group label as openshift.io/node-selector apptype=prod. + - When multiple se groups are used in a cloud with host attributes specified,just a single se group can exist as a match-all se group without a + - host_attribute_key. host_attribute_value: description: - - Value of a (key, value) pair identifying a set of hosts. - - Currently used to separate north-south and east-west se sizing requirements. - - This is useful in container ecosystems where ses on east-west traffic nodes are typically smaller than those on north-south traffic nodes. + - Value of a (key, value) pair identifying a label for a set of nodes usually in container clouds. + - Needs to be specified together with host_attribute_key. hypervisor: description: - Override default hypervisor. @@ -220,6 +237,7 @@ options: max_vs_per_se: description: - Maximum number of virtual services that can be placed on a single service engine. + - East west virtual services are excluded from this limit. - Allowed values are 1-1000. - Default value when not specified in API or module is interpreted by Avi Controller as 10. mem_reserve: @@ -252,6 +270,13 @@ options: description: - Name of the object. required: true + non_significant_log_throttle: + description: + - This setting limits the number of non-significant logs generated per second per core on this se. + - Default is 100 logs per second. + - Set it to zero (0) to disable throttling. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as 100. num_flow_cores_sum_changes_to_ignore: description: - Number of changes in num flow cores sum to ignore. @@ -325,6 +350,11 @@ options: - ~[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_tunnel_udp_port: + description: + - Udp port for tunneled packets from secondary to primary se in docker bridge mode. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as 1550. se_udp_encap_ipc: description: - Determines if se-se ipc messages are encapsulated in an udp header. @@ -351,9 +381,24 @@ options: - Subnets assigned to the se group. - Required for vs group placement. - Field introduced in 17.1.1. + significant_log_throttle: + description: + - This setting limits the number of significant logs generated per second per core on this se. + - Default is 100 logs per second. + - Set it to zero (0) to disable throttling. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as 100. tenant_ref: description: - It is a reference to an object of type tenant. + udf_log_throttle: + description: + - This setting limits the number of udf logs generated per second per core on this se. + - Udf logs are generated due to the configured client log filters or the rules with logging enabled. + - Default is 100 logs per second. + - Set it to zero (0) to disable throttling. + - Field introduced in 17.1.3. + - Default value when not specified in API or module is interpreted by Avi Controller as 100. url: description: - Avi controller URL of the object. @@ -438,6 +483,7 @@ def main(): advertise_backend_networks=dict(type='bool',), aggressive_failure_detection=dict(type='bool',), algo=dict(type='str',), + archive_shm_limit=dict(type='int',), async_ssl=dict(type='bool',), async_ssl_threads=dict(type='int',), auto_rebalance=dict(type='bool',), @@ -448,6 +494,8 @@ def main(): connection_memory_percentage=dict(type='int',), cpu_reserve=dict(type='bool',), cpu_socket_affinity=dict(type='bool',), + custom_securitygroups_data=dict(type='list',), + custom_securitygroups_mgmt=dict(type='list',), custom_tag=dict(type='list',), dedicated_dispatcher_core=dict(type='bool',), description=dict(type='str',), @@ -481,6 +529,7 @@ def main(): min_cpu_usage=dict(type='int',), min_scaleout_per_vs=dict(type='int',), name=dict(type='str', required=True), + non_significant_log_throttle=dict(type='int',), num_flow_cores_sum_changes_to_ignore=dict(type='int',), openstack_availability_zone=dict(type='str',), openstack_availability_zones=dict(type='list',), @@ -497,11 +546,14 @@ def main(): se_remote_punt_udp_port=dict(type='int',), se_thread_multiplier=dict(type='int',), se_tunnel_mode=dict(type='int',), + se_tunnel_udp_port=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',), + significant_log_throttle=dict(type='int',), tenant_ref=dict(type='str',), + udf_log_throttle=dict(type='int',), url=dict(type='str',), uuid=dict(type='str',), vcenter_clusters=dict(type='dict',), diff --git a/lib/ansible/modules/network/avi/avi_systemconfiguration.py b/lib/ansible/modules/network/avi/avi_systemconfiguration.py index e076fbf2875..5cab04c67ab 100644 --- a/lib/ansible/modules/network/avi/avi_systemconfiguration.py +++ b/lib/ansible/modules/network/avi/avi_systemconfiguration.py @@ -94,9 +94,6 @@ options: - Allowed hmac list for ssh to the management interface on the controller and service engines. - If this is not specified, all the default hmacs are allowed. - Ssh -q mac provides the list of default hmacs supported. - tech_support_uploader_configuration: - description: - - Techsupportuploaderconfiguration settings for systemconfiguration. url: description: - Avi controller URL of the object. @@ -150,7 +147,6 @@ def main(): snmp_configuration=dict(type='dict',), ssh_ciphers=dict(type='list',), ssh_hmacs=dict(type='list',), - tech_support_uploader_configuration=dict(type='dict',), url=dict(type='str',), uuid=dict(type='str',), ) diff --git a/lib/ansible/modules/network/avi/avi_vrfcontext.py b/lib/ansible/modules/network/avi/avi_vrfcontext.py index 598a7bac643..9fa12d24c94 100644 --- a/lib/ansible/modules/network/avi/avi_vrfcontext.py +++ b/lib/ansible/modules/network/avi/avi_vrfcontext.py @@ -68,10 +68,6 @@ options: description: - Name of the object. required: true - routemap: - description: - - Configure route-map. - - Field introduced in 17.1.3. static_routes: description: - List of staticroute. @@ -128,7 +124,6 @@ def main(): gateway_mon=dict(type='list',), internal_gateway_monitor=dict(type='dict',), name=dict(type='str', required=True), - routemap=dict(type='list',), static_routes=dict(type='list',), system_default=dict(type='bool',), tenant_ref=dict(type='str',),