Hello community,

here is the log from the commit of package openstack-quickstart for 
openSUSE:Factory checked in at 2013-10-21 12:30:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-quickstart (Old)
 and      /work/SRC/openSUSE:Factory/.openstack-quickstart.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openstack-quickstart"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openstack-quickstart/openstack-quickstart.changes    
    2013-09-16 16:23:42.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.openstack-quickstart.new/openstack-quickstart.changes
   2013-10-21 12:30:35.000000000 +0200
@@ -1,0 +2,23 @@
+Tue Oct  1 12:05:11 UTC 2013 - [email protected]
+
+- update to latest git (cc514df):
+  + Set up Keystone V3 endpoint
+
+-------------------------------------------------------------------
+Mon Sep 30 13:48:27 UTC 2013 - [email protected]
+
+- change requires 
+
+-------------------------------------------------------------------
+Sat Sep 28 00:53:30 UTC 2013 - [email protected]
+
+- Update to latest git (2c030af):
+  + Use crudini instead of openstack-utils
+
+-------------------------------------------------------------------
+Mon Sep 23 23:52:19 UTC 2013 - [email protected]
+
+- Update to latest git (a7446e5):
+  + Configure Neutron configuration in Tempest properly
+
+-------------------------------------------------------------------

Old:
----
  openstack-quickstart-2013.2+git.1379105044.0e0a541.tar.gz

New:
----
  openstack-quickstart-2013.2+git.1380614452.cc514df.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openstack-quickstart.spec ++++++
--- /var/tmp/diff_new_pack.RvbxGQ/_old  2013-10-21 12:30:36.000000000 +0200
+++ /var/tmp/diff_new_pack.RvbxGQ/_new  2013-10-21 12:30:36.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           openstack-quickstart
-Version:        2013.2+git.1379105044.0e0a541
+Version:        2013.2+git.1380614452.cc514df
 Release:        0
 Summary:        OpenStack Quickstart
 License:        MIT
@@ -29,7 +29,7 @@
 Suggests:       patterns-OpenStack-compute-node
 Suggests:       patterns-OpenStack-controller
 Suggests:       patterns-OpenStack-network-node
-Requires:       openstack-utils
+Requires:       crudini
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildArch:      noarch
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.RvbxGQ/_old  2013-10-21 12:30:36.000000000 +0200
+++ /var/tmp/diff_new_pack.RvbxGQ/_new  2013-10-21 12:30:36.000000000 +0200
@@ -4,7 +4,7 @@
     <param name="scm">git</param>
     <param name="exclude">.git</param>
     <param name="versionformat">@PARENT_TAG@+git.%ct.%h</param>
-    <param name="revision">master</param>
+    <param name="revision">stable/havana</param>
   </service>
 
   <service name="recompress" mode="disabled">

++++++ devstack-master.tar.gz ++++++
++++ 3851 lines of diff (skipped)

++++++ openstack-quickstart-2013.2+git.1379105044.0e0a541.tar.gz -> 
openstack-quickstart-2013.2+git.1380614452.cc514df.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openstack-quickstart-2013.2+git.1379105044.0e0a541/etc/openstackquickstartrc
 
new/openstack-quickstart-2013.2+git.1380614452.cc514df/etc/openstackquickstartrc
--- 
old/openstack-quickstart-2013.2+git.1379105044.0e0a541/etc/openstackquickstartrc
    2013-09-16 02:05:08.000000000 +0200
+++ 
new/openstack-quickstart-2013.2+git.1380614452.cc514df/etc/openstackquickstartrc
    2013-10-21 02:01:24.000000000 +0200
@@ -15,7 +15,7 @@
 testnet=10.10.134.16/29
 
 # floating ip address, should not be a part of your network
-floatingnet=172.31.0.0/29
+floatingnet=172.31.0.0/24
 
 # this defines which database to use
 #DB=mysql
@@ -23,6 +23,9 @@
 
 SERVICE_TOKEN=999888777666
 
+# Setup Horizon dashboard
+with_horizon=yes
+
 # Setup Tempest ?
 with_tempest=no
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openstack-quickstart-2013.2+git.1379105044.0e0a541/scripts/keystone_data.sh 
new/openstack-quickstart-2013.2+git.1380614452.cc514df/scripts/keystone_data.sh
--- 
old/openstack-quickstart-2013.2+git.1379105044.0e0a541/scripts/keystone_data.sh 
    2013-09-16 02:05:08.000000000 +0200
+++ 
new/openstack-quickstart-2013.2+git.1380614452.cc514df/scripts/keystone_data.sh 
    2013-10-21 02:01:24.000000000 +0200
@@ -70,14 +70,14 @@
 
 
 # Add Roles to Users in Tenants
-keystone user-role-add --user_id $ADMIN_USER --role_id $ADMIN_ROLE --tenant_id 
$ADMIN_TENANT
-keystone user-role-add --user_id $ADMIN_USER --role_id $ADMIN_ROLE --tenant_id 
$DEMO_TENANT
-keystone user-role-add --user_id $DEMO_USER --role_id $ANOTHER_ROLE 
--tenant_id $DEMO_TENANT
+keystone user-role-add --user-id $ADMIN_USER --role-id $ADMIN_ROLE --tenant-id 
$ADMIN_TENANT
+keystone user-role-add --user-id $ADMIN_USER --role-id $ADMIN_ROLE --tenant-id 
$DEMO_TENANT
+keystone user-role-add --user-id $DEMO_USER --role-id $ANOTHER_ROLE 
--tenant-id $DEMO_TENANT
 
 # The Member role is used by Horizon and Swift so we need to keep it:
 MEMBER_ROLE=$(get_id keystone role-create --name=Member)
-keystone user-role-add --user_id $DEMO_USER --role_id $MEMBER_ROLE --tenant_id 
$DEMO_TENANT
-keystone user-role-add --user_id $DEMO_USER --role_id $MEMBER_ROLE --tenant_id 
$INVIS_TENANT
+keystone user-role-add --user-id $DEMO_USER --role-id $MEMBER_ROLE --tenant-id 
$DEMO_TENANT
+keystone user-role-add --user-id $DEMO_USER --role-id $MEMBER_ROLE --tenant-id 
$INVIS_TENANT
 
 
 # Services
@@ -102,12 +102,12 @@
     NOVA_USER=$(get_id keystone user-create \
         --name=nova \
         --pass="$SERVICE_PASSWORD" \
-        --tenant_id $SERVICE_TENANT \
+        --tenant-id $SERVICE_TENANT \
         [email protected])
     keystone user-role-add \
-        --tenant_id $SERVICE_TENANT \
-        --user_id $NOVA_USER \
-        --role_id $ADMIN_ROLE
+        --tenant-id $SERVICE_TENANT \
+        --user-id $NOVA_USER \
+        --role-id $ADMIN_ROLE
     if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
         NOVA_SERVICE=$(get_id keystone service-create \
             --name=nova \
@@ -119,7 +119,20 @@
             --publicurl 
"http://$SERVICE_HOST:\$(compute_port)s/v2/\$(tenant_id)s" \
             --adminurl 
"http://$SERVICE_HOST:\$(compute_port)s/v2/\$(tenant_id)s" \
             --internalurl 
"http://$SERVICE_HOST:\$(compute_port)s/v2/\$(tenant_id)s"
+
+        # Create Nova V3 Services
+        NOVA_V3_SERVICE=$(get_id keystone service-create \
+            --name=nova \
+            --type=computev3 \
+            --description="Nova Compute Service V3")
+        keystone endpoint-create \
+            --region RegionOne \
+            --service_id $NOVA_V3_SERVICE \
+            --publicurl "http://$SERVICE_HOST:9696/v3"; \
+            --adminurl "http://$SERVICE_HOST:9696/v3"; \
+            --internalurl "http://$SERVICE_HOST:9696/v3";
     fi
+
     # Nova needs ResellerAdmin role to download images when accessing
     # swift through the s3 api. The admin role in swift allows a user
     # to act as an admin for their tenant, but ResellerAdmin is needed
@@ -127,9 +140,9 @@
     # configurable in swift-proxy.conf
     RESELLER_ROLE=$(get_id keystone role-create --name=ResellerAdmin)
     keystone user-role-add \
-        --tenant_id $SERVICE_TENANT \
-        --user_id $NOVA_USER \
-        --role_id $RESELLER_ROLE
+        --tenant-id $SERVICE_TENANT \
+        --user-id $NOVA_USER \
+        --role-id $RESELLER_ROLE
 fi
 
 # Volume
@@ -152,11 +165,11 @@
 if [[ "$ENABLED_SERVICES" =~ "heat" ]]; then
     HEAT_USER=$(get_id keystone user-create --name=heat \
                                               --pass="$SERVICE_PASSWORD" \
-                                              --tenant_id $SERVICE_TENANT \
+                                              --tenant-id $SERVICE_TENANT \
                                               [email protected])
-    keystone user-role-add --tenant_id $SERVICE_TENANT \
-                           --user_id $HEAT_USER \
-                           --role_id $ADMIN_ROLE
+    keystone user-role-add --tenant-id $SERVICE_TENANT \
+                           --user-id $HEAT_USER \
+                           --role-id $ADMIN_ROLE
     if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
         HEAT_CFN_SERVICE=$(get_id keystone service-create \
             --name=heat \
@@ -176,12 +189,12 @@
     GLANCE_USER=$(get_id keystone user-create \
         --name=glance \
         --pass="$SERVICE_PASSWORD" \
-        --tenant_id $SERVICE_TENANT \
+        --tenant-id $SERVICE_TENANT \
         [email protected])
     keystone user-role-add \
-        --tenant_id $SERVICE_TENANT \
-        --user_id $GLANCE_USER \
-        --role_id $ADMIN_ROLE
+        --tenant-id $SERVICE_TENANT \
+        --user-id $GLANCE_USER \
+        --role-id $ADMIN_ROLE
     if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
         GLANCE_SERVICE=$(get_id keystone service-create \
             --name=glance \
@@ -201,12 +214,12 @@
     SWIFT_USER=$(get_id keystone user-create \
         --name=swift \
         --pass="$SERVICE_PASSWORD" \
-        --tenant_id $SERVICE_TENANT \
+        --tenant-id $SERVICE_TENANT \
         [email protected])
     keystone user-role-add \
-        --tenant_id $SERVICE_TENANT \
-        --user_id $SWIFT_USER \
-        --role_id $ADMIN_ROLE
+        --tenant-id $SERVICE_TENANT \
+        --user-id $SWIFT_USER \
+        --role-id $ADMIN_ROLE
     if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
         SWIFT_SERVICE=$(get_id keystone service-create \
             --name=swift \
@@ -225,12 +238,12 @@
     NEUTRON_USER=$(get_id keystone user-create \
         --name=neutron \
         --pass="$SERVICE_PASSWORD" \
-        --tenant_id $SERVICE_TENANT \
+        --tenant-id $SERVICE_TENANT \
         [email protected])
     keystone user-role-add \
-        --tenant_id $SERVICE_TENANT \
-        --user_id $NEUTRON_USER \
-        --role_id $ADMIN_ROLE
+        --tenant-id $SERVICE_TENANT \
+        --user-id $NEUTRON_USER \
+        --role-id $ADMIN_ROLE
     if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
         NEUTRON_SERVICE=$(get_id keystone service-create \
             --name=neutron \
@@ -287,19 +300,19 @@
         --pass="$ADMIN_PASSWORD" \
         [email protected])
     keystone user-role-add \
-        --tenant_id $ALT_DEMO_TENANT \
-        --user_id $ALT_DEMO_USER \
-        --role_id $MEMBER_ROLE
+        --tenant-id $ALT_DEMO_TENANT \
+        --user-id $ALT_DEMO_USER \
+        --role-id $MEMBER_ROLE
 fi
 
 if [[ "$ENABLED_SERVICES" =~ "c-api" ]]; then
     CINDER_USER=$(get_id keystone user-create --name=cinder \
                                               --pass="$SERVICE_PASSWORD" \
-                                              --tenant_id $SERVICE_TENANT \
+                                              --tenant-id $SERVICE_TENANT \
                                               [email protected])
-    keystone user-role-add --tenant_id $SERVICE_TENANT \
-                           --user_id $CINDER_USER \
-                           --role_id $ADMIN_ROLE
+    keystone user-role-add --tenant-id $SERVICE_TENANT \
+                           --user-id $CINDER_USER \
+                           --role-id $ADMIN_ROLE
     if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
         CINDER_SERVICE=$(get_id keystone service-create \
             --name=cinder \
@@ -311,6 +324,19 @@
             --publicurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" \
             --adminurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" \
             --internalurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s"
+
+
+        # Create Cinder V2 API
+        CINDER_V2_SERVICE=$(get_id keystone service-create \
+                        --name=cinder \
+                        --type=volumev2 \
+                        --description="Cinder Volume Service V2")
+        keystone endpoint-create \
+                        --region RegionOne \
+                        --service_id $CINDER_V2_SERVICE \
+                        --publicurl 
"http://$SERVICE_HOST:8776/v2/\$(tenant_id)s" \
+                        --adminurl 
"http://$SERVICE_HOST:8776/v2/\$(tenant_id)s" \
+                        --internalurl 
"http://$SERVICE_HOST:8776/v2/\$(tenant_id)s"
     fi
 fi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openstack-quickstart-2013.2+git.1379105044.0e0a541/scripts/openstack-quickstart-demosetup
 
new/openstack-quickstart-2013.2+git.1380614452.cc514df/scripts/openstack-quickstart-demosetup
--- 
old/openstack-quickstart-2013.2+git.1379105044.0e0a541/scripts/openstack-quickstart-demosetup
       2013-09-16 02:05:08.000000000 +0200
+++ 
new/openstack-quickstart-2013.2+git.1380614452.cc514df/scripts/openstack-quickstart-demosetup
       2013-10-21 02:01:24.000000000 +0200
@@ -1,28 +1,19 @@
 #!/bin/bash -x
 
-# for development testing
-PREFIX=
-
 # go in a directory everybody can access
 # (postgresql commands usually have a 'could not change to "$PWD"' error
 # message if the postgres user cannot have access to $PWD...)
 cd /
 
-. $PREFIX/etc/openstackquickstartrc
+. /etc/openstackquickstartrc
 ADMIN_PASSWORD=$pw
 SERVICE_HOST=$IP
 
 KEYSTONE_SYSTEM_USER=openstack-keystone
-KEYSTONE_SYSTEM_GROUP=openstack-keystone
 GLANCE_SYSTEM_USER=openstack-glance
-GLANCE_SYSTEM_GROUP=openstack-glance
 CINDER_SYSTEM_USER=openstack-cinder
-CINDER_SYSTEM_GROUP=openstack-cinder
 NEUTRON_SYTEM_USER=openstack-neutron
-NEUTRON_SYTEM_GROUP=openstack-neutron
 NOVA_SYSTEM_USER=openstack-nova
-NOVA_SYSTEM_GROUP=openstack-nova
-HORIZON_SYSTEM_USER=openstack-horizon
 
 echo "Setting up OpenStack demo controller..."
 
@@ -51,9 +42,19 @@
     i=/etc/init.d/$1
     if [ -x $i ] ; then
         insserv $1
-        $i restart
+        if [ -n "$(type -p systemctl)" ]; then
+
+            systemctl start ${1}.service
+            systemctl enable ${1}.service
+        else
+            $i start
+        fi
         $i status
-        [ $? -eq 3 ] && { "Service $i is not running"; exit 1; }
+        if [ $? -eq 3 ]; then
+            journalctl -xn || :
+            echo "Service $1 is not running"
+            exit 1
+        fi
     fi
 
 }
@@ -133,7 +134,7 @@
 . /etc/bash.openstackrc
 setcreds admin $pw" >> /etc/bash.bashrc.local
 
-install_packages patterns-OpenStack-controller patterns-OpenStack-compute-node 
patterns-OpenStack-clients patterns-OpenStack-network-node openstack-utils
+install_packages patterns-OpenStack-controller patterns-OpenStack-compute-node 
patterns-OpenStack-clients patterns-OpenStack-network-node crudini psmisc
 
 if [ "$DB" = "postgresql" ] ; then
     if grep -q "SUSE Linux Enterprise Server 11" /etc/SuSE-release; then
@@ -141,18 +142,86 @@
     else
         install_packages postgresql-server python-psycopg2
     fi
-    /etc/init.d/postgresql restart
+fi
+
+# configure NTP, because we need synchronized time between nodes
+grep -q ntp.org /etc/ntp.conf || echo server pool.ntp.org >> /etc/ntp.conf
+
+# change libvirt to run qemu as user qemu
+sed -i -e 's;.*user.*=.*;user = "qemu";' /etc/libvirt/qemu.conf
+if [ -e /dev/kvm ]; then
+    chown root:kvm /dev/kvm
+    chmod 660 /dev/kvm
+fi
+
+# configure tgt for cinder
+if [ -f /etc/tgt/targets.conf ]; then
+    grep -q "include /var/lib/cinder/volumes" /etc/tgt/targets.conf || {
+        echo "include /var/lib/cinder/volumes/*" >> /etc/tgt/targets.conf
+        start_and_enable_service tgtd
+    }
+fi
+
+# Set up the database
+if [ "$DB" = "postgresql" ] ; then
+    DATADIR=/var/lib/pgsql/data
+    # No database exists? Start and Stop to create the initial files
+    if  [ ! -f $DATADIR/PG_VERSION ]; then
+        start_and_enable_service $DB
+        stop_and_disable_service $DB
+    fi
+    if ! grep -q ::/0 $DATADIR/pg_hba.conf ; then
+        sed -i "s/^\(host .*\) ident\(.*\)/\1 md5 \2/" "$DATADIR/pg_hba.conf"
+        sed -i "s/^\(local \)/local horizon all md5 sameuser\n\1/" 
"$DATADIR/pg_hba.conf"
+        # allow remote connections:
+        echo "listen_addresses = '*'" >> $DATADIR/postgresql.conf
+        echo "host all all 0.0.0.0/0 md5  sameuser" >> $DATADIR/pg_hba.conf
+        echo "host all all      ::/0 md5  sameuser" >> $DATADIR/pg_hba.conf
+        if ! rpm -q postgresql | grep -q postgresql-8 ; then
+            sed -i 's/\s*sameuser$//' $DATADIR/pg_hba.conf # adapt config 
syntax to postgresql-9
+        fi
+    fi
 else
-    # start mysql
-    /etc/init.d/mysql start
+    echo | mysql -u root || pwquery=-p
+    for DBNAME in nova cinder keystone glance horizon neutron ; do
+        echo "
+        set global character_set_server=latin1;
+        set session character_set_server=latin1;
+        CREATE DATABASE IF NOT EXISTS $DBNAME;
+        GRANT ALL PRIVILEGES ON $DBNAME.* TO '$DBNAME'@localhost IDENTIFIED BY 
'$mpw';
+        GRANT ALL PRIVILEGES ON $DBNAME.* TO '$DBNAME'@'%' IDENTIFIED BY 
'$mpw';
+        " | mysql -u root $pwquery
+    done
 fi
 
 
+# start some initial services
+for s in ntp libvirtd $DB tgtd memcached
+do
+    start_and_enable_service $s
+done
+
+start_and_enable_service open-iscsi || :
+
+
+# Set up the database
+if [ "$DB" = "postgresql" ] ; then
+    sudo -u postgres dropdb keystone || true # needed for keystone_data.sh
+    for DBNAME in nova cinder keystone glance horizon heat neutron ; do
+        # use ALTER if CREATE fails: the role probably already exists
+        # in that case
+        sudo -u postgres psql -c "CREATE ROLE $DBNAME PASSWORD '$mpw' LOGIN;" 
|| \
+        sudo -u postgres psql -c "ALTER ROLE $DBNAME PASSWORD '$mpw' LOGIN;"
+        sudo -u postgres createdb -O $DBNAME $DBNAME || true
+    done
+    sudo -u postgres createuser -s root || :
+fi
+
 grep -q -e vmx -e svm /proc/cpuinfo || MODE=lxc
 # use lxc or qemu, if kvm is unavailable
 if rpm -q openstack-nova-compute >/dev/null ; then
     if [ "$MODE" = lxc ] ; then
-        openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_type lxc
+        crudini --set /etc/nova/nova.conf DEFAULT libvirt_type lxc
         install_packages lxc
         # not sure what this is good for, cgroups is and should be mounted 
under /sys/fs/cgroup
         #echo mount -t cgroup none /cgroup >> /etc/init.d/boot.local
@@ -176,8 +245,7 @@
 fi
 # activate ip-forwarding
 [ -e /etc/sysconfig/sysctl ] && sed -i -e 
's;IP_FORWARD="no";IP_FORWARD="yes";' /etc/sysconfig/sysctl
-grep -q 'net.ipv4.ip_forward' /etc/sysctl.conf
-if [[ $? -eq 0 ]] ; then
+if grep -q 'net.ipv4.ip_forward' /etc/sysctl.conf; then
      sed -i -e 's;net.ipv4.ip_forward.*;net.ipv4.ip_forward = 1;' 
/etc/sysctl.conf
 else
      #sysctl file may not have ending new line
@@ -220,17 +288,18 @@
     /etc/init.d/network start
 fi
 
-
 #-----------------------------------------
 # setup OpenStack Dashboard (optional)
 #-----------------------------------------
 
-if rpmqpack |grep -qx openstack-dashboard; then
+
+if [ "x$with_horizon" = "xyes" ]; then
     # configure dashboard/apache sample configuration from the package:
     install -m 644 /etc/apache2/conf.d/openstack-dashboard.conf{.sample,}
     a2enmod rewrite
     a2enmod ssl
     a2enmod wsgi
+    a2enmod socache_shmcb
     a2enflag SSL
 
     
DASHBOARD_LOCAL_SET=/usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py
@@ -242,14 +311,15 @@
 
     if [ "$DB" = "postgresql" ] ; then
     cat >> $DASHBOARD_LOCAL_SET <<EODASHDB
-    DATABASES = {
-        'default': {
-            'ENGINE': 'django.db.backends.postgresql_psycopg2',
-            'NAME': 'horizon',
-            'USER': 'horizon',
-            'PASSWORD': '$mpw',
-        }
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.postgresql_psycopg2',
+        'HOST': '$IP',
+        'NAME': 'horizon',
+        'USER': 'horizon',
+        'PASSWORD': '$mpw',
     }
+}
 EODASHDB
     fi
 
@@ -260,8 +330,8 @@
     fi
     # Use 'secure' session and CSRF cookies (bnc#753582):
     cat >> $DASHBOARD_LOCAL_SET <<EOSEC
-    # Use 'secure' cookies when we use SSL, see 
https://docs.djangoproject.com/en/1.4/topics/security/:
-    SESSION_COOKIE_SECURE = CSRF_COOKIE_SECURE = USE_SSL
+# Use 'secure' cookies when we use SSL, see 
https://docs.djangoproject.com/en/1.4/topics/security/:
+SESSION_COOKIE_SECURE = CSRF_COOKIE_SECURE = USE_SSL
 EOSEC
     # sync dashboard DB "after" the database is created
     run_as wwwrun "cd /usr/share/openstack-dashboard; umask 0027; python -m 
'manage' syncdb --noinput"
@@ -269,53 +339,56 @@
 
 KEYSTONE_AUTH_HOST=${KEYSTONE_AUTH_HOST:-$SERVICE_HOST}
 KEYSTONE_AUTH_PORT=${KEYSTONE_AUTH_PORT:-35357}
+KEYSTONE_SERVICE_PORT=${KEYSTONE_AUTH_PORT:-5000}
 KEYSTONE_AUTH_PROTOCOL=${KEYSTONE_AUTH_PROTOCOL:-http}
-SERVICE_ENDPOINT=$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0
+KEYSTONE_PUBLIC_ENDPOINT=$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_SERVICE_PORT/v2.0
+KEYSTONE_PUBLIC_ENDPOINT_V3=$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_SERVICE_PORT/v3
 
 #-----------------------------------------
 # setup keystone client endpoint configuration
 #-----------------------------------------
 
 for c in /etc/glance/glance-api.conf /etc/glance/glance-registry.conf \
-    /etc/neutron/neutron.conf /etc/cinder/cinder.conf ; do
-    openstack-config --set $c keystone_authtoken auth_host $IP
-    openstack-config --set $c keystone_authtoken auth_port 35357
-    openstack-config --set $c keystone_authtoken auth_protocol http
-    openstack-config --set $c keystone_authtoken auth_uri $SERVICE_ENDPOINT
-    openstack-config --set $c keystone_authtoken admin_tenant_name service
+    /etc/neutron/neutron.conf /etc/cinder/cinder.conf \
+    /etc/heat/heat.conf /etc/nova/nova.conf ; do
+    crudini --set $c keystone_authtoken auth_host $IP
+    crudini --set $c keystone_authtoken auth_port 35357
+    crudini --set $c keystone_authtoken auth_protocol http
+    crudini --set $c keystone_authtoken auth_uri $KEYSTONE_PUBLIC_ENDPOINT
+    crudini --set $c keystone_authtoken admin_tenant_name service
+    crudini --set $c keystone_authtoken admin_user '%SERVICE_USER%'
+    crudini --set $c keystone_authtoken admin_password '%SERVICE_PASSWORD%'
 done
 
 #-----------------------------------------
 ## setup glance configuration
 #-----------------------------------------
 
+sed -i "s%sql_connection =.*%sql_connection = $DB://glance:$mpw@$IP/glance%" 
/etc/glance/glance-registry.conf /etc/glance/glance-api.conf # db_sync is 
broken for postgresql
+#sed -i 's%sql_connection =.*%sql_connection = 
sqlite:////var/lib/glance/glance.sqlite%' /etc/glance/glance-registry.conf
+run_as $GLANCE_SYSTEM_USER "glance-manage db_sync"
+
+#-----------------------------------------
+## setup nova configuration
+#-----------------------------------------
+
 # replace default IP in all configuration files
-openstack-config --set /etc/nova/nova.conf DEFAULT sql_connection 
"$DB://nova:$mpw@$IP/nova"
-openstack-config --set /etc/nova/nova.conf DEFAULT glance_api_servers 
"$IP:9292"
-openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_base_url 
"http://$IP:6080/vnc_auto.html";
+crudini --set /etc/nova/nova.conf DEFAULT sql_connection 
"$DB://nova:$mpw@$IP/nova"
+crudini --set /etc/nova/nova.conf DEFAULT glance_api_servers "$IP:9292"
+crudini --set /etc/nova/nova.conf DEFAULT novncproxy_base_url 
"http://$IP:6080/vnc_auto.html";
 # TODO: neutron security group is broken for network shared beetwen
 # multiple tenants https://bugs.launchpad.net/neutron/+bug/1171997
 # we revert to nova one
-openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api nova
-openstack-config --set /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini 
SECURITYGROUP firewall_driver neutron.agent.firewall.NoopFirewallDriver
-# TODO: this needs to be set as a default in openstack-nova package
-#openstack-config --set /etc/nova/nova.conf DEFAULT service_neutron true
+crudini --set /etc/nova/nova.conf DEFAULT security_group_api nova
+crudini --set /etc/nova/nova.conf DEFAULT allow_resize_to_same_host True
 
 extensions_path=$(ls -d /usr/lib*/python*/site-packages/extensions 2> 
/dev/null | head -n 1)
 if [ -n "$extensions_path" ]; then
-    openstack-config --set /etc/nova/nova.conf DEFAULT osapi_extensions_path 
"$extensions_path"
+    crudini --set /etc/nova/nova.conf DEFAULT osapi_extensions_path 
"$extensions_path"
 fi
 
 # configure cinder
-openstack-config --set /etc/cinder/cinder.conf DEFAULT sql_connection 
"$DB://cinder:${mpw}@${IP}/cinder"
-
-# configure tgt for cinder
-if [ -f /etc/tgt/targets.conf ]; then
-    grep -q "include /var/lib/cinder/volumes" /etc/tgt/targets.conf || {
-        echo "include /var/lib/cinder/volumes/*" >> /etc/tgt/targets.conf
-        rctgtd restart
-    }
-fi
+crudini --set /etc/cinder/cinder.conf DEFAULT sql_connection 
"$DB://cinder:${mpw}@${IP}/cinder"
 
 for m in cinder heat nova glance neutron ; do
     sed -i -e 's/%SERVICE_TENANT_NAME%/service/' \
@@ -324,42 +397,6 @@
                /etc/$m/*.ini /etc/$m/$m*.conf
 done
 
-if [ "$DB" = "postgresql" ] ; then
-    DATADIR=/var/lib/pgsql/data
-    if ! grep -q ::/0 $DATADIR/pg_hba.conf ; then
-        sed -i "s/^\(host .*\) ident\(.*\)/\1 md5 \2/" "$DATADIR/pg_hba.conf"
-        sed -i "s/^\(local \)/local horizon all md5 sameuser\n\1/" 
"$DATADIR/pg_hba.conf"
-        # allow remote connections:
-        echo "listen_addresses = '*'" >> $DATADIR/postgresql.conf
-        echo "host all all 0.0.0.0/0 md5  sameuser" >> $DATADIR/pg_hba.conf
-        echo "host all all      ::/0 md5  sameuser" >> $DATADIR/pg_hba.conf
-        if ! rpm -q postgresql | grep -q postgresql-8 ; then
-            sed -i 's/\s*sameuser$//' $DATADIR/pg_hba.conf # adapt config 
syntax to postgresql-9
-        fi
-    fi
-    sudo -u postgres dropdb keystone || true # needed for keystone_data.sh
-    for DBNAME in nova cinder keystone glance horizon heat neutron ; do
-        # use ALTER if CREATE fails: the role probably already exists
-        # in that case
-        sudo -u postgres psql -c "CREATE ROLE $DBNAME PASSWORD '$mpw' LOGIN;" 
|| \
-        sudo -u postgres psql -c "ALTER ROLE $DBNAME PASSWORD '$mpw' LOGIN;"
-        sudo -u postgres createdb -O $DBNAME $DBNAME || true
-    done
-    sudo -u postgres createuser -s root || :
-    start_and_enable_service postgresql
-else
-    echo | mysql -u root || pwquery=-p
-    for DBNAME in nova cinder keystone glance horizon neutron ; do
-        echo "
-        set global character_set_server=latin1;
-        set session character_set_server=latin1;
-        CREATE DATABASE IF NOT EXISTS $DBNAME;
-        GRANT ALL PRIVILEGES ON $DBNAME.* TO '$DBNAME'@localhost IDENTIFIED BY 
'$mpw';
-        GRANT ALL PRIVILEGES ON $DBNAME.* TO '$DBNAME'@'%' IDENTIFIED BY 
'$mpw';
-        " | mysql -u root $pwquery
-    done
-fi
-
 
 run_as $CINDER_SYSTEM_USER "cinder-manage db sync"
 run_as $NOVA_SYSTEM_USER "nova-manage db sync"
@@ -379,17 +416,6 @@
     " | mysql -u root $pwquery
 fi
 
-#run_as $NOVA_SYSTEM_USER "nova-manage network create 10.10.134.32/27 1 32"
-#migrated to neutron
-#run_as $NOVA_SYSTEM_USER "nova-manage network create 
--fixed_range_v4=$testnet --label=testnet"
-
-
-# setup glance
-
-sed -i "s%sql_connection =.*%sql_connection = $DB://glance:$mpw@$IP/glance%" 
/etc/glance/glance-registry.conf /etc/glance/glance-api.conf # db_sync is 
broken for postgresql
-#sed -i 's%sql_connection =.*%sql_connection = 
sqlite:////var/lib/glance/glance.sqlite%' /etc/glance/glance-registry.conf
-run_as $GLANCE_SYSTEM_USER "glance-manage db_sync"
-
 # keystone demo setup, based on devstack.sh
 
 sed -i -e 's/kvs/sql/' -e "s,^.*connection =.*,connection = 
$DB://keystone:$mpw@$IP/keystone," /etc/keystone/keystone.conf
@@ -397,21 +423,21 @@
 
 KEYSTONE_CATALOG=/etc/keystone/default_catalog.templates
 sed -e "s,%SERVICE_HOST%,$SERVICE_HOST,g" -e "s/%S3_SERVICE_PORT%/8080/" 
$KEYSTONE_CATALOG.sample > $KEYSTONE_CATALOG
-openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token 
"$SERVICE_TOKEN"
+crudini --set /etc/keystone/keystone.conf DEFAULT admin_token "$SERVICE_TOKEN"
 
 # Upgrade the database to the latest schema
 run_as $KEYSTONE_SYSTEM_USER "keystone-manage 
--config-file=/etc/keystone/keystone.conf db_sync"
 
 /etc/init.d/openstack-keystone restart
-if [ -z $PREFIX ] ; then
-       keystone_data=/usr/lib/devstack/keystone_data.sh
-else
-       keystone_data=$PREFIX/scripts/keystone_data.sh
+keystone_data=/usr/lib/devstack/keystone_data.sh
+ENABLED_SERVICES="g-api,g-reg,key,n-api,n-cpu,n-net,n-vol,c-api,n-sch,n-novnc,n-xvnc,q-svc,heat,mysql,rabbit"
+if [ "x$with_horizon" = "xyes" ]; then
+    ENABLED_SERVICES+=",horizon"
 fi
-ENABLED_SERVICES="g-api,g-reg,key,n-api,n-cpu,n-net,n-vol,c-api,n-sch,n-novnc,n-xvnc,q-svc,heat,horizon,swift,mysql,rabbit"
 if [ "x$with_tempest" = "xyes" ]; then
     ENABLED_SERVICES+=",tempest"
 fi
+SERVICE_ENDPOINT=$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0
 ADMIN_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=$SERVICE_TOKEN 
SERVICE_ENDPOINT=$SERVICE_ENDPOINT DEVSTACK_DIR=/root 
ENABLED_SERVICES=$ENABLED_SERVICES bash $keystone_data
 
 . /etc/bash.bashrc.local
@@ -426,37 +452,30 @@
     stop_and_disable_service dnsmasq
 fi
 
-# configure NTP, because we need synchronized time between nodes
-grep -q ntp.org /etc/ntp.conf || echo server pool.ntp.org >> /etc/ntp.conf
-
-# change libvirt to run qemu as user qemu
-sed -i -e 's;.*user.*=.*;user = "qemu";' /etc/libvirt/qemu.conf
-if [ -e /dev/kvm ]; then
-    chown root:kvm /dev/kvm
-    chmod 660 /dev/kvm
-fi
-
-#-----------------------------------------
-## setup heat configuration
-#-----------------------------------------
-
-openstack-config --set /etc/heat/heat.conf DEFAULT sql_connection 
$DB://heat:$mpw@$IP/heat
-
 #-----------------------------------------
 ## setup neutron configuration
 #-----------------------------------------
 
-openstack-config --set /etc/neutron/neutron.conf database connection 
$DB://neutron:$mpw@$IP/neutron
-openstack-config --set /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini 
DATABASE sql_connection $DB://neutron:$mpw@$IP/neutron
-openstack-config --set /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini 
LINUX_BRIDGE physical_interface_mappings root-bridge:vefq,physnet1:eth0
-openstack-config --set /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini 
VLANS network_vlan_ranges root-bridge,physnet1
+crudini --set /etc/neutron/neutron.conf database connection 
$DB://neutron:$mpw@$IP/neutron
+crudini --set /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini 
SECURITYGROUP firewall_driver neutron.agent.firewall.NoopFirewallDriver
+crudini --set /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini DATABASE 
sql_connection $DB://neutron:$mpw@$IP/neutron
+crudini --set /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini 
LINUX_BRIDGE physical_interface_mappings root-bridge:vefq,physnet1:eth0
+crudini --set /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini VLANS 
network_vlan_ranges root-bridge,physnet1
 # TODO: should be default openstack-neutron-l3-agent package
-openstack-config --set /etc/neutron/l3_agent.ini DEFAULT 
external_network_bridge ""
+crudini --set /etc/neutron/l3_agent.ini DEFAULT external_network_bridge ""
 ### turnof namespace to allow connecting to VMs from demo admin node (simple 
setup for demo purposes only)
-openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT use_namespaces False
+crudini --set /etc/neutron/dhcp_agent.ini DEFAULT use_namespaces False
 ### start neutron api
 start_and_enable_service rabbitmq-server
-start_and_enable_service openstack-neutron
+
+# Start Keystone and Neutron
+for s in openstack-keystone \
+    openstack-neutron openstack-neutron-linuxbridge-agent 
openstack-neutron-dhcp-agent \
+    openstack-neutron-l3-agent openstack-neutron-metadata-agent
+do
+    start_and_enable_service $s
+done
+
 ### wait until neutron will start
 cnt=0
 while : ; do
@@ -480,6 +499,8 @@
 neutron router-interface-add main fixed
 ## floating/external
 neutron net-create ext --tenant-id $SERVICE_TENANT_ID --provider:network_type 
local --router:external True
+ext_network_id=$(neutron net-list | grep ' ext '  | cut -d' ' -f2)
+ext_router_id=$(neutron router-list | grep $ext_network_id | cut -d' ' -f2)
 neutron subnet-create --name ext --disable-dhcp --tenant-id $SERVICE_TENANT_ID 
ext $floatingnet
 neutron router-gateway-set main ext
 # create four floatingip pools
@@ -496,17 +517,30 @@
 ## end neutron setup configuration
 #---------------------------------------
 
-# start services
-for s in ntp libvirtd $DB iscsitarget open-iscsi tgtd memcached apache2 
openstack-nova-api openstack-nova-conductor openstack-nova-scheduler 
openstack-nova-compute openstack-nova-vncproxy openstack-glance-api 
openstack-glance-registry openstack-keystone openstack-nova-consoleauth 
openstack-novncproxy openstack-neutron-linuxbridge-agent 
openstack-neutron-dhcp-agent openstack-neutron-l3-agent 
openstack-neutron-metadata-agent
+# Start glance and nova
+for s in openstack-glance-api openstack-glance-registry \
+    openstack-nova-api openstack-nova-conductor openstack-nova-scheduler 
openstack-nova-compute openstack-novncproxy \
+    openstack-nova-consoleauth
 do
     start_and_enable_service $s
 done
 
-if [ -z $PREFIX ] ; then
-       openstack_loopback_lvm=/usr/sbin/openstack-loopback-lvm
-else
-       openstack_loopback_lvm=$PREFIX/scripts/openstack-loopback-lvm
-fi
+#-----------------------------------------
+## setup heat configuration
+#-----------------------------------------
+
+crudini --set /etc/heat/heat.conf DEFAULT sql_connection 
$DB://heat:$mpw@$IP/heat
+
+for s in openstack-heat-engine openstack-heat-api-cfn openstack-heat-api; do
+    start_and_enable_service $s
+done
+
+#-----------------------------------------
+## setup loopback LVM configuration
+#-----------------------------------------
+
+
+openstack_loopback_lvm=/usr/sbin/openstack-loopback-lvm
 $openstack_loopback_lvm
 if [ "$?" -ne "0" ]; then
     # setup failed, so do not use
@@ -515,29 +549,34 @@
     done
 else
     grep -q openstack-loopback-lvm /etc/init.d/boot.local || echo 
$openstack_loopback_lvm >> /etc/init.d/boot.local
-    start_and_enable_service openstack-cinder-api
-    start_and_enable_service openstack-cinder-scheduler
     start_and_enable_service openstack-cinder-volume
+    start_and_enable_service openstack-cinder-scheduler
+    start_and_enable_service openstack-cinder-api
 fi
 
-for user in demo admin ; do
-    setcreds $user $pw
-    nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 # to allow ping
-    nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 # to allow only SSH or 
do
-    nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0 # to allow all TCP
-    nova secgroup-add-rule default udp 1 65535 0.0.0.0/0 # and all UDP
-    nova secgroup-list-rules default # lists the rules
-done
+setcreds admin $pw
+nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 # to allow ping
+nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 # to allow only SSH or do
+nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0 # to allow all TCP
+nova secgroup-add-rule default udp 1 65535 0.0.0.0/0 # and all UDP
+nova secgroup-list-rules default # lists the rules
 
 
 #-----------------------------------------
 # setup tempest configuration
 #-----------------------------------------
 
-if [ "x$with_tempest" = "xyes" ]; then
-    openstack-config --set /etc/tempest/tempest.conf  identity uri 
$SERVICE_ENDPOINT
-    openstack-config --set /etc/tempest/tempest.conf  identity admin_username 
admin
-    openstack-config --set /etc/tempest/tempest.conf  identity admin_password 
$pw
-    openstack-config --set /etc/tempest/tempest.conf  identity alt_password $pw
-    openstack-config --set /etc/tempest/tempest.conf  identity password $pw
+if [ "x$with_tempest" = "xyes" -a -e /etc/tempest/tempest.conf ]; then
+    crudini --set /etc/tempest/tempest.conf identity uri 
$KEYSTONE_PUBLIC_ENDPOINT
+    crudini --set /etc/tempest/tempest.conf identity uri_v3 
$KEYSTONE_PUBLIC_ENDPOINT_V3
+    crudini --set /etc/tempest/tempest.conf identity admin_username admin
+    crudini --set /etc/tempest/tempest.conf identity admin_password $pw
+    crudini --set /etc/tempest/tempest.conf identity alt_password $pw
+    crudini --set /etc/tempest/tempest.conf identity password $pw
+    crudini --set /etc/tempest/tempest.conf network public_network_id 
$ext_network_id
+    crudini --set /etc/tempest/tempest.conf network public_router_id 
$ext_router_id
+    crudini --set /etc/tempest/tempest.conf service_available neutron True
+    crudini --set /etc/tempest/tempest.conf service_available swift False
+    crudini --set /etc/tempest/tempest.conf stress max_instances 2
+    crudini --set /etc/tempest/tempest.conf service_available horizon 
$with_horizon
 fi

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to