0

I am new to the OpenStack environment and started to get into it with a small DevStack setup. I worked the following instructions on a Ubuntu 18.04 machine through and everything worked fine. In order to play with some dns zones I started to research about designate. After adapting the following instructions to my setup I got some errors.

Executing stack.sh produces the following error:

++/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

I was not sure if my setup was legit. So I tried to use the example config from the designate tutorial. But the same problem occurred.

My actual 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

Checking the plugin.sh. It looks like the error occurred from this function:

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
}

Hope somebody can give me a hint to run DevStack with designate.

Thanks in advance.

fido
  • 1
  • This is a shot in the dark, but perhaps Designate's Devstack plugin doesn't work with Postgresql. I would change the config to Mysql (which is what the Designate Devstack instructions use). Before re-running stack.sh, I would ensure that nothing remains from your current incomplete installation; it is best to reinstall Ubuntu first. – berndbausch Jan 13 '21 at 00:19
  • By the way, you should also `enable_service designate,designate-central,designate-api,designate-worker,designate-producer,designate-mdns`. And perhaps it's a good idea to start with the precise `local.conf` from the instructions. Devstack plugins are not necessarily tested to work with all possible configurations. – berndbausch Jan 13 '21 at 00:22
  • Hey @berndbausch, thanks for your suggestion. I installed it on a fresh Ubuntu 18.04 with the the precise local.conf from the instructions. Got a problem that python2 is not supported anymore, so I added USE_PYTHON3=True to my local.conf. But still the same problem with designate. – fido Jan 13 '21 at 08:54
  • I would love to try this out myself, but I don't have the time right now. Sorry for not being more helpful. – berndbausch Jan 13 '21 at 09:41
  • After some trial and error, I was able to start DevStack with Designate under some special circumstances. Maybe it will help someone in the same situation. The explicit error with WALLABY made me curios if it also occurs on a earlier release. So I manually checkout the directory devstack and designate with branch stable/train. Executed ./unstack.sh && ./stack.sh and here we go. Able to run DevStack with Designate on release train. But I was not able to replicate these steps with other releases. – fido Jan 15 '21 at 22:21

1 Answers1

0

The issue you are having is a version mismatch with the cloud install and the designate plugin. Designate is expecting a newer verison of the oslo_log package.

Check that the "devstack" version you have checked out is on the master branch.

The line: enable_plugin designate https://opendev.org/openstack/designate

Is pulling the master branch of designate for the devstack plugin.

If you are trying to install on a stable branch version OpenStack, you will need to specify a reference for the devstack plugin as well (example, stable/victoria): enable_plugin designate https://opendev.org/openstack/designate stable/victoria

As mentioned above, you will also need to enable the designate services: enable_service designate,designate-central,designate-api,designate-worker,designate-producer,designate-mdns

johnsom
  • 44
  • 4