[Openstack] Question regarding who the nova database is updated

2012-08-28 Thread Heng Xu
Hi folks:
I was trying to add a new column to the Nova database table compute_nodes. 
however, I was not sure of how it is updated periodically, all I know is that 
comsume_from_instance() function in host_manager.py update the memory, then I 
was not able to find how nova subsequently update the compute_nodes table in 
the database. Any help will be appreciated, please let me know the exact 
location (file, function, etc.) and how I can mimc that to modify my own new 
field in the compute_nodes table. Thanks in advance.

Heng

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


[Openstack] Experimenting with additional field for JSON filter

2012-08-13 Thread Heng Xu
Hello my friends,

I was trying to experiment with some of the scheduler’s functionality, as a 
mock-up, I was trying to augment the JSON filter’s functionality, JSON filter 
can filter anything in HostState class’s member fields, and I was trying to get 
the ID of a compute node, as in the compute_nodes table in the database, I added

self.currentid = 0

in __init__ method in HostState class, and added

databaseid = compute[‘id’]
self.currentid = databaseid

in update_from_compute_node method in HostState class, then in the hope that I 
can specify an id when pass a hint to JSON filter

nova boot –image 827d564a-e636-4fc4-a376-d36f7ebe1747 –flavor 1 –hint 
query=’[“=”,”$currentid”,1]’ server1

however, it always gives me an error on scheduling, I guess the scheduler could 
not find a compute node with id 1, but I just could not figure out, what is 
missing. Any thought and help is greatly appreciated.
Thanks
Heng
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Cannot pass hint to Nova Scheduler

2012-08-04 Thread Heng Xu
But I tried a few things in HostState class, I ran into error, because I could 
not monitor the stats in hoststates class as opposed to a database, is there a 
way to check the stats in HostState class as exists in memory?
Thank you.
Heng

From: Jay Pipes [jaypi...@gmail.com]
Sent: Friday, August 03, 2012 4:38 PM
To: Heng Xu
Cc: openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

On 08/03/2012 09:28 AM, Heng Xu wrote:
 Another questions is, I can get all the status of a computing node in the 
 mysql nova database, and select * from compute_node, but now I am using json 
 filter, the only field I have success with now is the free_ram_db, if my hint 
 uses free_disk_gb, then I always get error, but the database is showing my 
 compute node has $free_disk_gb equal 17, so I was wondering, where to find 
 exactly what kind of json field can use in json filter, thanks in advance

The nova.scheduler.host_manager.HostState class is what is checked for
attributes, not the ComputeNode model. So, you need to use
$free_disk_mb, not free_disk_gb.

Best,
-jay



___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Cannot pass hint to Nova Scheduler

2012-08-03 Thread Heng Xu
Thank you guys, my issue is solved for the moment.
Sincerely, Heng


From: openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net 
[openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net] on 
behalf of Jay Pipes [jaypi...@gmail.com]
Sent: Friday, August 03, 2012 12:08 AM
To: openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

Sorry for top-posting, but there's not really a good place to inline
comment.

First, let's tackle logging in devstack...

When using devstack, you noticed that it logs to the screen session by
default. To make devstack ALSO log to a file, put the following in your
localrc:

LOG_COLOR=False
SCREEN_LOGDIR=/opt/stack/logs

And re-run stack.sh. You will now find the various service log files in
/opt/stack/logs.

Second, let's handle the JSON issue...

Nova isn't trying to decode a file. It's trying to JSON-decode the
string you're putting on the command line:

--hint query=['=','$free_ram_mb',1024]

The novaclient is passing the string ['=','$free_ram_mb',1024] to the
jsonutils.loads() function, which is what is failing. You can try
parsing this string yourself and see that the failure is raised the same
as appears in the log:

jpipes@uberbox:~/repos/tempest$ python
Python 2.7.3 (default, Apr 20 2012, 22:39:59)
[GCC 4.6.3] on linux2
Type help, copyright, credits or license for more information.
 import json
 p = json.loads(['=','$free_ram_mb',1024])
Traceback (most recent call last):
  File stdin, line 1, in module
  File /usr/lib/python2.7/json/__init__.py, line 326, in loads
return _default_decoder.decode(s)
  File /usr/lib/python2.7/json/decoder.py, line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File /usr/lib/python2.7/json/decoder.py, line 384, in raw_decode
raise ValueError(No JSON object could be decoded)
ValueError: No JSON object could be decoded

The problem is the string needs to be properly formatted JSON, and
single-quotes are not allowed -- you need to use double-quotes:

 p = json.loads('[=,$free_ram_mb,1024]')
 print p
[u'=', u'$free_ram_mb', 1024]

Try your command like this instead:

nova --debug boot --image 827d564a-e636-4fc4-a376-d36f7ebe1747 --flavor
1 --hint query='[=,$free_ram_mb,1024]' server1

And I think you should be fine, as the following proof shows:

jpipes@uberbox:~/repos/tempest$ echo '[=,$free_ram_mb,1024]' |
python -mjson.tool
[
=,
$free_ram_mb,
1024
]


Best,
-jay


On 08/02/2012 02:09 PM, Heng Xu wrote:
 Hi, attached is the json_filter file I was used, but I it just came with 
 devstack script installation, I did not even modify it.
 Heng
 
 From: Pengjun Pan [panpeng...@gmail.com]
 Sent: Thursday, August 02, 2012 6:07 PM
 To: Heng Xu
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

 Post your filter file. Might be a typo.

 PJ

 On Thu, Aug 2, 2012 at 1:02 PM, Heng Xu
 shouhengzhang...@mail.utoronto.ca wrote:
 Hi, I recorded the error message, below

 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /opt/stack/nova/nova/scheduler/filters/json_filter.py, line 141, in 
 host_passes
 2012-08-02 13:51:02 TRACE nova.rpc.amqp result = 
 self._process_filter(jsonutils.loads(query), host_state)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /opt/stack/nova/nova/openstack/common/jsonutils.py, line 123, in loads
 2012-08-02 13:51:02 TRACE nova.rpc.amqp return json.loads(s)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/__init__.py, line 326, in loads
 2012-08-02 13:51:02 TRACE nova.rpc.amqp return _default_decoder.decode(s)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/decoder.py, line 366, in decode
 2012-08-02 13:51:02 TRACE nova.rpc.amqp obj, end = self.raw_decode(s, 
 idx=_w(s, 0).end())
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/decoder.py, line 384, in raw_decode
 2012-08-02 13:51:02 TRACE nova.rpc.amqp raise ValueError(No JSON object 
 could be decoded)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp ValueError: No JSON object could be 
 decoded
 2012-08-02 13:51:02 TRACE nova.rpc.amqp

 it seems that the filter cannot find my json file, so although I was using 
 the --hint functionality, whatever typed after the hint did not went to the 
 filter host_passed function, so it could not locate the json object, any 
 thoughts?
 Thanks. Heng

 
 From: 
 openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net 
 [openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net] on 
 behalf of Heng Xu [shouhengzhang...@mail.utoronto.ca]
 Sent: Thursday, August 02, 2012 4:47 PM
 To: Pengjun Pan
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

 Hi PJ

 I don't know what happen, I could not find the file in my

Re: [Openstack] Cannot pass hint to Nova Scheduler

2012-08-03 Thread Heng Xu
Another questions is, I can get all the status of a computing node in the mysql 
nova database, and select * from compute_node, but now I am using json filter, 
the only field I have success with now is the free_ram_db, if my hint uses 
free_disk_gb, then I always get error, but the database is showing my compute 
node has $free_disk_gb equal 17, so I was wondering, where to find exactly what 
kind of json field can use in json filter, thanks in advance

Heng

From: openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net 
[openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net] on 
behalf of Heng Xu [shouhengzhang...@mail.utoronto.ca]
Sent: Friday, August 03, 2012 12:08 PM
To: Jay Pipes; openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

Thank you guys, my issue is solved for the moment.
Sincerely, Heng


From: openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net 
[openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net] on 
behalf of Jay Pipes [jaypi...@gmail.com]
Sent: Friday, August 03, 2012 12:08 AM
To: openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

Sorry for top-posting, but there's not really a good place to inline
comment.

First, let's tackle logging in devstack...

When using devstack, you noticed that it logs to the screen session by
default. To make devstack ALSO log to a file, put the following in your
localrc:

LOG_COLOR=False
SCREEN_LOGDIR=/opt/stack/logs

And re-run stack.sh. You will now find the various service log files in
/opt/stack/logs.

Second, let's handle the JSON issue...

Nova isn't trying to decode a file. It's trying to JSON-decode the
string you're putting on the command line:

--hint query=['=','$free_ram_mb',1024]

The novaclient is passing the string ['=','$free_ram_mb',1024] to the
jsonutils.loads() function, which is what is failing. You can try
parsing this string yourself and see that the failure is raised the same
as appears in the log:

jpipes@uberbox:~/repos/tempest$ python
Python 2.7.3 (default, Apr 20 2012, 22:39:59)
[GCC 4.6.3] on linux2
Type help, copyright, credits or license for more information.
 import json
 p = json.loads(['=','$free_ram_mb',1024])
Traceback (most recent call last):
  File stdin, line 1, in module
  File /usr/lib/python2.7/json/__init__.py, line 326, in loads
return _default_decoder.decode(s)
  File /usr/lib/python2.7/json/decoder.py, line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File /usr/lib/python2.7/json/decoder.py, line 384, in raw_decode
raise ValueError(No JSON object could be decoded)
ValueError: No JSON object could be decoded

The problem is the string needs to be properly formatted JSON, and
single-quotes are not allowed -- you need to use double-quotes:

 p = json.loads('[=,$free_ram_mb,1024]')
 print p
[u'=', u'$free_ram_mb', 1024]

Try your command like this instead:

nova --debug boot --image 827d564a-e636-4fc4-a376-d36f7ebe1747 --flavor
1 --hint query='[=,$free_ram_mb,1024]' server1

And I think you should be fine, as the following proof shows:

jpipes@uberbox:~/repos/tempest$ echo '[=,$free_ram_mb,1024]' |
python -mjson.tool
[
=,
$free_ram_mb,
1024
]


Best,
-jay


On 08/02/2012 02:09 PM, Heng Xu wrote:
 Hi, attached is the json_filter file I was used, but I it just came with 
 devstack script installation, I did not even modify it.
 Heng
 
 From: Pengjun Pan [panpeng...@gmail.com]
 Sent: Thursday, August 02, 2012 6:07 PM
 To: Heng Xu
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

 Post your filter file. Might be a typo.

 PJ

 On Thu, Aug 2, 2012 at 1:02 PM, Heng Xu
 shouhengzhang...@mail.utoronto.ca wrote:
 Hi, I recorded the error message, below

 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /opt/stack/nova/nova/scheduler/filters/json_filter.py, line 141, in 
 host_passes
 2012-08-02 13:51:02 TRACE nova.rpc.amqp result = 
 self._process_filter(jsonutils.loads(query), host_state)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /opt/stack/nova/nova/openstack/common/jsonutils.py, line 123, in loads
 2012-08-02 13:51:02 TRACE nova.rpc.amqp return json.loads(s)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/__init__.py, line 326, in loads
 2012-08-02 13:51:02 TRACE nova.rpc.amqp return _default_decoder.decode(s)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/decoder.py, line 366, in decode
 2012-08-02 13:51:02 TRACE nova.rpc.amqp obj, end = self.raw_decode(s, 
 idx=_w(s, 0).end())
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/decoder.py, line 384, in raw_decode
 2012-08-02 13:51:02 TRACE nova.rpc.amqp raise ValueError(No JSON object 
 could be decoded

[Openstack] Cannot pass hint to Nova Scheduler

2012-08-02 Thread Heng Xu
Hi folks:
I am new to openstack, I am current trying to test the json filter, I changed 
my /etc/nova/nova.conf as follow

scheduler_driver=nova.
scheduler.multi.MultiScheduler
compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
volume_scheduler_driver=nova.scheduler.chance.ChanceScheduler
scheduler_available_filters=nova.scheduler.filters.standard_filters
scheduler_default_filters=JsonFilter
least_cost_functions=nova.scheduler.least_cost.compute_fill_first_cost_fn
compute_fill_first_cost_fn_weight=-1.0


so I can use the json filter
however, when I was using it, if I boot a vm without any --hint to the 
scheduler, then the vm started fine, but if I use

nova --debug boot --image 827d564a-e636-4fc4-a376-
d36f7ebe1747 --flavor 1 --hint query=['=','$free_ram_mb',1024] server1

my vm started with error, and the following were output from the command above

+-
+--+
| Property| Value|
+-+--+
| OS-DCF:diskConfig   | MANUAL   |
| OS-EXT-SRV-ATTR:host| None |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| OS-EXT-SRV-ATTR:instance_name   | instance-002b|
| OS-EXT-STS:power_state  | 0|
| OS-EXT-STS:task_state   | scheduling   |
| OS-EXT-STS:vm_state | error|
| accessIPv4  |  |
| accessIPv6  |  |
| adminPass   | dKvrsv4MZtfc |
| config_drive|  |
| created | 2012-08-02T14:25:10Z |
| flavor  | m1.tiny  |
| hostId  |  |
| id  | 9d4a5855-3c69-40ba-b50d-3a2aa6a92edc |
| image   | cirros-0.3.0-x86_64-uec  |
| key_name|  |
| metadata| {}   |
| name| server1  |
| progress| 0|
| status  | BUILD|
| tenant_id   | d99ffa1b0c43455ab8dbbd81cf4380a7 |
| updated | 2012-08-02T14:25:10Z |
| user_id | d5e02f1810a44575b99a147f94507da1 |
+-+--+

as you can see, the vm is in error, this also happens whenever I need to pass a 
hint to the scheduler, as in samehostfilter and differenthostfilter,

Does anyone know what's going on, thanks in advance.
Heng

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Cannot pass hint to Nova Scheduler

2012-08-02 Thread Heng Xu
Hello Joseph:
I am not sure where to find the log, so I just used the screen to n-sch,
and one of the error is 
TRACE nova.rpc.amqp ValueError: No JSON object could be decoded
and I have no idea why this happened?
Thank you.
Heng


From: Joseph Suh [j...@isi.edu]
Sent: Thursday, August 02, 2012 3:28 PM
To: Heng Xu
Cc: openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

Heng,

Does scheduler log show any error message or complaints?

Thanks,

Joseph


(w) 703-248-6160
(f) 703-812-3712
http://www.east.isi.edu/~jsuh

Information Sciences Institute
University of Southern California
3811 N. Fairfax Drive Suite 200
Arlington, VA, 22203, USA


- Original Message -
From: Heng Xu shouhengzhang...@mail.utoronto.ca
To: openstack@lists.launchpad.net
Sent: Thursday, August 2, 2012 10:57:53 AM
Subject: [Openstack] Cannot pass hint to Nova Scheduler



Hi folks:
I am new to openstack, I am current trying to test the json filter, I changed 
my /etc/nova/nova.conf as follow

scheduler_driver=nova.
scheduler.multi.MultiScheduler
compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
volume_scheduler_driver=nova.scheduler.chance.ChanceScheduler
scheduler_available_filters=nova.scheduler.filters.standard_filters
scheduler_default_filters=JsonFilter
least_cost_functions=nova.scheduler.least_cost.compute_fill_first_cost_fn
compute_fill_first_cost_fn_weight=-1.0

so I can use the json filter
however, when I was using it, if I boot a vm without any --hint to the 
scheduler, then the vm started fine, but if I use

nova --debug boot --image 827d564a-e636-4fc4-a376-
d36f7ebe1747 --flavor 1 --hint query=['=','$free_ram_mb',1024] server1

my vm started with error, and the following were output from the command above

+-
+--+
| Property | Value |
+-+--+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-SRV-ATTR:host | None |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| OS-EXT-SRV-ATTR:instance_name | instance-002b |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | error |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | dKvrsv4MZtfc |
| config_drive | |
| created | 2012-08-02T14:25:10Z |
| flavor | m1.tiny |
| hostId | |
| id | 9d4a5855-3c69-40ba-b50d-3a2aa6a92edc |
| image | cirros-0.3.0-x86_64-uec |
| key_name | |
| metadata | {} |
| name | server1 |
| progress | 0 |
| status | BUILD |
| tenant_id | d99ffa1b0c43455ab8dbbd81cf4380a7 |
| updated | 2012-08-02T14:25:10Z |
| user_id | d5e02f1810a44575b99a147f94507da1 |
+-+--+

as you can see, the vm is in error, this also happens whenever I need to pass a 
hint to the scheduler, as in samehostfilter and differenthostfilter,

Does anyone know what's going on, thanks in advance.
Heng


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp



___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Cannot pass hint to Nova Scheduler

2012-08-02 Thread Heng Xu
Hi PJ

I don't know what happen, I could not find the file in my Ubuntu filesystem, I 
searched for it, no result, but I just used ./stack.sh to install it, I it is 
just me could not find the file? Any thoughts?
thank you

Heng

From: Pengjun Pan [panpeng...@gmail.com]
Sent: Thursday, August 02, 2012 4:42 PM
To: Heng Xu
Cc: Joseph Suh; openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

Hi Heng,

The log should be in /var/log/nova/nova-scheduler.log.

PJ

On Thu, Aug 2, 2012 at 10:44 AM, Heng Xu
shouhengzhang...@mail.utoronto.ca wrote:
 Hello Joseph:
 I am not sure where to find the log, so I just used the screen to n-sch,
 and one of the error is
 TRACE nova.rpc.amqp ValueError: No JSON object could be decoded
 and I have no idea why this happened?
 Thank you.
 Heng

 
 From: Joseph Suh [j...@isi.edu]
 Sent: Thursday, August 02, 2012 3:28 PM
 To: Heng Xu
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

 Heng,

 Does scheduler log show any error message or complaints?

 Thanks,

 Joseph

 
 (w) 703-248-6160
 (f) 703-812-3712
 http://www.east.isi.edu/~jsuh

 Information Sciences Institute
 University of Southern California
 3811 N. Fairfax Drive Suite 200
 Arlington, VA, 22203, USA


 - Original Message -
 From: Heng Xu shouhengzhang...@mail.utoronto.ca
 To: openstack@lists.launchpad.net
 Sent: Thursday, August 2, 2012 10:57:53 AM
 Subject: [Openstack] Cannot pass hint to Nova Scheduler



 Hi folks:
 I am new to openstack, I am current trying to test the json filter, I changed 
 my /etc/nova/nova.conf as follow

 scheduler_driver=nova.
 scheduler.multi.MultiScheduler
 compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
 volume_scheduler_driver=nova.scheduler.chance.ChanceScheduler
 scheduler_available_filters=nova.scheduler.filters.standard_filters
 scheduler_default_filters=JsonFilter
 least_cost_functions=nova.scheduler.least_cost.compute_fill_first_cost_fn
 compute_fill_first_cost_fn_weight=-1.0

 so I can use the json filter
 however, when I was using it, if I boot a vm without any --hint to the 
 scheduler, then the vm started fine, but if I use

 nova --debug boot --image 827d564a-e636-4fc4-a376-
 d36f7ebe1747 --flavor 1 --hint query=['=','$free_ram_mb',1024] server1

 my vm started with error, and the following were output from the command above

 +-
 +--+
 | Property | Value |
 +-+--+
 | OS-DCF:diskConfig | MANUAL |
 | OS-EXT-SRV-ATTR:host | None |
 | OS-EXT-SRV-ATTR:hypervisor_hostname | None |
 | OS-EXT-SRV-ATTR:instance_name | instance-002b |
 | OS-EXT-STS:power_state | 0 |
 | OS-EXT-STS:task_state | scheduling |
 | OS-EXT-STS:vm_state | error |
 | accessIPv4 | |
 | accessIPv6 | |
 | adminPass | dKvrsv4MZtfc |
 | config_drive | |
 | created | 2012-08-02T14:25:10Z |
 | flavor | m1.tiny |
 | hostId | |
 | id | 9d4a5855-3c69-40ba-b50d-3a2aa6a92edc |
 | image | cirros-0.3.0-x86_64-uec |
 | key_name | |
 | metadata | {} |
 | name | server1 |
 | progress | 0 |
 | status | BUILD |
 | tenant_id | d99ffa1b0c43455ab8dbbd81cf4380a7 |
 | updated | 2012-08-02T14:25:10Z |
 | user_id | d5e02f1810a44575b99a147f94507da1 |
 +-+--+

 as you can see, the vm is in error, this also happens whenever I need to pass 
 a hint to the scheduler, as in samehostfilter and differenthostfilter,

 Does anyone know what's going on, thanks in advance.
 Heng


 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp



 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp



___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Cannot pass hint to Nova Scheduler

2012-08-02 Thread Heng Xu
Hi, I recorded the error message, below

2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
/opt/stack/nova/nova/scheduler/filters/json_filter.py, line 141, in 
host_passes
2012-08-02 13:51:02 TRACE nova.rpc.amqp result = 
self._process_filter(jsonutils.loads(query), host_state)
2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
/opt/stack/nova/nova/openstack/common/jsonutils.py, line 123, in loads
2012-08-02 13:51:02 TRACE nova.rpc.amqp return json.loads(s)
2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
/usr/lib/python2.7/json/__init__.py, line 326, in loads
2012-08-02 13:51:02 TRACE nova.rpc.amqp return _default_decoder.decode(s)
2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
/usr/lib/python2.7/json/decoder.py, line 366, in decode
2012-08-02 13:51:02 TRACE nova.rpc.amqp obj, end = self.raw_decode(s, 
idx=_w(s, 0).end())
2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
/usr/lib/python2.7/json/decoder.py, line 384, in raw_decode
2012-08-02 13:51:02 TRACE nova.rpc.amqp raise ValueError(No JSON object 
could be decoded)
2012-08-02 13:51:02 TRACE nova.rpc.amqp ValueError: No JSON object could be 
decoded
2012-08-02 13:51:02 TRACE nova.rpc.amqp 

it seems that the filter cannot find my json file, so although I was using the 
--hint functionality, whatever typed after the hint did not went to the filter 
host_passed function, so it could not locate the json object, any thoughts?
Thanks. Heng


From: openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net 
[openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net] on 
behalf of Heng Xu [shouhengzhang...@mail.utoronto.ca]
Sent: Thursday, August 02, 2012 4:47 PM
To: Pengjun Pan
Cc: openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

Hi PJ

I don't know what happen, I could not find the file in my Ubuntu filesystem, I 
searched for it, no result, but I just used ./stack.sh to install it, I it is 
just me could not find the file? Any thoughts?
thank you

Heng

From: Pengjun Pan [panpeng...@gmail.com]
Sent: Thursday, August 02, 2012 4:42 PM
To: Heng Xu
Cc: Joseph Suh; openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

Hi Heng,

The log should be in /var/log/nova/nova-scheduler.log.

PJ

On Thu, Aug 2, 2012 at 10:44 AM, Heng Xu
shouhengzhang...@mail.utoronto.ca wrote:
 Hello Joseph:
 I am not sure where to find the log, so I just used the screen to n-sch,
 and one of the error is
 TRACE nova.rpc.amqp ValueError: No JSON object could be decoded
 and I have no idea why this happened?
 Thank you.
 Heng

 
 From: Joseph Suh [j...@isi.edu]
 Sent: Thursday, August 02, 2012 3:28 PM
 To: Heng Xu
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

 Heng,

 Does scheduler log show any error message or complaints?

 Thanks,

 Joseph

 
 (w) 703-248-6160
 (f) 703-812-3712
 http://www.east.isi.edu/~jsuh

 Information Sciences Institute
 University of Southern California
 3811 N. Fairfax Drive Suite 200
 Arlington, VA, 22203, USA


 - Original Message -
 From: Heng Xu shouhengzhang...@mail.utoronto.ca
 To: openstack@lists.launchpad.net
 Sent: Thursday, August 2, 2012 10:57:53 AM
 Subject: [Openstack] Cannot pass hint to Nova Scheduler



 Hi folks:
 I am new to openstack, I am current trying to test the json filter, I changed 
 my /etc/nova/nova.conf as follow

 scheduler_driver=nova.
 scheduler.multi.MultiScheduler
 compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
 volume_scheduler_driver=nova.scheduler.chance.ChanceScheduler
 scheduler_available_filters=nova.scheduler.filters.standard_filters
 scheduler_default_filters=JsonFilter
 least_cost_functions=nova.scheduler.least_cost.compute_fill_first_cost_fn
 compute_fill_first_cost_fn_weight=-1.0

 so I can use the json filter
 however, when I was using it, if I boot a vm without any --hint to the 
 scheduler, then the vm started fine, but if I use

 nova --debug boot --image 827d564a-e636-4fc4-a376-
 d36f7ebe1747 --flavor 1 --hint query=['=','$free_ram_mb',1024] server1

 my vm started with error, and the following were output from the command above

 +-
 +--+
 | Property | Value |
 +-+--+
 | OS-DCF:diskConfig | MANUAL |
 | OS-EXT-SRV-ATTR:host | None |
 | OS-EXT-SRV-ATTR:hypervisor_hostname | None |
 | OS-EXT-SRV-ATTR:instance_name | instance-002b |
 | OS-EXT-STS:power_state | 0 |
 | OS-EXT-STS:task_state | scheduling |
 | OS-EXT-STS:vm_state | error |
 | accessIPv4 | |
 | accessIPv6 | |
 | adminPass | dKvrsv4MZtfc |
 | config_drive | |
 | created | 2012-08-02T14:25:10Z |
 | flavor | m1.tiny |
 | hostId | |
 | id | 9d4a5855-3c69-40ba-b50d-3a2aa6a92edc |
 | image

Re: [Openstack] Cannot pass hint to Nova Scheduler

2012-08-02 Thread Heng Xu
Hi, attached is the json_filter file I was used, but I it just came with 
devstack script installation, I did not even modify it.
Heng

From: Pengjun Pan [panpeng...@gmail.com]
Sent: Thursday, August 02, 2012 6:07 PM
To: Heng Xu
Cc: openstack@lists.launchpad.net
Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

Post your filter file. Might be a typo.

PJ

On Thu, Aug 2, 2012 at 1:02 PM, Heng Xu
shouhengzhang...@mail.utoronto.ca wrote:
 Hi, I recorded the error message, below

 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /opt/stack/nova/nova/scheduler/filters/json_filter.py, line 141, in 
 host_passes
 2012-08-02 13:51:02 TRACE nova.rpc.amqp result = 
 self._process_filter(jsonutils.loads(query), host_state)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /opt/stack/nova/nova/openstack/common/jsonutils.py, line 123, in loads
 2012-08-02 13:51:02 TRACE nova.rpc.amqp return json.loads(s)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/__init__.py, line 326, in loads
 2012-08-02 13:51:02 TRACE nova.rpc.amqp return _default_decoder.decode(s)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/decoder.py, line 366, in decode
 2012-08-02 13:51:02 TRACE nova.rpc.amqp obj, end = self.raw_decode(s, 
 idx=_w(s, 0).end())
 2012-08-02 13:51:02 TRACE nova.rpc.amqp   File 
 /usr/lib/python2.7/json/decoder.py, line 384, in raw_decode
 2012-08-02 13:51:02 TRACE nova.rpc.amqp raise ValueError(No JSON object 
 could be decoded)
 2012-08-02 13:51:02 TRACE nova.rpc.amqp ValueError: No JSON object could be 
 decoded
 2012-08-02 13:51:02 TRACE nova.rpc.amqp

 it seems that the filter cannot find my json file, so although I was using 
 the --hint functionality, whatever typed after the hint did not went to the 
 filter host_passed function, so it could not locate the json object, any 
 thoughts?
 Thanks. Heng

 
 From: openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net 
 [openstack-bounces+shouhengzhang.xu=mail.utoronto...@lists.launchpad.net] on 
 behalf of Heng Xu [shouhengzhang...@mail.utoronto.ca]
 Sent: Thursday, August 02, 2012 4:47 PM
 To: Pengjun Pan
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

 Hi PJ

 I don't know what happen, I could not find the file in my Ubuntu filesystem, 
 I searched for it, no result, but I just used ./stack.sh to install it, I it 
 is just me could not find the file? Any thoughts?
 thank you

 Heng
 
 From: Pengjun Pan [panpeng...@gmail.com]
 Sent: Thursday, August 02, 2012 4:42 PM
 To: Heng Xu
 Cc: Joseph Suh; openstack@lists.launchpad.net
 Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

 Hi Heng,

 The log should be in /var/log/nova/nova-scheduler.log.

 PJ

 On Thu, Aug 2, 2012 at 10:44 AM, Heng Xu
 shouhengzhang...@mail.utoronto.ca wrote:
 Hello Joseph:
 I am not sure where to find the log, so I just used the screen to n-sch,
 and one of the error is
 TRACE nova.rpc.amqp ValueError: No JSON object could be decoded
 and I have no idea why this happened?
 Thank you.
 Heng

 
 From: Joseph Suh [j...@isi.edu]
 Sent: Thursday, August 02, 2012 3:28 PM
 To: Heng Xu
 Cc: openstack@lists.launchpad.net
 Subject: Re: [Openstack] Cannot pass hint to Nova Scheduler

 Heng,

 Does scheduler log show any error message or complaints?

 Thanks,

 Joseph

 
 (w) 703-248-6160
 (f) 703-812-3712
 http://www.east.isi.edu/~jsuh

 Information Sciences Institute
 University of Southern California
 3811 N. Fairfax Drive Suite 200
 Arlington, VA, 22203, USA


 - Original Message -
 From: Heng Xu shouhengzhang...@mail.utoronto.ca
 To: openstack@lists.launchpad.net
 Sent: Thursday, August 2, 2012 10:57:53 AM
 Subject: [Openstack] Cannot pass hint to Nova Scheduler



 Hi folks:
 I am new to openstack, I am current trying to test the json filter, I 
 changed my /etc/nova/nova.conf as follow

 scheduler_driver=nova.
 scheduler.multi.MultiScheduler
 compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
 volume_scheduler_driver=nova.scheduler.chance.ChanceScheduler
 scheduler_available_filters=nova.scheduler.filters.standard_filters
 scheduler_default_filters=JsonFilter
 least_cost_functions=nova.scheduler.least_cost.compute_fill_first_cost_fn
 compute_fill_first_cost_fn_weight=-1.0

 so I can use the json filter
 however, when I was using it, if I boot a vm without any --hint to the 
 scheduler, then the vm started fine, but if I use

 nova --debug boot --image 827d564a-e636-4fc4-a376-
 d36f7ebe1747 --flavor 1 --hint query=['=','$free_ram_mb',1024] server1

 my vm started with error, and the following were output from the command 
 above

 +-
 +--+
 | Property | Value