问题描述
我是 OpenStack 环境的新手,并开始通过一个小的 Devstack 设置来接触它。我在 Ubuntu 18.04 机器上完成了以下 instructions 工作,一切正常。为了玩一些dns区域,我开始研究designate。在将以下 instructions 调整为我的设置后,我遇到了一些错误。
执行 stack.sh 产生以下错误:
++/opt/stack/designate/devstack/plugin.sh:source:5 set +o xtrace
2021-01-12 21:44:39.009 | Initializing Designate
DROP DATABASE
Could not load 'database': type object 'deprecated' has no attribute 'WALLABY'
Could not load 'pool': type object 'deprecated' has no attribute 'WALLABY'
Could not load 'tlds': type object 'deprecated' has no attribute 'WALLABY'
usage: designate [-h] [--config-dir DIR] [--config-file PATH] [--debug]
[--log-config-append PATH] [--log-date-format DATE_FORMAT]
[--log-dir LOG_DIR] [--log-file PATH] [--nodebug]
[--nouse-journal] [--nouse-json] [--nouse-syslog]
[--Nowatch-log-file]
[--syslog-log-facility SYSLOG_LOG_FACILITY] [--use-journal]
[--use-json] [--use-syslog] [--watch-log-file]
{} ...
designate: error: argument category: invalid choice: 'database' (choose from )
Error on exit
World dumping... see /opt/stack/logs/worlddump-2021-01-12-214442.txt for details
nova-compute: no process found
neutron-dhcp-agent: no process found
neutron-l3-agent: no process found
neutron-Metadata-agent: no process found
neutron-openvswitch-agent: no process found
我不确定我的设置是否合法。所以我尝试使用指定教程中的示例配置。但是同样的问题出现了。
我实际的local.conf:
[[local|localrc]]
USE_python3=True
ADMIN_PASSWORD=***
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=$ADMIN_PASSWORD
DEST=/opt/stack
SERVICE_HOST=192.168.1.***
HOST_IP=$SERVICE_HOST
disable_service MysqL
enable_service postgresql
enable_plugin designate https://opendev.org/openstack/designate
enable_service tempest
function init_designate {
# (Re)create designate database
recreate_database designate utf8
# Init and migrate designate database
$DESIGNATE_BIN_DIR/designate-manage database sync
init_designate_backend
}
提前致谢。
解决方法
您遇到的问题是版本与云安装和指定插件不匹配。 Designate 期待 oslo_log 包的更新版本。
检查您检出的“devstack”版本是否在主分支上。
线路: enable_plugin 指定 https://opendev.org/openstack/designate
正在拉取 devstack 插件的 master 分支。
如果您尝试在稳定的分支版本 OpenStack 上安装,您还需要为 devstack 插件指定一个引用(例如,stable/victoria): enable_plugin 指定 https://opendev.org/openstack/designate stable/victoria
如上所述,您还需要启用指定服务: enable_service designate,designate-central,designate-api,designate-worker,designate-producer,designate-mdns