diff --git a/lib/ansible/plugins/inventory/docker_swarm.py b/lib/ansible/plugins/inventory/docker_swarm.py index c631d6e088..dd030cffb0 100644 --- a/lib/ansible/plugins/inventory/docker_swarm.py +++ b/lib/ansible/plugins/inventory/docker_swarm.py @@ -38,6 +38,7 @@ DOCUMENTATION = ''' - "Use C(unix://var/run/docker.sock) to connect via local socket." type: str required: true + aliases: [ docker_url ] verbose_output: description: Toggle to (not) include all available nodes metadata (e.g. Platform, Architecture,OS, EngineVersion) @@ -55,13 +56,16 @@ DOCUMENTATION = ''' key_path: description: Path to the client's TLS key file. type: path + aliases: [ tls_client_key ] cacert_path: description: Use a CA certificate when performing server verification by providing the path to a CA certificate file. type: path + aliases: [ tls_ca_cert ] cert_path: description: Path to the client's TLS certificate file. type: path + aliases: [ tls_client_cert ] tls_hostname: description: When verifying the authenticity of the Docker host server, provide the expected name of the server. @@ -74,6 +78,7 @@ DOCUMENTATION = ''' - The version of the Docker API running on the Docker Host. - Defaults to the latest version of the API supported by docker-py. type: str + aliases: [ docker_api_version ] timeout: description: - The maximum amount of time in seconds to wait on a response from the API. @@ -81,6 +86,7 @@ DOCUMENTATION = ''' will be used instead. If the environment variable is not set, the default value will be used. type: int default: 60 + aliases: [ time_out ] include_host_uri: description: Toggle to return the additional attribute I(ansible_host_uri) which contains the URI of the swarm leader in format of M(tcp://172.16.0.1:2376). This value may be used without additional @@ -164,15 +170,10 @@ class InventoryModule(BaseInventoryPlugin, Constructable): cert_path=self.get_option('cert_path'), tls_hostname=self.get_option('tls_hostname'), api_version=self.get_option('api_version'), - timeout=self.get_option('timeout') or 60, + timeout=self.get_option('timeout'), ssl_version=self.get_option('ssl_version'), debug=None, ) - if raw_params['timeout'] is not None: - try: - raw_params['timeout'] = int(raw_params['timeout']) - except Exception as dummy: - raise AnsibleError('Argument to timeout function must be an integer') update_tls_hostname(raw_params) connect_params = get_connect_params(raw_params, fail_function=self._fail) self.client = docker.DockerClient(**connect_params) @@ -182,13 +183,13 @@ class InventoryModule(BaseInventoryPlugin, Constructable): self.inventory.add_group('leader') self.inventory.add_group('nonleaders') - if self.get_option('include_host_uri', True): + if self.get_option('include_host_uri'): if self.get_option('include_host_uri_port'): - host_uri_port = self.get_option('include_host_uri_port') + host_uri_port = str(self.get_option('include_host_uri_port')) elif self.get_option('tls') or self.get_option('tls_verify'): - host_uri_port = "2376" + host_uri_port = '2376' else: - host_uri_port = "2375" + host_uri_port = '2375' try: self.nodes = self.client.nodes.list() @@ -198,10 +199,10 @@ class InventoryModule(BaseInventoryPlugin, Constructable): self.inventory.add_host(self.node_attrs['ID'], group=self.node_attrs['Spec']['Role']) self.inventory.set_variable(self.node_attrs['ID'], 'ansible_host', self.node_attrs['Status']['Addr']) - if self.get_option('include_host_uri', True): + if self.get_option('include_host_uri'): self.inventory.set_variable(self.node_attrs['ID'], 'ansible_host_uri', - "tcp://" + self.node_attrs['Status']['Addr'] + ":" + host_uri_port) - if self.get_option('verbose_output', True): + 'tcp://' + self.node_attrs['Status']['Addr'] + ':' + host_uri_port) + if self.get_option('verbose_output'): self.inventory.set_variable(self.node_attrs['ID'], 'docker_swarm_node_attributes', self.node_attrs) if 'ManagerStatus' in self.node_attrs: if self.node_attrs['ManagerStatus'].get('Leader'): @@ -209,9 +210,9 @@ class InventoryModule(BaseInventoryPlugin, Constructable): # Check moby/moby#35437 for details swarm_leader_ip = parse_address(self.node_attrs['ManagerStatus']['Addr'])[0] or \ self.node_attrs['Status']['Addr'] - if self.get_option('include_host_uri', True): - self.inventory.set_variable(self.node_attrs['ID'], 'ansible_host_uri', "tcp://" + - swarm_leader_ip + ":" + host_uri_port) + if self.get_option('include_host_uri'): + self.inventory.set_variable(self.node_attrs['ID'], 'ansible_host_uri', + 'tcp://' + swarm_leader_ip + ':' + host_uri_port) self.inventory.set_variable(self.node_attrs['ID'], 'ansible_host', swarm_leader_ip) self.inventory.add_host(self.node_attrs['ID'], group='leader') else: @@ -243,7 +244,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable): """Return the possibly of a file being consumable by this plugin.""" return ( super(InventoryModule, self).verify_file(path) and - path.endswith((self.NAME + ".yaml", self.NAME + ".yml"))) + path.endswith((self.NAME + '.yaml', self.NAME + '.yml'))) def parse(self, inventory, loader, path, cache=True): if not HAS_DOCKER: