diff --git a/cloud/lxd/lxd_container.py b/cloud/lxd/lxd_container.py index 08171a52cd7..30729ecf09c 100644 --- a/cloud/lxd/lxd_container.py +++ b/cloud/lxd/lxd_container.py @@ -123,17 +123,11 @@ options: when it stops or restarts the container. required: false default: false - unix_socket_path: - description: - - The unix domain socket path for the LXD server. - required: false - default: /var/lib/lxd/unix.socket url: description: - - The https URL for the LXD server. - - If url is set, this module connects to the LXD server via https. - If url it not set, this module connects to the LXD server via - unix domain socket specified with unix_socket_path. + - The unix domain socket path or the https URL for the LXD server. + required: false + default: unix:/var/lib/lxd/unix.socket key_file: description: - The client certificate key file path. @@ -383,19 +377,21 @@ class LxdContainerManagement(object): self.wait_for_ipv4_addresses = self.module.params['wait_for_ipv4_addresses'] self.force_stop = self.module.params['force_stop'] self.addresses = None - self.unix_socket_path = self.module.params['unix_socket_path'] - self.url = self.module.params.get('url', None) + self.url = self.module.params['url'] self.key_file = self.module.params.get('key_file', None) self.cert_file = self.module.params.get('cert_file', None) self.trust_password = self.module.params.get('trust_password', None) self.debug = self.module.params['debug'] - if self.url is None: - self.connection = UnixHTTPConnection(self.unix_socket_path) - else: + if self.url.startswith('https:'): parts = generic_urlparse(urlparse(self.url)) ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) ctx.load_cert_chain(self.cert_file, keyfile=self.key_file) self.connection = HTTPSConnection(parts.get('netloc'), context=ctx) + elif self.url.startswith('unix:'): + unix_socket_path = self.url[len('unix:'):] + self.connection = UnixHTTPConnection(unix_socket_path) + else: + self.module.fail_json(msg='URL scheme must be unix: or https:') self.logs = [] self.actions = [] @@ -814,12 +810,9 @@ def main(): type='bool', default=False ), - unix_socket_path=dict( - type='str', - default='/var/lib/lxd/unix.socket' - ), url=dict( type='str', + default='unix:/var/lib/lxd/unix.socket' ), key_file=dict( type='str',