Browse code

initial devstack + essex

* update horizon apache config
* updates apts for horizon
* better logging for horizon
* keystone conf settings
* only add swift endpoint if it is enabled
* new nova paste

Change-Id: I1edacbe5d8adc4bd5265d36abcaf01ce5490aefd

Jesse Andrews authored on 2011/11/24 03:10:53
Showing 13 changed files
... ...
@@ -1,6 +1,6 @@
1 1
 #!/usr/bin/env bash
2 2
 
3
-# we will use the ``euca2ools`` cli tool that wraps the python boto 
3
+# we will use the ``euca2ools`` cli tool that wraps the python boto
4 4
 # library to test ec2 compatibility
5 5
 #
6 6
 
... ...
@@ -22,7 +22,7 @@ source ./openrc
22 22
 popd
23 23
 
24 24
 # find a machine image to boot
25
-IMAGE=`euca-describe-images | grep machine | cut -f2`
25
+IMAGE=`euca-describe-images | grep machine | cut -f2 | head -n1`
26 26
 
27 27
 # launch it
28 28
 INSTANCE=`euca-run-instances $IMAGE | grep INSTANCE | cut -f2`
... ...
@@ -6,7 +6,7 @@
6 6
     WSGIProcessGroup horizon
7 7
 
8 8
     DocumentRoot %HORIZON_DIR%/.blackhole/
9
-    Alias /media %HORIZON_DIR%/openstack-dashboard/media
9
+    Alias /media %HORIZON_DIR%/openstack-dashboard/dashboard/static
10 10
     Alias /vpn /opt/stack/vpn
11 11
 
12 12
     <Directory />
... ...
@@ -13,3 +13,8 @@ pylint
13 13
 pep8
14 14
 python-eventlet
15 15
 python-nose
16
+python-sphinx
17
+python-mox
18
+python-kombu
19
+python-coverage
20
+python-cherrypy3 # why?
16 21
new file mode 100644
... ...
@@ -0,0 +1 @@
0
+python-numpy
0 1
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-python-numpy
... ...
@@ -12,23 +12,13 @@ DATABASES = {
12 12
     'default': {
13 13
         'ENGINE': 'django.db.backends.sqlite3',
14 14
         'NAME': os.path.join(LOCAL_PATH, 'dashboard_openstack.sqlite3'),
15
+        'TEST_NAME': os.path.join(LOCAL_PATH, 'test.sqlite3'),
15 16
     },
16 17
 }
17 18
 
19
+# The default values for these two settings seem to cause issues with apache
18 20
 CACHE_BACKEND = 'dummy://'
19
-
20
-# Add apps to horizon installation.
21
-INSTALLED_APPS = (
22
-    'dashboard',
23
-    'django.contrib.contenttypes',
24
-    'django.contrib.sessions',
25
-    'django.contrib.messages',
26
-    'django.contrib.staticfiles',
27
-    'django_openstack',
28
-    'django_openstack.templatetags',
29
-    'mailer',
30
-)
31
-
21
+SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
32 22
 
33 23
 # Send email to the console by default
34 24
 EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
... ...
@@ -44,32 +34,40 @@ MAILER_EMAIL_BACKEND = EMAIL_BACKEND
44 44
 # EMAIL_HOST_USER = 'djangomail'
45 45
 # EMAIL_HOST_PASSWORD = 'top-secret!'
46 46
 
47
-# FIXME: This needs to be changed to allow for multi-node setup.
48
-OPENSTACK_KEYSTONE_URL = "http://localhost:5000/v2.0/"
49
-OPENSTACK_KEYSTONE_ADMIN_URL = "http://localhost:35357/v2.0"
47
+HORIZON_CONFIG = {
48
+    'dashboards': ('nova', 'syspanel', 'settings',),
49
+    'default_dashboard': 'nova',
50
+    'user_home': 'dashboard.views.user_home',
51
+}
52
+
53
+OPENSTACK_HOST = "127.0.0.1"
54
+OPENSTACK_KEYSTONE_URL = "http://%s:5000/v2.0" % OPENSTACK_HOST
55
+# FIXME: this is only needed until keystone fixes its GET /tenants call
56
+# so that it doesn't return everything for admins
57
+OPENSTACK_KEYSTONE_ADMIN_URL = "http://%s:35357/v2.0" % OPENSTACK_HOST
50 58
 OPENSTACK_KEYSTONE_DEFAULT_ROLE = "Member"
51 59
 
52
-# NOTE(tres): Available services should come from the service
53
-#             catalog in Keystone.
54
-SWIFT_ENABLED = False
60
+SWIFT_PAGINATE_LIMIT = 100
55 61
 
56 62
 # Configure quantum connection details for networking
57 63
 QUANTUM_ENABLED = False
58
-QUANTUM_URL = '127.0.0.1'
64
+QUANTUM_URL = '%s'  % OPENSTACK_HOST
59 65
 QUANTUM_PORT = '9696'
60 66
 QUANTUM_TENANT = '1234'
61 67
 QUANTUM_CLIENT_VERSION='0.1'
62 68
 
63
-# No monitoring links currently
64
-EXTERNAL_MONITORING = []
69
+# If you have external monitoring links, eg:
70
+# EXTERNAL_MONITORING = [
71
+#     ['Nagios','http://foo.com'],
72
+#     ['Ganglia','http://bar.com'],
73
+# ]
65 74
 
66
-# Uncomment the following segment to silence most logging
67
-# django.db and boto DEBUG logging is extremely verbose.
68 75
 #LOGGING = {
69 76
 #        'version': 1,
70
-#        # set to True will disable all logging except that specified, unless
71
-#        # nothing is specified except that django.db.backends will still log,
72
-#        # even when set to True, so disable explicitly
77
+#        # When set to True this will disable all logging except
78
+#        # for loggers specified in this configuration dictionary. Note that
79
+#        # if nothing is specified here and disable_existing_loggers is True,
80
+#        # django.db.backends will still log unless it is disabled explicitly.
73 81
 #        'disable_existing_loggers': False,
74 82
 #        'handlers': {
75 83
 #            'null': {
... ...
@@ -77,20 +75,34 @@ EXTERNAL_MONITORING = []
77 77
 #                'class': 'django.utils.log.NullHandler',
78 78
 #                },
79 79
 #            'console': {
80
-#                'level': 'DEBUG',
80
+#                # Set the level to "DEBUG" for verbose output logging.
81
+#                'level': 'INFO',
81 82
 #                'class': 'logging.StreamHandler',
82 83
 #                },
83 84
 #            },
84 85
 #        'loggers': {
85
-#            # Comment or Uncomment these to turn on/off logging output
86
+#            # Logging from django.db.backends is VERY verbose, send to null
87
+#            # by default.
86 88
 #            'django.db.backends': {
87 89
 #                'handlers': ['null'],
88 90
 #                'propagate': False,
89 91
 #                },
90
-#            'django_openstack': {
91
-#                'handlers': ['null'],
92
+#            'horizon': {
93
+#                'handlers': ['console'],
92 94
 #                'propagate': False,
93 95
 #            },
96
+#            'novaclient': {
97
+#                'handlers': ['console'],
98
+#                'propagate': False,
99
+#            },
100
+#            'keystoneclient': {
101
+#                'handlers': ['console'],
102
+#                'propagate': False,
103
+#            },
104
+#            'nose.plugins.manager': {
105
+#                'handlers': ['console'],
106
+#                'propagate': False,
107
+#            }
94 108
 #        }
95 109
 #}
96 110
 
... ...
@@ -25,6 +25,9 @@ service-header-mappings = {
25 25
 	'swift' : 'X-Storage-Url',
26 26
 	'cdn' : 'X-CDN-Management-Url'}
27 27
 
28
+#List of extensions currently supported
29
+extensions= osksadm,oskscatalog
30
+
28 31
 # Address to bind the API server
29 32
 # TODO Properties defined within app not available via pipeline.
30 33
 service_host = 0.0.0.0
... ...
@@ -32,23 +35,47 @@ service_host = 0.0.0.0
32 32
 # Port the bind the API server to
33 33
 service_port = 5000
34 34
 
35
+# SSL for API server
36
+service_ssl = False
37
+
35 38
 # Address to bind the Admin API server
36 39
 admin_host = 0.0.0.0
37 40
 
38 41
 # Port the bind the Admin API server to
39 42
 admin_port = 35357
40 43
 
44
+# SSL for API Admin server
45
+admin_ssl = False
46
+
47
+# Keystone certificate file (modify as needed)
48
+# Only required if *_ssl is set to True
49
+certfile = /etc/keystone/ssl/certs/keystone.pem
50
+
51
+# Keystone private key file (modify as needed)
52
+# Only required if *_ssl is set to True
53
+keyfile = /etc/keystone/ssl/private/keystonekey.pem
54
+
55
+# Keystone trusted CA certificates  (modify as needed)
56
+# Only required if *_ssl is set to True
57
+ca_certs = /etc/keystone/ssl/certs/ca.pem
58
+
59
+# Client certificate required
60
+# Only relevant if *_ssl is set to True
61
+cert_required = True
62
+
41 63
 #Role that allows to perform admin operations.
42
-keystone-admin-role = KeystoneAdmin
64
+keystone-admin-role = Admin
43 65
 
44 66
 #Role that allows to perform service admin operations.
45 67
 keystone-service-admin-role = KeystoneServiceAdmin
46 68
 
69
+#Tells whether password user need to be hashed in the backend
70
+hash-password = True
71
+
47 72
 [keystone.backends.sqlalchemy]
48 73
 # SQLAlchemy connection string for the reference implementation registry
49 74
 # server. Any valid SQLAlchemy connection string is fine.
50 75
 # See: http://bit.ly/ideIpI
51
-#sql_connection = sqlite:///keystone.db
52 76
 sql_connection = %SQL_CONN%
53 77
 backend_entities = ['UserRoleAssociation', 'Endpoints', 'Role', 'Tenant',
54 78
                     'User', 'Credentials', 'EndpointTemplates', 'Token',
... ...
@@ -60,12 +87,12 @@ sql_idle_timeout = 30
60 60
 
61 61
 [pipeline:admin]
62 62
 pipeline =
63
-	urlrewritefilter
64
-	admin_api
63
+    urlrewritefilter
64
+    admin_api
65 65
 
66 66
 [pipeline:keystone-legacy-auth]
67 67
 pipeline =
68
-	urlrewritefilter
68
+    urlrewritefilter
69 69
     legacy_auth
70 70
     RAX-KEY-extension
71 71
     service_api
... ...
@@ -84,3 +111,6 @@ paste.filter_factory = keystone.frontends.legacy_token_auth:filter_factory
84 84
 
85 85
 [filter:RAX-KEY-extension]
86 86
 paste.filter_factory = keystone.contrib.extensions.service.raxkey.frontend:filter_factory
87
+
88
+[filter:debug]
89
+paste.filter_factory = keystone.common.wsgi:debug_filter_factory
... ...
@@ -30,13 +30,17 @@ $BIN_DIR/keystone-manage $* role grant KeystoneServiceAdmin admin
30 30
 $BIN_DIR/keystone-manage $* service add nova compute "Nova Compute Service"
31 31
 $BIN_DIR/keystone-manage $* service add glance image "Glance Image Service"
32 32
 $BIN_DIR/keystone-manage $* service add keystone identity "Keystone Identity Service"
33
-$BIN_DIR/keystone-manage $* service add swift object-store "Swift Service"
33
+if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
34
+    $BIN_DIR/keystone-manage $* service add swift object-store "Swift Service"
35
+fi
34 36
 
35 37
 #endpointTemplates
36 38
 $BIN_DIR/keystone-manage $* endpointTemplates add RegionOne nova http://%HOST_IP%:8774/v1.1/%tenant_id% http://%HOST_IP%:8774/v1.1/%tenant_id%  http://%HOST_IP%:8774/v1.1/%tenant_id% 1 1
37 39
 $BIN_DIR/keystone-manage $* endpointTemplates add RegionOne glance http://%HOST_IP%:9292/v1.1/%tenant_id% http://%HOST_IP%:9292/v1.1/%tenant_id% http://%HOST_IP%:9292/v1.1/%tenant_id% 1 1
38 40
 $BIN_DIR/keystone-manage $* endpointTemplates add RegionOne keystone http://%HOST_IP%:5000/v2.0 http://%HOST_IP%:35357/v2.0 http://%HOST_IP%:5000/v2.0 1 1
39
-$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne swift http://%HOST_IP%:8080/v1/AUTH_%tenant_id% http://%HOST_IP%:8080/ http://%HOST_IP%:8080/v1/AUTH_%tenant_id% 1 1
41
+if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
42
+    $BIN_DIR/keystone-manage $* endpointTemplates add RegionOne swift http://%HOST_IP%:8080/v1/AUTH_%tenant_id% http://%HOST_IP%:8080/ http://%HOST_IP%:8080/v1/AUTH_%tenant_id% 1 1
43
+fi
40 44
 
41 45
 # Tokens
42 46
 $BIN_DIR/keystone-manage $* token add %SERVICE_TOKEN% admin admin 2015-02-05T00:00
... ...
@@ -1,34 +1,54 @@
1
+############
2
+# Metadata #
3
+############
4
+[composite:metadata]
5
+use = egg:Paste#urlmap
6
+/: metaversions
7
+/latest: meta
8
+/2007-01-19: meta
9
+/2007-03-01: meta
10
+/2007-08-29: meta
11
+/2007-10-10: meta
12
+/2007-12-15: meta
13
+/2008-02-01: meta
14
+/2008-09-01: meta
15
+/2009-04-04: meta
16
+
17
+[pipeline:metaversions]
18
+pipeline = ec2faultwrap logrequest metaverapp
19
+
20
+[pipeline:meta]
21
+pipeline = ec2faultwrap logrequest metaapp
22
+
23
+[app:metaverapp]
24
+paste.app_factory = nova.api.metadata.handler:Versions.factory
25
+
26
+[app:metaapp]
27
+paste.app_factory = nova.api.metadata.handler:MetadataRequestHandler.factory
28
+
1 29
 #######
2 30
 # EC2 #
3 31
 #######
4 32
 
5 33
 [composite:ec2]
6 34
 use = egg:Paste#urlmap
7
-/: ec2versions
8 35
 /services/Cloud: ec2cloud
9 36
 /services/Admin: ec2admin
10
-/latest: ec2metadata
11
-/2007-01-19: ec2metadata
12
-/2007-03-01: ec2metadata
13
-/2007-08-29: ec2metadata
14
-/2007-10-10: ec2metadata
15
-/2007-12-15: ec2metadata
16
-/2008-02-01: ec2metadata
17
-/2008-09-01: ec2metadata
18
-/2009-04-04: ec2metadata
19
-/1.0: ec2metadata
20 37
 
21 38
 [pipeline:ec2cloud]
22
-pipeline = logrequest totoken authtoken keystonecontext cloudrequest authorizer ec2executor
39
+pipeline = ec2faultwrap logrequest totoken authtoken keystonecontext cloudrequest authorizer ec2executor
23 40
 
24 41
 [pipeline:ec2admin]
25
-pipeline = logrequest totoken authtoken keystonecontext adminrequest authorizer ec2executor
42
+pipeline = ec2faultwrap logrequest totoken authtoken keystonecontext adminrequest authorizer ec2executor
26 43
 
27 44
 [pipeline:ec2metadata]
28
-pipeline = logrequest ec2md
45
+pipeline = ec2faultwrap logrequest ec2md
29 46
 
30 47
 [pipeline:ec2versions]
31
-pipeline = logrequest ec2ver
48
+pipeline = ec2faultwrap logrequest ec2ver
49
+
50
+[filter:ec2faultwrap]
51
+paste.filter_factory = nova.api.ec2:FaultWrapper.factory
32 52
 
33 53
 [filter:logrequest]
34 54
 paste.filter_factory = nova.api.ec2:RequestLogging.factory
... ...
@@ -59,54 +79,45 @@ paste.filter_factory = nova.api.ec2:Authorizer.factory
59 59
 [app:ec2executor]
60 60
 paste.app_factory = nova.api.ec2:Executor.factory
61 61
 
62
-[app:ec2ver]
63
-paste.app_factory = nova.api.ec2:Versions.factory
64
-
65
-[app:ec2md]
66
-paste.app_factory = nova.api.ec2.metadatarequesthandler:MetadataRequestHandler.factory
67
-
68 62
 #############
69 63
 # Openstack #
70 64
 #############
71 65
 
72 66
 [composite:osapi]
73
-use = egg:Paste#urlmap
67
+use = call:nova.api.openstack.v2.urlmap:urlmap_factory
74 68
 /: osversions
75
-/v1.0: openstackapi10
76
-/v1.1: openstackapi11
69
+/v1.1: openstack_api_v2
70
+/v2: openstack_api_v2
77 71
 
78
-[pipeline:openstackapi10]
79
-pipeline = faultwrap authtoken keystonecontext ratelimit osapiapp10
80
-
81
-[pipeline:openstackapi11]
82
-pipeline = faultwrap authtoken keystonecontext ratelimit extensions osapiapp11
72
+[pipeline:openstack_api_v2]
73
+pipeline = faultwrap authtoken keystonecontext ratelimit serialize extensions osapi_app_v2
83 74
 
84 75
 [filter:faultwrap]
85
-paste.filter_factory = nova.api.openstack:FaultWrapper.factory
76
+paste.filter_factory = nova.api.openstack.v2:FaultWrapper.factory
86 77
 
87 78
 [filter:auth]
88
-paste.filter_factory = nova.api.openstack.auth:AuthMiddleware.factory
79
+paste.filter_factory = nova.api.openstack.v2.auth:AuthMiddleware.factory
89 80
 
90 81
 [filter:noauth]
91
-paste.filter_factory = nova.api.openstack.auth:NoAuthMiddleware.factory
82
+paste.filter_factory = nova.api.openstack.v2.auth:NoAuthMiddleware.factory
92 83
 
93 84
 [filter:ratelimit]
94
-paste.filter_factory = nova.api.openstack.limits:RateLimitingMiddleware.factory
85
+paste.filter_factory = nova.api.openstack.v2.limits:RateLimitingMiddleware.factory
95 86
 
96
-[filter:extensions]
97
-paste.filter_factory = nova.api.openstack.extensions:ExtensionMiddleware.factory
87
+[filter:serialize]
88
+paste.filter_factory = nova.api.openstack.wsgi:LazySerializationMiddleware.factory
98 89
 
99
-[app:osapiapp10]
100
-paste.app_factory = nova.api.openstack:APIRouterV10.factory
90
+[filter:extensions]
91
+paste.filter_factory = nova.api.openstack.v2.extensions:ExtensionMiddleware.factory
101 92
 
102
-[app:osapiapp11]
103
-paste.app_factory = nova.api.openstack:APIRouterV11.factory
93
+[app:osapi_app_v2]
94
+paste.app_factory = nova.api.openstack.v2:APIRouter.factory
104 95
 
105 96
 [pipeline:osversions]
106 97
 pipeline = faultwrap osversionapp
107 98
 
108 99
 [app:osversionapp]
109
-paste.app_factory = nova.api.openstack.versions:Versions.factory
100
+paste.app_factory = nova.api.openstack.v2.versions:Versions.factory
110 101
 
111 102
 ##########
112 103
 # Shared #
... ...
@@ -1,9 +1,15 @@
1 1
 Django==1.3
2
-django-nose==0.1.2
3 2
 django-mailer
3
+django-nose==0.1.2
4
+django-nose-selenium
4 5
 django-registration==0.7
5
-python-cloudfiles
6
+glance==2011.3
7
+pycrypto==2.3
8
+quantum
6 9
 sqlalchemy-migrate
10
+python-cloudfiles
7 11
 
12
+-e git+https://github.com/cloudbuilders/openstackx.git#egg=openstackx
8 13
 -e git+https://github.com/jacobian/openstack.compute.git#egg=openstack
9
-
14
+-e git+https://github.com/rackspace/python-novaclient.git#egg=python-novaclient
15
+-e git+https://github.com/4P/python-keystoneclient.git#egg=python-keystoneclient
... ...
@@ -537,7 +537,7 @@ if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
537 537
     cd $OPENSTACKX_DIR; sudo python setup.py develop
538 538
 fi
539 539
 if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
540
-    cd $HORIZON_DIR/django-openstack; sudo python setup.py develop
540
+    cd $HORIZON_DIR/horizon; sudo python setup.py develop
541 541
     cd $HORIZON_DIR/openstack-dashboard; sudo python setup.py develop
542 542
 fi
543 543
 if [[ "$ENABLED_SERVICES" =~ "quantum" ]]; then
... ...
@@ -618,7 +618,13 @@ if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
618 618
 
619 619
 
620 620
     # ``local_settings.py`` is used to override horizon default settings.
621
-    cp $FILES/horizon_settings.py $HORIZON_DIR/openstack-dashboard/local/local_settings.py
621
+    local_settings=$HORIZON_DIR/openstack-dashboard/local/local_settings.py
622
+    cp $FILES/horizon_settings.py $local_settings
623
+
624
+    # Enable quantum in dashboard, if requested
625
+    if [[ "$ENABLED_SERVICES" =~ "quantum" ]]; then
626
+        sudo sed -e "s,QUANTUM_ENABLED = False,QUANTUM_ENABLED = True,g" -i $local_settings
627
+    fi
622 628
 
623 629
     # Initialize the horizon database (it stores sessions and notices shown to
624 630
     # users).  The user system is external (keystone).
... ...
@@ -934,10 +940,12 @@ add_nova_flag "--vlan_interface=$VLAN_INTERFACE"
934 934
 add_nova_flag "--sql_connection=$BASE_SQL_CONN/nova"
935 935
 add_nova_flag "--libvirt_type=$LIBVIRT_TYPE"
936 936
 if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
937
-    add_nova_flag "--osapi_extensions_path=$OPENSTACKX_DIR/extensions"
937
+    add_nova_flag "--osapi_extension=nova.api.openstack.v2.contrib.standard_extensions"
938
+    add_nova_flag "--osapi_extension=extensions.admin.Admin"
938 939
 fi
939 940
 if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
940
-    add_nova_flag "--vncproxy_url=http://$HOST_IP:6080"
941
+    VNCPROXY_URL=${VNCPROXY_URL:-"http://$HOST_IP:6080"}
942
+    add_nova_flag "--vncproxy_url=$VNCPROXY_URL"
941 943
     add_nova_flag "--vncproxy_wwwroot=$NOVNC_DIR/"
942 944
 fi
943 945
 add_nova_flag "--api_paste_config=$NOVA_DIR/bin/nova-api-paste.ini"
... ...
@@ -1008,7 +1016,7 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
1008 1008
     mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS keystone;'
1009 1009
     mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE keystone;'
1010 1010
 
1011
-    # FIXME (anthony) keystone should use keystone.conf.example
1011
+    # Configure keystone.conf
1012 1012
     KEYSTONE_CONF=$KEYSTONE_DIR/etc/keystone.conf
1013 1013
     cp $FILES/keystone.conf $KEYSTONE_CONF
1014 1014
     sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone,g" -i $KEYSTONE_CONF
... ...
@@ -1021,7 +1029,7 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
1021 1021
     sudo sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $KEYSTONE_DATA
1022 1022
     sudo sed -e "s,%ADMIN_PASSWORD%,$ADMIN_PASSWORD,g" -i $KEYSTONE_DATA
1023 1023
     # initialize keystone with default users/endpoints
1024
-    BIN_DIR=$KEYSTONE_DIR/bin bash $KEYSTONE_DATA
1024
+    ENABLED_SERVICES=$ENABLED_SERVICES BIN_DIR=$KEYSTONE_DIR/bin bash $KEYSTONE_DATA
1025 1025
 fi
1026 1026
 
1027 1027
 
... ...
@@ -1,10 +1,10 @@
1 1
 # compute service
2 2
 NOVA_REPO=https://github.com/openstack/nova.git
3
-NOVA_BRANCH=stable/diablo
3
+NOVA_BRANCH=master
4 4
 
5 5
 # storage service
6 6
 SWIFT_REPO=https://github.com/openstack/swift.git
7
-SWIFT_BRANCH=stable/diablo
7
+SWIFT_BRANCH=master
8 8
 
9 9
 # swift and keystone integration
10 10
 SWIFT_KEYSTONE_REPO=https://github.com/cloudbuilders/swift-keystone2.git
... ...
@@ -12,7 +12,7 @@ SWIFT_KEYSTONE_BRANCH=master
12 12
 
13 13
 # image catalog service
14 14
 GLANCE_REPO=https://github.com/openstack/glance.git
15
-GLANCE_BRANCH=stable/diablo
15
+GLANCE_BRANCH=master
16 16
 
17 17
 # unified auth system (manages accounts/tokens)
18 18
 KEYSTONE_REPO=https://github.com/openstack/keystone.git
... ...
@@ -20,11 +20,11 @@ KEYSTONE_BRANCH=stable/diablo
20 20
 
21 21
 # a websockets/html5 or flash powered VNC console for vm instances
22 22
 NOVNC_REPO=https://github.com/cloudbuilders/noVNC.git
23
-NOVNC_BRANCH=diablo
23
+NOVNC_BRANCH=master
24 24
 
25 25
 # django powered web control panel for openstack
26 26
 HORIZON_REPO=https://github.com/openstack/horizon.git
27
-HORIZON_BRANCH=stable/diablo
27
+HORIZON_BRANCH=master
28 28
 
29 29
 # python client library to nova that horizon (and others) use
30 30
 NOVACLIENT_REPO=https://github.com/openstack/python-novaclient.git
... ...
@@ -33,11 +33,11 @@ NOVACLIENT_BRANCH=master
33 33
 # openstackx is a collection of extensions to openstack.compute & nova
34 34
 # that is *deprecated*.  The code is being moved into python-novaclient & nova.
35 35
 OPENSTACKX_REPO=https://github.com/cloudbuilders/openstackx.git
36
-OPENSTACKX_BRANCH=diablo
36
+OPENSTACKX_BRANCH=master
37 37
 
38 38
 # quantum service
39 39
 QUANTUM_REPO=https://github.com/openstack/quantum
40
-QUANTUM_BRANCH=stable/diablo
40
+QUANTUM_BRANCH=master
41 41
 
42 42
 # CI test suite
43 43
 CITEST_REPO=https://github.com/openstack/openstack-integration-tests.git
... ...
@@ -10,6 +10,7 @@ TOP_DIR=`cd $TOOLS_DIR/..; pwd`
10 10
 
11 11
 # exit on error to stop unexpected errors
12 12
 set -o errexit
13
+set -o xtrace
13 14
 
14 15
 usage() {
15 16
     echo "Usage: $0 - Fetch and prepare Ubuntu images"