Kolla-Ansible deploy部署报错 KeyError: \\‘KernelMemory

问题复现

执行部署命令,在 TASK [common : Check common containers] 阶段报错

 kolla-ansible -i multinode deploy

 报错信息如下

The full traceback is:
  File "/tmp/ansible_kolla_docker_payload_d27r44yb/ansible_kolla_docker_payload.zip/ansible/modules/kolla_docker.py", line 381, in main
  File "/tmp/ansible_kolla_docker_payload_d27r44yb/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py", line 114, in compare_container
    self.check_container_differs() or
  File "/tmp/ansible_kolla_docker_payload_d27r44yb/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py", line 135, in check_container_differs
    self.compare_dimensions(container_info) or
  File "/tmp/ansible_kolla_docker_payload_d27r44yb/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py", line 330, in compare_dimensions
    elif current_dimensions[key2]:
failed: [control01] (item={'key': 'cron', 'value': {'container_name': 'cron', 'group': 'cron', 'enabled': True, 'image': 'quay.nju.edu.cn/openstack.kolla/ubuntu-source-cron:yoga', 'environment': {'DUMMY_ENVIRONMENT': 'kolla_useless_env', 'KOLLA_LOGROTATE_SCHEDULE': 'daily'}, 'volumes': ['/etc/kolla/cron/:/var/lib/kolla/config_files/:ro', '/etc/localtime:/etc/localtime:ro', '/etc/timezone:/etc/timezone:ro', 'kolla_logs:/var/log/kolla/'], 'dimensions': {}}}) => {
    "ansible_loop_var": "item",
    "changed": true,
    "invocation": {
        "module_args": {
            "action": "compare_container",
            "api_version": "auto",
            "auth_email": null,
            "auth_password": null,
            "auth_registry": "quay.nju.edu.cn",
            "auth_username": null,
            "cap_add": [],
            "cgroupns_mode": null,
            "client_timeout": 120,
            "command": null,
            "detach": true,
            "dimensions": {},
            "environment": {
                "DUMMY_ENVIRONMENT": "kolla_useless_env",
                "KOLLA_CONFIG_STRATEGY": "COPY_ALWAYS",
                "KOLLA_LOGROTATE_SCHEDULE": "daily"
            },
            "graceful_timeout": 10,
            "healthcheck": null,
            "ignore_missing": false,
            "image": "quay.nju.edu.cn/openstack.kolla/ubuntu-source-cron:yoga",
            "labels": {},
            "name": "cron",
            "privileged": false,
            "remove_on_exit": true,
            "restart_policy": "unless-stopped",
            "restart_retries": 10,
            "security_opt": [],
            "state": "running",
            "tls_cacert": null,
            "tls_cert": null,
            "tls_key": null,
            "tls_verify": false,
            "tmpfs": null,
            "tty": false,
            "volumes": [
                "/etc/kolla/cron/:/var/lib/kolla/config_files/:ro",
                "/etc/localtime:/etc/localtime:ro",
                "/etc/timezone:/etc/timezone:ro",
                "kolla_logs:/var/log/kolla/"
            ],
            "volumes_from": null
        }
    },
    "item": {
        "key": "cron",
        "value": {
            "container_name": "cron",
            "dimensions": {},
            "enabled": true,
            "environment": {
                "DUMMY_ENVIRONMENT": "kolla_useless_env",
                "KOLLA_LOGROTATE_SCHEDULE": "daily"
            },
            "group": "cron",
            "image": "quay.nju.edu.cn/openstack.kolla/ubuntu-source-cron:yoga",
            "volumes": [
                "/etc/kolla/cron/:/var/lib/kolla/config_files/:ro",
                "/etc/localtime:/etc/localtime:ro",
                "/etc/timezone:/etc/timezone:ro",
                "kolla_logs:/var/log/kolla/"
            ]
        }
    },
    "msg": "'Traceback (most recent call last):\\n  File \"/tmp/ansible_kolla_docker_payload_d27r44yb/ansible_kolla_docker_payload.zip/ansible/modules/kolla_docker.py\", line 381, in main\\n  File \"/tmp/ansible_kolla_docker_payload_d27r44yb/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 114, in compare_container\\n    self.check_container_differs() or\\n  File \"/tmp/ansible_kolla_docker_payload_d27r44yb/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 135, in check_container_differs\\n    self.compare_dimensions(container_info) or\\n  File \"/tmp/ansible_kolla_docker_payload_d27r44yb/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 330, in compare_dimensions\\n    elif current_dimensions[key2]:\\nKeyError: \\'KernelMemory\\'\\n'"
}

PLAY RECAP ***************************************************************************************************************************************************************************************************************************
control01                  : ok=17   changed=0    unreachable=0    failed=1    skipped=1    rescued=0    ignored=0   
localhost                  : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Command failed ansible-playbook -e @/etc/kolla/globals.yml  -e @/etc/kolla/passwords.yml -e CONFIG_DIR=/etc/kolla  -e kolla_action=deploy /path/to/venv/share/kolla-ansible/ansible/site.yml  --verbose --verbose --verbose --verbose --inventory multinode

问题分析

查看docker版本:docker version

(venv) root@ubuntu:~# docker version
Client: Docker Engine - Community
 Version:           23.0.0
 API version:       1.42
 Go version:        go1.19.5
 Git commit:        e92dd87
 Built:             Wed Feb  1 17:47:51 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          23.0.0
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.5
  Git commit:       d7573ab
  Built:            Wed Feb  1 17:47:51 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.16
  GitCommit:        31aa4358a36870b21a992d3ad2bef29e1d693bec
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

如果你的版本也是23.0.0及以上,那么需要更新kolla-ansible版本,或者降低docker版本

Do not support dimensions:kernel_memory on Docker API 1.42

It is deprecated in 20.10 and removed in 23.0 (and 23.0 is out) [1], [2].

[1]: https://docs.docker.com/engine/deprecated/#kernel-memory-limit
[2]: https://docs.docker.com/engine/api/version-history/#v142-api-changes

出处:

Do not support dimensions:kernel_memory on Docker API 1.42 · openstack/kolla-ansible@f253f99 · GitHub

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kolla-ansible是一个用于部署OpenStackAnsible playbook集合。要使用kolla-ansible部署Ceph,您需要在控制节点上安装kolla-ansible和ceph-ansible。以下是部署Ceph的基本步骤: 1. 在控制节点上安装kolla-ansible和ceph-ansible: ``` sudo apt-get install python3-dev libffi-dev gcc libssl-dev python3-venv sudo apt-get install python3-pip sudo pip3 install -U pip sudo pip3 install kolla-ansible sudo git clone https://github.com/ceph/ceph-ansible.git /usr/share/ceph-ansible ``` 2. 准备kolla-ansible部署环境: ``` sudo mkdir -p /etc/kolla sudo chown $USER:$USER /etc/kolla cp -r /usr/local/share/kolla-ansible/etc_examples/kolla/* /etc/kolla cp /usr/local/share/kolla-ansible/ansible/inventory/* . ``` 3. 配置kolla-ansible: 编辑/etc/kolla/globals.yml文件,设置以下内容: ``` kolla_base_distro: "ubuntu" kolla_install_type: "source" openstack_release: "rocky" network_interface: "eth0" neutron_plugin_agent: "openvswitch" ceph_backend: "bluestore" ceph_osd_pool_default_size: "2" ceph_osd_pool_default_pg_num: "128" ``` 4. 配置ceph-ansible: 编辑/etc/kolla/globals.yml文件,设置以下内容: ``` [mons] mon1 mon2 mon3 [osds] osd1 osd2 osd3 [mdss] mds1 mds2 ``` 5. 生成kolla-ansible部署文件: ``` kolla-genpwd kolla-ansible -i ./all-in-one bootstrap-servers kolla-ansible -i ./all-in-one prechecks kolla-ansible -i ./all-in-one deploy ``` 6. 部署完成后,您可以使用以下命令测试Ceph集群: ``` sudo docker ps sudo ceph health ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值