Edits to install/deploy guide.

Fix bug 1060536 - removes unofficial .yaml script, rearranges scripted section,
updates curl example in case user used keystone script to populate users/tenants
roles etc.
Fix bug 1060805 - ensuring we use YOUR_GLANCEDB_PASSWORD consistently
Fix bug 1052967 - adds list of dependencies on Ubuntu 12.04
Partial fix for bug 1041703 - updates nova.conf for folsom, not sure if there
are many changes though since our sample install is quite simple

Rebase against master removing curl verification steps for keystone install.

Change-Id: I4e367eb6d2f4787ac01b60bdde2cf68545298093
This commit is contained in:
annegentle
2012-10-03 08:30:18 -05:00
parent 9a6f01753e
commit 763618eb6d
6 changed files with 296 additions and 56 deletions

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<appendix xml:id="dependencies"
xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<title>Appendix: Dependencies</title>
<para>Included for your reference is a list of dependencies.</para>
<section xml:id="ubuntu-dependencies"><title>Ubuntu 12.04 dependencies</title><para></para>
<literallayout class="monospaced"><xi:include parse="text"
href="samples/ubuntu_dependencies.txt"/></literallayout></section>
</appendix>

View File

@@ -61,10 +61,10 @@
<title>Note</title>
<para>Choose a secure password for the keystone user and replace
all references to
<replaceable>[YOUR_KEYSTONE_PASSWORD]</replaceable> with this
password.</para>
<replaceable>[YOUR_KEYSTONEDB_PASSWORD]</replaceable> with
this password.</para>
</note>
<screen><prompt>mysql&gt;</prompt> <userinput>GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '<replaceable>[YOUR_KEYSTONE_PASSWORD]</replaceable>';</userinput></screen>
<screen><prompt>mysql&gt;</prompt> <userinput>GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '<replaceable>[YOUR_KEYSTONEDB_PASSWORD]</replaceable>';</userinput></screen>
<para>Enter quit at the <literal>mysql></literal> prompt to exit
MySQL.</para>
<screen><prompt>mysql&gt;</prompt> <userinput>quit</userinput></screen>
@@ -80,7 +80,7 @@
default, Keystone's data store is sqlite. To change the data store
to mysql, change the line defining "connection" in
<filename>/etc/keystone/keystone.conf</filename> like so:</para>
<programlisting>connection = mysql://keystone:<replaceable>[YOUR_KEYSTONE_PASSWORD]</replaceable>@192.168.206.130/keystone</programlisting>
<programlisting>connection = mysql://keystone:<replaceable>[YOUR_KEYSTONEDB_PASSWORD]</replaceable>@192.168.206.130/keystone</programlisting>
<para>Also, ensure that the proper service token is used in the
<filename>keystone.conf</filename> file. An example is provided in the Appendix or you can generate a random string. The sample token is:</para>
<programlisting>admin_token = 012345SECRET99TOKEN012345</programlisting>
@@ -96,33 +96,16 @@
<title>Configuring Services to work with Keystone</title>
<para> Once Keystone is installed and running, you set up users
and tenants and services to be configured to work with it. </para>
<section xml:id="setting-up-tenants-users-and-roles">
<title>Setting up tenants, users, and roles</title>
<section xml:id="setting-up-tenants-users-and-roles-manually">
<title>Setting up tenants, users, and roles - manually</title>
<para>You need to minimally define a tenant, user, and role to
link the tenant and user as the most basic set of details to
get other services authenticating and authorizing with the
Identity service. </para>
<para>Scripted configuration:</para>
<para>The Keystone project offers a bash script for populating
tenants, users, and roles at
<link xlink:href="https://github.com/openstack/keystone/blob/master/tools/sample_data.sh">https://github.com/openstack/keystone/blob/master/tools/sample_data.sh</link>
with sample data </para>
<para>On any distribution with python tools, you can run this keystone-init script that automates the steps below that use the keystone client API.</para>
<screen><prompt>$</prompt> <userinput>git clone https://github.com/nimbis/keystone-init.git</userinput></screen>
<para>You'll need <link xlink:href="http://pyyaml.org/wiki/PyYAML">PyYAML</link> installed to use this script. Look at
the script that does the work: <link
xlink:href="https://github.com/nimbis/keystone-init/blob/master/keystone-init.py"
>https://github.com/nimbis/keystone-init/blob/master/keystone-init.py</link>. </para>
<para>Edit the accompanying configuration file the script uses:
<link
xlink:href="https://github.com/nimbis/keystone-init/blob/master/config.yaml"
>https://github.com/nimbis/keystone-init/blob/master/config.yaml</link> with the IP address
of your servers. You can substitute quickly using this command in the directory where config.yaml is stored:</para>
<screen><prompt>$</prompt> <userinput>sed -i.bak s/192.168.206.130/172.16.150.12/g config.yaml</userinput></screen>
<para>Then run the modified script as
root:<screen><prompt>#</prompt> <userinput>./keystone-init.py config.yaml</userinput></screen></para>
<para>Manual configuration:</para>
<para>Here are the manual, unscripted steps. First, create a default tenant, we'll name it
<para>Here are the manual, unscripted steps using the keystone
client. At the end of this section a scripted method is
available. </para>
<para>First, create a default tenant, we'll name it
<literal>openstackDemo</literal> in this example.</para>
<screen><prompt>$ </prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 tenant-create --name openstackDemo --description "Default Tenant" --enabled true</userinput></screen>
<programlisting> +-------------+----------------------------------+
@@ -250,6 +233,7 @@
<screen><prompt>$</prompt><userinput>keystone --token 012345SECRET99TOKEN012345 --endpoint http://192.168.206.130:35357/v2.0 user-role-add --user-id 4346677b8909823e389f0b4037b1246e --tenant_id eb7e0c10a99446cfa14c244374549e9d --role-id e3d9d157cc95410ea45d23bbbc2e5c10</userinput></screen>
<para>There is no output to this command.</para>
<para>Next you create definitions for the services.</para>
</section>
</section>
<section xml:id="defining-services">
@@ -641,5 +625,15 @@ service-create \
</computeroutput>
</screen>
</section>
<section xml:id="scripted-keystone-setup">
<title>Setting up Tenants, Users, Roles, and Services -
Scripted</title>
<para>The Keystone project offers a bash script for populating
tenants, users, roles and services at <link
xlink:href="https://github.com/openstack/keystone/blob/master/tools/sample_data.sh"
>https://github.com/openstack/keystone/blob/master/tools/sample_data.sh</link>
with sample data. This script uses 127.0.0.1 for all endpoint
IP addresses. This script also defines services for you. </para>
</section>
</section>
</section>

View File

@@ -59,7 +59,7 @@ admin_password = glance</screen>
pipeline = authtoken auth-context context registryapp</screen>
<para>Ensure that <filename>/etc/glance/glance-registry.conf</filename>
points to the MySQL database rather than
sqlite.<programlisting>sql_connection = mysql://glance:yourpassword@192.168.206.130/glance</programlisting></para>
sqlite.<programlisting>sql_connection = mysql://glance:<replaceable>[YOUR_GLANCEDB_PASSWORD]</replaceable>@192.168.206.130/glance</programlisting></para>
<note><para>Any time you change the .conf files, restart the
corresponding service.</para></note>
<para os="ubuntu">On Ubuntu 12.04, the database tables are under version control and you must do these

View File

@@ -13,6 +13,7 @@ auth_strategy=keystone
compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
# VOLUMES
volume_driver=nova.volume.driver.ISCSIDriver
volume_group=nova-volumes
volume_name_template=volume-%08x
iscsi_helper=tgtadm

View File

@@ -0,0 +1,235 @@
os|distro=precise
os|vendor=Ubuntu
os|release=12.04
git|cinder|master[45e67e8]
git|glance|master[923b901]
git|horizon|master[b8c2634]
git|keystone|master[f261f71]
git|nova|master[737ca6e]
git|noVNC|master[d5fe150]
git|python-cinderclient|master[45bcdca]
git|python-glanceclient|master[e140dbb]
git|python-keystoneclient|master[0a8c960]
git|python-novaclient|master[bfb0f70]
git|python-openstackclient|master[cd14009]
pkg|bridge-utils|1.5-2ubuntu6
pkg|pep8|0.6.1-2ubuntu2
pkg|pylint|0.25.0-1ubuntu1
pkg|python-pip|1.0-1build1
pkg|screen|4.0.3-14ubuntu8
pkg|unzip|6.0-4ubuntu1
pkg|wget|1.13.4-2ubuntu1
pkg|psmisc|22.15-2ubuntu1.1
pkg|git-core|1:1.7.9.5-1
pkg|lsof|4.81.dfsg.1-1build1
pkg|openssh-server|1:5.9p1-5ubuntu1
pkg|vim-nox|2:7.3.429-2ubuntu2.1
pkg|locate|4.4.2-4ubuntu1
pkg|python-virtualenv|1.7.1.2-1
pkg|python-unittest2|0.5.1-1ubuntu1
pkg|iputils-ping|3:20101006-1ubuntu1
pkg|wget|1.13.4-2ubuntu1
pkg|curl|7.22.0-3ubuntu4
pkg|tcpdump|4.2.1-1ubuntu2
pkg|euca2ools|2.0.0~bzr516-0ubuntu3.1
pkg|tar|1.26-4ubuntu1
pkg|python-cmd2|0.6.3-1
pkg|gcc|4:4.6.3-1ubuntu5
pkg|libxml2-dev|2.7.8.dfsg-5.1ubuntu4.1
pkg|python-dev|2.7.3-0ubuntu2
pkg|python-eventlet|0.9.16-1ubuntu4.1
pkg|python-routes|1.12.3-1ubuntu1
pkg|python-greenlet|0.3.1-1ubuntu5.1
pkg|python-sqlalchemy|0.7.4-1ubuntu0.1
pkg|python-wsgiref|
pkg|python-pastedeploy|1.5.0-2build1
pkg|python-xattr|0.6.2-1ubuntu1
pkg|python-iso8601|0.1.4-1ubuntu1
pkg|python-setuptools|0.6.24-1ubuntu1
pkg|python-dev|2.7.3-0ubuntu2
pkg|python-lxml|2.3.2-1
pkg|python-pastescript|1.7.5-1
pkg|python-pastedeploy|1.5.0-2build1
pkg|python-paste|1.7.5.1-4ubuntu2
pkg|sqlite3|3.7.9-2ubuntu1.1
pkg|python-pysqlite2|2.6.3-2build1
pkg|python-sqlalchemy|0.7.4-1ubuntu0.1
pkg|python-mysqldb|1.2.3-1build1
pkg|python-webob|1.1.1-1ubuntu0
pkg|python-greenlet|0.3.1-1ubuntu5.1
pkg|python-routes|1.12.3-1ubuntu1
pkg|libldap2-dev|2.4.28-1.1ubuntu4.1
pkg|libsasl2-dev|2.1.25.dfsg1-3ubuntu0.1
pkg|python-bcrypt|0.1-1build2
pkg|gcc|4:4.6.3-1ubuntu5
pkg|python-dateutil|1.5-1
pkg|dnsmasq-base|2.59-4
pkg|dnsmasq-utils|2.59-4
pkg|kpartx|0.4.9-3ubuntu5
pkg|parted|2.3-8ubuntu5
pkg|python-mysqldb|1.2.3-1build1
pkg|python-xattr|0.6.2-1ubuntu1
pkg|python-lxml|2.3.2-1
pkg|kvm|1:84+dfsg-0ubuntu16+1.0+noroms+0ubuntu14.1
pkg|gawk|1:3.1.8+dfsg-0.1ubuntu1
pkg|iptables|1.4.12-1ubuntu4
pkg|ebtables|2.0.9.2-2ubuntu2
pkg|sqlite3|3.7.9-2ubuntu1.1
pkg|sudo|1.8.3p1-1ubuntu3.3
pkg|kvm|1:84+dfsg-0ubuntu16+1.0+noroms+0ubuntu14.1
pkg|vlan|1.9-3ubuntu6
pkg|curl|7.22.0-3ubuntu4
pkg|socat|1.7.1.3-1.2
pkg|python-mox|0.5.3-1ubuntu5
pkg|python-paste|1.7.5.1-4ubuntu2
pkg|python-migrate|0.7.2-1ubuntu1
pkg|python-gflags|1.5.1-1build1
pkg|python-greenlet|0.3.1-1ubuntu5.1
pkg|python-libvirt|0.9.8-2ubuntu17.3
pkg|python-libxml2|2.7.8.dfsg-5.1ubuntu4.1
pkg|python-routes|1.12.3-1ubuntu1
pkg|python-netaddr|0.7.5-4build2
pkg|python-pastedeploy|1.5.0-2build1
pkg|python-eventlet|0.9.16-1ubuntu4.1
pkg|python-cheetah|2.4.4-2ubuntu3
pkg|python-carrot|0.10.7-1ubuntu1
pkg|python-tempita|0.5.1-1build1
pkg|python-sqlalchemy|0.7.4-1ubuntu0.1
pkg|python-suds|0.4.1-2ubuntu1
pkg|python-lockfile|1:0.8-2ubuntu1
pkg|python-m2crypto|0.21.1-2ubuntu2
pkg|python-boto|2.2.2-0ubuntu2
pkg|python-kombu|1.4.3-1
pkg|python-feedparser|5.1-0ubuntu3.1
pkg|python-iso8601|0.1.4-1ubuntu1
pkg|python-qpid|0.12-2
pkg|lvm2|2.02.66-4ubuntu7.1
pkg|open-iscsi|2.0.871-0ubuntu9
pkg|open-iscsi-utils|2.0.871-0ubuntu9
pkg|tgt|1:1.0.17-1ubuntu2
pkg|lvm2|2.02.66-4ubuntu7.1
pkg|python-numpy|1:1.6.1-6ubuntu1
pkg|python-beautifulsoup|3.2.0-2build1
pkg|python-dateutil|1.5-1
pkg|python-paste|1.7.5.1-4ubuntu2
pkg|python-pastedeploy|1.5.0-2build1
pkg|python-anyjson|0.3.1-1build1
pkg|python-routes|1.12.3-1ubuntu1
pkg|python-xattr|0.6.2-1ubuntu1
pkg|python-sqlalchemy|0.7.4-1ubuntu0.1
pkg|python-webob|1.1.1-1ubuntu0
pkg|python-kombu|1.4.3-1
pkg|pylint|0.25.0-1ubuntu1
pkg|pep8|0.6.1-2ubuntu2
pkg|python-eventlet|0.9.16-1ubuntu4.1
pkg|python-nose|1.1.2-3
pkg|python-sphinx|1.1.3+dfsg-2ubuntu2.1
pkg|python-mox|0.5.3-1ubuntu5
pkg|python-kombu|1.4.3-1
pkg|python-coverage|3.4-1ubuntu1
pkg|python-cherrypy3|3.2.2-2
pkg|python-migrate|0.7.2-1ubuntu1
pkg|nodejs|0.6.12~dfsg1-1ubuntu1
pkg|python-netaddr|0.7.5-4build2
pip|Babel|0.9.6
pip|BeautifulSoup|3.2.0
pip|Cheetah|2.4.4
pip|CherryPy|3.2.2
pip|Django|1.4.1
pip|FormEncode|1.2.4
pip|GnuPGInterface|0.3.2
pip|Jinja2|2.6
pip|M2Crypto|0.21.1
pip|Markdown|2.2.0
pip|MarkupSafe|0.15
pip|MySQL-python|1.2.3
pip|PIL|1.1.7
pip|Paste|1.7.5.1
pip|PasteDeploy|1.5.0
pip|PasteScript|1.7.5
pip|PyYAML|3.10
pip|Pygments|1.4
pip|Routes|1.12.3
pip|SQLAlchemy|0.7.4
pip|Sphinx|1.1.3
pip|Tempita|0.5.1
pip|WebOb|1.0.8
pip|amqplib|0.6.1
pip|anyjson|0.2.4
pip|apt-xapian-index|0.44
pip|argparse|1.2.1
pip|bcrypt|0.1
pip|boto|2.1.1
pip|carrot|0.10.7
pip|chardet|2.0.1
pip|https://github.com/openstack/cinder|45e67e8b77ffbc783da111dda96add68f1687341
pip|cliff|1.2.1
pip|cmd2|0.6.3
pip|command-not-found|0.2.44
pip|coverage|3.4
pip|decorator|3.3.2
pip|dingus|0.3.2
pip|distribute|0.6.24dev-r0
pip|django-appconf|0.5
pip|django-compressor|1.2
pip|django-openstack-auth|1.0.2
pip|docutils|0.8.1
pip|euca2ools|2.0.0
pip|eventlet|0.9.17
pip|feedparser|5.1
pip|https://github.com/openstack/glance.git|923b901f8588b4db4a732b01f338ffaa799f3913
pip|greenlet|0.3.1
pip|https://github.com/openstack/horizon.git|b8c2634f658cbfb67703fa9e78e794110a25ef4e
pip|httplib2|0.7.6
pip|iso8601|0.1.4
pip|jsonschema|0.2
pip|keyring|0.9.2
pip|https://github.com/openstack/keystone.git|f261f718eebdfc60cdf9ce1f227c43f462dc163c
pip|kombu|1.0.4
pip|language-selector|0.1
pip|lockfile|0.8
pip|logilab-astng|0.23.0
pip|logilab-common|0.57.1
pip|lxml|2.3.2
pip|mox|0.5.3
pip|netaddr|0.7.5
pip|nose|1.1.2
pip|https://github.com/openstack/nova.git|737ca6e7ecdfa9ffd6744e1e1a54c53c4c897d83
pip|numpy|1.6.1
pip|pam|0.1.4
pip|paramiko|1.7.7.1
pip|passlib|1.6.1
pip|pep8|0.6.1
pip|prettytable|0.6.1
pip|pyOpenSSL|0.12
pip|pycrypto|2.4.1
pip|pylint|0.25.0
pip|pyparsing|1.5.6
pip|pysqlite|2.6.3
pip|python-apt|0.8.3ubuntu4
pip|https://github.com/openstack/python-cinderclient|45bcdcaa2288a09c44306a3d0f0245df4d014897
pip|python-dateutil|1.5
pip|python-debian|0.1.21ubuntu1
pip|python-gflags|1.5.1
pip|https://github.com/openstack/python-glanceclient|e140dbb0c779de74e4ae063971660ac2d234365a
pip|https://github.com/openstack/python-keystoneclient|0a8c96073c3dd76df346c262898303f6fb7435d6
pip|https://github.com/openstack/python-novaclient.git|bfb0f70f40fdea6ee7b75dc2fb44baeadceb646d
pip|python-openid|2.2.5
pip|https://github.com/openstack/python-openstackclient.git|cd140091b5db30e9e3c95929cb5024c3b54ab139
pip|python-quantumclient|2.1
pip|python-swiftclient|1.2.0
pip|pytz|2012d
pip|qpid-python|0.12
pip|scgi|1.13
pip|setuptools-git|0.4.2
pip|simplejson|2.6.1
pip|sqlalchemy-migrate|0.7.2
pip|stompy|0.2.9
pip|suds|0.4
pip|uTidylib|0.2
pip|ufw|0.31-0ubuntu2
pip|unittest2|0.5.1
pip|virtualenv|1.7.1.2
pip|warlock|0.4.0
pip|wsgiref|0.1.2
pip|xattr|0.6.2