Skip to content

Instantly share code, notes, and snippets.

@dolph
Created July 8, 2016 18:03
Show Gist options
  • Save dolph/5fe90473a3d9fa1da9c0f94f0743f58f to your computer and use it in GitHub Desktop.
Save dolph/5fe90473a3d9fa1da9c0f94f0743f58f to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
# Cleanup from any previous runs.
mysql -uroot -ppassword -e 'drop database keystone;' || true
git checkout -- .
rm_pyc
# Setup the database.
mysql -uroot -ppassword -e 'create database keystone;'
# Install liberty.
git ready stable/liberty
pip install --upgrade -e .
# Stomp on the upgrade scripts with migrations copied from RDO.
rm -rf /tmp/rdo
mkdir -p /tmp/rdo
# wget http://mirror.centos.org/centos/7/cloud/x86_64/openstack-liberty/python-keystone-8.0.0-1.el7.noarch.rpm -O /tmp/rdo/rpm
# wget http://mirror.centos.org/centos/7/cloud/x86_64/openstack-liberty/python-keystone-8.0.1-1.el7.noarch.rpm -O /tmp/rdo/rpm
wget http://mirror.centos.org/centos/7/cloud/x86_64/openstack-liberty/python-keystone-8.1.2-1.el7.noarch.rpm -O /tmp/rdo/rpm
cd /tmp/rdo
rpm2cpio /tmp/rdo/rpm | cpio -idmv
cd -
rm -rf /root/keystone/keystone/common/sql/migrate_repo/versions/*
cp -R /tmp/rdo/usr/lib/python2.7/site-packages/keystone/common/sql/migrate_repo/versions/* /root/keystone/keystone/common/sql/migrate_repo/versions/
# Run liberty database migrations.
keystone-manage db_sync
# Populate the database.
mysql -uroot -ppassword -Dkeystone -e 'insert into domain set id="non-default", name="Non-Default", extra="{}", enabled=1;'
mysql -uroot -ppassword -Dkeystone -e 'insert into user set id="id-normal", name="normal", extra="{}", password="<hashed>", enabled=1, domain_id="default";'
mysql -uroot -ppassword -Dkeystone -e 'insert into user set id="id-disabled", name="disabled", extra="{}", password="<disabled-hashed>", enabled=0, domain_id="default";'
mysql -uroot -ppassword -Dkeystone -e 'insert into user set id="id-extras", name="extras", extra="{\"key\": \"value\"}", password="<extras-hashed>", enabled=1, domain_id="default";'
mysql -uroot -ppassword -Dkeystone -e 'insert into user set id="id-default-project", name="default-project", extra="{}", password="<default-project-hashed>", enabled=1, domain_id="default", default_project_id="project";'
mysql -uroot -ppassword -Dkeystone -e 'insert into user set id="id-non-default-domain", name="non-default-domain", extra="{}", password="<non-default-domain-hashed>", enabled=1, domain_id="non-default";'
# Upgrade to mitaka.
git ready stable/mitaka
pip install --upgrade -e .
# Stomp on the upgrade scripts with migrations copied from RDO.
rm -rf /tmp/rdo
mkdir -p /tmp/rdo
# wget http://mirror.centos.org/centos/7/cloud/x86_64/openstack-mitaka/python-keystone-9.0.0-1.el7.noarch.rpm -O /tmp/rdo/rpm
wget http://mirror.centos.org/centos/7/cloud/x86_64/openstack-mitaka/python-keystone-9.0.2-1.el7.noarch.rpm -O /tmp/rdo/rpm
cd /tmp/rdo
rpm2cpio /tmp/rdo/rpm | cpio -idmv
cd -
rm -rf /root/keystone/keystone/common/sql/migrate_repo/versions/*
cp -R /tmp/rdo/usr/lib/python2.7/site-packages/keystone/common/sql/migrate_repo/versions/* /root/keystone/keystone/common/sql/migrate_repo/versions/
# curl http://cdn.pasteraw.com/9od74sgcesvwdczdfc2zhanigxtvkyu | git apply
# Run mitaka database migrations.
keystone-manage db_sync
mysql -uroot -ppassword -Dkeystone -e 'select * from user'
mysql -uroot -ppassword -Dkeystone -e 'select * from local_user'
mysql -uroot -ppassword -Dkeystone -e 'select * from password'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment