簡體   English   中英

os_user(和其他os模塊)無法建立連接錯誤

[英]os_user (and other os modules) Unable to establish connection error

這個相同的劇本/角色在我的openstack自由部署中工作正常,但是在我的新派克openstack(使用OAD部署)中,我在運行任何os模塊時遇到問題。 下面的例子:

ansible版本:2.3.2.0

openstack實用程序容器上的cloud.yml:

# Ansible managed
clouds:
  default:
    auth:
      auth_url: http://172.29.236.10:5000/v3
      project_name: admin
      tenant_name: admin
      username: admin
      password: admin
      user_domain_name: Default
      project_domain_name: Default
    region_name: RegionOne
    interface: internal
    identity_api_version: "3"

角色/任務:

---

- name: Install random password generator package
  apt: name={{item}} state=present
  with_items:
   - apg

- name: Random generate passwords
  command: apg -n {{ pass_cnt }} -M NCL -q
  register: passwdss

- name: Create users
  os_user:
    cloud: "{{CLOUD_NAME}}"
    state: present
    name: "{{ item.0 }}"
    password: "{{ item.1 }}"
    domain: default
  with_together:
    - "{{userid}}"
    - "{{passwdss.stdout_lines}}"

- name: Create user environments
  os_project:
    cloud: "{{CLOUD_NAME}}"
    state: present
    name: "{{ item }}"
    description: "{{ item }}"
    domain_id: default
    enabled: True
  with_items: "{{tenantid}}"

- name: Assign user to specified role in designated environment
  os_user_role:
    cloud: "{{CLOUD_NAME}}"
    user: "{{ item.0 }}"
    role: "{{ urole }}"
    project: "{{ item.1 }}"
  with_together: 
    - "{{userid}}"
    - "{{tenantid}}"

- name: User password assignment
  debug: msg="User {{ item.0 }} was added to {{ item.2 }} project, with the assigned password of {{ item.1 }}"
  with_together:
    - userid
    - passwdss.stdout_lines
    - tenantid

初始passwd生成器和密碼創建任務已完成,沒有任何問題。 但是一旦運行os_user,我會得到以下錯誤:

ndebug2: Received exit status from master 0\r\nShared connection to 172.29.239.130 closed.\r\n", 
    "module_stdout": "\r\nTraceback (most recent call last):\r\n  File \"/tmp/ansible_BXmCwn/ansible_module_os_user.py\", line 284, in <module>\r\n    main()\r\n  File \"/tmp/ansible_BXmCwn/ansible_module_os_user.py\", line 220, in main\r\n    user = cloud.get_user(name)\r\n  File \"/usr/local/lib/python2.7/dist-packages/shade/openstackcloud.py\", line 1016, in get_user\r\n    return _utils._get_entity(self.search_users, name_or_id, filters)\r\n  File \"/usr/local/lib/python2.7/dist-packages/shade/_utils.py\", line 220, in _get_entity\r\n    entities = func(name_or_id, filters, **kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/shade/openstackcloud.py\", line 999, in search_users\r\n    users = self.list_users()\r\n  File \"/usr/local/lib/python2.7/dist-packages/shade/openstackcloud.py\", line 981, in list_users\r\n    data = self._identity_client.get('/users')\r\n  File \"/usr/local/lib/python2.7/dist-packages/shade/openstackcloud.py\", line 419, in _identity_client\r\n    'identity', version_required=True, versions=['3', '2'])\r\n  File \"/usr/local/lib/python2.7/dist-packages/shade/openstackcloud.py\", line 496, in _discover_endpoint\r\n    self.keystone_session, base_url)\r\n  File \"/usr/local/lib/python2.7/dist-packages/positional/__init__.py\", line 108, in inner\r\n    return wrapped(*args, **kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/identity/base.py\", line 428, in get_discovery\r\n    authenticated=authenticated)\r\n  File \"/usr/local/lib/python2.7/dist-packages/positional/__init__.py\", line 108, in inner\r\n    return wrapped(*args, **kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/discover.py\", line 1164, in get_discovery\r\n    disc = Discover(session, url, authenticated=authenticated)\r\n  File \"/usr/local/lib/python2.7/dist-packages/positional/__init__.py\", line 108, in inner\r\n    return wrapped(*args, **kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/discover.py\", line 402, in __init__\r\n    authenticated=authenticated)\r\n  File \"/usr/local/lib/python2.7/dist-packages/positional/__init__.py\", line 108, in inner\r\n    return wrapped(*args, **kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/discover.py\", line 101, in get_version_data\r\n    resp = session.get(url, headers=headers, authenticated=authenticated)\r\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py\", line 845, in get\r\n    return self.request(url, 'GET', **kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/positional/__init__.py\", line 108, in inner\r\n    return wrapped(*args, **kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py\", line 703, in request\r\n    resp = send(**kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py\", line 777, in _send_request\r\n    raise exceptions.ConnectFailure(msg)\r\nkeystoneauth1.exceptions.connection.ConnectFailure: Unable to establish connection to http://10.0.11.100:5000: ('Connection aborted.', BadStatusLine(\"''\",))\r\n", 
    "msg": "MODULE FAILURE", 
    "rc": 0
}

我已經測試過,可以從實用程序容器中獲取10.0.11.100:5000。 我不確定是什么原因導致無法建立與http://10.0.11.100:5000的連接:(“連接已中止。”,BadStatusLine(\\“''\\”,))\\ r \\ n“。

我也很驚訝它嘗試連接到我的外部VIP:5000,而不是cloud.yml文件中定義的內部authurl:172.29.236.10:5000

任何關於尋找什么的想法都將受到歡迎。

除非特別指定,否則os_modules似乎會搶占並使用公共端點。 通過為openstack模塊提供參數/值為“ endpoint_type:internal”的問題,似乎可以在我的OAD openstack部署中解決該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM