Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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/quickstart, except that I run

sudo packstack -d --default-password=mypasswd --allinone

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.

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/quickstart, 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.

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/quickstart, 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.

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/quickstart, 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/84820/rdo-could-not-find-declared-class-remotedb/. 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.