【Kolla-ansible 16.1.0.dev156】部署/评估快速入门(报错的文章,后面不用看了)

news2024/11/19 14:33:11

Kolla-ansible 16.1.0.dev156 部署/评估快速入门 报错的文章,后面不用看了

主机必须满足以下最低要求:
2 个网络接口
8GB 主内存
40GB 磁盘空间

root@ubuntu:~# sudo apt update
Hit:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy InRelease
Get:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates InRelease [119 kB]
Get:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-backports InRelease [109 kB]
Get:5 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates/main amd64 Packages [1,062 kB]
Get:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-security InRelease [110 kB]
Fetched 1,400 kB in 1s (1,112 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.

root@ubuntu:~# sudo apt install git python3-dev libffi-dev gcc libssl-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
gcc is already the newest version (4:11.2.0-1ubuntu1).
gcc set to manually installed.
git is already the newest version (1:2.34.1-1ubuntu1.10).
python3-dev is already the newest version (3.10.6-1~22.04).
python3-dev set to manually installed.
Suggested packages:
  libssl-doc
The following NEW packages will be installed:
  libffi-dev libssl-dev
0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
Need to get 2,435 kB of archives.
After this operation, 12.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates/main amd64 libssl-dev amd64 3.0.2-0ubuntu1.10 [2,372 kB]
Get:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/main amd64 libffi-dev amd64 3.4.2-4 [63.7 kB]
Fetched 2,435 kB in 2s (1,450 kB/s)
Selecting previously unselected package libssl-dev:amd64.
(Reading database ... 81386 files and directories currently installed.)
Preparing to unpack .../libssl-dev_3.0.2-0ubuntu1.10_amd64.deb ...
Unpacking libssl-dev:amd64 (3.0.2-0ubuntu1.10) ...
Selecting previously unselected package libffi-dev:amd64.
Preparing to unpack .../libffi-dev_3.4.2-4_amd64.deb ...
Unpacking libffi-dev:amd64 (3.4.2-4) ...
Setting up libffi-dev:amd64 (3.4.2-4) ...
Setting up libssl-dev:amd64 (3.0.2-0ubuntu1.10) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for install-info (6.8-4build1) ...
Scanning processes...
Scanning linux images...

Running kernel seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

root@ubuntu:~# sudo apt install python3-venv
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  python3-pip-whl python3-setuptools-whl python3.10-venv
The following NEW packages will be installed:
  python3-pip-whl python3-setuptools-whl python3-venv python3.10-venv
0 upgraded, 4 newly installed, 0 to remove and 3 not upgraded.
Need to get 2,474 kB of archives.
After this operation, 2,888 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://cn.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip-whl all 22.0.2+dfsg-1ubuntu0.3 [1,679 kB]
Get:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates/universe amd64 python3-setuptools-whl all 59.6.0-1.2ubuntu0.22.04.1 [788 kB]
Get:3 http://cn.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3.10-venv amd64 3.10.12-1~22.04.2 [5,724 B]
Get:4 http://cn.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-venv amd64 3.10.6-1~22.04 [1,038 B]
Fetched 2,474 kB in 1s (2,175 kB/s)
Selecting previously unselected package python3-pip-whl.
(Reading database ... 81569 files and directories currently installed.)
Preparing to unpack .../python3-pip-whl_22.0.2+dfsg-1ubuntu0.3_all.deb ...
Unpacking python3-pip-whl (22.0.2+dfsg-1ubuntu0.3) ...
Selecting previously unselected package python3-setuptools-whl.
Preparing to unpack .../python3-setuptools-whl_59.6.0-1.2ubuntu0.22.04.1_all.deb ...
Unpacking python3-setuptools-whl (59.6.0-1.2ubuntu0.22.04.1) ...
Selecting previously unselected package python3.10-venv.
Preparing to unpack .../python3.10-venv_3.10.12-1~22.04.2_amd64.deb ...
Unpacking python3.10-venv (3.10.12-1~22.04.2) ...
Selecting previously unselected package python3-venv.
Preparing to unpack .../python3-venv_3.10.6-1~22.04_amd64.deb ...
Unpacking python3-venv (3.10.6-1~22.04) ...
Setting up python3-setuptools-whl (59.6.0-1.2ubuntu0.22.04.1) ...
Setting up python3-pip-whl (22.0.2+dfsg-1ubuntu0.3) ...
Setting up python3.10-venv (3.10.12-1~22.04.2) ...
Setting up python3-venv (3.10.6-1~22.04) ...
Scanning processes...
Scanning linux images...

Running kernel seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

root@ubuntu:~# python3 -m venv /path/to/venv
root@ubuntu:~# source /path/to/venv/bin/activate
(venv) root@ubuntu:~# pip install -U pip
Requirement already satisfied: pip in /path/to/venv/lib/python3.10/site-packages (22.0.2)
Collecting pip
  Downloading pip-23.2.1-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 18.8 kB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.0.2
    Uninstalling pip-22.0.2:
      Successfully uninstalled pip-22.0.2
Successfully installed pip-23.2.1

(venv) root@ubuntu:~# pip install 'ansible>=6,<8'  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting ansible<8,>=6
  Downloading http://mirrors.aliyun.com/pypi/packages/f5/0f/fd3546905e2fae6fa8fc646d6698887c8e31f625d1016936f984223d2d95/ansible-7.7.0-py3-none-any.whl (46.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.0/46.0 MB 3.0 MB/s eta 0:00:00
Collecting ansible-core~=2.14.7 (from ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/a2/ab/8f2a9c87d8bd58eb19cf4f41aa996c53939243961838fe5c652d0ee605f6/ansible_core-2.14.11-py3-none-any.whl (2.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 4.4 MB/s eta 0:00:00
Collecting jinja2>=3.0.0 (from ansible-core~=2.14.7->ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 4.9 MB/s eta 0:00:00
Collecting PyYAML>=5.1 (from ansible-core~=2.14.7->ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/29/61/bf33c6c85c55bc45a29eee3195848ff2d518d84735eb0e2d8cb42e0d285e/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (705 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 705.5/705.5 kB 4.8 MB/s eta 0:00:00
Collecting cryptography (from ansible-core~=2.14.7->ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/eb/4b/f86cc66c632cf0948ca1712aadd255f624deef1cd371ea3bfd30851e188d/cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl (4.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4/4.4 MB 6.2 MB/s eta 0:00:00
Collecting packaging (from ansible-core~=2.14.7->ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.0/53.0 kB 10.2 MB/s eta 0:00:00
Collecting resolvelib<0.9.0,>=0.5.3 (from ansible-core~=2.14.7->ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/98/c0/46cfa3f56e43033b705965120058c018375600fa8fdb44c4e53d75820673/resolvelib-0.8.1-py2.py3-none-any.whl (16 kB)
Collecting MarkupSafe>=2.0 (from jinja2>=3.0.0->ansible-core~=2.14.7->ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/12/b3/d9ed2c0971e1435b8a62354b18d3060b66c8cb1d368399ec0b9baa7c0ee5/MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Collecting cffi>=1.12 (from cryptography->ansible-core~=2.14.7->ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/c9/7c/43d81bdd5a915923c3bad5bb4bff401ea00ccc8e28433fb6083d2e3bf58e/cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (443 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 443.9/443.9 kB 7.4 MB/s eta 0:00:00
Collecting pycparser (from cffi>=1.12->cryptography->ansible-core~=2.14.7->ansible<8,>=6)
  Downloading http://mirrors.aliyun.com/pypi/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl (118 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 7.6 MB/s eta 0:00:00
Installing collected packages: resolvelib, PyYAML, pycparser, packaging, MarkupSafe, jinja2, cffi, cryptography, ansible-core, ansible
Successfully installed MarkupSafe-2.1.3 PyYAML-6.0.1 ansible-7.7.0 ansible-core-2.14.11 cffi-1.16.0 cryptography-41.0.4 jinja2-3.1.2 packaging-23.2 pycparser-2.21 resolvelib-0.8.1

这里要等很久,或者自己去下包解压

(venv) root@ubuntu:~# pip install git+https://opendev.org/openstack/kolla-ansible@master
Collecting git+https://opendev.org/openstack/kolla-ansible@master
  Cloning https://opendev.org/openstack/kolla-ansible (to revision master) to /tmp/pip-req-build-2f3du03q
  Running command git clone --filter=blob:none --quiet https://opendev.org/openstack/kolla-ansible /tmp/pip-req-build-2f3du03q

  Resolved https://opendev.org/openstack/kolla-ansible to commit a6120f231a5985b95ac98c1abcc672622b3190f1
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pbr!=2.1.0,>=2.0.0 (from kolla-ansible==16.1.0.dev156)
  Using cached pbr-5.11.1-py2.py3-none-any.whl (112 kB)
Collecting oslo.config>=5.2.0 (from kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for oslo.config>=5.2.0 from https://files.pythonhosted.org/packages/4a/da/08d7bd84a1e9d9230f3a37b13519710464702b8b9659130914d195c671ae/oslo.config-9.2.0-py3-none-any.whl.metadata
  Downloading oslo.config-9.2.0-py3-none-any.whl.metadata (3.1 kB)
Requirement already satisfied: PyYAML>=3.12 in /path/to/venv/lib/python3.10/site-packages (from kolla-ansible==16.1.0.dev156) (6.0.1)
Requirement already satisfied: cryptography>=2.1 in /path/to/venv/lib/python3.10/site-packages (from kolla-ansible==16.1.0.dev156) (41.0.4)
Collecting oslo.utils>=3.33.0 (from kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for oslo.utils>=3.33.0 from https://files.pythonhosted.org/packages/5f/b5/8dde38e597e4b00bbf080fd8c1c27f9fd7704f49f1904f0b48e5e7d8ef31/oslo.utils-6.2.1-py3-none-any.whl.metadata
  Downloading oslo.utils-6.2.1-py3-none-any.whl.metadata (2.2 kB)
Requirement already satisfied: Jinja2>=3 in /path/to/venv/lib/python3.10/site-packages (from kolla-ansible==16.1.0.dev156) (3.1.2)
Collecting jmespath>=0.9.3 (from kolla-ansible==16.1.0.dev156)
  Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting hvac>=0.10.1 (from kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for hvac>=0.10.1 from https://files.pythonhosted.org/packages/bc/7f/7a06dbd59e3df2f34206576d6cb1a67f9625d0d5925f9b39cbe319315a59/hvac-1.2.1-py3-none-any.whl.metadata
  Downloading hvac-1.2.1-py3-none-any.whl.metadata (3.4 kB)
Requirement already satisfied: cffi>=1.12 in /path/to/venv/lib/python3.10/site-packages (from cryptography>=2.1->kolla-ansible==16.1.0.dev156) (1.16.0)
Collecting pyhcl<0.5.0,>=0.4.4 (from hvac>=0.10.1->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for pyhcl<0.5.0,>=0.4.4 from https://files.pythonhosted.org/packages/a8/b4/b766fd33774b55cc15f240916219c4ce9c1bd7bef4acd997ad36ff3622d0/pyhcl-0.4.5-py3-none-any.whl.metadata
  Downloading pyhcl-0.4.5-py3-none-any.whl.metadata (3.9 kB)
Collecting requests<3.0.0,>=2.27.1 (from hvac>=0.10.1->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for requests<3.0.0,>=2.27.1 from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
  Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Requirement already satisfied: MarkupSafe>=2.0 in /path/to/venv/lib/python3.10/site-packages (from Jinja2>=3->kolla-ansible==16.1.0.dev156) (2.1.3)
Collecting debtcollector>=1.2.0 (from oslo.config>=5.2.0->kolla-ansible==16.1.0.dev156)
  Downloading debtcollector-2.5.0-py3-none-any.whl (23 kB)
Collecting netaddr>=0.7.18 (from oslo.config>=5.2.0->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for netaddr>=0.7.18 from https://files.pythonhosted.org/packages/68/4a/aa1a61a8cdfc533020012594b006bbb3e7680326e1c247f63e711be5ab76/netaddr-0.9.0-py3-none-any.whl.metadata
  Downloading netaddr-0.9.0-py3-none-any.whl.metadata (5.1 kB)
Collecting oslo.i18n>=3.15.3 (from oslo.config>=5.2.0->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for oslo.i18n>=3.15.3 from https://files.pythonhosted.org/packages/d3/80/5a5eaf71c5bae50a53c9d99a14cb58fec41183baac9f18131e8e75a6a49c/oslo.i18n-6.1.0-py3-none-any.whl.metadata
  Downloading oslo.i18n-6.1.0-py3-none-any.whl.metadata (2.0 kB)
Collecting rfc3986>=1.2.0 (from oslo.config>=5.2.0->kolla-ansible==16.1.0.dev156)
  Downloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)
Collecting stevedore>=1.20.0 (from oslo.config>=5.2.0->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for stevedore>=1.20.0 from https://files.pythonhosted.org/packages/4b/68/e739fd061b0aba464bef8e8be48428b2aabbfb3f2f8f2f8ca257363ee6b2/stevedore-5.1.0-py3-none-any.whl.metadata
  Downloading stevedore-5.1.0-py3-none-any.whl.metadata (2.2 kB)
Collecting iso8601>=0.1.11 (from oslo.utils>=3.33.0->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for iso8601>=0.1.11 from https://files.pythonhosted.org/packages/6c/0c/f37b6a241f0759b7653ffa7213889d89ad49a2b76eb2ddf3b57b2738c347/iso8601-2.1.0-py3-none-any.whl.metadata
  Downloading iso8601-2.1.0-py3-none-any.whl.metadata (3.7 kB)
Collecting netifaces>=0.10.4 (from oslo.utils>=3.33.0->kolla-ansible==16.1.0.dev156)
  Downloading netifaces-0.11.0.tar.gz (30 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: packaging>=20.4 in /path/to/venv/lib/python3.10/site-packages (from oslo.utils>=3.33.0->kolla-ansible==16.1.0.dev156) (23.2)
Collecting pyparsing>=2.1.0 (from oslo.utils>=3.33.0->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for pyparsing>=2.1.0 from https://files.pythonhosted.org/packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl.metadata
  Downloading pyparsing-3.1.1-py3-none-any.whl.metadata (5.1 kB)
Collecting pytz>=2013.6 (from oslo.utils>=3.33.0->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for pytz>=2013.6 from https://files.pythonhosted.org/packages/32/4d/aaf7eff5deb402fd9a24a1449a8119f00d74ae9c2efa79f8ef9994261fc2/pytz-2023.3.post1-py2.py3-none-any.whl.metadata
  Downloading pytz-2023.3.post1-py2.py3-none-any.whl.metadata (22 kB)
Collecting tzdata>=2022.4 (from oslo.utils>=3.33.0->kolla-ansible==16.1.0.dev156)
  Downloading tzdata-2023.3-py2.py3-none-any.whl (341 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 341.8/341.8 kB 19.3 kB/s eta 0:00:00
Requirement already satisfied: pycparser in /path/to/venv/lib/python3.10/site-packages (from cffi>=1.12->cryptography>=2.1->kolla-ansible==16.1.0.dev156) (2.21)
Collecting wrapt>=1.7.0 (from debtcollector>=1.2.0->oslo.config>=5.2.0->kolla-ansible==16.1.0.dev156)
  Downloading wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.4/78.4 kB 23.8 kB/s eta 0:00:00
Collecting charset-normalizer<4,>=2 (from requests<3.0.0,>=2.27.1->hvac>=0.10.1->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/5d/42/9d11cb5f3326501d7e913d2581a4e3b237ef7ee3e121b2faa89c1676125b/charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Downloading charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (32 kB)
Collecting idna<4,>=2.5 (from requests<3.0.0,>=2.27.1->hvac>=0.10.1->kolla-ansible==16.1.0.dev156)
  Downloading idna-3.4-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 24.7 kB/s eta 0:00:00
Collecting urllib3<3,>=1.21.1 (from requests<3.0.0,>=2.27.1->hvac>=0.10.1->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for urllib3<3,>=1.21.1 from https://files.pythonhosted.org/packages/26/40/9957270221b6d3e9a3b92fdfba80dd5c9661ff45a664b47edd5d00f707f5/urllib3-2.0.6-py3-none-any.whl.metadata
  Downloading urllib3-2.0.6-py3-none-any.whl.metadata (6.6 kB)
Collecting certifi>=2017.4.17 (from requests<3.0.0,>=2.27.1->hvac>=0.10.1->kolla-ansible==16.1.0.dev156)
  Obtaining dependency information for certifi>=2017.4.17 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadata
  Downloading certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
Downloading hvac-1.2.1-py3-none-any.whl (149 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 149.9/149.9 kB 20.8 kB/s eta 0:00:00
Downloading oslo.config-9.2.0-py3-none-any.whl (128 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.6/128.6 kB 32.7 kB/s eta 0:00:00
Downloading oslo.utils-6.2.1-py3-none-any.whl (101 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 101.1/101.1 kB 31.1 kB/s eta 0:00:00
Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)
Downloading netaddr-0.9.0-py3-none-any.whl (2.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 16.9 kB/s eta 0:00:00
Downloading oslo.i18n-6.1.0-py3-none-any.whl (46 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.8/46.8 kB 31.1 kB/s eta 0:00:00
Downloading pyhcl-0.4.5-py3-none-any.whl (50 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.2/50.2 kB 19.7 kB/s eta 0:00:00
Downloading pyparsing-3.1.1-py3-none-any.whl (103 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 103.1/103.1 kB 21.1 kB/s eta 0:00:00
Downloading pytz-2023.3.post1-py2.py3-none-any.whl (502 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 502.5/502.5 kB 17.8 kB/s eta 0:00:00
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 20.8 kB/s eta 0:00:00
Downloading stevedore-5.1.0-py3-none-any.whl (49 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.6/49.6 kB 48.2 kB/s eta 0:00:00
Downloading certifi-2023.7.22-py3-none-any.whl (158 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 19.6 kB/s eta 0:00:00
Downloading charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (138 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 138.7/138.7 kB 26.6 kB/s eta 0:00:00
Downloading urllib3-2.0.6-py3-none-any.whl (123 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 123.8/123.8 kB 16.6 kB/s eta 0:00:00
Building wheels for collected packages: kolla-ansible, netifaces
  Building wheel for kolla-ansible (pyproject.toml) ... done
  Created wheel for kolla-ansible: filename=kolla_ansible-16.1.0.dev156-py3-none-any.whl size=1416871 sha256=f6a7a634bf849832fe118c418a63eec7376f6d964395d117caa4bc009b775f50
  Stored in directory: /tmp/pip-ephem-wheel-cache-lsvkaj46/wheels/26/b8/a3/2b4549e6ad6a98a9e03118083497cc32efc004e444bd6b0a6b
  Building wheel for netifaces (pyproject.toml) ... done
  Created wheel for netifaces: filename=netifaces-0.11.0-cp310-cp310-linux_x86_64.whl size=35004 sha256=8d2415ff6ba574975159d2840487336a97ea5ea26885ac3be1e4fea8095a5929
  Stored in directory: /root/.cache/pip/wheels/48/65/b3/4c4cc6038b81ff21cc9df69f2b6774f5f52e23d3c275ed15aa
Successfully built kolla-ansible netifaces
Installing collected packages: pytz, pyhcl, netifaces, netaddr, wrapt, urllib3, tzdata, rfc3986, pyparsing, pbr, jmespath, iso8601, idna, charset-normalizer, certifi, stevedore, requests, oslo.i18n, debtcollector, oslo.utils, oslo.config, hvac, kolla-ansible
Successfully installed certifi-2023.7.22 charset-normalizer-3.3.0 debtcollector-2.5.0 hvac-1.2.1 idna-3.4 iso8601-2.1.0 jmespath-1.0.1 kolla-ansible-16.1.0.dev156 netaddr-0.9.0 netifaces-0.11.0 oslo.config-9.2.0 oslo.i18n-6.1.0 oslo.utils-6.2.1 pbr-5.11.1 pyhcl-0.4.5 pyparsing-3.1.1 pytz-2023.3.post1 requests-2.31.0 rfc3986-2.0.0 stevedore-5.1.0 tzdata-2023.3 urllib3-2.0.6 wrapt-1.15.0


https://opendev.org/openstack/kolla-ansible

在这里插入图片描述

(venv) root@ubuntu:~# sudo mkdir -p /etc/kolla
(venv) root@ubuntu:~# echo $USER
root
(venv) root@ubuntu:~# sudo chown $USER:$USER /etc/kolla
(venv) root@ubuntu:~# cp -r /path/to/venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
(venv) root@ubuntu:~#
(venv) root@ubuntu:~# ll /etc/kolla/
total 52
drwxr-xr-x   2 root root  4096 Oct 14 14:19 ./
drwxr-xr-x 101 root root  4096 Oct 14 14:17 ../
-rw-r--r--   1 root root 32817 Oct 14 14:19 globals.yml
-rw-r--r--   1 root root  5154 Oct 14 14:19 passwords.yml
(venv) root@ubuntu:~# cp /path/to/venv/share/kolla-ansible/ansible/inventory/all-in-one .

(venv) root@ubuntu:~# ll
total 1184
drwx------  6 root root    4096 Oct 14 14:19 ./
drwxr-xr-x 20 root root    4096 Oct 14 13:54 ../
-rw-r--r--  1 root root    8400 Oct 14 14:19 all-in-one
-rw-------  1 root root     957 Oct 14 12:57 .bash_history
-rw-r--r--  1 root root    3106 Oct 15  2021 .bashrc
drwx------  3 root root    4096 Oct 14 13:23 .cache/
-rw-r--r--  1 root root 1149540 Oct 14 12:57 kolla-ansible-16.1.0.tar.gz
-rw-------  1 root root      20 Oct 14 13:23 .lesshst
-rw-r--r--  1 root root     161 Jul  9  2019 .profile
drwx------  3 root root    4096 Oct 13 11:18 snap/
drwx------  2 root root    4096 Oct 13 11:18 .ssh/
drwxr-xr-x  5 root root    4096 Oct 14 13:24 venv3/
-rw-------  1 root root    2469 Oct 13 11:27 .viminfo
-rw-------  1 root root      52 Oct 14 12:57 .Xauthority


以下为三个配置的文件all-in-one、globals.yml、passwords.yml 需要做一定的修改

(venv) root@ubuntu:~# cat all-in-one
# These initial groups are the only groups required to be modified. The
# additional groups are for more control of the environment.
[control]
localhost       ansible_connection=local

[network]
localhost       ansible_connection=local

[compute]
localhost       ansible_connection=local

[storage]
localhost       ansible_connection=local

[monitoring]
localhost       ansible_connection=local

[deployment]
localhost       ansible_connection=local

# You can explicitly specify which hosts run each project by updating the
# groups in the sections below. Common services are grouped together.

[common:children]
control
network
compute
storage
monitoring

[collectd:children]
compute

[baremetal:children]
control

[tls-backend:children]
control

[grafana:children]
monitoring

[etcd:children]
control

[telegraf:children]
compute
control
monitoring
network
storage

[hacluster:children]
control

[hacluster-remote:children]
compute

[loadbalancer:children]
network

[mariadb:children]
control

[rabbitmq:children]
control

[outward-rabbitmq:children]
control

[keystone:children]
control

[glance:children]
control

[nova:children]
control

[neutron:children]
network

[openvswitch:children]
network
compute
manila-share

[cinder:children]
control

[cloudkitty:children]
control

[freezer:children]
control

[memcached:children]
control

[horizon:children]
control

[swift:children]
control

[barbican:children]
control

[heat:children]
control

[murano:children]
control

[ironic:children]
control

[influxdb:children]
monitoring

[prometheus:children]
monitoring

[magnum:children]
control

[sahara:children]
control

[solum:children]
control

[mistral:children]
control

[manila:children]
control

[gnocchi:children]
control

[ceilometer:children]
control

[aodh:children]
control

[cyborg:children]
control
compute

[tacker:children]
control

[vitrage:children]
control

[senlin:children]
control

[trove:children]
control

[watcher:children]
control

[octavia:children]
control

[designate:children]
control

[placement:children]
control

[bifrost:children]
deployment

[zun:children]
control

[skyline:children]
control

[redis:children]
control

[blazar:children]
control

[venus:children]
monitoring

# Additional control implemented here. These groups allow you to control which
# services run on which hosts at a per-service level.
#
# Word of caution: Some services are required to run on the same host to
# function appropriately. For example, neutron-metadata-agent must run on the
# same host as the l3-agent and (depending on configuration) the dhcp-agent.

# Common
[cron:children]
common

[fluentd:children]
common

[kolla-logs:children]
common

[kolla-toolbox:children]
common

[opensearch:children]
control

# Opensearch dashboards
[opensearch-dashboards:children]
opensearch

# Glance
[glance-api:children]
glance

# Nova
[nova-api:children]
nova

[nova-conductor:children]
nova

[nova-super-conductor:children]
nova

[nova-novncproxy:children]
nova

[nova-scheduler:children]
nova

[nova-spicehtml5proxy:children]
nova

[nova-compute-ironic:children]
nova

[nova-serialproxy:children]
nova

# Neutron
[neutron-server:children]
control

[neutron-dhcp-agent:children]
neutron

[neutron-l3-agent:children]
neutron

[neutron-metadata-agent:children]
neutron

[neutron-ovn-metadata-agent:children]
compute
network

[neutron-ovn-agent:children]
compute

[neutron-bgp-dragent:children]
neutron

[neutron-infoblox-ipam-agent:children]
neutron

[neutron-metering-agent:children]
neutron

[ironic-neutron-agent:children]
neutron

# Cinder
[cinder-api:children]
cinder

[cinder-backup:children]
storage

[cinder-scheduler:children]
cinder

[cinder-volume:children]
storage

# Cloudkitty
[cloudkitty-api:children]
cloudkitty

[cloudkitty-processor:children]
cloudkitty

# Freezer
[freezer-api:children]
freezer

[freezer-scheduler:children]
freezer

# iSCSI
[iscsid:children]
compute
storage
ironic

[tgtd:children]
storage

# Manila
[manila-api:children]
manila

[manila-scheduler:children]
manila

[manila-share:children]
network

[manila-data:children]
manila

# Swift
[swift-proxy-server:children]
swift

[swift-account-server:children]
storage

[swift-container-server:children]
storage

[swift-object-server:children]
storage

# Barbican
[barbican-api:children]
barbican

[barbican-keystone-listener:children]
barbican

[barbican-worker:children]
barbican

# Trove
[trove-api:children]
trove

[trove-conductor:children]
trove

[trove-taskmanager:children]
trove

# Heat
[heat-api:children]
heat

[heat-api-cfn:children]
heat

[heat-engine:children]
heat

# Murano
[murano-api:children]
murano

[murano-engine:children]
murano

# Ironic
[ironic-api:children]
ironic

[ironic-conductor:children]
ironic

[ironic-inspector:children]
ironic

[ironic-tftp:children]
ironic

[ironic-http:children]
ironic

# Magnum
[magnum-api:children]
magnum

[magnum-conductor:children]
magnum

# Solum
[solum-api:children]
solum

[solum-worker:children]
solum

[solum-deployer:children]
solum

[solum-conductor:children]
solum

[solum-application-deployment:children]
solum

[solum-image-builder:children]
solum

# Mistral
[mistral-api:children]
mistral

[mistral-executor:children]
mistral

[mistral-engine:children]
mistral

[mistral-event-engine:children]
mistral

# Aodh
[aodh-api:children]
aodh

[aodh-evaluator:children]
aodh

[aodh-listener:children]
aodh

[aodh-notifier:children]
aodh

# Cyborg
[cyborg-api:children]
cyborg

[cyborg-agent:children]
compute

[cyborg-conductor:children]
cyborg

# Gnocchi
[gnocchi-api:children]
gnocchi

[gnocchi-statsd:children]
gnocchi

[gnocchi-metricd:children]
gnocchi

# Sahara
[sahara-api:children]
sahara

[sahara-engine:children]
sahara

# Ceilometer
[ceilometer-central:children]
ceilometer

[ceilometer-notification:children]
ceilometer

[ceilometer-compute:children]
compute

[ceilometer-ipmi:children]
compute

# Multipathd
[multipathd:children]
compute
storage

# Watcher
[watcher-api:children]
watcher

[watcher-engine:children]
watcher

[watcher-applier:children]
watcher

# Senlin
[senlin-api:children]
senlin

[senlin-conductor:children]
senlin

[senlin-engine:children]
senlin

[senlin-health-manager:children]
senlin

# Octavia
[octavia-api:children]
octavia

[octavia-driver-agent:children]
octavia

[octavia-health-manager:children]
octavia

[octavia-housekeeping:children]
octavia

[octavia-worker:children]
octavia

# Designate
[designate-api:children]
designate

[designate-central:children]
designate

[designate-producer:children]
designate

[designate-mdns:children]
network

[designate-worker:children]
designate

[designate-sink:children]
designate

[designate-backend-bind9:children]
designate

# Placement
[placement-api:children]
placement

# Zun
[zun-api:children]
zun

[zun-wsproxy:children]
zun

[zun-compute:children]
compute

[zun-cni-daemon:children]
compute

# Skyline
[skyline-apiserver:children]
skyline

[skyline-console:children]
skyline

# Tacker
[tacker-server:children]
tacker

[tacker-conductor:children]
tacker

# Vitrage
[vitrage-api:children]
vitrage

[vitrage-notifier:children]
vitrage

[vitrage-graph:children]
vitrage

[vitrage-ml:children]
vitrage

[vitrage-persistor:children]
vitrage

# Blazar
[blazar-api:children]
blazar

[blazar-manager:children]
blazar

# Prometheus
[prometheus-node-exporter:children]
monitoring
control
compute
network
storage

[prometheus-mysqld-exporter:children]
mariadb

[prometheus-haproxy-exporter:children]
loadbalancer

[prometheus-memcached-exporter:children]
memcached

[prometheus-cadvisor:children]
monitoring
control
compute
network
storage

[prometheus-alertmanager:children]
monitoring

[prometheus-openstack-exporter:children]
monitoring

[prometheus-elasticsearch-exporter:children]
opensearch

[prometheus-blackbox-exporter:children]
monitoring

[prometheus-libvirt-exporter:children]
compute

[prometheus-msteams:children]
prometheus-alertmanager

[masakari-api:children]
control

[masakari-engine:children]
control

[masakari-hostmonitor:children]
control

[masakari-instancemonitor:children]
compute

[ovn-controller:children]
ovn-controller-compute
ovn-controller-network

[ovn-controller-compute:children]
compute

[ovn-controller-network:children]
network

[ovn-database:children]
control

[ovn-northd:children]
ovn-database

[ovn-nb-db:children]
ovn-database

[ovn-sb-db:children]
ovn-database

[venus-api:children]
venus

[venus-manager:children]
venus


(venv) root@ubuntu:~# cat /etc/kolla/globals.yml
---
# You can use this file to override _any_ variable throughout Kolla.
# Additional options can be found in the
# 'kolla-ansible/ansible/group_vars/all.yml' file. Default value of all the
# commented parameters are shown here, To override the default value uncomment
# the parameter and change its value.

###################
# Ansible options
###################

# This variable is used as the "filter" argument for the setup module.  For
# instance, if one wants to remove/ignore all Neutron interface facts:
# kolla_ansible_setup_filter: "ansible_[!qt]*"
# By default, we do not provide a filter.
#kolla_ansible_setup_filter: "{{ omit }}"

# This variable is used as the "gather_subset" argument for the setup module.
# For instance, if one wants to avoid collecting facts via facter:
# kolla_ansible_setup_gather_subset: "all,!facter"
# By default, we do not provide a gather subset.
#kolla_ansible_setup_gather_subset: "{{ omit }}"

# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes

# This variable is used as "any_errors_fatal" setting for the setup (gather
# facts) plays.
# This is useful for weeding out failing hosts early to avoid late failures
# due to missing facts (especially cross-host).
# Do note this still supports host fact caching and it will not affect
# scenarios with all facts cached (as there is no task to fail).
#kolla_ansible_setup_any_errors_fatal: false

###############
# Kolla options
###############
# Valid options are [ COPY_ONCE, COPY_ALWAYS ]
#config_strategy: "COPY_ALWAYS"

# Valid options are ['centos', 'debian', 'rocky', 'ubuntu']
#kolla_base_distro: "rocky"

# Do not override this unless you know what you are doing.
#openstack_release: "master"

# Docker image tag used by default.
#openstack_tag: "{{ openstack_release ~ openstack_tag_suffix }}"

# Suffix applied to openstack_release to generate openstack_tag.
#openstack_tag_suffix: ""

# Location of configuration overrides
#node_custom_config: "{{ node_config }}/config"

# This should be a VIP, an unused IP on your network that will float between
# the hosts running keepalived for high-availability. If you want to run an
# All-In-One without haproxy and keepalived, you can set enable_haproxy to no
# in "OpenStack options" section, and set this value to the IP of your
# 'network_interface' as set in the Networking section below.
#kolla_internal_vip_address: "10.10.10.254"

# This is the DNS name that maps to the kolla_internal_vip_address VIP. By
# default it is the same as kolla_internal_vip_address.
#kolla_internal_fqdn: "{{ kolla_internal_vip_address }}"

# This should be a VIP, an unused IP on your network that will float between
# the hosts running keepalived for high-availability. It defaults to the
# kolla_internal_vip_address, allowing internal and external communication to
# share the same address.  Specify a kolla_external_vip_address to separate
# internal and external requests between two VIPs.
#kolla_external_vip_address: "{{ kolla_internal_vip_address }}"

# The Public address used to communicate with OpenStack as set in the public_url
# for the endpoints that will be created. This DNS name should map to
# kolla_external_vip_address.
#kolla_external_fqdn: "{{ kolla_external_vip_address }}"

# Optionally change the path to sysctl.conf modified by Kolla Ansible plays.
#kolla_sysctl_conf_path: /etc/sysctl.conf

################
# Container engine
################

# Valid options are [ docker ]
# kolla_container_engine: docker

################
# Docker options
################

# Custom docker registry settings:
#docker_registry:
# Please read the docs carefully before applying docker_registry_insecure.
#docker_registry_insecure: "no"
#docker_registry_username:
# docker_registry_password is set in the passwords.yml file.

# Namespace of images:
#docker_namespace: "kolla"

# Docker client timeout in seconds.
#docker_client_timeout: 120

#docker_configure_for_zun: "no"
#containerd_configure_for_zun: "no"
#containerd_grpc_gid: 42463

###################
# Messaging options
###################
# Whether to enable TLS for oslo.messaging communication with RabbitMQ.
#om_enable_rabbitmq_tls: "{{ rabbitmq_enable_tls | bool }}"
# CA certificate bundle in containers using oslo.messaging with RabbitMQ TLS.
#om_rabbitmq_cacert: "{{ rabbitmq_cacert }}"

##############################
# Neutron - Networking Options
##############################
# This interface is what all your api services will be bound to by default.
# Additionally, all vxlan/tunnel and storage network traffic will go over this
# interface by default. This interface must contain an IP address.
# It is possible for hosts to have non-matching names of interfaces - these can
# be set in an inventory file per host or per group or stored separately, see
#     http://docs.ansible.com/ansible/intro_inventory.html
# Yet another way to workaround the naming problem is to create a bond for the
# interface on all hosts and give the bond name here. Similar strategy can be
# followed for other types of interfaces.
#network_interface: "eth0"

# These can be adjusted for even more customization. The default is the same as
# the 'network_interface'. These interfaces must contain an IP address.
#kolla_external_vip_interface: "{{ network_interface }}"
#api_interface: "{{ network_interface }}"
#swift_storage_interface: "{{ network_interface }}"
#swift_replication_interface: "{{ swift_storage_interface }}"
#tunnel_interface: "{{ network_interface }}"
#dns_interface: "{{ network_interface }}"
#octavia_network_interface: "{{ api_interface }}"

# Configure the address family (AF) per network.
# Valid options are [ ipv4, ipv6 ]
#network_address_family: "ipv4"
#api_address_family: "{{ network_address_family }}"
#storage_address_family: "{{ network_address_family }}"
#swift_storage_address_family: "{{ storage_address_family }}"
#swift_replication_address_family: "{{ swift_storage_address_family }}"
#migration_address_family: "{{ api_address_family }}"
#tunnel_address_family: "{{ network_address_family }}"
#octavia_network_address_family: "{{ api_address_family }}"
#bifrost_network_address_family: "{{ network_address_family }}"
#dns_address_family: "{{ network_address_family }}"

# This is the raw interface given to neutron as its external network port. Even
# though an IP address can exist on this interface, it will be unusable in most
# configurations. It is recommended this interface not be configured with any IP
# addresses for that reason.
#neutron_external_interface: "eth1"

# Valid options are [ openvswitch, ovn, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_nsxp, vmware_dvs ]
# if vmware_nsxv3 or vmware_nsxp is selected, enable_openvswitch MUST be set to "no" (default is yes)
# Do note linuxbridge is *EXPERIMENTAL* in Neutron since Zed and it requires extra tweaks to config to be usable.
# For details, see: https://docs.openstack.org/neutron/latest/admin/config-experimental-framework.html
#neutron_plugin_agent: "openvswitch"

# Valid options are [ internal, infoblox ]
#neutron_ipam_driver: "internal"

# Configure Neutron upgrade option, currently Kolla support
# two upgrade ways for Neutron: legacy_upgrade and rolling_upgrade
# The variable "neutron_enable_rolling_upgrade: yes" is meaning rolling_upgrade
# were enabled and opposite
# Neutron rolling upgrade were enable by default
#neutron_enable_rolling_upgrade: "yes"

# Configure neutron logging framework to log ingress/egress connections to instances
# for security groups rules. More information can be found here:
# https://docs.openstack.org/neutron/latest/admin/config-logging.html
#enable_neutron_packet_logging: "no"

####################
# keepalived options
####################
# Arbitrary unique number from 0..255
# This should be changed from the default in the event of a multi-region deployment
# where the VIPs of different regions reside on a common subnet.
#keepalived_virtual_router_id: "51"

###################
# Dimension options
###################
# This is to provide an extra option to deploy containers with Resource constraints.
# We call it dimensions here.
# The dimensions for each container are defined by a mapping, where each dimension value should be a
# string.
# Reference_Docs
# https://docs.docker.com/config/containers/resource_constraints/
# eg:
# <container_name>_dimensions:
#    blkio_weight:
#    cpu_period:
#    cpu_quota:
#    cpu_shares:
#    cpuset_cpus:
#    cpuset_mems:
#    mem_limit:
#    mem_reservation:
#    memswap_limit:
#    kernel_memory:
#    ulimits:

#####################
# Healthcheck options
#####################
#enable_container_healthchecks: "yes"
# Healthcheck options for Docker containers
# interval/timeout/start_period are in seconds
#default_container_healthcheck_interval: 30
#default_container_healthcheck_timeout: 30
#default_container_healthcheck_retries: 3
#default_container_healthcheck_start_period: 5

##################
# Firewall options
##################
# Configures firewalld on both ubuntu and centos systems
# for enabled services.
# firewalld should be installed beforehand.
# disable_firewall: "true"
# enable_external_api_firewalld: "false"
# external_api_firewalld_zone: "public"

#############
# TLS options
#############
# To provide encryption and authentication on the kolla_external_vip_interface,
# TLS can be enabled.  When TLS is enabled, certificates must be provided to
# allow clients to perform authentication.
#kolla_enable_tls_internal: "no"
#kolla_enable_tls_external: "{{ kolla_enable_tls_internal if kolla_same_external_internal_vip | bool else 'no' }}"
#kolla_certificates_dir: "{{ node_config }}/certificates"
#kolla_external_fqdn_cert: "{{ kolla_certificates_dir }}/haproxy.pem"
#kolla_internal_fqdn_cert: "{{ kolla_certificates_dir }}/haproxy-internal.pem"
#kolla_admin_openrc_cacert: ""
#kolla_copy_ca_into_containers: "no"
#haproxy_backend_cacert: "{{ 'ca-certificates.crt' if kolla_base_distro in ['debian', 'ubuntu'] else 'ca-bundle.trust.crt' }}"
#haproxy_backend_cacert_dir: "/etc/ssl/certs"

##################
# Backend options
##################
#kolla_httpd_keep_alive: "60"
#kolla_httpd_timeout: "60"

#####################
# Backend TLS options
#####################
#kolla_enable_tls_backend: "no"
#kolla_verify_tls_backend: "yes"
#kolla_tls_backend_cert: "{{ kolla_certificates_dir }}/backend-cert.pem"
#kolla_tls_backend_key: "{{ kolla_certificates_dir }}/backend-key.pem"

#####################
# ACME client options
#####################
# A list of haproxy backend server directives pointing to addresses used by the
# ACME client to complete http-01 challenge.
# Please read the docs for more details.
#acme_client_servers: []

################
# Region options
################
# Use this option to change the name of this region.
#openstack_region_name: "RegionOne"

# Use this option to define a list of region names - only needs to be configured
# in a multi-region deployment, and then only in the *first* region.
#multiple_regions_names: ["{{ openstack_region_name }}"]

###################
# OpenStack options
###################
# Use these options to set the various log levels across all OpenStack projects
# Valid options are [ True, False ]
#openstack_logging_debug: "False"

# Enable core OpenStack services. This includes:
# glance, keystone, neutron, nova, heat, and horizon.
#enable_openstack_core: "yes"

# These roles are required for Kolla to be operation, however a savvy deployer
# could disable some of these required roles and run their own services.
#enable_glance: "{{ enable_openstack_core | bool }}"
#enable_hacluster: "no"
#enable_haproxy: "yes"
#enable_keepalived: "{{ enable_haproxy | bool }}"
#enable_keystone: "{{ enable_openstack_core | bool }}"
#enable_mariadb: "yes"
#enable_memcached: "yes"
#enable_neutron: "{{ enable_openstack_core | bool }}"
#enable_nova: "{{ enable_openstack_core | bool }}"
#enable_rabbitmq: "{{ 'yes' if om_rpc_transport == 'rabbit' or om_notify_transport == 'rabbit' else 'no' }}"
#enable_outward_rabbitmq: "{{ enable_murano | bool }}"

# OpenStack services can be enabled or disabled with these options
#enable_aodh: "no"
#enable_barbican: "no"
#enable_blazar: "no"
#enable_ceilometer: "no"
#enable_ceilometer_ipmi: "no"
#enable_cells: "no"
#enable_central_logging: "no"
#enable_ceph_rgw: "no"
#enable_ceph_rgw_loadbalancer: "{{ enable_ceph_rgw | bool }}"
#enable_cinder: "no"
#enable_cinder_backup: "yes"
#enable_cinder_backend_hnas_nfs: "no"
#enable_cinder_backend_iscsi: "{{ enable_cinder_backend_lvm | bool }}"
#enable_cinder_backend_lvm: "no"
#enable_cinder_backend_nfs: "no"
#enable_cinder_backend_quobyte: "no"
#enable_cinder_backend_pure_iscsi: "no"
#enable_cinder_backend_pure_fc: "no"
#enable_cinder_backend_pure_roce: "no"
#enable_cloudkitty: "no"
#enable_collectd: "no"
#enable_cyborg: "no"
#enable_designate: "no"
#enable_destroy_images: "no"
#enable_etcd: "no"
#enable_fluentd: "yes"
#enable_freezer: "no"
#enable_gnocchi: "no"
#enable_gnocchi_statsd: "no"
#enable_grafana: "no"
#enable_grafana_external: "{{ enable_grafana | bool }}"
#enable_heat: "{{ enable_openstack_core | bool }}"
#enable_horizon: "{{ enable_openstack_core | bool }}"
#enable_horizon_blazar: "{{ enable_blazar | bool }}"
#enable_horizon_cloudkitty: "{{ enable_cloudkitty | bool }}"
#enable_horizon_designate: "{{ enable_designate | bool }}"
#enable_horizon_freezer: "{{ enable_freezer | bool }}"
#enable_horizon_heat: "{{ enable_heat | bool }}"
#enable_horizon_ironic: "{{ enable_ironic | bool }}"
#enable_horizon_magnum: "{{ enable_magnum | bool }}"
#enable_horizon_manila: "{{ enable_manila | bool }}"
#enable_horizon_masakari: "{{ enable_masakari | bool }}"
#enable_horizon_mistral: "{{ enable_mistral | bool }}"
#enable_horizon_murano: "{{ enable_murano | bool }}"
#enable_horizon_neutron_vpnaas: "{{ enable_neutron_vpnaas | bool }}"
#enable_horizon_octavia: "{{ enable_octavia | bool }}"
#enable_horizon_sahara: "{{ enable_sahara | bool }}"
#enable_horizon_senlin: "{{ enable_senlin | bool }}"
#enable_horizon_solum: "{{ enable_solum | bool }}"
#enable_horizon_tacker: "{{ enable_tacker | bool }}"
#enable_horizon_trove: "{{ enable_trove | bool }}"
#enable_horizon_vitrage: "{{ enable_vitrage | bool }}"
#enable_horizon_watcher: "{{ enable_watcher | bool }}"
#enable_horizon_zun: "{{ enable_zun | bool }}"
#enable_influxdb: "{{ enable_cloudkitty | bool and cloudkitty_storage_backend == 'influxdb' }}"
#enable_ironic: "no"
#enable_ironic_neutron_agent: "{{ enable_neutron | bool and enable_ironic | bool }}"
#enable_ironic_prometheus_exporter: "{{ enable_ironic | bool and enable_prometheus | bool }}"
#enable_iscsid: "{{ enable_cinder | bool and enable_cinder_backend_iscsi | bool }}"
#enable_kuryr: "no"
#enable_magnum: "no"
#enable_manila: "no"
#enable_manila_backend_generic: "no"
#enable_manila_backend_hnas: "no"
#enable_manila_backend_cephfs_native: "no"
#enable_manila_backend_cephfs_nfs: "no"
#enable_manila_backend_glusterfs_nfs: "no"
#enable_mariabackup: "no"
#enable_masakari: "no"
#enable_mistral: "no"
#enable_multipathd: "no"
#enable_murano: "no"
#enable_neutron_vpnaas: "no"
#enable_neutron_sriov: "no"
#enable_neutron_dvr: "no"
#enable_neutron_qos: "no"
#enable_neutron_agent_ha: "no"
#enable_neutron_bgp_dragent: "no"
#enable_neutron_provider_networks: "no"
#enable_neutron_segments: "no"
#enable_neutron_sfc: "no"
#enable_neutron_trunk: "no"
#enable_neutron_metering: "no"
#enable_neutron_infoblox_ipam_agent: "no"
#enable_neutron_port_forwarding: "no"
#enable_nova_serialconsole_proxy: "no"
#enable_nova_ssh: "yes"
#enable_octavia: "no"
#enable_octavia_driver_agent: "{{ enable_octavia | bool and neutron_plugin_agent == 'ovn' }}"
#enable_opensearch: "{{ enable_central_logging | bool or enable_osprofiler | bool or (enable_cloudkitty | bool and cloudkitty_storage_backend == 'elasticsearch') }}"
#enable_opensearch_dashboards: "{{ enable_opensearch | bool }}"
#enable_opensearch_dashboards_external: "{{ enable_opensearch_dashboards | bool }}"
#enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'linuxbridge' }}"
#enable_ovn: "{{ enable_neutron | bool and neutron_plugin_agent == 'ovn' }}"
#enable_ovs_dpdk: "no"
#enable_osprofiler: "no"
#enable_placement: "{{ enable_nova | bool or enable_zun | bool }}"
#enable_prometheus: "no"
#enable_proxysql: "no"
#enable_redis: "no"
#enable_sahara: "no"
#enable_senlin: "no"
#enable_skyline: "no"
#enable_solum: "no"
#enable_swift: "no"
#enable_swift_s3api: "no"
#enable_tacker: "no"
#enable_telegraf: "no"
#enable_trove: "no"
#enable_trove_singletenant: "no"
#enable_venus: "no"
#enable_vitrage: "no"
#enable_watcher: "no"
#enable_zun: "no"

##################
# RabbitMQ options
##################
# Options passed to RabbitMQ server startup script via the
# RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS environment var.
# See Kolla Ansible docs RabbitMQ section for details.
# These are appended to args already provided by Kolla Ansible
# to configure IPv6 in RabbitMQ server.
# More details can be found in the RabbitMQ docs:
# https://www.rabbitmq.com/runtime.html#scheduling
# https://www.rabbitmq.com/runtime.html#busy-waiting
# The default tells RabbitMQ to always use two cores (+S 2:2),
# and not to busy wait (+sbwt none +sbwtdcpu none +sbwtdio none):
#rabbitmq_server_additional_erl_args: "+S 2:2 +sbwt none +sbwtdcpu none +sbwtdio none"
# Whether to enable TLS encryption for RabbitMQ client-server communication.
#rabbitmq_enable_tls: "no"
# CA certificate bundle in RabbitMQ container.
#rabbitmq_cacert: "/etc/ssl/certs/{{ 'ca-certificates.crt' if kolla_base_distro in ['debian', 'ubuntu'] else 'ca-bundle.trust.crt' }}"

#################
# MariaDB options
#################
# List of additional WSREP options
#mariadb_wsrep_extra_provider_options: []

#######################
# External Ceph options
#######################
# External Ceph - cephx auth enabled (this is the standard nowadays, defaults to yes)
#external_ceph_cephx_enabled: "yes"

# Glance
#ceph_glance_user: "glance"
#ceph_glance_keyring: "client.{{ ceph_glance_user }}.keyring"
#ceph_glance_pool_name: "images"
# Cinder
#ceph_cinder_user: "cinder"
#ceph_cinder_keyring: "client.{{ ceph_cinder_user }}.keyring"
#ceph_cinder_pool_name: "volumes"
#ceph_cinder_backup_user: "cinder-backup"
#ceph_cinder_backup_keyring: "client.{{ ceph_cinder_backup_user }}.keyring"
#ceph_cinder_backup_pool_name: "backups"
# Nova
#ceph_nova_keyring: "{{ ceph_cinder_keyring }}"
#ceph_nova_user: "nova"
#ceph_nova_pool_name: "vms"
# Gnocchi
#ceph_gnocchi_user: "gnocchi"
#ceph_gnocchi_keyring: "client.{{ ceph_gnocchi_user }}.keyring"
#ceph_gnocchi_pool_name: "gnocchi"
# Manila
#ceph_manila_user: "manila"
#ceph_manila_keyring: "client.{{ ceph_manila_user }}.keyring"

#############################
# Keystone - Identity Options
#############################

#keystone_admin_user: "admin"

#keystone_admin_project: "admin"

# Interval to rotate fernet keys by (in seconds). Must be an interval of
# 60(1 min), 120(2 min), 180(3 min), 240(4 min), 300(5 min), 360(6 min),
# 600(10 min), 720(12 min), 900(15 min), 1200(20 min), 1800(30 min),
# 3600(1 hour), 7200(2 hour), 10800(3 hour), 14400(4 hour), 21600(6 hour),
# 28800(8 hour), 43200(12 hour), 86400(1 day), 604800(1 week).
#fernet_token_expiry: 86400


########################
# Glance - Image Options
########################
# Configure image backend.
#glance_backend_ceph: "no"
#glance_backend_file: "yes"
#glance_backend_swift: "no"
#glance_backend_vmware: "no"
#enable_glance_image_cache: "no"
#glance_enable_property_protection: "no"
#glance_enable_interoperable_image_import: "no"
# Configure glance upgrade option.
# Due to this feature being experimental in glance,
# the default value is "no".
#glance_enable_rolling_upgrade: "no"

####################
# Osprofiler options
####################
# valid values: ["elasticsearch", "redis"]
#osprofiler_backend: "elasticsearch"

##################
# Barbican options
##################
# Valid options are [ simple_crypto, p11_crypto ]
#barbican_crypto_plugin: "simple_crypto"
#barbican_library_path: "/usr/lib/libCryptoki2_64.so"

#################
# Gnocchi options
#################
# Valid options are [ file, ceph, swift ]
#gnocchi_backend_storage: "{% if enable_swift | bool %}swift{% else %}file{% endif %}"

# Valid options are [redis, '']
#gnocchi_incoming_storage: "{{ 'redis' if enable_redis | bool else '' }}"

################################
# Cinder - Block Storage Options
################################
# Enable / disable Cinder backends
#cinder_backend_ceph: "no"
#cinder_backend_vmwarevc_vmdk: "no"
#cinder_backend_vmware_vstorage_object: "no"
#cinder_volume_group: "cinder-volumes"
# Valid options are [ '', redis, etcd ]
#cinder_coordination_backend: "{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}"

# Valid options are [ nfs, swift, ceph ]
#cinder_backup_driver: "ceph"
#cinder_backup_share: ""
#cinder_backup_mount_options_nfs: ""

#######################
# Cloudkitty options
#######################
# Valid option is gnocchi
#cloudkitty_collector_backend: "gnocchi"
# Valid options are 'sqlalchemy' or 'influxdb'. The default value is
# 'influxdb', which matches the default in Cloudkitty since the Stein release.
# When the backend is "influxdb", we also enable Influxdb.
# Also, when using 'influxdb' as the backend, we trigger the configuration/use
# of Cloudkitty storage backend version 2.
#cloudkitty_storage_backend: "influxdb"

###################
# Designate options
###################
# Valid options are [ bind9 ]
#designate_backend: "bind9"
#designate_ns_record:
#  - "ns1.example.org"
# Valid options are [ '', redis ]
#designate_coordination_backend: "{{ 'redis' if enable_redis|bool else '' }}"

########################
# Nova - Compute Options
########################
#nova_backend_ceph: "no"

# Valid options are [ qemu, kvm, vmware ]
#nova_compute_virt_type: "kvm"

# The number of fake driver per compute node
#num_nova_fake_per_node: 5

# The flag "nova_safety_upgrade" need to be consider when
# "nova_enable_rolling_upgrade" is enabled. The "nova_safety_upgrade"
# controls whether the nova services are all stopped before rolling
# upgrade to the new version, for the safety and availability.
# If "nova_safety_upgrade" is "yes", that will stop all nova services (except
# nova-compute) for no failed API operations before upgrade to the
# new version. And opposite.
#nova_safety_upgrade: "no"

# Valid options are [ none, novnc, spice ]
#nova_console: "novnc"

##############################
# Neutron - networking options
##############################
# Enable distributed floating ip for OVN deployments
#neutron_ovn_distributed_fip: "no"

# Enable DHCP agent(s) to use with OVN
#neutron_ovn_dhcp_agent: "no"

#############################
# Horizon - Dashboard Options
#############################
#horizon_backend_database: "{{ enable_murano | bool }}"

#############################
# Ironic options
#############################
# dnsmasq bind interface for Ironic Inspector, by default is network_interface
#ironic_dnsmasq_interface: "{{ network_interface }}"
# The following value must be set when enabling ironic, the value format is a
# list of ranges - at least one must be configured, for example:
# - range: 192.168.0.10,192.168.0.100
# See Kolla Ansible docs on Ironic for details.
#ironic_dnsmasq_dhcp_ranges:
# PXE bootloader file for Ironic Inspector, relative to /var/lib/ironic/tftpboot.
#ironic_dnsmasq_boot_file: "pxelinux.0"

# Configure ironic upgrade option, due to currently kolla support
# two upgrade ways for ironic: legacy_upgrade and rolling_upgrade
# The variable "ironic_enable_rolling_upgrade: yes" is meaning rolling_upgrade
# were enabled and opposite
# Rolling upgrade were enable by default
#ironic_enable_rolling_upgrade: "yes"

# List of extra kernel parameters passed to the kernel used during inspection
#ironic_inspector_kernel_cmdline_extras: []

# Valid options are [ '', redis, etcd ]
#ironic_coordination_backend: "{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}"

######################################
# Manila - Shared File Systems Options
######################################
# HNAS backend configuration
#hnas_ip:
#hnas_user:
#hnas_password:
#hnas_evs_id:
#hnas_evs_ip:
#hnas_file_system_name:

# CephFS backend configuration.
# External Ceph FS name.
# By default this is empty to allow Manila to auto-find the first FS available.
#manila_cephfs_filesystem_name:

# Gluster backend configuration
# The option of glusterfs share layout can be directory or volume
# The default option of share layout is 'volume'
#manila_glusterfs_share_layout:
# The default option of nfs server type is 'Gluster'
#manila_glusterfs_nfs_server_type:

# Volume layout Options (required)
# If the glusterfs server requires remote ssh, then you need to fill
# in 'manila_glusterfs_servers', ssh user 'manila_glusterfs_ssh_user', and ssh password
# 'manila_glusterfs_ssh_password'.
# 'manila_glusterfs_servers' value List of GlusterFS servers which provide volumes,
# the format is for example:
#   - 10.0.1.1
#   - 10.0.1.2
#manila_glusterfs_servers:
#manila_glusterfs_ssh_user:
#manila_glusterfs_ssh_password:
# Used to filter GlusterFS volumes for share creation.
# Examples: manila-share-volume-\\d+$, manila-share-volume-#{size}G-\\d+$;
#manila_glusterfs_volume_pattern:

# Directory layout Options
# If the glusterfs server is on the local node of the manila share,
# it’s of the format <glustervolserver>:/<glustervolid>
# If the glusterfs server is on a remote node,
# it’s of the format <username>@<glustervolserver>:/<glustervolid> ,
# and define 'manila_glusterfs_ssh_password'
#manila_glusterfs_target:
#manila_glusterfs_mount_point_base:

################################
# Swift - Object Storage Options
################################
# Swift expects block devices to be available for storage. Two types of storage
# are supported: 1 - storage device with a special partition name and filesystem
# label, 2 - unpartitioned disk  with a filesystem. The label of this filesystem
# is used to detect the disk which Swift will be using.

# Swift support two matching modes, valid options are [ prefix, strict ]
#swift_devices_match_mode: "strict"

# This parameter defines matching pattern: if "strict" mode was selected,
# for swift_devices_match_mode then swift_device_name should specify the name of
# the special swift partition for example: "KOLLA_SWIFT_DATA", if "prefix" mode was
# selected then swift_devices_name should specify a pattern which would match to
# filesystems' labels prepared for swift.
#swift_devices_name: "KOLLA_SWIFT_DATA"

# Configure swift upgrade option, due to currently kolla support
# two upgrade ways for swift: legacy_upgrade and rolling_upgrade
# The variable "swift_enable_rolling_upgrade: yes" is meaning rolling_upgrade
# were enabled and opposite
# Rolling upgrade were enable by default
#swift_enable_rolling_upgrade: "yes"

###################################
# VMware - OpenStack VMware support
###################################
#vmware_vcenter_host_ip:
#vmware_vcenter_host_username:
#vmware_vcenter_host_password:
#vmware_datastore_name:
#vmware_vcenter_name:
#vmware_vcenter_cluster_name:

############
# Prometheus
############
#enable_prometheus_server: "{{ enable_prometheus | bool }}"
#enable_prometheus_haproxy_exporter: "{{ enable_haproxy | bool }}"
#enable_prometheus_mysqld_exporter: "{{ enable_mariadb | bool }}"
#enable_prometheus_node_exporter: "{{ enable_prometheus | bool }}"
#enable_prometheus_cadvisor: "{{ enable_prometheus | bool }}"
#enable_prometheus_fluentd_integration: "{{ enable_prometheus | bool and enable fluentd | bool }}"
#enable_prometheus_memcached: "{{ enable_prometheus | bool }}"
#enable_prometheus_alertmanager: "{{ enable_prometheus | bool }}"
#enable_prometheus_alertmanager_external: "{{ enable_prometheus_alertmanager | bool }}"
#enable_prometheus_ceph_mgr_exporter: "no"
#enable_prometheus_openstack_exporter: "{{ enable_prometheus | bool }}"
#enable_prometheus_elasticsearch_exporter: "{{ enable_prometheus | bool and enable_elasticsearch | bool }}"
#enable_prometheus_blackbox_exporter: "{{ enable_prometheus | bool }}"
#enable_prometheus_libvirt_exporter: "{{ enable_prometheus | bool and enable_nova | bool and nova_compute_virt_type in ['kvm', 'qemu'] }}"
#enable_prometheus_etcd_integration: "{{ enable_prometheus | bool and enable_etcd | bool }}"
#enable_prometheus_msteams: "no"

# The labels to add to any time series or alerts when communicating with external systems (federation, remote storage, Alertmanager).
# prometheus_external_labels:
#   <labelname>: <labelvalue>
# By default, prometheus_external_labels is empty
#prometheus_external_labels:

# List of extra parameters passed to prometheus. You can add as many to the list.
#prometheus_cmdline_extras:

# List of extra parameters passed to cAdvisor. By default system cgroups
# and container labels are not exposed to reduce time series cardinality.
#prometheus_cadvisor_cmdline_extras: "--docker_only --store_container_labels=false --disable_metrics=percpu,referenced_memory,cpu_topology,resctrl,udp,advtcp,sched,hugetlb,memory_numa,tcp,process"

# Extra parameters passed to Prometheus exporters.
#prometheus_blackbox_exporter_cmdline_extras:
#prometheus_elasticsearch_exporter_cmdline_extras:
#prometheus_haproxy_exporter_cmdline_extras:
#prometheus_memcached_exporter_cmdline_extras:
#prometheus_mysqld_exporter_cmdline_extras:
#prometheus_node_exporter_cmdline_extras:
#prometheus_openstack_exporter_cmdline_extras:

# Example of setting endpoints for prometheus ceph mgr exporter.
# You should add all ceph mgr's in your external ceph deployment.
#prometheus_ceph_mgr_exporter_endpoints:
#  - host1:port1
#  - host2:port2

#########
# Freezer
#########
# Freezer can utilize two different database backends, elasticsearch or mariadb.
# Elasticsearch is preferred, however it is not compatible with the version deployed
# by kolla-ansible. You must first setup an external elasticsearch with 2.3.0.
# By default, kolla-ansible deployed mariadb is the used database backend.
#freezer_database_backend: "mariadb"

##########
# Telegraf
##########
# Configure telegraf to use the docker daemon itself as an input for
# telemetry data.
#telegraf_enable_docker_input: "no"

##########################################
# Octavia - openstack loadbalancer Options
##########################################
# Whether to run Kolla Ansible's automatic configuration for Octavia.
# NOTE: if you upgrade from Ussuri, you must set `octavia_auto_configure` to `no`
# and keep your other Octavia config like before.
#octavia_auto_configure: yes

# Octavia amphora flavor.
# See os_nova_flavor for details. Supported parameters:
# - flavorid (optional)
# - is_public (optional)
# - name
# - vcpus
# - ram
# - disk
# - ephemeral (optional)
# - swap (optional)
# - extra_specs (optional)
#octavia_amp_flavor:
#  name: "amphora"
#  is_public: no
#  vcpus: 1
#  ram: 1024
#  disk: 5

# Octavia security groups. lb-mgmt-sec-grp is for amphorae.
#octavia_amp_security_groups:
#    mgmt-sec-grp:
#      name: "lb-mgmt-sec-grp"
#      rules:
#        - protocol: icmp
#        - protocol: tcp
#          src_port: 22
#          dst_port: 22
#        - protocol: tcp
#          src_port: "{{ octavia_amp_listen_port }}"
#          dst_port: "{{ octavia_amp_listen_port }}"

# Octavia management network.
# See os_network and os_subnet for details. Supported parameters:
# - external (optional)
# - mtu (optional)
# - name
# - provider_network_type (optional)
# - provider_physical_network (optional)
# - provider_segmentation_id (optional)
# - shared (optional)
# - subnet
# The subnet parameter has the following supported parameters:
# - allocation_pool_start (optional)
# - allocation_pool_end (optional)
# - cidr
# - enable_dhcp (optional)
# - gateway_ip (optional)
# - name
# - no_gateway_ip (optional)
# - ip_version (optional)
# - ipv6_address_mode (optional)
# - ipv6_ra_mode (optional)
#octavia_amp_network:
#  name: lb-mgmt-net
#  shared: false
#  subnet:
#    name: lb-mgmt-subnet
#    cidr: "{{ octavia_amp_network_cidr }}"
#    no_gateway_ip: yes
#    enable_dhcp: yes

# Octavia management network subnet CIDR.
#octavia_amp_network_cidr: 10.1.0.0/24

#octavia_amp_image_tag: "amphora"

# Load balancer topology options are [ SINGLE, ACTIVE_STANDBY ]
#octavia_loadbalancer_topology: "SINGLE"

# The following variables are ignored as along as `octavia_auto_configure` is set to `yes`.
#octavia_amp_image_owner_id:
#octavia_amp_boot_network_list:
#octavia_amp_secgroup_list:
#octavia_amp_flavor_id:

####################
# Corosync options
####################

# this is UDP port
#hacluster_corosync_port: 5405

(venv) root@ubuntu:~# cat /etc/kolla/passwords.yml
---
###################
# External Ceph options
####################
# These options must be UUID4 values in string format
# XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX
# for backward compatible consideration, rbd_secret_uuid is only used for nova,
# cinder_rbd_secret_uuid is used for cinder
rbd_secret_uuid:
cinder_rbd_secret_uuid:

###################
# Database options
####################
database_password:
# Password for the dedicated backup user account
mariadb_backup_database_password:
# Password for the monitor user
mariadb_monitor_password:

####################
# Docker options
####################
# This should only be set if you require a password for your Docker registry
docker_registry_password:

####################
# VMware support
####################
vmware_dvs_host_password:
vmware_nsxv_password:
vmware_vcenter_host_password:
nsxv3_api_password:
vmware_nsxp_api_password:
vmware_nsxp_metadata_proxy_shared_secret:

#####################
# Hitachi NAS support
#####################
hnas_nfs_password:

#######################
# Infoblox IPAM support
#######################
infoblox_admin_password:

####################
# OpenStack options
####################
aodh_database_password:
aodh_keystone_password:

barbican_database_password:
barbican_keystone_password:
barbican_p11_password:
barbican_crypto_key:

blazar_database_password:
blazar_keystone_password:

keystone_admin_password:
keystone_database_password:

grafana_database_password:
grafana_admin_password:

glance_database_password:
glance_keystone_password:

gnocchi_database_password:
gnocchi_keystone_password:

kuryr_keystone_password:

nova_database_password:
nova_api_database_password:
nova_keystone_password:

placement_keystone_password:
placement_database_password:

neutron_database_password:
neutron_keystone_password:
metadata_secret:

cinder_database_password:
cinder_keystone_password:

cloudkitty_database_password:
cloudkitty_keystone_password:

cyborg_database_password:
cyborg_keystone_password:

freezer_database_password:
freezer_keystone_password:

sahara_database_password:
sahara_keystone_password:

designate_database_password:
designate_keystone_password:
# This option must be UUID4 value in string format
designate_pool_id:
# This option must be HMAC-MD5 value in string format
designate_rndc_key:

swift_keystone_password:
swift_hash_path_suffix:
swift_hash_path_prefix:

heat_database_password:
heat_keystone_password:
heat_domain_admin_password:

murano_database_password:
murano_keystone_password:
murano_agent_rabbitmq_password:

ironic_database_password:
ironic_keystone_password:

ironic_inspector_database_password:
ironic_inspector_keystone_password:

magnum_database_password:
magnum_keystone_password:

mistral_database_password:
mistral_keystone_password:

trove_database_password:
trove_keystone_password:

ceilometer_database_password:
ceilometer_keystone_password:

watcher_database_password:
watcher_keystone_password:

senlin_database_password:
senlin_keystone_password:

solum_database_password:
solum_keystone_password:

horizon_secret_key:
horizon_database_password:

telemetry_secret_key:

manila_database_password:
manila_keystone_password:

octavia_database_password:
octavia_keystone_password:
octavia_ca_password:
octavia_client_ca_password:

tacker_database_password:
tacker_keystone_password:

zun_database_password:
zun_keystone_password:

vitrage_database_password:
vitrage_keystone_password:

venus_database_password:
venus_keystone_password:

masakari_database_password:
masakari_keystone_password:

memcache_secret_key:

skyline_secret_key:
skyline_database_password:
skyline_keystone_password:

# HMAC secret key
osprofiler_secret:

nova_ssh_key:
  private_key:
  public_key:

kolla_ssh_key:
  private_key:
  public_key:

keystone_ssh_key:
  private_key:
  public_key:

bifrost_ssh_key:
  private_key:
  public_key:

octavia_amp_ssh_key:
  private_key:
  public_key:

neutron_ssh_key:
  private_key:
  public_key:

####################
# Gnocchi options
####################
gnocchi_project_id:
gnocchi_resource_id:
gnocchi_user_id:

####################
# RabbitMQ options
####################
rabbitmq_password:
rabbitmq_monitoring_password:
rabbitmq_cluster_cookie:
outward_rabbitmq_password:
outward_rabbitmq_cluster_cookie:

####################
# HAProxy options
####################
haproxy_password:
keepalived_password:

####################
# etcd options
####################
etcd_cluster_token:

####################
# redis options
####################
redis_master_password:

####################
# Prometheus options
####################
prometheus_mysql_exporter_database_password:
prometheus_alertmanager_password:

###############################
# OpenStack identity federation
###############################
keystone_federation_openid_crypto_password:

####################
# Ceph RadosGW options
####################
ceph_rgw_keystone_password:

##################
# libvirt options
##################
libvirt_sasl_password:

############
# ProxySQL
############
proxysql_admin_password:
proxysql_stats_password:

############
# OpenSearch
############
opensearch_dashboards_password:

(venv) root@ubuntu:~# hostnamectl
 Static hostname: ubuntu
       Icon name: computer-vm
         Chassis: vm
      Machine ID: 71395db2508843c1a79764b74fd9e2d5
         Boot ID: 6665f1948adb4be1a60243420205fcdd
  Virtualization: vmware
Operating System: Ubuntu 22.04.3 LTS
          Kernel: Linux 5.15.0-86-generic
    Architecture: x86-64
 Hardware Vendor: VMware, Inc.
  Hardware Model: VMware Virtual Platform
(venv) root@ubuntu:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
(venv) root@ubuntu:~# hostnamectl set-hostname kolla


root@kolla:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:24:d5:4e brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.200.211/24 brd 192.168.200.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe24:d54e/64 scope link
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:24:d5:58 brd ff:ff:ff:ff:ff:ff
    altname enp2s5
    inet6 fe80::20c:29ff:fe24:d558/64 scope link
       valid_lft forever preferred_lft forever

root@kolla:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.200.211 kolla

root@kolla:~#  source /path/to/venv/bin/activate
(venv) root@kolla:~# kolla-ansible install-deps
Installing Ansible Galaxy dependencies
Starting galaxy collection install process
Process install dependency map
Cloning into '/root/.ansible/tmp/ansible-local-3596760joxd6m/tmplqn6ov_8/ansible-collection-kollatjo2sgjl'...
remote: Enumerating objects: 715, done.
remote: Counting objects: 100% (226/226), done.
remote: Compressing objects: 100% (77/77), done.
remote: Total 715 (delta 193), reused 149 (delta 149), pack-reused 489
Receiving objects: 100% (715/715), 123.65 KiB | 103.00 KiB/s, done.
Resolving deltas: 100% (323/323), done.
Already on 'master'
Your branch is up to date with 'origin/master'.
Starting collection install process
Installing 'openstack.kolla:1.0.0' to '/root/.ansible/collections/ansible_collections/openstack/kolla'
Created collection for openstack.kolla:1.0.0 at /root/.ansible/collections/ansible_collections/openstack/kolla
openstack.kolla:1.0.0 was installed successfully
(venv) root@kolla:~# kolla-genpwd
WARNING: Passwords file "/etc/kolla/passwords.yml" is world-readable. The permissions will be changed.

vi /etc/kolla/passwords.yml
修改以下两个
keystone_admin_password: 9BKjsSCMvszDn4A3FdndQLA8y8ufv8WS792i4sGC
database_password: AJ34ZmPIdPFRAhQ7PV22Ivnpk4GyxZnpxZubSAzN
为自己设定的密码,如:123456
keystone_admin_password: 123456
database_password: 123456
(venv) root@kolla:~# cat /etc/kolla/globals.yml |grep -v ^$|grep -v ^#
---
workaround_ansible_issue_8743: yes
kolla_base_distro: "ubuntu"
openstack_release: "master"
network_interface: "ens33"
neutron_external_interface: "ens37"
#kolla_internal_vip_address: "192.168.200.212"
enable_haproxy: "no"
enable_cinder: "no"
nova_compute_virt_type: "qemu"
#enable_horizon: "yes"
enable_skyline: "yes"


(venv) root@kolla:~# ssh-keygen
Generating public/private rsa key pair.


Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:y9CbquP74QSY2e3DoMgn1rfUP80K5X/SwoK1LuGsYWE root@kolla
The key's randomart image is:
+---[RSA 3072]----+
|                 |
|                 |
|                 |
|   = . .         |
|  + +Eo S.       |
|.....=o+o=       |
|.+.o =OoO.= .    |
|. o =ooOo+.* o   |
|   .+B= o++.+    |
+----[SHA256]-----+
(venv) root@kolla:~#
(venv) root@kolla:~# ssh-copy-id root@kolla
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'kolla (192.168.200.211)' can't be established.
ED25519 key fingerprint is SHA256:5IqPvqy9zZjnQS0iIT2Uzo+7QzovlUgWZJVOBzu4pIs.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@kolla's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@kolla'"
and check to make sure that only the key(s) you wanted were added.

(venv) root@kolla:~# kolla-ansible -i ./all-in-one  bootstrap-servers
Bootstrapping servers : ansible-playbook -e @/etc/kolla/globals.yml  -e @/etc/kolla/passwords.yml -e CONFIG_DIR=/etc/kolla  -e kolla_action=bootstrap-servers /path/to/venv/share/kolla-ansible/ansible/kolla-host.yml  --inventory ./all-in-one
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to
see details

PLAY [Gather facts for all hosts] *******************************************************

TASK [Gather facts] *********************************************************************
ok: [kolla]

TASK [Gather package facts] *************************************************************
skipping: [kolla]

TASK [Group hosts to determine when using --limit] **************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: all_using_limit_True

PLAY [Gather facts for all hosts (if using --limit)] ************************************
skipping: no hosts matched

PLAY [Apply role baremetal] *************************************************************

TASK [openstack.kolla.etc_hosts : Include etc-hosts.yml] ********************************
included: /root/.ansible/collections/ansible_collections/openstack/kolla/roles/etc_hosts/tasks/etc-hosts.yml for kolla

TASK [openstack.kolla.etc_hosts : Ensure localhost in /etc/hosts] ***********************
ok: [kolla]

TASK [openstack.kolla.etc_hosts : Ensure hostname does not point to 127.0.1.1 in /etc/hosts] ***
ok: [kolla]

TASK [openstack.kolla.etc_hosts : Generate /etc/hosts for all of the nodes] *************
changed: [kolla]

TASK [openstack.kolla.etc_hosts : Check whether /etc/cloud/cloud.cfg exists] ************
ok: [kolla]

TASK [openstack.kolla.etc_hosts : Disable cloud-init manage_etc_hosts] ******************
changed: [kolla]

TASK [openstack.kolla.baremetal : Ensure unprivileged users can use ping] ***************
skipping: [kolla]

TASK [openstack.kolla.baremetal : Set firewall default policy] **************************
ok: [kolla]

TASK [openstack.kolla.baremetal : Check if firewalld is installed] **********************
skipping: [kolla]

TASK [openstack.kolla.baremetal : Disable firewalld] ************************************
skipping: [kolla] => (item=firewalld)
skipping: [kolla]

TASK [openstack.kolla.packages : Install packages] **************************************
ok: [kolla]

TASK [openstack.kolla.packages : Remove packages] ***************************************
changed: [kolla]

TASK [openstack.kolla.docker : include_tasks] *******************************************
included: /root/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/tasks/repo-Debian.yml for kolla

TASK [openstack.kolla.docker : Install CA certificates and gnupg packages] **************
ok: [kolla]

TASK [openstack.kolla.docker : Ensure apt sources list directory exists] ****************
ok: [kolla]

TASK [openstack.kolla.docker : Ensure apt keyrings directory exists] ********************
ok: [kolla]

TASK [openstack.kolla.docker : Install docker apt gpg key] ******************************
changed: [kolla]

TASK [openstack.kolla.docker : Install docker apt pin] **********************************
skipping: [kolla]

TASK [openstack.kolla.docker : Enable docker apt repository] ****************************
changed: [kolla]

TASK [openstack.kolla.docker : Check which containers are running] **********************
ok: [kolla]

TASK [openstack.kolla.docker : Check if docker systemd unit exists] *********************
ok: [kolla]

TASK [openstack.kolla.docker : Mask the docker systemd unit on Debian/Ubuntu] ***********
changed: [kolla]

TASK [openstack.kolla.docker : Install packages] ****************************************
changed: [kolla]

TASK [openstack.kolla.docker : Start docker] ********************************************
skipping: [kolla]

TASK [openstack.kolla.docker : Wait for Docker to start] ********************************
skipping: [kolla]

TASK [openstack.kolla.docker : Ensure containers are running after Docker upgrade] ******
skipping: [kolla]

TASK [openstack.kolla.docker : Ensure docker config directory exists] *******************
ok: [kolla]

TASK [openstack.kolla.docker : Write docker config] *************************************
changed: [kolla]

TASK [openstack.kolla.docker : Remove old docker options file] **************************
ok: [kolla]

TASK [openstack.kolla.docker : Ensure docker service directory exists] ******************
skipping: [kolla]

TASK [openstack.kolla.docker : Configure docker service] ********************************
skipping: [kolla]

TASK [openstack.kolla.docker : Ensure the path for CA file for private registry exists] ***
skipping: [kolla]

TASK [openstack.kolla.docker : Ensure the CA file for private registry exists] **********
skipping: [kolla]

TASK [openstack.kolla.docker : Flush handlers] ******************************************

RUNNING HANDLER [openstack.kolla.docker : Restart docker] *******************************
changed: [kolla]

TASK [openstack.kolla.docker : Start and enable docker] *********************************
changed: [kolla]

TASK [openstack.kolla.docker : include_tasks] *******************************************
skipping: [kolla]

TASK [openstack.kolla.kolla_user : Ensure groups are present] ***************************
skipping: [kolla] => (item=docker)
skipping: [kolla] => (item=sudo)
skipping: [kolla] => (item=kolla)
skipping: [kolla]

TASK [openstack.kolla.kolla_user : Create kolla user] ***********************************
skipping: [kolla]

TASK [openstack.kolla.kolla_user : Add public key to kolla user authorized keys] ********
skipping: [kolla]

TASK [openstack.kolla.kolla_user : Grant kolla user passwordless sudo] ******************
skipping: [kolla]

TASK [openstack.kolla.docker_sdk : Install packages] ************************************
ok: [kolla]

TASK [openstack.kolla.docker_sdk : Install latest pip in the virtualenv] ****************
skipping: [kolla]

TASK [openstack.kolla.docker_sdk : Install docker SDK for python] ***********************
changed: [kolla]

TASK [openstack.kolla.baremetal : Ensure node_config_directory directory exists] ********
ok: [kolla]

TASK [openstack.kolla.apparmor_libvirt : include_tasks] *********************************
included: /root/.ansible/collections/ansible_collections/openstack/kolla/roles/apparmor_libvirt/tasks/remove-profile.yml for kolla

TASK [openstack.kolla.apparmor_libvirt : Get stat of libvirtd apparmor profile] *********
ok: [kolla]

TASK [openstack.kolla.apparmor_libvirt : Get stat of libvirtd apparmor disable profile] ***
ok: [kolla]

TASK [openstack.kolla.apparmor_libvirt : Remove apparmor profile for libvirt] ***********
skipping: [kolla]

TASK [openstack.kolla.baremetal : Change state of selinux] ******************************
skipping: [kolla]

TASK [openstack.kolla.baremetal : Set https proxy for git] ******************************
skipping: [kolla]

TASK [openstack.kolla.baremetal : Set http proxy for git] *******************************
skipping: [kolla]

TASK [openstack.kolla.baremetal : Configure ceph for zun] *******************************
skipping: [kolla]

PLAY RECAP ******************************************************************************
kolla                      : ok=32   changed=11   unreachable=0    failed=0    skipped=23   rescued=0    ignored=0


(venv) root@kolla:~# kolla-ansible prechecks  -i ./all-in-one
Pre-deployment checking : ansible-playbook -e @/etc/kolla/globals.yml  -e @/etc/kolla/passwords.yml -e CONFIG_DIR=/etc/kolla  -e kolla_action=precheck /path/to/venv/share/kolla-ansible/ansible/site.yml  --inventory ./all-in-one
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to
see details

PLAY [Gather facts for all hosts] *******************************************************

TASK [Gather facts] *********************************************************************
ok: [kolla]

TASK [Gather package facts] *************************************************************
ok: [kolla]

TASK [Group hosts to determine when using --limit] **************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: all_using_limit_True

PLAY [Gather facts for all hosts (if using --limit)] ************************************
skipping: no hosts matched

PLAY [Group hosts based on configuration] ***********************************************

TASK [Group hosts based on Kolla action] ************************************************
ok: [kolla]

TASK [Group hosts based on enabled services] ********************************************
ok: [kolla] => (item=enable_aodh_False)
ok: [kolla] => (item=enable_barbican_False)
ok: [kolla] => (item=enable_blazar_False)
ok: [kolla] => (item=enable_ceilometer_False)
ok: [kolla] => (item=enable_ceph_rgw_False)
ok: [kolla] => (item=enable_cinder_False)
ok: [kolla] => (item=enable_cloudkitty_False)
ok: [kolla] => (item=enable_collectd_False)
ok: [kolla] => (item=enable_cyborg_False)
ok: [kolla] => (item=enable_designate_False)
ok: [kolla] => (item=enable_etcd_False)
ok: [kolla] => (item=enable_freezer_False)
ok: [kolla] => (item=enable_glance_True)
ok: [kolla] => (item=enable_gnocchi_False)
ok: [kolla] => (item=enable_grafana_False)
ok: [kolla] => (item=enable_hacluster_False)
ok: [kolla] => (item=enable_heat_True)
ok: [kolla] => (item=enable_horizon_True)
ok: [kolla] => (item=enable_influxdb_False)
ok: [kolla] => (item=enable_ironic_False)
ok: [kolla] => (item=enable_iscsid_False)
ok: [kolla] => (item=enable_keystone_True)
ok: [kolla] => (item=enable_kuryr_False)
ok: [kolla] => (item=enable_loadbalancer_False)
ok: [kolla] => (item=enable_magnum_False)
ok: [kolla] => (item=enable_manila_False)
ok: [kolla] => (item=enable_mariadb_True)
ok: [kolla] => (item=enable_masakari_False)
ok: [kolla] => (item=enable_memcached_True)
ok: [kolla] => (item=enable_mistral_False)
ok: [kolla] => (item=enable_multipathd_False)
ok: [kolla] => (item=enable_murano_False)
ok: [kolla] => (item=enable_neutron_True)
ok: [kolla] => (item=enable_nova_True)
ok: [kolla] => (item=enable_octavia_False)
ok: [kolla] => (item=enable_opensearch_False)
ok: [kolla] => (item=enable_opensearch_dashboards_False)
ok: [kolla] => (item=enable_openvswitch_True_enable_ovs_dpdk_False)
ok: [kolla] => (item=enable_outward_rabbitmq_False)
ok: [kolla] => (item=enable_ovn_False)
ok: [kolla] => (item=enable_placement_True)
ok: [kolla] => (item=enable_prometheus_False)
ok: [kolla] => (item=enable_rabbitmq_True)
ok: [kolla] => (item=enable_redis_False)
ok: [kolla] => (item=enable_sahara_False)
ok: [kolla] => (item=enable_senlin_False)
ok: [kolla] => (item=enable_skyline_True)
ok: [kolla] => (item=enable_solum_False)
ok: [kolla] => (item=enable_swift_False)
ok: [kolla] => (item=enable_tacker_False)
ok: [kolla] => (item=enable_telegraf_False)
ok: [kolla] => (item=enable_trove_False)
ok: [kolla] => (item=enable_venus_False)
ok: [kolla] => (item=enable_vitrage_False)
ok: [kolla] => (item=enable_watcher_False)
ok: [kolla] => (item=enable_zun_False)

PLAY [Apply role prechecks] *************************************************************

TASK [prechecks : Checking loadbalancer group] ******************************************
skipping: [kolla]

TASK [prechecks : include_tasks] ********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/prechecks/tasks/host_os_checks.yml for kolla

TASK [prechecks : Checking host OS distribution] ****************************************
ok: [kolla] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [prechecks : Checking host OS release or version] **********************************
ok: [kolla] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [prechecks : Checking if CentOS is Stream] *****************************************
skipping: [kolla]

TASK [prechecks : Fail if not running on CentOS Stream] *********************************
skipping: [kolla]

TASK [prechecks : include_tasks] ********************************************************
skipping: [kolla]

TASK [prechecks : Ensure /etc/localtime exist] ******************************************
ok: [kolla]

TASK [prechecks : Fail if /etc/localtime is absent] *************************************
skipping: [kolla]

TASK [prechecks : Ensure /etc/timezone exist] *******************************************
ok: [kolla]

TASK [prechecks : Fail if /etc/timezone is absent] **************************************
skipping: [kolla]

TASK [prechecks : include_tasks] ********************************************************
skipping: [kolla]

TASK [prechecks : Checking if system uses systemd] **************************************
ok: [kolla] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [prechecks : Checking Docker version] **********************************************
ok: [kolla]

TASK [prechecks : Checking empty passwords in passwords.yml. Run kolla-genpwd if this task fails] ***
ok: [kolla -> localhost]

TASK [prechecks : Check if nscd is running] *********************************************
ok: [kolla]

TASK [prechecks : Fail if nscd is running] **********************************************
skipping: [kolla]

TASK [prechecks : Validate that internal and external vip address are different when TLS is enabled only on either the internal and external network] ***
skipping: [kolla]

TASK [prechecks : Validate that enable_ceph is disabled] ********************************
skipping: [kolla]

TASK [prechecks : Validate that enable_zun is disabled] *********************************
skipping: [kolla]

TASK [prechecks : Checking docker SDK version] ******************************************
ok: [kolla]

TASK [prechecks : Checking dbus-python package] *****************************************
ok: [kolla]

TASK [prechecks : Checking Ansible version] *********************************************
ok: [kolla] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [prechecks : Check if config_owner_user existed] ***********************************
ok: [kolla]

TASK [prechecks : Check if config_owner_group existed] **********************************
ok: [kolla]

TASK [prechecks : Check if ansible user can do passwordless sudo] ***********************
ok: [kolla]

TASK [prechecks : Check if external mariadb hosts are reachable from the load balancer] ***
skipping: [kolla] => (item=kolla)
skipping: [kolla]

TASK [prechecks : Check if external database address is reachable from all hosts] *******
skipping: [kolla]

PLAY [Apply role common] ****************************************************************

TASK [common : include_tasks] ***********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/common/tasks/precheck.yml for kolla

TASK [service-precheck : common | Validate inventory groups] ****************************
skipping: [kolla] => (item=fluentd)
skipping: [kolla] => (item=kolla-toolbox)
skipping: [kolla] => (item=cron)
skipping: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: enable_loadbalancer_True

PLAY [Apply role loadbalancer] **********************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_collectd_True

PLAY [Apply role collectd] **************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_influxdb_True

PLAY [Apply role influxdb] **************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_telegraf_True

PLAY [Apply role telegraf] **************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_redis_True

PLAY [Apply role redis] *****************************************************************
skipping: no hosts matched

PLAY [Apply role mariadb] ***************************************************************

TASK [mariadb : Group MariaDB hosts based on shards] ************************************
ok: [kolla] => (item=kolla)

TASK [mariadb : include_tasks] **********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/mariadb/tasks/precheck.yml for kolla

TASK [service-precheck : mariadb | Validate inventory groups] ***************************
skipping: [kolla] => (item=mariadb)
skipping: [kolla] => (item=mariadb-clustercheck)
skipping: [kolla]

TASK [mariadb : Get container facts] ****************************************************
ok: [kolla]

TASK [mariadb : Checking free port for MariaDB] *****************************************
ok: [kolla]

TASK [mariadb : Checking free port for MariaDB WSREP] ***********************************
ok: [kolla]

TASK [mariadb : Checking free port for MariaDB IST] *************************************
ok: [kolla]

TASK [mariadb : Checking free port for MariaDB SST] *************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: mariadb_restart

PLAY [Restart mariadb services] *********************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: mariadb_start

PLAY [Start mariadb services] ***********************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: mariadb_bootstrap_restart

PLAY [Restart bootstrap mariadb service] ************************************************
skipping: no hosts matched

PLAY [Apply mariadb post-configuration] *************************************************

TASK [Include mariadb post-deploy.yml] **************************************************
skipping: [kolla]

TASK [Include mariadb post-upgrade.yml] *************************************************
skipping: [kolla]

PLAY [Apply role memcached] *************************************************************

TASK [memcached : include_tasks] ********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/memcached/tasks/precheck.yml for kolla

TASK [service-precheck : memcached | Validate inventory groups] *************************
skipping: [kolla] => (item=memcached)
skipping: [kolla]

TASK [memcached : Get container facts] **************************************************
ok: [kolla]

TASK [memcached : Checking free port for Memcached] *************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: enable_prometheus_True

PLAY [Apply role prometheus] ************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_iscsid_True

PLAY [Apply role iscsi] *****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_multipathd_True

PLAY [Apply role multipathd] ************************************************************
skipping: no hosts matched

PLAY [Apply role rabbitmq] **************************************************************

TASK [rabbitmq : include_tasks] *********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/rabbitmq/tasks/precheck.yml for kolla

TASK [service-precheck : rabbitmq | Validate inventory groups] **************************
skipping: [kolla] => (item=rabbitmq)
skipping: [kolla]

TASK [rabbitmq : Get container facts] ***************************************************
ok: [kolla]

TASK [rabbitmq : Checking free port for RabbitMQ] ***************************************
ok: [kolla]

TASK [rabbitmq : Checking free port for RabbitMQ Management] ****************************
ok: [kolla]

TASK [rabbitmq : Checking free port for RabbitMQ Cluster] *******************************
ok: [kolla]

TASK [rabbitmq : Checking free port for RabbitMQ EPMD] **********************************
ok: [kolla]

TASK [rabbitmq : Check if all rabbit hostnames are resolvable] **************************
ok: [kolla] => (item=kolla)

TASK [rabbitmq : Check if each rabbit hostname resolves uniquely to the proper IP address] ***
skipping: [kolla] => (item=[{'changed': False, 'stdout': '192.168.200.211 STREAM kolla\n192.168.200.211 DGRAM  \n192.168.200.211 RAW    \n192.168.200.211 STREAM \n192.168.200.211 DGRAM  \n192.168.200.211 RAW    ', 'stderr': '', 'rc': 0, 'cmd': ['getent', 'ahostsv4', 'kolla'], 'start': '2023-10-14 15:08:18.121160', 'end': '2023-10-14 15:08:18.123341', 'delta': '0:00:00.002181', 'msg': '', 'invocation': {'module_args': {'_raw_params': 'getent ahostsv4 kolla', '_uses_shell': False, 'stdin_add_newline': True, 'strip_empty_ends': True, 'argv': None, 'chdir': None, 'executable': None, 'creates': None, 'removes': None, 'stdin': None}}, 'stderr_lines': [], 'failed': False, 'item': 'kolla', 'ansible_loop_var': 'item'}, '192.168.200.211 STREAM kolla'])
skipping: [kolla] => (item=[{'changed': False, 'stdout': '192.168.200.211 STREAM kolla\n192.168.200.211 DGRAM  \n192.168.200.211 RAW    \n192.168.200.211 STREAM \n192.168.200.211 DGRAM  \n192.168.200.211 RAW    ', 'stderr': '', 'rc': 0, 'cmd': ['getent', 'ahostsv4', 'kolla'], 'start': '2023-10-14 15:08:18.121160', 'end': '2023-10-14 15:08:18.123341', 'delta': '0:00:00.002181', 'msg': '', 'invocation': {'module_args': {'_raw_params': 'getent ahostsv4 kolla', '_uses_shell': False, 'stdin_add_newline': True, 'strip_empty_ends': True, 'argv': None, 'chdir': None, 'executable': None, 'creates': None, 'removes': None, 'stdin': None}}, 'stderr_lines': [], 'failed': False, 'item': 'kolla', 'ansible_loop_var': 'item'}, '192.168.200.211 DGRAM  '])
skipping: [kolla] => (item=[{'changed': False, 'stdout': '192.168.200.211 STREAM kolla\n192.168.200.211 DGRAM  \n192.168.200.211 RAW    \n192.168.200.211 STREAM \n192.168.200.211 DGRAM  \n192.168.200.211 RAW    ', 'stderr': '', 'rc': 0, 'cmd': ['getent', 'ahostsv4', 'kolla'], 'start': '2023-10-14 15:08:18.121160', 'end': '2023-10-14 15:08:18.123341', 'delta': '0:00:00.002181', 'msg': '', 'invocation': {'module_args': {'_raw_params': 'getent ahostsv4 kolla', '_uses_shell': False, 'stdin_add_newline': True, 'strip_empty_ends': True, 'argv': None, 'chdir': None, 'executable': None, 'creates': None, 'removes': None, 'stdin': None}}, 'stderr_lines': [], 'failed': False, 'item': 'kolla', 'ansible_loop_var': 'item'}, '192.168.200.211 RAW    '])
skipping: [kolla] => (item=[{'changed': False, 'stdout': '192.168.200.211 STREAM kolla\n192.168.200.211 DGRAM  \n192.168.200.211 RAW    \n192.168.200.211 STREAM \n192.168.200.211 DGRAM  \n192.168.200.211 RAW    ', 'stderr': '', 'rc': 0, 'cmd': ['getent', 'ahostsv4', 'kolla'], 'start': '2023-10-14 15:08:18.121160', 'end': '2023-10-14 15:08:18.123341', 'delta': '0:00:00.002181', 'msg': '', 'invocation': {'module_args': {'_raw_params': 'getent ahostsv4 kolla', '_uses_shell': False, 'stdin_add_newline': True, 'strip_empty_ends': True, 'argv': None, 'chdir': None, 'executable': None, 'creates': None, 'removes': None, 'stdin': None}}, 'stderr_lines': [], 'failed': False, 'item': 'kolla', 'ansible_loop_var': 'item'}, '192.168.200.211 STREAM '])
skipping: [kolla] => (item=[{'changed': False, 'stdout': '192.168.200.211 STREAM kolla\n192.168.200.211 DGRAM  \n192.168.200.211 RAW    \n192.168.200.211 STREAM \n192.168.200.211 DGRAM  \n192.168.200.211 RAW    ', 'stderr': '', 'rc': 0, 'cmd': ['getent', 'ahostsv4', 'kolla'], 'start': '2023-10-14 15:08:18.121160', 'end': '2023-10-14 15:08:18.123341', 'delta': '0:00:00.002181', 'msg': '', 'invocation': {'module_args': {'_raw_params': 'getent ahostsv4 kolla', '_uses_shell': False, 'stdin_add_newline': True, 'strip_empty_ends': True, 'argv': None, 'chdir': None, 'executable': None, 'creates': None, 'removes': None, 'stdin': None}}, 'stderr_lines': [], 'failed': False, 'item': 'kolla', 'ansible_loop_var': 'item'}, '192.168.200.211 DGRAM  '])
skipping: [kolla] => (item=[{'changed': False, 'stdout': '192.168.200.211 STREAM kolla\n192.168.200.211 DGRAM  \n192.168.200.211 RAW    \n192.168.200.211 STREAM \n192.168.200.211 DGRAM  \n192.168.200.211 RAW    ', 'stderr': '', 'rc': 0, 'cmd': ['getent', 'ahostsv4', 'kolla'], 'start': '2023-10-14 15:08:18.121160', 'end': '2023-10-14 15:08:18.123341', 'delta': '0:00:00.002181', 'msg': '', 'invocation': {'module_args': {'_raw_params': 'getent ahostsv4 kolla', '_uses_shell': False, 'stdin_add_newline': True, 'strip_empty_ends': True, 'argv': None, 'chdir': None, 'executable': None, 'creates': None, 'removes': None, 'stdin': None}}, 'stderr_lines': [], 'failed': False, 'item': 'kolla', 'ansible_loop_var': 'item'}, '192.168.200.211 RAW    '])
skipping: [kolla]

TASK [rabbitmq : Check if TLS certificate exists for RabbitMQ] **************************
skipping: [kolla]

TASK [rabbitmq : Check if TLS key exists for RabbitMQ] **********************************
skipping: [kolla]

TASK [rabbitmq : Checking free port for outward RabbitMQ] *******************************
skipping: [kolla]

TASK [rabbitmq : Checking free port for outward RabbitMQ Management] ********************
skipping: [kolla]

TASK [rabbitmq : Checking free port for outward RabbitMQ Cluster] ***********************
skipping: [kolla]

TASK [rabbitmq : Checking free port for outward RabbitMQ EPMD] **************************
skipping: [kolla]

TASK [rabbitmq : Check if all outward rabbit hostnames are resolvable] ******************
skipping: [kolla] => (item=kolla)
skipping: [kolla]

TASK [rabbitmq : Check if each rabbit hostname resolves uniquely to the proper IP address] ***
skipping: [kolla]

TASK [rabbitmq : Check if TLS certificate exists for outward RabbitMQ] ******************
skipping: [kolla]

TASK [rabbitmq : Check if TLS key exists for outward RabbitMQ] **************************
skipping: [kolla]

TASK [rabbitmq : List RabbitMQ policies] ************************************************
skipping: [kolla]

TASK [rabbitmq : Check if RabbitMQ HA needs to be configured] ***************************
skipping: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: rabbitmq_restart

PLAY [Restart rabbitmq services] ********************************************************
skipping: no hosts matched

PLAY [Apply rabbitmq post-configuration] ************************************************

TASK [Include rabbitmq post-deploy.yml] *************************************************
skipping: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: enable_outward_rabbitmq_True

PLAY [Apply role rabbitmq (outward)] ****************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: outward_rabbitmq_restart

PLAY [Restart rabbitmq (outward) services] **********************************************
skipping: no hosts matched

PLAY [Apply rabbitmq (outward) post-configuration] **************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_etcd_True

PLAY [Apply role etcd] ******************************************************************
skipping: no hosts matched

PLAY [Apply role keystone] **************************************************************

TASK [keystone : include_tasks] *********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/keystone/tasks/precheck.yml for kolla

TASK [service-precheck : keystone | Validate inventory groups] **************************
skipping: [kolla] => (item=keystone)
skipping: [kolla] => (item=keystone-ssh)
skipping: [kolla] => (item=keystone-fernet)
skipping: [kolla]

TASK [keystone : Get container facts] ***************************************************
ok: [kolla]

TASK [keystone : Checking free port for Keystone Public] ********************************
ok: [kolla]

TASK [keystone : Checking free port for Keystone SSH] ***********************************
ok: [kolla]

TASK [keystone : Checking fernet_token_expiry] ******************************************
ok: [kolla] => {
    "changed": false,
    "msg": "All assertions passed"
}
[WARNING]: Could not match supplied host pattern, ignoring: enable_opensearch_True

PLAY [Apply role opensearch] ************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_swift_True

PLAY [Apply role swift] *****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_ceph_rgw_True

PLAY [Apply role ceph-rgw] **************************************************************
skipping: no hosts matched

PLAY [Apply role glance] ****************************************************************

TASK [glance : include_tasks] ***********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/glance/tasks/precheck.yml for kolla

TASK [service-precheck : glance | Validate inventory groups] ****************************
skipping: [kolla] => (item=glance-api)
skipping: [kolla] => (item=glance-tls-proxy)
skipping: [kolla]

TASK [glance : Get container facts] *****************************************************
ok: [kolla]

TASK [glance : Checking free port for Glance API] ***************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: enable_ironic_True

PLAY [Apply role ironic] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_cinder_True

PLAY [Apply role cinder] ****************************************************************
skipping: no hosts matched

PLAY [Apply role placement] *************************************************************

TASK [placement : include_tasks] ********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/placement/tasks/precheck.yml for kolla

TASK [service-precheck : placement | Validate inventory groups] *************************
skipping: [kolla] => (item=placement-api)
skipping: [kolla]

TASK [placement : Get container facts] **************************************************
ok: [kolla]

TASK [placement : Checking free port for Placement API] *********************************
ok: [kolla]

PLAY [Bootstrap nova API databases] *****************************************************

TASK [Bootstrap deploy] *****************************************************************
skipping: [kolla]

TASK [Bootstrap upgrade] ****************************************************************
skipping: [kolla]

PLAY [Bootstrap nova cell databases] ****************************************************

TASK [Bootstrap deploy] *****************************************************************
skipping: [kolla]

TASK [Bootstrap upgrade] ****************************************************************
skipping: [kolla]

PLAY [Apply role nova] ******************************************************************

TASK [nova : include_tasks] *************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/nova/tasks/precheck.yml for kolla

TASK [service-precheck : nova | Validate inventory groups] ******************************
skipping: [kolla] => (item=nova-api)
skipping: [kolla] => (item=nova-scheduler)
skipping: [kolla] => (item=nova-super-conductor)
skipping: [kolla]

TASK [nova : Get container facts] *******************************************************
ok: [kolla]

TASK [nova : Checking free port for Nova API] *******************************************
ok: [kolla]

TASK [nova : Checking free port for Nova Metadata] **************************************
ok: [kolla]

PLAY [Apply role nova-cell] *************************************************************

TASK [nova-cell : include_tasks] ********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/nova-cell/tasks/precheck.yml for kolla

TASK [service-precheck : nova | Validate inventory groups] ******************************
skipping: [kolla] => (item=nova-libvirt)
skipping: [kolla] => (item=nova-ssh)
skipping: [kolla] => (item=nova-novncproxy)
skipping: [kolla] => (item=nova-spicehtml5proxy)
skipping: [kolla] => (item=nova-serialproxy)
skipping: [kolla] => (item=nova-conductor)
skipping: [kolla] => (item=nova-compute)
skipping: [kolla] => (item=nova-compute-ironic)
skipping: [kolla]

TASK [nova-cell : Get container facts] **************************************************
ok: [kolla]

TASK [nova-cell : Checking available compute nodes in inventory] ************************
skipping: [kolla]

TASK [nova-cell : Checking free port for Nova NoVNC Proxy] ******************************
ok: [kolla]

TASK [nova-cell : Checking free port for Nova Serial Proxy] *****************************
skipping: [kolla]

TASK [nova-cell : Checking free port for Nova Spice HTML5 Proxy] ************************
skipping: [kolla]

TASK [nova-cell : Checking free port for Nova SSH (API interface)] **********************
ok: [kolla]

TASK [nova-cell : Checking free port for Nova SSH (migration interface)] ****************
skipping: [kolla]

TASK [nova-cell : Checking free port for Nova Libvirt] **********************************
ok: [kolla]

TASK [nova-cell : Checking that host libvirt is not running] ****************************
ok: [kolla]

TASK [nova-cell : Checking that nova_libvirt container is not running] ******************
skipping: [kolla]

PLAY [Refresh nova scheduler cell cache] ************************************************

TASK [nova : Refresh cell cache in nova scheduler] **************************************
skipping: [kolla]

PLAY [Reload global Nova super conductor services] **************************************

TASK [nova : Reload nova super conductor services to remove RPC version pin] ************
skipping: [kolla]

PLAY [Reload Nova cell services] ********************************************************

TASK [nova-cell : Reload nova cell services to remove RPC version cap] ******************
skipping: [kolla] => (item=nova-conductor)
skipping: [kolla] => (item=nova-compute)
skipping: [kolla] => (item=nova-compute-ironic)
skipping: [kolla] => (item=nova-novncproxy)
skipping: [kolla] => (item=nova-serialproxy)
skipping: [kolla] => (item=nova-spicehtml5proxy)
skipping: [kolla]

PLAY [Reload global Nova API services] **************************************************

TASK [nova : Reload nova API services to remove RPC version pin] ************************
skipping: [kolla] => (item=nova-scheduler)
skipping: [kolla] => (item=nova-api)
skipping: [kolla]

PLAY [Run Nova API online data migrations] **********************************************

TASK [nova : Run Nova API online database migrations] ***********************************
skipping: [kolla]

PLAY [Run Nova cell online data migrations] *********************************************

TASK [nova-cell : Run Nova cell online database migrations] *****************************
skipping: [kolla]

PLAY [Apply role openvswitch] ***********************************************************

TASK [openvswitch : include_tasks] ******************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/openvswitch/tasks/precheck.yml for kolla

TASK [service-precheck : openvswitch | Validate inventory groups] ***********************
skipping: [kolla] => (item=openvswitch-db-server)
skipping: [kolla] => (item=openvswitch-vswitchd)
skipping: [kolla]

TASK [openvswitch : Get container facts] ************************************************
ok: [kolla]

TASK [openvswitch : Checking free port for OVSDB] ***************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring:
enable_openvswitch_True_enable_ovs_dpdk_True

PLAY [Apply role ovs-dpdk] **************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_ovn_True

PLAY [Apply role ovn-controller] ********************************************************
skipping: no hosts matched

PLAY [Apply role ovn-db] ****************************************************************
skipping: no hosts matched

PLAY [Apply role neutron] ***************************************************************

TASK [neutron : include_tasks] **********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/neutron/tasks/precheck.yml for kolla

TASK [service-precheck : neutron | Validate inventory groups] ***************************
skipping: [kolla] => (item=neutron-server)
skipping: [kolla] => (item=neutron-openvswitch-agent)
skipping: [kolla] => (item=neutron-linuxbridge-agent)
skipping: [kolla] => (item=neutron-dhcp-agent)
skipping: [kolla] => (item=neutron-l3-agent)
skipping: [kolla] => (item=neutron-sriov-agent)
skipping: [kolla] => (item=neutron-mlnx-agent)
skipping: [kolla] => (item=neutron-eswitchd)
skipping: [kolla] => (item=neutron-metadata-agent)
skipping: [kolla] => (item=neutron-ovn-metadata-agent)
skipping: [kolla] => (item=neutron-bgp-dragent)
skipping: [kolla] => (item=neutron-infoblox-ipam-agent)
skipping: [kolla] => (item=neutron-metering-agent)
skipping: [kolla] => (item=ironic-neutron-agent)
skipping: [kolla] => (item=neutron-tls-proxy)
skipping: [kolla] => (item=neutron-ovn-agent)
skipping: [kolla]

TASK [neutron : Get container facts] ****************************************************
ok: [kolla]

TASK [neutron : Checking free port for Neutron Server] **********************************
ok: [kolla]

TASK [neutron : Checking number of network agents] **************************************
skipping: [kolla]

TASK [neutron : Checking tenant network types] ******************************************
ok: [kolla] => (item=vxlan) => {
    "ansible_loop_var": "item",
    "changed": false,
    "item": "vxlan",
    "msg": "All assertions passed"
}

TASK [neutron : Checking whether Ironic enabled] ****************************************
skipping: [kolla]

TASK [neutron : Get container facts] ****************************************************
ok: [kolla]

TASK [neutron : Get container volume facts] *********************************************
ok: [kolla]

TASK [neutron : Check for ML2/OVN presence] *********************************************
skipping: [kolla]

TASK [neutron : Check for ML2/OVS presence] *********************************************
skipping: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: enable_kuryr_True

PLAY [Apply role kuryr] *****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_hacluster_True

PLAY [Apply role hacluster] *************************************************************
skipping: no hosts matched

PLAY [Apply role heat] ******************************************************************

TASK [heat : include_tasks] *************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/heat/tasks/precheck.yml for kolla

TASK [service-precheck : heat | Validate inventory groups] ******************************
skipping: [kolla] => (item=heat-api)
skipping: [kolla] => (item=heat-api-cfn)
skipping: [kolla] => (item=heat-engine)
skipping: [kolla]

TASK [heat : Get container facts] *******************************************************
ok: [kolla]

TASK [heat : Checking free port for Heat API] *******************************************
ok: [kolla]

TASK [heat : Checking free port for Heat API CFN] ***************************************
ok: [kolla]

PLAY [Apply role horizon] ***************************************************************

TASK [horizon : include_tasks] **********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/horizon/tasks/precheck.yml for kolla

TASK [service-precheck : horizon | Validate inventory groups] ***************************
skipping: [kolla] => (item=horizon)
skipping: [kolla]

TASK [horizon : Get container facts] ****************************************************
ok: [kolla]

TASK [horizon : Checking free port for Horizon] *****************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: enable_murano_True

PLAY [Apply role murano] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_solum_True

PLAY [Apply role solum] *****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_magnum_True

PLAY [Apply role magnum] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_mistral_True

PLAY [Apply role mistral] ***************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_sahara_True

PLAY [Apply role sahara] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_manila_True

PLAY [Apply role manila] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_gnocchi_True

PLAY [Apply role gnocchi] ***************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_ceilometer_True

PLAY [Apply role ceilometer] ************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_aodh_True

PLAY [Apply role aodh] ******************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_barbican_True

PLAY [Apply role barbican] **************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_cyborg_True

PLAY [Apply role cyborg] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_designate_True

PLAY [Apply role designate] *************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_trove_True

PLAY [Apply role trove] *****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_watcher_True

PLAY [Apply role watcher] ***************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_grafana_True

PLAY [Apply role grafana] ***************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_cloudkitty_True

PLAY [Apply role cloudkitty] ************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_freezer_True

PLAY [Apply role freezer] ***************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_senlin_True

PLAY [Apply role senlin] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_tacker_True

PLAY [Apply role tacker] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_octavia_True

PLAY [Apply role octavia] ***************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_zun_True

PLAY [Apply role zun] *******************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_vitrage_True

PLAY [Apply role vitrage] ***************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_blazar_True

PLAY [Apply role blazar] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_masakari_True

PLAY [Apply role masakari] **************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_venus_True

PLAY [Apply role venus] *****************************************************************
skipping: no hosts matched

PLAY [Apply role skyline] ***************************************************************

TASK [skyline : include_tasks] **********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/skyline/tasks/precheck.yml for kolla

TASK [service-precheck : skyline | Validate inventory groups] ***************************
skipping: [kolla] => (item=skyline-apiserver)
skipping: [kolla] => (item=skyline-console)
skipping: [kolla]

TASK [skyline : Get container facts] ****************************************************
ok: [kolla]

TASK [skyline : Checking free port for Skyline APIServer] *******************************
ok: [kolla]

TASK [skyline : Checking free port for Skyline Console] *********************************
ok: [kolla]

PLAY RECAP ******************************************************************************
kolla                      : ok=79   changed=0    unreachable=0    failed=0    skipped=62   rescued=0    ignored=0

这一步要等很久推送镜像、可以配置自己的加速地址
root@kolla:~# cat /etc/docker/daemon.json
{
“bridge”: “none”,
“ip-forward”: false,
“iptables”: false,
“registry-mirrors”: [“https://XXXXXXX.mirror.aliyuncs.com”]
}
sudo systemctl daemon-reload
sudo systemctl restart docker

(venv) root@kolla:~# kolla-ansible pull -i ./all-in-one -vvvv
Pulling Docker images : ansible-playbook -e @/etc/kolla/globals.yml  -e @/etc/kolla/passwords.yml -e CONFIG_DIR=/etc/kolla  -e kolla_action=pull /path/to/venv/share/kolla-ansible/ansible/site.yml  --inventory ./all-in-one
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to
see details

PLAY [Gather facts for all hosts] *******************************************************

TASK [Gather facts] *********************************************************************
ok: [kolla]

TASK [Gather package facts] *************************************************************
skipping: [kolla]

TASK [Group hosts to determine when using --limit] **************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: all_using_limit_True

PLAY [Gather facts for all hosts (if using --limit)] ************************************
skipping: no hosts matched

PLAY [Group hosts based on configuration] ***********************************************

TASK [Group hosts based on Kolla action] ************************************************
ok: [kolla]

TASK [Group hosts based on enabled services] ********************************************
ok: [kolla] => (item=enable_aodh_False)
ok: [kolla] => (item=enable_barbican_False)
ok: [kolla] => (item=enable_blazar_False)
ok: [kolla] => (item=enable_ceilometer_False)
ok: [kolla] => (item=enable_ceph_rgw_False)
ok: [kolla] => (item=enable_cinder_False)
ok: [kolla] => (item=enable_cloudkitty_False)
ok: [kolla] => (item=enable_collectd_False)
ok: [kolla] => (item=enable_cyborg_False)
ok: [kolla] => (item=enable_designate_False)
ok: [kolla] => (item=enable_etcd_False)
ok: [kolla] => (item=enable_freezer_False)
ok: [kolla] => (item=enable_glance_True)
ok: [kolla] => (item=enable_gnocchi_False)
ok: [kolla] => (item=enable_grafana_False)
ok: [kolla] => (item=enable_hacluster_False)
ok: [kolla] => (item=enable_heat_True)
ok: [kolla] => (item=enable_horizon_True)
ok: [kolla] => (item=enable_influxdb_False)
ok: [kolla] => (item=enable_ironic_False)
ok: [kolla] => (item=enable_iscsid_False)
ok: [kolla] => (item=enable_keystone_True)
ok: [kolla] => (item=enable_kuryr_False)
ok: [kolla] => (item=enable_loadbalancer_False)
ok: [kolla] => (item=enable_magnum_False)
ok: [kolla] => (item=enable_manila_False)
ok: [kolla] => (item=enable_mariadb_True)
ok: [kolla] => (item=enable_masakari_False)
ok: [kolla] => (item=enable_memcached_True)
ok: [kolla] => (item=enable_mistral_False)
ok: [kolla] => (item=enable_multipathd_False)
ok: [kolla] => (item=enable_murano_False)
ok: [kolla] => (item=enable_neutron_True)
ok: [kolla] => (item=enable_nova_True)
ok: [kolla] => (item=enable_octavia_False)
ok: [kolla] => (item=enable_opensearch_False)
ok: [kolla] => (item=enable_opensearch_dashboards_False)
ok: [kolla] => (item=enable_openvswitch_True_enable_ovs_dpdk_False)
ok: [kolla] => (item=enable_outward_rabbitmq_False)
ok: [kolla] => (item=enable_ovn_False)
ok: [kolla] => (item=enable_placement_True)
ok: [kolla] => (item=enable_prometheus_False)
ok: [kolla] => (item=enable_rabbitmq_True)
ok: [kolla] => (item=enable_redis_False)
ok: [kolla] => (item=enable_sahara_False)
ok: [kolla] => (item=enable_senlin_False)
ok: [kolla] => (item=enable_skyline_True)
ok: [kolla] => (item=enable_solum_False)
ok: [kolla] => (item=enable_swift_False)
ok: [kolla] => (item=enable_tacker_False)
ok: [kolla] => (item=enable_telegraf_False)
ok: [kolla] => (item=enable_trove_False)
ok: [kolla] => (item=enable_venus_False)
ok: [kolla] => (item=enable_vitrage_False)
ok: [kolla] => (item=enable_watcher_False)
ok: [kolla] => (item=enable_zun_False)
[WARNING]: Could not match supplied host pattern, ignoring: kolla_action_precheck

PLAY [Apply role prechecks] *************************************************************
skipping: no hosts matched

PLAY [Apply role common] ****************************************************************

TASK [common : include_tasks] ***********************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/common/tasks/pull.yml for kolla

TASK [service-images-pull : common | Pull images] ***************************************


# 生成环境脚本
kolla-ansible post-deploy /etc/kolla/admin-openrc.sh

# 遇到报错,销毁已安装的环境
kolla-ansible  destroy  ./all-in-one   --yes-i-really-really-mean-it

# 调整配置及重新部署
# 编辑 globals.yml 后, 然后运行 reconfigure 使用 -t 参数可以只对变动的模块进行调整
kolla-ansible -i ./all-in-one reconfigure -t neutron
kolla-ansible -i ./all-in-one  deploy -t neutron

https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
清华的docker ,这里属于优化配置,如果之前的步骤可以正常拉取镜像则可忽略

root@kolla:~# sudo add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
Repository: 'deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu jammy stable'
Description:
Archive for codename: jammy components: stable
More info: https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/archive_uri-https_mirrors_tuna_tsinghua_edu_cn_docker-ce_linux_ubuntu-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/archive_uri-https_mirrors_tuna_tsinghua_edu_cn_docker-ce_linux_ubuntu-jammy.list
Get:1 https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu jammy InRelease [48.9 kB]
Err:1 https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu jammy InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
Hit:3 https://download.docker.com/linux/ubuntu jammy InRelease
Hit:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy InRelease
Get:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates InRelease [119 kB]
Get:5 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-backports InRelease [109 kB]
Get:6 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-security InRelease [110 kB]
Reading package lists... Done
W: GPG error: https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
E: The repository 'https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

(venv) root@kolla:~# kolla-ansible pull -i ./all-in-one
Pulling Docker images : ansible-playbook -e @/etc/kolla/globals.yml  -e @/etc/kolla/passwords.yml -e CONFIG_DIR=/etc/kolla  -e kolla_action=pull /path/to/venv/share/kolla-ansible/ansible/site.yml  --inventory ./all-in-one
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

PLAY [Gather facts for all hosts] *******************************************************************************************************************************************************

TASK [Gather facts] *********************************************************************************************************************************************************************
ok: [kolla]

TASK [Gather package facts] *************************************************************************************************************************************************************
skipping: [kolla]

TASK [Group hosts to determine when using --limit] **************************************************************************************************************************************
ok: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: all_using_limit_True

PLAY [Gather facts for all hosts (if using --limit)] ************************************************************************************************************************************
skipping: no hosts matched

PLAY [Group hosts based on configuration] ***********************************************************************************************************************************************

TASK [Group hosts based on Kolla action] ************************************************************************************************************************************************
ok: [kolla]

TASK [Group hosts based on enabled services] ********************************************************************************************************************************************
ok: [kolla] => (item=enable_aodh_False)
ok: [kolla] => (item=enable_barbican_False)
ok: [kolla] => (item=enable_blazar_False)
ok: [kolla] => (item=enable_ceilometer_False)
ok: [kolla] => (item=enable_ceph_rgw_False)
ok: [kolla] => (item=enable_cinder_False)
ok: [kolla] => (item=enable_cloudkitty_False)
ok: [kolla] => (item=enable_collectd_False)
ok: [kolla] => (item=enable_cyborg_False)
ok: [kolla] => (item=enable_designate_False)
ok: [kolla] => (item=enable_etcd_False)
ok: [kolla] => (item=enable_freezer_False)
ok: [kolla] => (item=enable_glance_True)
ok: [kolla] => (item=enable_gnocchi_False)
ok: [kolla] => (item=enable_grafana_False)
ok: [kolla] => (item=enable_hacluster_False)
ok: [kolla] => (item=enable_heat_True)
ok: [kolla] => (item=enable_horizon_True)
ok: [kolla] => (item=enable_influxdb_False)
ok: [kolla] => (item=enable_ironic_False)
ok: [kolla] => (item=enable_iscsid_False)
ok: [kolla] => (item=enable_keystone_True)
ok: [kolla] => (item=enable_kuryr_False)
ok: [kolla] => (item=enable_loadbalancer_False)
ok: [kolla] => (item=enable_magnum_False)
ok: [kolla] => (item=enable_manila_False)
ok: [kolla] => (item=enable_mariadb_True)
ok: [kolla] => (item=enable_masakari_False)
ok: [kolla] => (item=enable_memcached_True)
ok: [kolla] => (item=enable_mistral_False)
ok: [kolla] => (item=enable_multipathd_False)
ok: [kolla] => (item=enable_murano_False)
ok: [kolla] => (item=enable_neutron_True)
ok: [kolla] => (item=enable_nova_True)
ok: [kolla] => (item=enable_octavia_False)
ok: [kolla] => (item=enable_opensearch_False)
ok: [kolla] => (item=enable_opensearch_dashboards_False)
ok: [kolla] => (item=enable_openvswitch_True_enable_ovs_dpdk_False)
ok: [kolla] => (item=enable_outward_rabbitmq_False)
ok: [kolla] => (item=enable_ovn_False)
ok: [kolla] => (item=enable_placement_True)
ok: [kolla] => (item=enable_prometheus_False)
ok: [kolla] => (item=enable_rabbitmq_True)
ok: [kolla] => (item=enable_redis_False)
ok: [kolla] => (item=enable_sahara_False)
ok: [kolla] => (item=enable_senlin_False)
ok: [kolla] => (item=enable_skyline_True)
ok: [kolla] => (item=enable_solum_False)
ok: [kolla] => (item=enable_swift_False)
ok: [kolla] => (item=enable_tacker_False)
ok: [kolla] => (item=enable_telegraf_False)
ok: [kolla] => (item=enable_trove_False)
ok: [kolla] => (item=enable_venus_False)
ok: [kolla] => (item=enable_vitrage_False)
ok: [kolla] => (item=enable_watcher_False)
ok: [kolla] => (item=enable_zun_False)
[WARNING]: Could not match supplied host pattern, ignoring: kolla_action_precheck

PLAY [Apply role prechecks] *************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role common] ****************************************************************************************************************************************************************

TASK [common : include_tasks] ***********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/common/tasks/pull.yml for kolla

TASK [service-images-pull : common | Pull images] ***************************************************************************************************************************************
ok: [kolla] => (item=fluentd)
ok: [kolla] => (item=kolla-toolbox)
ok: [kolla] => (item=cron)
[WARNING]: Could not match supplied host pattern, ignoring: enable_loadbalancer_True

PLAY [Apply role loadbalancer] **********************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_collectd_True

PLAY [Apply role collectd] **************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_influxdb_True

PLAY [Apply role influxdb] **************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_telegraf_True

PLAY [Apply role telegraf] **************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_redis_True

PLAY [Apply role redis] *****************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role mariadb] ***************************************************************************************************************************************************************

TASK [mariadb : Group MariaDB hosts based on shards] ************************************************************************************************************************************
ok: [kolla] => (item=kolla)

TASK [mariadb : include_tasks] **********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/mariadb/tasks/pull.yml for kolla

TASK [service-images-pull : mariadb | Pull images] **************************************************************************************************************************************
ok: [kolla] => (item=mariadb)
[WARNING]: Could not match supplied host pattern, ignoring: mariadb_restart

PLAY [Restart mariadb services] *********************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: mariadb_start

PLAY [Start mariadb services] ***********************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: mariadb_bootstrap_restart

PLAY [Restart bootstrap mariadb service] ************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply mariadb post-configuration] *************************************************************************************************************************************************

TASK [Include mariadb post-deploy.yml] **************************************************************************************************************************************************
skipping: [kolla]

TASK [Include mariadb post-upgrade.yml] *************************************************************************************************************************************************
skipping: [kolla]

PLAY [Apply role memcached] *************************************************************************************************************************************************************

TASK [memcached : include_tasks] ********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/memcached/tasks/pull.yml for kolla

TASK [service-images-pull : memcached | Pull images] ************************************************************************************************************************************
ok: [kolla] => (item=memcached)
[WARNING]: Could not match supplied host pattern, ignoring: enable_prometheus_True

PLAY [Apply role prometheus] ************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_iscsid_True

PLAY [Apply role iscsi] *****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_multipathd_True

PLAY [Apply role multipathd] ************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role rabbitmq] **************************************************************************************************************************************************************

TASK [rabbitmq : include_tasks] *********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/rabbitmq/tasks/pull.yml for kolla

TASK [service-images-pull : rabbitmq | Pull images] *************************************************************************************************************************************
ok: [kolla] => (item=rabbitmq)
[WARNING]: Could not match supplied host pattern, ignoring: rabbitmq_restart

PLAY [Restart rabbitmq services] ********************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply rabbitmq post-configuration] ************************************************************************************************************************************************

TASK [Include rabbitmq post-deploy.yml] *************************************************************************************************************************************************
skipping: [kolla]
[WARNING]: Could not match supplied host pattern, ignoring: enable_outward_rabbitmq_True

PLAY [Apply role rabbitmq (outward)] ****************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: outward_rabbitmq_restart

PLAY [Restart rabbitmq (outward) services] **********************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply rabbitmq (outward) post-configuration] **************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_etcd_True

PLAY [Apply role etcd] ******************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role keystone] **************************************************************************************************************************************************************

TASK [keystone : include_tasks] *********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/keystone/tasks/pull.yml for kolla

TASK [service-images-pull : keystone | Pull images] *************************************************************************************************************************************
ok: [kolla] => (item=keystone)
ok: [kolla] => (item=keystone-ssh)
ok: [kolla] => (item=keystone-fernet)
[WARNING]: Could not match supplied host pattern, ignoring: enable_opensearch_True

PLAY [Apply role opensearch] ************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_swift_True

PLAY [Apply role swift] *****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_ceph_rgw_True

PLAY [Apply role ceph-rgw] **************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role glance] ****************************************************************************************************************************************************************

TASK [glance : include_tasks] ***********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/glance/tasks/pull.yml for kolla

TASK [service-images-pull : glance | Pull images] ***************************************************************************************************************************************
ok: [kolla] => (item=glance-api)
[WARNING]: Could not match supplied host pattern, ignoring: enable_ironic_True

PLAY [Apply role ironic] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_cinder_True

PLAY [Apply role cinder] ****************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role placement] *************************************************************************************************************************************************************

TASK [placement : include_tasks] ********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/placement/tasks/pull.yml for kolla

TASK [service-images-pull : placement | Pull images] ************************************************************************************************************************************
ok: [kolla] => (item=placement-api)

PLAY [Bootstrap nova API databases] *****************************************************************************************************************************************************

TASK [Bootstrap deploy] *****************************************************************************************************************************************************************
skipping: [kolla]

TASK [Bootstrap upgrade] ****************************************************************************************************************************************************************
skipping: [kolla]

PLAY [Bootstrap nova cell databases] ****************************************************************************************************************************************************

TASK [Bootstrap deploy] *****************************************************************************************************************************************************************
skipping: [kolla]

TASK [Bootstrap upgrade] ****************************************************************************************************************************************************************
skipping: [kolla]

PLAY [Apply role nova] ******************************************************************************************************************************************************************

TASK [nova : include_tasks] *************************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/nova/tasks/pull.yml for kolla

TASK [service-images-pull : nova | Pull images] *****************************************************************************************************************************************
ok: [kolla] => (item=nova-api)
ok: [kolla] => (item=nova-scheduler)

PLAY [Apply role nova-cell] *************************************************************************************************************************************************************

TASK [nova-cell : include_tasks] ********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/nova-cell/tasks/pull.yml for kolla

TASK [service-images-pull : nova_cell | Pull images] ************************************************************************************************************************************
ok: [kolla] => (item=nova-libvirt)
ok: [kolla] => (item=nova-ssh)
ok: [kolla] => (item=nova-novncproxy)
ok: [kolla] => (item=nova-conductor)
ok: [kolla] => (item=nova-compute)

PLAY [Refresh nova scheduler cell cache] ************************************************************************************************************************************************

TASK [nova : Refresh cell cache in nova scheduler] **************************************************************************************************************************************
skipping: [kolla]

PLAY [Reload global Nova super conductor services] **************************************************************************************************************************************

TASK [nova : Reload nova super conductor services to remove RPC version pin] ************************************************************************************************************
skipping: [kolla]

PLAY [Reload Nova cell services] ********************************************************************************************************************************************************

TASK [nova-cell : Reload nova cell services to remove RPC version cap] ******************************************************************************************************************
skipping: [kolla] => (item=nova-conductor)
skipping: [kolla] => (item=nova-compute)
skipping: [kolla] => (item=nova-compute-ironic)
skipping: [kolla] => (item=nova-novncproxy)
skipping: [kolla] => (item=nova-serialproxy)
skipping: [kolla] => (item=nova-spicehtml5proxy)
skipping: [kolla]

PLAY [Reload global Nova API services] **************************************************************************************************************************************************

TASK [nova : Reload nova API services to remove RPC version pin] ************************************************************************************************************************
skipping: [kolla] => (item=nova-scheduler)
skipping: [kolla] => (item=nova-api)
skipping: [kolla]

PLAY [Run Nova API online data migrations] **********************************************************************************************************************************************

TASK [nova : Run Nova API online database migrations] ***********************************************************************************************************************************
skipping: [kolla]

PLAY [Run Nova cell online data migrations] *********************************************************************************************************************************************

TASK [nova-cell : Run Nova cell online database migrations] *****************************************************************************************************************************
skipping: [kolla]

PLAY [Apply role openvswitch] ***********************************************************************************************************************************************************

TASK [openvswitch : include_tasks] ******************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/openvswitch/tasks/pull.yml for kolla

TASK [service-images-pull : openvswitch | Pull images] **********************************************************************************************************************************
ok: [kolla] => (item=openvswitch-db-server)
ok: [kolla] => (item=openvswitch-vswitchd)
[WARNING]: Could not match supplied host pattern, ignoring: enable_openvswitch_True_enable_ovs_dpdk_True

PLAY [Apply role ovs-dpdk] **************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_ovn_True

PLAY [Apply role ovn-controller] ********************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role ovn-db] ****************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role neutron] ***************************************************************************************************************************************************************

TASK [neutron : include_tasks] **********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/neutron/tasks/pull.yml for kolla

TASK [service-images-pull : neutron | Pull images] **************************************************************************************************************************************
ok: [kolla] => (item=neutron-server)
ok: [kolla] => (item=neutron-openvswitch-agent)
ok: [kolla] => (item=neutron-dhcp-agent)
ok: [kolla] => (item=neutron-l3-agent)
ok: [kolla] => (item=neutron-metadata-agent)
[WARNING]: Could not match supplied host pattern, ignoring: enable_kuryr_True

PLAY [Apply role kuryr] *****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_hacluster_True

PLAY [Apply role hacluster] *************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role heat] ******************************************************************************************************************************************************************

TASK [heat : include_tasks] *************************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/heat/tasks/pull.yml for kolla

TASK [service-images-pull : heat | Pull images] *****************************************************************************************************************************************
ok: [kolla] => (item=heat-api)
ok: [kolla] => (item=heat-api-cfn)
ok: [kolla] => (item=heat-engine)

PLAY [Apply role horizon] ***************************************************************************************************************************************************************

TASK [horizon : include_tasks] **********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/horizon/tasks/pull.yml for kolla

TASK [service-images-pull : horizon | Pull images] **************************************************************************************************************************************
ok: [kolla] => (item=horizon)
[WARNING]: Could not match supplied host pattern, ignoring: enable_murano_True

PLAY [Apply role murano] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_solum_True

PLAY [Apply role solum] *****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_magnum_True

PLAY [Apply role magnum] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_mistral_True

PLAY [Apply role mistral] ***************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_sahara_True

PLAY [Apply role sahara] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_manila_True

PLAY [Apply role manila] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_gnocchi_True

PLAY [Apply role gnocchi] ***************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_ceilometer_True

PLAY [Apply role ceilometer] ************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_aodh_True

PLAY [Apply role aodh] ******************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_barbican_True

PLAY [Apply role barbican] **************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_cyborg_True

PLAY [Apply role cyborg] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_designate_True

PLAY [Apply role designate] *************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_trove_True

PLAY [Apply role trove] *****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_watcher_True

PLAY [Apply role watcher] ***************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_grafana_True

PLAY [Apply role grafana] ***************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_cloudkitty_True

PLAY [Apply role cloudkitty] ************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_freezer_True

PLAY [Apply role freezer] ***************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_senlin_True

PLAY [Apply role senlin] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_tacker_True

PLAY [Apply role tacker] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_octavia_True

PLAY [Apply role octavia] ***************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_zun_True

PLAY [Apply role zun] *******************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_vitrage_True

PLAY [Apply role vitrage] ***************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_blazar_True

PLAY [Apply role blazar] ****************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_masakari_True

PLAY [Apply role masakari] **************************************************************************************************************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: enable_venus_True

PLAY [Apply role venus] *****************************************************************************************************************************************************************
skipping: no hosts matched

PLAY [Apply role skyline] ***************************************************************************************************************************************************************

TASK [skyline : include_tasks] **********************************************************************************************************************************************************
included: /path/to/venv/share/kolla-ansible/ansible/roles/skyline/tasks/pull.yml for kolla

TASK [service-images-pull : skyline | Pull images] **************************************************************************************************************************************
ok: [kolla] => (item=skyline-apiserver)
ok: [kolla] => (item=skyline-console)

PLAY RECAP ******************************************************************************************************************************************************************************
kolla                      : ok=33   changed=0    unreachable=0    failed=0    skipped=14   rescued=0    ignored=0


(venv) root@kolla:~# docker image ls
REPOSITORY                                          TAG                   IMAGE ID       CREATED        SIZE
quay.io/openstack.kolla/nova-compute                master-ubuntu-jammy   e6f20af04660   15 hours ago   1.48GB
quay.io/openstack.kolla/nova-novncproxy             master-ubuntu-jammy   34bf8caa8482   15 hours ago   1.23GB
quay.io/openstack.kolla/nova-ssh                    master-ubuntu-jammy   9ade6c7dcd0f   15 hours ago   1.12GB
quay.io/openstack.kolla/placement-api               master-ubuntu-jammy   a935b5092829   15 hours ago   903MB
quay.io/openstack.kolla/heat-api                    master-ubuntu-jammy   78303891062c   15 hours ago   969MB
quay.io/openstack.kolla/heat-engine                 master-ubuntu-jammy   65fb4fc93325   15 hours ago   969MB
quay.io/openstack.kolla/heat-api-cfn                master-ubuntu-jammy   1fccf91df41d   15 hours ago   969MB
quay.io/openstack.kolla/nova-conductor              master-ubuntu-jammy   3d4eb80ab508   15 hours ago   1.12GB
quay.io/openstack.kolla/nova-api                    master-ubuntu-jammy   b35ca65533d4   15 hours ago   1.12GB
quay.io/openstack.kolla/skyline-console             master-ubuntu-jammy   91cbb7ec13cd   15 hours ago   983MB
quay.io/openstack.kolla/nova-scheduler              master-ubuntu-jammy   043093c730a0   15 hours ago   1.12GB
quay.io/openstack.kolla/glance-api                  master-ubuntu-jammy   a2e97fec4f3b   15 hours ago   1.06GB
quay.io/openstack.kolla/skyline-apiserver           master-ubuntu-jammy   9432ee095c88   15 hours ago   922MB
quay.io/openstack.kolla/keystone-ssh                master-ubuntu-jammy   84f9be358a06   15 hours ago   958MB
quay.io/openstack.kolla/keystone-fernet             master-ubuntu-jammy   033e653790df   15 hours ago   955MB
quay.io/openstack.kolla/keystone                    master-ubuntu-jammy   f5dae11807c0   15 hours ago   952MB
quay.io/openstack.kolla/neutron-server              master-ubuntu-jammy   d8b3a580e6fb   15 hours ago   1.06GB
quay.io/openstack.kolla/neutron-l3-agent            master-ubuntu-jammy   44f67b26c6b1   15 hours ago   1.06GB
quay.io/openstack.kolla/neutron-dhcp-agent          master-ubuntu-jammy   2011064bc4ab   15 hours ago   1.05GB
quay.io/openstack.kolla/neutron-openvswitch-agent   master-ubuntu-jammy   08272239546a   15 hours ago   1.05GB
quay.io/openstack.kolla/neutron-metadata-agent      master-ubuntu-jammy   a28949e81591   15 hours ago   1.05GB
quay.io/openstack.kolla/horizon                     master-ubuntu-jammy   58c53649a7d1   15 hours ago   1.12GB
quay.io/openstack.kolla/mariadb-server              master-ubuntu-jammy   9c01166bd3fd   15 hours ago   631MB
quay.io/openstack.kolla/fluentd                     master-ubuntu-jammy   1dbd9b68558f   15 hours ago   520MB
quay.io/openstack.kolla/openvswitch-vswitchd        master-ubuntu-jammy   b01487ef7763   15 hours ago   266MB
quay.io/openstack.kolla/openvswitch-db-server       master-ubuntu-jammy   ea5064871dd4   15 hours ago   266MB
quay.io/openstack.kolla/kolla-toolbox               master-ubuntu-jammy   3dd91505c537   15 hours ago   822MB
quay.io/openstack.kolla/nova-libvirt                master-ubuntu-jammy   62ce10299d32   15 hours ago   988MB
quay.io/openstack.kolla/rabbitmq                    master-ubuntu-jammy   f16743a6255a   15 hours ago   306MB
quay.io/openstack.kolla/memcached                   master-ubuntu-jammy   6be7c704be90   15 hours ago   251MB
quay.io/openstack.kolla/cron                        master-ubuntu-jammy   105536b11be7   15 hours ago   250MB
(venv) root@kolla:~# docker image ls |wc -l
32

(venv) root@kolla:~# kolla-ansible -i ./all-in-one deploy


在这里插入图片描述

(venv) root@kolla:~# pip install extract  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting extract
  Downloading http://mirrors.aliyun.com/pypi/packages/80/1c/11a869df72d335338324d5977ef243f0422dc561a47b6c57dea7841f10f8/Extract-1.0.tar.gz (4.0 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting coards (from extract)
  Downloading http://mirrors.aliyun.com/pypi/packages/4c/7f/88c67673ee6fe689412170b2a2f98350dbeae52084569a37db5e57abda50/coards-1.0.5.tar.gz (4.7 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting numpy (from extract)
  Downloading http://mirrors.aliyun.com/pypi/packages/2d/5e/cb38e3d1916cc29880c84a9332a9122a8f49a7b57ec7aea63e0f678587a2/numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 1.1 MB/s eta 0:00:00
Collecting pydap (from extract)
  Downloading http://mirrors.aliyun.com/pypi/packages/37/e1/176f49111e96267d5b24107f03a9a84eaee1d2fe5922c489c6ba54bbcc51/pydap-3.4.1-py3-none-any.whl (2.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 1.2 MB/s eta 0:00:00
Collecting Webob (from pydap->extract)
  Downloading http://mirrors.aliyun.com/pypi/packages/62/9c/e94a9982e9f31fc35cf46cdc543a6c2c26cb7174635b5fd25b0bbc6a7bc0/WebOb-1.8.7-py2.py3-none-any.whl (114 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 115.0/115.0 kB 1.2 MB/s eta 0:00:00
Requirement already satisfied: Jinja2 in /path/to/venv/lib/python3.10/site-packages (from pydap->extract) (3.1.2)
Collecting docopt (from pydap->extract)
  Downloading http://mirrors.aliyun.com/pypi/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz (25 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting six>=1.4.0 (from pydap->extract)
  Downloading http://mirrors.aliyun.com/pypi/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting beautifulsoup4 (from pydap->extract)
  Downloading http://mirrors.aliyun.com/pypi/packages/57/f4/a69c20ee4f660081a7dedb1ac57f29be9378e04edfcb90c526b923d4bebc/beautifulsoup4-4.12.2-py3-none-any.whl (142 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.0/143.0 kB 808.7 kB/s eta 0:00:00
Requirement already satisfied: requests in /path/to/venv/lib/python3.10/site-packages (from pydap->extract) (2.31.0)
Collecting soupsieve>1.2 (from beautifulsoup4->pydap->extract)
  Downloading http://mirrors.aliyun.com/pypi/packages/4c/f3/038b302fdfbe3be7da016777069f26ceefe11a681055ea1f7817546508e3/soupsieve-2.5-py3-none-any.whl (36 kB)
Requirement already satisfied: MarkupSafe>=2.0 in /path/to/venv/lib/python3.10/site-packages (from Jinja2->pydap->extract) (2.1.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /path/to/venv/lib/python3.10/site-packages (from requests->pydap->extract) (3.3.0)
Requirement already satisfied: idna<4,>=2.5 in /path/to/venv/lib/python3.10/site-packages (from requests->pydap->extract) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /path/to/venv/lib/python3.10/site-packages (from requests->pydap->extract) (2.0.6)
Requirement already satisfied: certifi>=2017.4.17 in /path/to/venv/lib/python3.10/site-packages (from requests->pydap->extract) (2023.7.22)
Building wheels for collected packages: extract, coards, docopt
  Building wheel for extract (pyproject.toml) ... done
  Created wheel for extract: filename=Extract-1.0-py3-none-any.whl size=4370 sha256=e303c5e226d90f92f861a951a2e186e259818d3fd57d022aa9159a23437829a4
  Stored in directory: /root/.cache/pip/wheels/be/d6/83/4cacd6fffa62f8f92773d63e19ee36a14ed84124ff08ea6050
  Building wheel for coards (pyproject.toml) ... done
  Created wheel for coards: filename=coards-1.0.5-py3-none-any.whl size=4592 sha256=ad189a210530c6d01f6d86668932119399f61c6103f7da8d89864a3dee3bf001
  Stored in directory: /root/.cache/pip/wheels/74/1d/c3/a3884e6f4719818b69b4e8fd088c7aed4de033ec7b461c8654
  Building wheel for docopt (pyproject.toml) ... done
  Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13705 sha256=32673377f33af7241ab89934af339418b61436b0599ef4be22c39a28f929dd35
  Stored in directory: /root/.cache/pip/wheels/0c/5e/6b/8820c3d6f05aeae3801db2c9c003c0c14d93c917680a448396
Successfully built extract coards docopt
Installing collected packages: docopt, coards, Webob, soupsieve, six, numpy, beautifulsoup4, pydap, extract
Successfully installed Webob-1.8.7 beautifulsoup4-4.12.2 coards-1.0.5 docopt-0.6.2 extract-1.0 numpy-1.26.1 pydap-3.4.1 six-1.16.0 soupsieve-2.5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1095076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode 算法专题突破】双指针(⭐)

文章目录 前言1. 移动零题目描述代码 2. 复写零题目描述代码 3. 快乐数题目描述代码 4. 盛最多水的容器题目描述代码 5. 有效三角形的个数题目描述代码 6. 三数之和题目描述代码 7. 四数之和题目描述代码 总结 前言 学算法入门必学的一个章节&#xff0c;双指针算法&#xff0…

Maven 快速入门

文章目录 一、Maven 间接和快速入门1.1 Maven 介绍1.2 Maven 主要作用理解1.3 Maven 安装和配置 二、基于 IDEA 的 Maven 工程创建2.1 梳理 Maven 工程 GAVP 属性2.2 IDEA 构建 Maven JavaSE 工程2.3 IDEA 构建 Maven JavaEE 工程2.4 Maven 工程项目结构说明 三、Maven 核心功能…

巧用正则表达式

文章目录 题目巧用正则表达式&#xff0c;题目将十进制转为16进制&#xff0c;可以采用Java的语法来表示 题目 巧用正则表达式&#xff0c;题目将十进制转为16进制&#xff0c;可以采用Java的语法来表示 String nInteger.toString(num,16); 那如何确定是否都是字母呢a-f呢&…

使用Python创建faker实例生成csv大数据测试文件并导入Hive数仓

文章目录 一、Python生成数据1.1 代码说明1.2 代码参考 二、数据迁移2.1 从本机上传至服务器2.2 检查源数据格式2.3 检查大小并上传至HDFS 三、beeline建表3.1 创建测试表并导入测试数据3.2 建表显示内容 四、csv文件首行列名的处理4.1 创建新的表4.2 将旧表过滤首行插入新表 一…

qml基础语法

文章目录 基础语法例子 属性例子 核心元素元素item RectangleText例子 Image例子 MouseArea例子Component&#xff08;组件&#xff09;例子简单变换例子 定位器ColumnRowGridFlowRepeater 布局InputKeys 基础语法 QML是一种用于描述对象如何相互关联的声明式语言。  QtQuick是…

qt-C++笔记之按行读取文件并切换复选框打印复选框拼接出的字符串

qt-C笔记之按行读取文件并切换复选框打印复选框拼接出的字符串 code review! 文章目录 qt-C笔记之按行读取文件并切换复选框打印复选框拼接出的字符串1.运行2.文件结构3.main.cc4.main.pro5.a.txt6.b.txt 1.运行 2.文件结构 3.main.cc 代码 #include <QApplication> #…

简易通讯录Promax

前言&#xff1a;哈喽小伙伴们&#xff0c;我们在前边的文章中已经介绍过了如何用C语言实现一个简易的通讯录&#xff0c;但是我们这个通讯录存在两个问题&#xff1a; 一是通讯录的大小不能自由变化&#xff1b;二是通讯录的信息在程序退出之后就没有了&#xff0c;不能保存。…

【C语言】进阶——文件操作

目录 前言 1.什么是文件 程序文件&#xff1a; 数据文件&#xff1a; 文件名&#xff1a; 2.文件的打开和关闭 2.1文件指针 2.2文件指针使用 2.3文件的打开和关闭 2.4 文件的使用方式 2.5文件的顺序读写 ✌字符输出函数fputc ✌字符输入函数fgetc ✌文本行输…

【重拾C语言】十三、动态数据组织(一)动态变量(malloc、calloc、realloc、free)

目录 前言 十三、动态数据组织 13.1 动态数据组织 13.2 动态变量 malloc函数 calloc函数 realloc函数 free函数 程序实例 前言 C语言中的动态数据组织是指在程序运行时根据需要动态地分配内存空间来存储数据。这允许程序在运行时根据实际需求来创建、修改和释放数据结…

【数字IC设计】VCS门级网表仿真

本文参考自文章。 除了RTL仿真以外&#xff0c;在IC设计过程中还会进行门级网表的仿真。当设计代码功能仿真通过之后&#xff0c;我们便使用Design Compiler工具对其进行逻辑综合&#xff0c;将RTL代码转化为由与、或、非等门电路和触发器组成的电路&#xff0c;称为门级网表(n…

25栈和队列-理解栈和队列

目录 LeetCode之路——232. 用栈实现队列 分析&#xff1a; LeetCode之路——225. 用队列实现栈 分析&#xff1a; 栈&#xff08;Stack&#xff09;和队列&#xff08;Queue&#xff09;是两种基本的数据结构&#xff0c;它们在计算机科学中用于不同的目的。以下是它们的定…

【传输层协议】UDP/TCP结构特点与原理(详解)

文章目录 1. UDP1.1 UDP结构1.2 UDP特点1. 无连接2. 不可靠3. 面向数据报4. 缓冲区5. 大小受限6. 无序性 2. TCP2.1 TCP结构2.2 TCP特点1. 有连接2. 可靠性3. 面向字节流4. 拥塞控制5. 头部开销 2.3 TCP原理1. 确认应答&#xff08;安全机制&#xff09;2. 超时重传&#xff08…

Ceph分布式存储的简单介绍与Ceph集群的部署搭建

文章目录 1. 存储的概述1.1 单机存储设备1.1.1 DAS&#xff08;直接附加存储&#xff09;1.1.2 NAS&#xff08;网络附加存储&#xff09;1.1.3 SAN&#xff08;存储区域网络&#xff09; 1.2 单机存储的缺陷1.3 分布式存储&#xff08;软件定义的存储 SDS&#xff09;1.4 分布…

【计算机网络笔记】数据交换之报文交换和分组交换

系列文章目录报文交换分组交换存储-转发报文交换 vs 分组交换总结 系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 报文交换 报文&#xff1a;源&#xff08;应用&#xff09;发送的信息整体。比如一个文件、一…

Transformer 中 Positional Encoding 实现

参考博文&#xff1a; https://www.cnblogs.com/nickchen121/p/16470736.html 解决问题 位置编码的主要目的是确保模型能够理解序列中的元素之间的相对位置和顺序&#xff0c;从而更好地捕捉到语义信息。在Transformer模型中&#xff0c;位置编码通常与词嵌入&#xff08;w…

前端小知识之【浏览器内核】

目录 &#x1f31f;前言&#x1f31f;PC端浏览器内核&#x1f31f;Trident内核&#x1f31f;Gecko内核&#x1f31f;WebKit内核(Chromium)&#x1f31f;Blink内核 &#x1f31f;移动端浏览器内核&#x1f31f;应用&#x1f31f;写在最后 &#x1f31f;前言 通常所谓的浏览器内…

docker安装nessus

注册地址:https://zh-tw.tenable.com/products/nessus/nessus-essentials 临时邮箱:http://24mail.chacuo.net/ 帮助文档:https://docs.tenable.com/nessus/Content/DeployNessusDocker.htmdocker pull tenableofficial/nessusdocker run --name "my-nessus" -d -p 8…

【Go入门】编程语言比较:Golang VS Python

Golang&#xff1a;最佳人工智能语言&#xff0c;性能优于 Python 本节是学习go的引入&#xff0c;为了了解Python与go编程语言间比较。后续会完成相关课程&#xff0c;并分享笔记。 如今&#xff0c;世界各地有数百万用户使用 Golang 作为机器学习和人工智能的编程语言。 最好…

算法通过村第十四关-堆|白银笔记|经典问题

文章目录 前言在数组中寻找第K大的元素堆排序原理合并K个排序链表总结 前言 提示&#xff1a;想要从讨厌的地方飞出来&#xff0c;就得有藏起来的翅膀。 --三岛由纪夫《萨德侯爵夫人》 这里我们主要看一下经典的题目&#xff0c;这三个题目来说都是堆的热点问题。重点再理解处理…

Qt不能安装自己想要的版本,如Qt 5.15.2

使用在线安装工具安装Qt5.15.2时&#xff0c;发现没有Qt 5的相关版本&#xff0c;只有Qt 6的版本&#xff0c;这时选择右边的Archive&#xff0c;再点击筛选&#xff0c;这时就会出现之前的Qt版本。