Packstack Ocata allinone error: "Could not find declared class ::nova::db::mysql_placement"
Trying to create an Ocata Packstack setup, I follow the instructions at https://www.rdoproject.org/install/qu..., except that I run
sudo packstack -d --default-password=mypasswd --allinone
EDIT: The unchanged command sudo packstack --allinone
yields the same result.
I get:
ERROR : Error appeared during Puppet run: 192.168.1.211_controller.pp
Error: Evaluation Error: Error while evaluating a Resource Statement, Could not find declared class ::nova::db::mysql_placement at /var/tmp/packstack/163f5f6b67d547b4a898a5741adfb2ee/modules/packstack/manifests/mariadb/services.pp:104:9 on node controller.home
Indeed, mariadb/services.pp contains
class { '::nova::db::mysql_placement':
password => hiera('CONFIG_NOVA_DB_PW'),
host => '%',
allowed_hosts => '%',
charset => 'utf8',
}
So, it's using the placement service as required by Ocata, but it seems the service definition is missing somewhere. I know nothing about Puppet, so I am in the dark. Bug? User error? Any workaround?
Thanks much in advance.
EDIT2: I found a similar error https://ask.openstack.org/en/question.... If I correctly understand the method in the madness, the ::nova::db::mysql_placement
class is declared in /usr/share/openstack-puppet/modules/packstack/manifests/mariadb/services.pp, like this:
class packstack::mariadb::services ()
{
(...snip...)
if hiera('CONFIG_NOVA_INSTALL') == 'y' {
class { '::nova::db::mysql':
password => hiera('CONFIG_NOVA_DB_PW'),
host => '%',
allowed_hosts => '%',
charset => 'utf8',
}
class { '::nova::db::mysql_api':
password => hiera('CONFIG_NOVA_DB_PW'),
host => '%',
allowed_hosts => '%',
charset => 'utf8',
}
class { '::nova::db::mysql_placement':
password => hiera('CONFIG_NOVA_DB_PW'),
host => '%',
allowed_hosts => '%',
charset => 'utf8',
}
}
and its definition should be in /usr/share/openstack-puppet/nova/manifests/db/. Now, ::nova::db::mysql
and ::nova::db::mysql_api
are defined in that directory, but ::nova::db::mysql_placement
is not. I guess that this is the problem. A solution or a workaround would be welcome.