Skip to content

Instantly share code, notes, and snippets.

@aojea
Last active June 28, 2016 17:45
Show Gist options
  • Save aojea/ee562d243c952b2260eff5757d745065 to your computer and use it in GitHub Desktop.
Save aojea/ee562d243c952b2260eff5757d745065 to your computer and use it in GitHub Desktop.
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get -y install software-properties-common
add-apt-repository -y cloud-archive:mitaka
apt-get update && apt-get -y dist-upgrade
apt-get -y install keystone crudini python-openstackclient
crudini --set /etc/keystone/keystone.conf DEFAULT admin_token openstack
crudini --set /etc/keystone/keystone.conf token provider fernet
su -s /bin/sh -c "keystone-manage db_sync" keystone
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
service keystone restart
export OS_TOKEN=openstack
echo "127.0.0.1 localhost controller" > /etc/hosts
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
openstack service create --name keystone --description "OpenStack Identity" identity
apt-get -y install python-openstackclient
openstack endpoint create --region RegionOne identity public http://controller:5000/v3
openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
openstack endpoint create --region RegionOne identity admin http://controller:35357/v3
openstack domain create --description "Default Domain" default
openstack project create --domain default --description "Admin Project" admin
openstack user create --domain default --project admin --password openstack admin
openstack role create admin
openstack role add --project admin --user admin admin
openstack project create --domain default --description "Service Project" service
openstack project create --domain default --description "Demo Project" demo
openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin token issue
unset OS_TOKEN OS_URL
# Check keystone works
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
openstack domain list
# Work
curl -i -H "Content-Type: application/json" -d '
{ "auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "admin",
"domain": { "name": "default" },
"password": "openstack"
}
}
},
"scope": {
"project": {
"name": "admin",
"domain": { "name": "default" }
}
}
}
}' http://localhost:5000/v3/auth/tokens ; echo
# Doesn't work
curl -i -H "Content-Type: application/json" -d '
{ "auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "admin",
"domain": { "id": "default" },
"password": "openstack"
}
}
},
"scope": {
"project": {
"name": "admin",
"domain": { "id": "default" }
}
}
}
}' http://localhost:5000/v3/auth/tokens ; echo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment