Using openstack-keystone cannot get example to work

asked 2016-08-03 21:16:43 -0600

Red Cricket gravatar image

I am trying to deploy a Kilo OpenStack cloud using puppet so I have installed the latest version of openstack-keystone on my PE3.7 puppet master like so:

# puppet module install openstack-keystone
Notice: Preparing to install into /etc/puppetlabs/puppet/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppetlabs.com ...
Notice: Installing -- do not interrupt ...
/etc/puppetlabs/puppet/environments/production/modules
└─┬ openstack-keystone (v8.0.1)
  ├─┬ openstack-openstacklib (v8.0.1)
  │ ├─┬ puppetlabs-mysql (v3.8.0)
  │ │ └── puppet-staging (v1.0.7)
  │ ├── puppetlabs-postgresql (v4.8.0)
  │ └─┬ puppetlabs-rabbitmq (v5.4.0)
  │   └── puppetlabs-apt (v2.2.2)
  ├─┬ puppetlabs-apache (v1.10.0)
  │ ├── puppetlabs-concat (v2.2.0)
  │ └── puppetlabs-stdlib (v4.12.0)
  └── puppetlabs-inifile (v1.5.0)

Then I created a simple puppet manifest that looks like this ...

class kilo_keystone(

    # Global Params
    $rabbit_hosts                         = '',
    $rabbit_userid                        = '',
    $rabbit_password                      = '',
    $controller_vip_name                  = '',
    $swift_vip_name                       = undef,
    $memcached_servers                    = '',
    $controller_vip_ip                    = '',

    # Keystone Params
    $keystone_db_user                     = '',
    $keystone_db_pass                     = '',
    $keystone_db_name                     = '',
    $keystone_ldap_user                   = '',
    $keystone_ldap_pass                   = '',
    $keystone_auth_token                  = '',
    $keystone_admin_user                  = '',
    $keystone_admin_password              = '',
    $keystone_admin_email                 = '',

) {

    class {'keystone':
        admin_token              => $keystone_auth_token,
        database_connection      => "mysql://$keystone_db_user:$keystone_db_pass@$db_host:$db_port/$keystone_db_name",
        catalog_type        => 'sql',
    }

# Adds the admin credential to keystone.
    class { 'keystone::roles::admin':
        email        => 'admin@example.com',
        password     => 'super_secret',
    }

# Installs the service user endpoint.
    class { 'keystone::endpoint':
        public_url   => "http://$controller_vip_name:5000",
        admin_url    => "http://$controller_vip_name:35357",
        internal_url => "http://$controller_vip_name:5000",
    }
}

But when I run this on a node I get this error:

# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: NetworkManager is not running.
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter domain on Keystone_tenant[services] at /etc/puppetlabs/puppet/environments/production/modules/keystone/manifests/roles/admin.pp:103 on node svl-ost-mgmt-el7-001.example.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

What up with that? Thanks :)

edit retag flag offensive close merge delete