Install FreeBSD 10.0 on a machine with partitioning as per your requirements.
Install support packages
pkg install python git wget mariadb55-server mariadb55-client libxslt wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate python get-pip.py
Edit /etc/rc.conf and add the following line
mysql_enable="YES"
Edit /var/db/mysql/my.cnf and add the following lines
[mysqld] collation-server = utf8_general_ci init-connect = 'SET NAMES utf8' character-set-server = utf8
Start MariaDB service
service mysql-server start
Change the root password for MariaDB
mysqladmin password new_password
Create Database for Keystone
mysql -u root -p MariaDB [(none)]> CREATE DATABASE keystone; MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone_dbpass'; MariaDB [(none)]> quit
Keystone Installation and Configuration
Install the Keystone service and configure
git clone https://github.com/openstack/keystone.git cd keystone/ python setup.py install pip install pbr pip install MySQL-python
Rename the sample files
cp -r etc/ /etc/keystone cd /etc/keystone mv keystone.conf.sample keystone.conf mv logging.conf.sample logging.conf
Edit /etc/keystone/keystone.conf and edit the following lines
admin_token=ADMIN connection = mysql://keystone:keystone_dbpass@10.0.0.1/keystone provider=keystone.token.providers.uuid.Provider
Sync the Keystone database
keystone-manage db_sync
Run Keystone service in the background
nohup keystone-all &
Create admin user, admin tenant, admin role and service tenant. Also add admin user to admin tenant and admin role.
keystone --os-token ADMIN --os-endpoint http://10.0.0.1:35357/v2.0/ user-list keystone --os-token ADMIN --os-endpoint http://10.0.0.1:35357/v2.0/ tenant-create --name=admin keystone --os-token ADMIN --os-endpoint http://10.0.0.1:35357/v2.0/ tenant-create --name=service --description="Service Tenant" keystone --os-token ADMIN --os-endpoint http://10.0.0.1:35357/v2.0/ user-create --name=admin --tenant=admin --pass=ADMIN keystone --os-token ADMIN --os-endpoint http://10.0.0.1:35357/v2.0/ role-create --name=admin keystone --os-token ADMIN --os-endpoint http://10.0.0.1:35357/v2.0/ user-role-add --user=admin --tenant=admin --role=admin
Create keystone service
keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"
Create keystone endpoint
keystone --os-token ADMIN --os-endpoint http://10.0.0.1:35357/v2.0/ endpoint-create --service=keystone --publicurl=http://10.0.0.1:5000/v2.0 --internalurl=http://10.0.0.1:5000/v2.0 --adminurl=http://10.0.0.1:35357/v2.0
Test the keystone setup
keystone --os-auth-url http://10.0.0.1:5000/v2.0 --os-username admin --os-password ADMIN --os-tenant-name admin token-get keystone --os-auth-url http://10.0.0.1:5000/v2.0 --os-username admin --os-password ADMIN --os-tenant-name admin user-list
Reference: http://aptira.com/blog/106-openstack-identity-keystone-on-freebsd