[MultiZones] Parent zone do not run up instance on child zone

Asked by Hugo Kou

Hello , Guys. This is Hugo Kuo

I'm Trying to implement MultiZones feature for fault zone policy. There're some issues.

My Test Environment:

        Zone1 : All-in-One Nova
        Zone2 : All-in-One Nova
        Zone1 is parent zone.

I try to run up over 10 instances on zone1 , but no one is been start up on zone2.
Once Zone1 is out of compute resource . Can not run up any instance.

===nova.conf===
##Scheduleri##
--allow_admin_api=true
--enable_zone_routing=true
--zone_name=zone1
--scheduler_driver=nova.scheduler.zone.ZoneScheduler
--node_availability_zone=zone1

===nova zone-info===
+-------------------+----------------------+
| Property | Value |
+-------------------+----------------------+
| hypervisor | xenserver;kvm |
| name | zone1 |
| os | linux;windows |
+-------------------+----------------------+

===nova zone-list===

| ID | Name | Is Active | Capabilities | API URL |
| 4 | zone1 | True | hypervisor=xenserver;kvm, os=linux;windows | http://172.16.4.176:8774/v1.0/ |
| 5 | zone2 | True | hypervisor=xenserver;kvm, os=linux;windows | http://172.16.4.184:8774/v1.0/ |
==============

As the form , Zone2 is already the child zone of zone1. Did I lost anything else ?

Any suggestion would be great.......

Cheers
Hugo Kuo

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Solved by:
Sandy Walsh
Solved:
Last query:
Last reply:
Revision history for this message
Sandy Walsh (sandy-walsh) said :
#1

Hi Hugo,

Seems we're the victim of confusing naming.

There are Availability zones (logical partitioning of services in a single Nova deployment (an EC2 concept) and Zones, which is the sharding of Nova deployments (each deployment stands on its own).

While you have your Zones configured correctly, you are using the availability zone Scheduler, which doesn't understand the sharding concepts of Zones.

You need to use a Scheduler based on ZoneAwareScheduler (such as the trivial nova.scheduler.host_filter.HostFilterScheduler) to span instances across Zones.

Similarly you won't need the --node_availability_zone flag since you won't be using availability zones.

Please let me know if this helps!

-S

Revision history for this message
Hugo Kou (tonytkdk) said :
#2

Thanks Sandy W.
It's more clear of availability zone in my mind.
Actually , I tried nova.scheduler.host_filter.HostFilterScheduler , but failed to start nova-scheduler service.
follow this doc : http://nova.openstack.org/devref/distributed_scheduler.html?highlight=zones

Error here : http://pastebin.com/q98AZaY7
==================================
NotFound: Class HostFilterScheduler cannot be found
==================================

While I configure the nova.conf of scheduler as follow...
##Scheduleri##
--allow_admin_api=true
--enable_zone_routing=true
--zone_name=zone1
--scheduler_driver=nova.scheduler.host_filter.HostFilterScheduler
--default_host_filter=nova.scheduler.host_filter.AllHostsFilter
#--node_availability_zone=zone1

Q1. Did I lost any additional module ? I'm using Cactus Release this time , on Ubuntu Natty Server b64

Q2. I mentioned the "#nova zone-list" output of my condition is different from the doc : http://nova.openstack.org/devref/zone.html?highlight=zones
My Nova has only "name" "hypervisor" "os" three keys..... lack of other info as the sheet below.
Is that configured by flag "–zone_capabilities" with other key ? but how could admin to fix compute resources, it should report by scheduler , am I right ???

+-----------------+---------------+
| Property | Value |
+-----------------+---------------+
| compute_cpu | 0.7,0.7 |
| compute_disk | 123000,123000 |
| compute_network | 800,800 |
| hypervisor | xenserver |
| name | nova |
| network_cpu | 0.7,0.7 |
| network_disk | 123000,123000 |
| network_network | 800,800 |
| os | linux |
+-----------------+---------------+

Revision history for this message
Hugo Kou (tonytkdk) said :
#3

I guess HostsFilter module is not implement with Cactus......After Checking the developer documentation, seems no result of searching in nova v2011.2 documentation.

If there's a misunderstanding , sorry about that .... :>

Revision history for this message
Best Sandy Walsh (sandy-walsh) said :
#4

Sorry, I should have mentioned ... yes, you'll need Nova trunk to get this functionality (it came in with dist-sched-3 branch) ... and we're still working on the dist-sched-4 branch to make it in.

Try 'nova zone-info' to see capabilities for the local zone.

Hope it helps!

-S

Revision history for this message
Hugo Kou (tonytkdk) said :
#5

Thanks Sandy Walsh, that solved my question.

Revision history for this message
Hugo Kou (tonytkdk) said :
#6

Thanks for ur help

Cheers
Hugo Kuo

Revision history for this message
Sandy Walsh (sandy-walsh) said :
#7

np ... let me know if I can help any more!
-S