README.md uses nova SimpleScheduler which doesn't exist

Bug #1453186 reported by Accela Zhao
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
devstack
Fix Released
Undecided
Accela Zhao

Bug Description

Using devstack stable/kilo to install multi-node cluster. The [Multi-Note Setup](https://github.com/openstack-dev/devstack/tree/stable/kilo#multi-node-setup) guides user to use

```
SCHEDULER=nova.scheduler.simple.SimpleScheduler
```

However, nova.scheduler.simple.SimpleScheduler doesn't actually exist. See [nova schedulers](https://github.com/openstack/nova/tree/stable/kilo/nova/scheduler). Even though this is just an example, it is misleading enough for beginners to put non-existing SimpleScheduler into local.conf. This results in below error in /opt/stack/logs/screen/screen-n-sch.log

```
/usr/local/bin/nova-scheduler --config-file /etc/nova/nova.conf
2015-05-08 00:44:04.648 4677 DEBUG nova.servicegroup.api [-] ServiceGroup driver defined as an instance of db __init__ /opt/stack/nova/nova/servicegroup/api.py:68
2015-05-08 00:44:04.863 4677 INFO nova.openstack.common.periodic_task [-] Skipping periodic task _periodic_update_dns because its interval is negative
2015-05-08 00:44:04.890 4677 CRITICAL nova [-] ImportError: No module named simple
2015-05-08 00:44:04.890 4677 TRACE nova Traceback (most recent call last):
2015-05-08 00:44:04.890 4677 TRACE nova File "/usr/local/bin/nova-scheduler", line 10, in <module>
2015-05-08 00:44:04.890 4677 TRACE nova sys.exit(main())
2015-05-08 00:44:04.890 4677 TRACE nova File "/opt/stack/nova/nova/cmd/scheduler.py", line 44, in main
2015-05-08 00:44:04.890 4677 TRACE nova topic=CONF.scheduler_topic)
2015-05-08 00:44:04.890 4677 TRACE nova File "/opt/stack/nova/nova/service.py", line 277, in create
2015-05-08 00:44:04.890 4677 TRACE nova db_allowed=db_allowed)
2015-05-08 00:44:04.890 4677 TRACE nova File "/opt/stack/nova/nova/service.py", line 148, in __init__
2015-05-08 00:44:04.890 4677 TRACE nova self.manager = manager_class(host=self.host, *args, **kwargs)
2015-05-08 00:44:04.890 4677 TRACE nova File "/opt/stack/nova/nova/scheduler/manager.py", line 63, in __init__
2015-05-08 00:44:04.890 4677 TRACE nova self.driver = importutils.import_object(scheduler_driver)
2015-05-08 00:44:04.890 4677 TRACE nova File "/usr/local/lib/python2.7/dist-packages/oslo_utils/importutils.py", line 38, in import_object
2015-05-08 00:44:04.890 4677 TRACE nova return import_class(import_str)(*args, **kwargs)
2015-05-08 00:44:04.890 4677 TRACE nova File "/usr/local/lib/python2.7/dist-packages/oslo_utils/importutils.py", line 27, in import_class
2015-05-08 00:44:04.890 4677 TRACE nova __import__(mod_str)
2015-05-08 00:44:04.890 4677 TRACE nova ImportError: No module named simple
2015-05-08 00:44:04.890 4677 TRACE nova
n-sch failed to start
```

Revision history for this message
Accela Zhao (accelazh) wrote :

I'm using below local.conf

[[local|localrc]]
GIT_BASE=${GIT_BASE:-https://git.openstack.org}

ADMIN_PASSWORD=secrete
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=secrete
RECLONE=no

FIXED_RANGE=192.168.120.0/24
NETWORK_GATEWAY=192.168.120.1
FLOATING_RANGE=10.13.182.224/27
PUBLIC_NETWORK_GATEWAY=10.13.182.225
HOST_IP=10.13.182.120

# misc
API_RATE_LIMIT=False
LIBS_FROM_GIT=python-openstackclient

# log
DEBUG=True
VERBOSE=True
DEST=/opt/stack
LOGFILE=$DEST/logs/stack.sh.log
SCREEN_LOGDIR=$DEST/logs/screen

SYSLOG=False
LOG_COLOR=False
LOGDAYS=7

# enable pre-requisites
enable_service rabbit
enable_service mysql
enable_service key

# keystone
KEYSTONE_CATALOG_BACKEND=sql

# enable ceph
enable_service ceph
CEPH_LOOPBACK_DISK_SIZE=10G
CEPH_CONF=/etc/ceph/ceph.conf
CEPH_REPLICAS=3
GLANCE_CEPH_USER=glance
GLANCE_CEPH_POOL=glance
CINDER_DRIVER=ceph
CINDER_CEPH_USER=cinder
CINDER_CEPH_POOL=cinder
CINDER_CEPH_UUID=65B06887-B0EA-427F-B8BD-829AC2E18FF6
CINDER_BAK_CEPH_POOL=cinder_bak
CINDER_BAK_CEPH_USER=cind_bak
CINDER_ENABLED_BACKENDS=ceph,lvm
NOVA_CEPH_POOL=nova

# adjust scheduler to balance VMs
SCHEDULER=nova.scheduler.simple.SimpleScheduler

# disable nova compute on controller node
disable_service n-cpu

# enable swift
enable_service s-proxy
SWIFT_HASH=E75834B828A54832B8AF2294FD8F5C5D
SWIFT_REPLICAS=3
SWIFT_DATA_DIR=$DEST/data/swift

# cinder
enable_service cinder
enable_service c-api
enable_service c-vol
enable_service c-sch
enable_service c-bak

VOLUME_GROUP="stack-volumes"
VOLUME_NAME_PREFIX="volume-"
VOLUME_BACKING_FILE_SIZE=10250M

# enable neutron
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-fwaas
enable_service q-lbaas
#enable_service q-vpn
enable_service neutron

# VLAN configuration
Q_PLUGIN=ml2
ENABLE_TENANT_VLANS=True

# GRE tunnel configuration
Q_PLUGIN=ml2
ENABLE_TENANT_TUNNELS=True

# VXLAN tunnel configuration
Q_PLUGIN=ml2
Q_ML2_TENANT_NETWORK_TYPE=vxlan

# enable ceilometer
enable_service ceilometer-acentral
enable_service ceilometer-collector
enable_service ceilometer-alarm-singleton
enable_service ceilometer-alarm-notifier
enable_service ceilometer-alarm-evaluator
enable_service ceilometer-api
CEILOMETER_BACKEND=mongodb

# enable heat
enable_service heat
enable_service h-api
enable_service h-api-cfn
enable_service h-api-cw
enable_service h-eng

# enable horizon
enable_service horizon

# enable tempest
enable_service tempest

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to devstack (master)

Fix proposed to branch: master
Review: https://review.openstack.org/181465

Changed in devstack:
assignee: nobody → Accela Zhao (accelazh)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to devstack (master)

Reviewed: https://review.openstack.org/181465
Committed: https://git.openstack.org/cgit/openstack-dev/devstack/commit/?id=ad0a518ca92f86a9f1361d717413f8d1d65d2994
Submitter: Jenkins
Branch: master

commit ad0a518ca92f86a9f1361d717413f8d1d65d2994
Author: Accela Zhao <email address hidden>
Date: Fri May 8 23:55:31 2015 +0800

    Use an actual existing nova scheduler in README.md

    The Multi-Node Setup guide in README.md

        https://github.com/openstack-dev/devstack/tree/master#multi-node-setup

    guides users to use

        SCHEDULER=nova.scheduler.simple.SimpleScheduler

    where the SimpleScheduler doesn't actually exist in nova. Even
    though this is just an example, it is misleading enough for a
    beginner to put SimpleScheduler into local.conf. The resulting
    error message where n-sch fails to start

        ImportError: No module named simple

    Isn't intuitive enough and may takes the beginner long time to
    locate what's wrong.

    This patch replaces SimpleScheduler with a real existing
    FilterScheduler in nova.

    Change-Id: I14a2a5c0604ce08a498accfc3a795c1c9aa3e642
    Closes-bug: #1453186

Changed in devstack:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.