[Openstack] TC candidacy

2013-03-18 Thread Chris Behrens

Hi all,

I'd like to announce my candidacy for a seat on the OpenStack
Technical Committee.

- General background -

I have over 15 years of experience designing and building distributed
systems.  I am currently a Senior Software Developer at Rackspace,
where I have been for a 2 and a half years now.  Most of my time
at Rackspace has been spent working on OpenStack as both a developer and
a technical leader.  My first week at Rackspace was spent at the very first
OpenStack Design Summit in Austin where the project was announced.

Prior to working at Rackspace, I held various roles over 14 years
at Concentric Network Corporation/XO Communications including Senior
Software Architect and eventually Director of Engineering.  My main
focus there was on an award winning web/email hosting platform which
we'd built to be extremely scalable and fault tolerant.  While my
name is not on this patent, I was heavily involved with the development
and design that led to US6611861.

- Why am I interested? -

I have strong feelings for OpenStack and I want to help take it to
the next level.  I have a lot of technical knowledge and experience
building scalable distributed systems.

During most of my past experience, I haven't had the luxury of having
access to a lot extremely fast hardware, so it's been important to
make software as performant as possible.  I've also had to put lots of
effort into having 0 downtime, meaning code can be updated seamlessly
without dropping clients.  I've also been one to lead host and software
security efforts so I have a lot of strong feelings in this area.

I am extremely interested in using this experience to make OpenStack
perform well, be secure, be more easily pluggable, and easy to use!

- OpenStack contributions -

As I mentioned above, I was at the very first design summit, so
I've been involved with the project from the beginning.  I started
the initial work for nova-scheduler shortly after the project was
opened.  I also implemented the RPC support for kombu, making sure
to properly support reconnecting and so forth which didn't work
quite so well with the carrot code.  I've contributed a number of
improvements designed to make nova-api more performant.  I've worked on
the filter scheduler as well as designing and implementing the
first version of the Zones replacement that we named 'Cells'.

I'm currently looking forward to restructuring our use of DB API to better
support upgrades w/ schema changes as well as committing an alternative
DB backend implementation for mysql that significantly reduces how long
we block on DB API calls compared to sqlalchemy.

- Summary -

I feel my years of experience contributing to and leading large scale
technical projects along with my knowledge of the OpenStack projects
will provide a good foundation for technical leadership.

Thanks,

- Chris


___
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] AggregateInstanceExtraSpecs very slow?

2013-02-26 Thread Chris Behrens

I am not understanding why there are secondary joins defined in the models.  I 
suspect this might break other things, but maybe you can test that this at 
least makes the scheduling faster:

http://paste.openstack.org/show/32534/

That seems to generate a much more acceptable query.

- Chris


On Feb 25, 2013, at 9:40 PM, Sam Morrison sorri...@gmail.com wrote:

 
 On 26/02/2013, at 4:31 PM, Chris Behrens cbehr...@codestud.com wrote:
 
 After thinking more, it does seem like we're doing something wrong if the 
 query itself is returning 300k rows. :)  I can take a better look at it in 
 front of the computer later if no one beats me to it.
 
 Yeah I think it's more than a missing index :-)
 
 The query does 2 INNER JOINS on aggregate_hosts then 2 INNER JOINS on 
 aggregate_metadata then does a further 2 LEFT OUTER JOINS on aggregate_hosts.
 Thanks for the help,
 Sam

___
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] AggregateInstanceExtraSpecs very slow?

2013-02-25 Thread Chris Behrens

On Feb 25, 2013, at 6:39 PM, Joe Gordon j...@cloudscaling.com wrote:

 
 It looks like the scheduler issues are related to the rabbitmq issues.   
 host 'qh2-rcc77' ... is disabled or has not been heard from in a while
 
 What does 'nova host-list' say?   the clocks must all be synced up?

Good things to check.  It feels like something is spinning way too much within 
this filter, though.  This can also cause the above message.  The scheduler 
pulls all of the records before it starts filtering… and if there's a huge 
delay somewhere, it can start seeing a bunch of hosts as disabled.

The filter doesn't look like a problem.. unless there's a large amount of 
aggregate metadata… and/or a large amount of key/values for the instance_type's 
extra specs.   There *is* a DB call in the filter.  If that's blocking for an 
extended period of time, the whole process is blocked…  But I suspect by the 
'100% cpu' comment, that this is not the case…  So the only thing I can think 
of is that it returns a tremendous amount of metadata.

Adding some extra logging in the filter could be useful.

- Chris



___
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] AggregateInstanceExtraSpecs very slow?

2013-02-25 Thread Chris Behrens
After thinking more, it does seem like we're doing something wrong if the query 
itself is returning 300k rows. :)  I can take a better look at it in front of 
the computer later if no one beats me to it.

On Feb 25, 2013, at 9:28 PM, Chris Behrens cbehr...@codestud.com wrote:

 Replying from my phone, so I can't look, but I wonder if we have an index 
 missing.
 
 On Feb 25, 2013, at 8:54 PM, Sam Morrison sorri...@gmail.com wrote:
 
 On Tue, Feb 26, 2013 at 3:15 PM, Sam Morrison sorri...@gmail.com wrote:
 
 On 26/02/2013, at 2:15 PM, Chris Behrens cbehr...@codestud.com wrote:
 
 
 On Feb 25, 2013, at 6:39 PM, Joe Gordon j...@cloudscaling.com wrote:
 
 
 It looks like the scheduler issues are related to the rabbitmq issues.   
 host 'qh2-rcc77' ... is disabled or has not been heard from in a while
 
 What does 'nova host-list' say?   the clocks must all be synced up?
 
 Good things to check.  It feels like something is spinning way too much 
 within this filter, though.  This can also cause the above message.  The 
 scheduler pulls all of the records before it starts filtering… and if 
 there's a huge delay somewhere, it can start seeing a bunch of hosts as 
 disabled.
 
 The filter doesn't look like a problem.. unless there's a large amount of 
 aggregate metadata… and/or a large amount of key/values for the 
 instance_type's extra specs.   There *is* a DB call in the filter.  If 
 that's blocking for an extended period of time, the whole process is 
 blocked…  But I suspect by the '100% cpu' comment, that this is not the 
 case…  So the only thing I can think of is that it returns a tremendous 
 amount of metadata.
 
 Adding some extra logging in the filter could be useful.
 
 - Chris
 
 Thanks Chris, I have 2 aggregates and 2 keys defined and each of the 80 
 hosts has either one or the other. At the moment every flavour has either 
 one or the other too so I don't think it's too much data.
 
 I've tracked it down to this call:
 
 metadata = db.aggregate_metadata_get_by_host(context, host_state.host)
 
 More debugging has got it down to a query
 
 In db.api.aggregate_metadata_get_by_host:
 
   query = model_query(context, models.Aggregate).join(
   _hosts).filter(models.AggregateHost.host == host).join(
   _metadata)
  ..
  rows = query.all()
 
 With query debug on this resolves to:
 
 SELECT aggregates.created_at AS aggregates_created_at,
 aggregates.updated_at AS aggregates_updated_at, aggregates.deleted_at
 AS aggregates_deleted_at, aggregates.deleted AS aggregates_deleted,
 aggregates.id AS aggregates_id, aggregates.name AS aggregates_name,
 aggregates.availability_zone AS aggregates_availability_zone,
 aggregate_hosts_1.created_at AS aggregate_hosts_1_created_at,
 aggregate_hosts_1.updated_at AS aggregate_hosts_1_updated_at,
 aggregate_hosts_1.deleted_at AS aggregate_hosts_1_deleted_at,
 aggregate_hosts_1.deleted AS aggregate_hosts_1_deleted,
 aggregate_hosts_1.id AS aggregate_hosts_1_id, aggregate_hosts_1.host
 AS aggregate_hosts_1_host, aggregate_hosts_1.aggregate_id AS
 aggregate_hosts_1_aggregate_id FROM aggregates INNER JOIN
 aggregate_hosts AS aggregate_hosts_2 ON aggregates.id =
 aggregate_hosts_2.aggregate_id AND aggregate_hosts_2.deleted = 0 AND
 aggregates.deleted = 0 INNER JOIN aggregate_hosts ON
 aggregate_hosts.aggregate_id = aggregates.id AND
 aggregate_hosts.deleted = 0 AND aggregates.deleted = 0 INNER JOIN
 aggregate_metadata AS aggregate_metadata_1 ON aggregates.id =
 aggregate_metadata_1.aggregate_id AND aggregate_metadata_1.deleted = 0
 AND aggregates.deleted = 0 INNER JOIN aggregate_metadata ON
 aggregate_metadata.aggregate_id = aggregates.id AND
 aggregate_metadata.deleted = 0 AND aggregates.deleted = 0 LEFT OUTER
 JOIN aggregate_hosts AS aggregate_hosts_3 ON aggregates.id =
 aggregate_hosts_3.aggregate_id AND aggregate_hosts_3.deleted = 0 AND
 aggregates.deleted = 0 LEFT OUTER JOIN aggregate_hosts AS
 aggregate_hosts_1 ON aggregate_hosts_1.aggregate_id = aggregates.id
 AND aggregate_hosts_1.deleted = 0 AND aggregates.deleted = 0 WHERE
 aggregates.deleted = 0 AND aggregate_hosts.host = 'qh2-rcc34';
 
 Which in our case returns 328509 rows in set (25.97 sec)
 
 Seems a bit off considering there are 80 rows in aggregate_hosts, 2
 rows in aggregates and 2 rows in aggregate_metadata
 
 In the code rows is only equal to 1 so it seems to be doing something
 inside to code to do this? Don't know too much how sqlalchemy works.
 
 Seems like a bug to me? or maybe our database has something wrong in it?
 
 Cheers,
 Sam

___
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] Restart devstack errors

2013-02-20 Thread Chris Behrens
[Removed the dev list -- no need to cross-post.]

It looks like you have broken permissions on 
'/usr/local/lib/python2.7/dist-packages/httplib2-0.7.7-py2.7.egg' and/or 
subdirectories.  Make sure everything is world readable.

- Chris


On Feb 20, 2013, at 7:48 PM, harryxiyou harryxi...@gmail.com wrote:

 On Wed, Feb 20, 2013 at 3:14 PM, Hirendra Rathor
 hirendra.rat...@gmail.com wrote:
 
 Hi Hirendra Rathor,
 
 I was getting same error when I picked up devstack for the first time few
 days ago. I could have tried troubleshooting it but I wasn't particularly
 happy with the fact that I had to launch stack.sh every time on reboot. The
 script updates the source code and then compiles it which means that the
 product behavior could be different after running the script. This is not
 necessarily a problem but I felt less in control.
 
 I, therefore, modified my local copy of stack.sh to _not_ do operations that
 should be required for the first run. Examples of such operations include
 creating user accounts, configuration files, mysql database etc. The result
 was a script that just launches the openstack processes. Running this lean
 script resulted in successful launch of keystone process, so I didn't have
 to troubleshoot the original problem!
 
 
 I am not clear about how you can solve 'keystone did not start'.
 Cloud you please attach your modified stack.sh, which solved this problem.
 
 Now, i can get some logs for my 'keystone did not start' like following.
 
 $ screen -S stack -p key -X stuff
 $ screen -x stack
 
 jiawei@jiawei:~/workshop1/devstack$ cd /opt/stack/keystone 
 /opt/stack/keystone/bin/keystone-all --config-file
 /etc/keystone/keystone.conf --log-config /etc/keystone/logging.conf -d
 --debug || touch /opt/stack/status/stack/key.failure
 Traceback (most recent call last):
  File /opt/stack/keystone/bin/keystone-all, line 22, in module
from paste import deploy
  File 
 /usr/local/lib/python2.7/dist-packages/Paste-1.7.5.1-py2.7.egg/paste/__init__.py,
 line 4, in module
import pkg_resources
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 2727,
 in module
add_activation_listener(lambda dist: dist.activate())
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 700,
 in subscribe
callback(dist)
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 2727,
 in lambda
add_activation_listener(lambda dist: dist.activate())
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 2227,
 in activate
self.insert_on(path)
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 2334,
 in insert_on
self.check_version_conflict()
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 2373,
 in check_version_conflict
for modname in self._get_metadata('top_level.txt'):
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 2221,
 in _get_metadata
for line in self.get_metadata_lines(name):
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 1209,
 in get_metadata_lines
return yield_lines(self.get_metadata(name))
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 1201,
 in get_metadata
return self._get(self._fn(self.egg_info,name))
  File /usr/lib/python2.7/dist-packages/pkg_resources.py, line 1316, in _get
stream = open(path, 'rb')
 IOError: [Errno 13] Permission denied:
 '/usr/local/lib/python2.7/dist-packages/httplib2-0.7.7-py2.7.egg/EGG-INFO/top_level.txt'
 
 
 Could anyone give me some suggestions to this problem? Thanks
 in advance.
 
 
 
 -- 
 Thanks
 Harry Wei
 
 ___
 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] Restart devstack errors

2013-02-20 Thread Chris Behrens
Well, you probably don't want world writeable, but :)  755 on dirs and 644 
on files is probably more appropriate!  But at least you know the issue.

- Chris

On Feb 20, 2013, at 9:21 PM, harryxiyou harryxi...@gmail.com wrote:

 On Thu, Feb 21, 2013 at 12:14 PM, Chris Behrens cbehr...@codestud.com wrote:
 [Removed the dev list -- no need to cross-post.]
 
 It looks like you have broken permissions on 
 '/usr/local/lib/python2.7/dist-packages/httplib2-0.7.7-py2.7.egg'
 nd/or subdirectories.  Make sure everything is world readable.
 
 You are right. After sudo chmod -R 777 dist-packages/
 I could solve this problem successfully.
 Thanks.
 
 
 
 -- 
 Thanks
 Harry Wei

___
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] Reinstating Trey Morris for Nova Core

2013-01-23 Thread Chris Behrens
+1

On Jan 22, 2013, at 5:38 PM, Matt Dietz matt.di...@rackspace.com wrote:

 All,
 
I think Trey Morris has been doing really well on reviews again, so I'd
 like to propose him to be reinstated for Nova core. Thoughts?
 
 -Dietz
 
 
 
 ___
 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] Cells Status

2012-10-03 Thread Chris Behrens
The simplest explanation is that Cells gives you a way to tie multiple nova 
deployments together under a single API.  Each cell has its own DB and Rabbit, 
etc.

This was my preso from the last summit:

http://comstud.com/FolsomCells.pdf

Start of diagrams:

http://comstud.com/cells.pdf

- Chris


On Oct 2, 2012, at 11:09 PM, Endre Karlson endre.karl...@gmail.com wrote:

 What is a cell contra Aggregate or Zone?
 
 Den 3. okt. 2012 07:46 skrev Chris Behrens cbehr...@codestud.com følgende:
 Yup… looking forward to seeing those contributions!   I'm working on getting 
 the branch updated right now.
 
 - Chris
 
 
 On Oct 2, 2012, at 10:13 PM, Sam Morrison sorri...@gmail.com wrote:
 
  OK great, will be good to get this into master. I have some stuff relating 
  to key pairs, security groups that I'd like to contribute.
 
  Also we are looking at the ability for you to specify the cell when booting 
  an instance.
 
  Cheers,
  Sam
 
 
  On 02/10/2012, at 1:06 PM, Chris Behrens cbehr...@codestud.com wrote:
 
  Yup, it's done.  I just have to deal with some conflicts with our internal 
  branch and my public one..
 
 
  On Oct 1, 2012, at 7:47 PM, Sam Morrison sorri...@gmail.com wrote:
 
  On 02/10/2012, at 12:33 PM, Chris Behrens cbehr...@codestud.com wrote:
 
  Thanks, Tom!  I have changes to push up that add rpc versioning, etc.  
  Maybe I can get those up tomorrow.
 
  Great! I was going to start looking into it but will hold off if
  you've already done it.
 
  Cheers,
  Sam
 
 
 
 
 ___
 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] Cells Status

2012-10-03 Thread Chris Behrens

First implementation requires global Quantum if you use Quantum… and global 
Glance.  Volumes (Cinder) would also need to be global, but I don't have code 
appropriate for trunk to support it yet… 

- Chris


On Oct 3, 2012, at 4:14 AM, Endre Karlson endre.karl...@gmail.com wrote:

 Does this tie into Quantum / Cinder as well or? I guess this will be affected 
 by the same thing?
 
 Endre.
 
 2012/10/3 Chris Behrens cbehr...@codestud.com
 The simplest explanation is that Cells gives you a way to tie multiple nova 
 deployments together under a single API.  Each cell has its own DB and 
 Rabbit, etc.
 
 This was my preso from the last summit:
 
 http://comstud.com/FolsomCells.pdf
 
 Start of diagrams:
 
 http://comstud.com/cells.pdf
 
 - Chris
 
 
 On Oct 2, 2012, at 11:09 PM, Endre Karlson endre.karl...@gmail.com wrote:
 
 What is a cell contra Aggregate or Zone?
 
 Den 3. okt. 2012 07:46 skrev Chris Behrens cbehr...@codestud.com 
 følgende:
 Yup… looking forward to seeing those contributions!   I'm working on getting 
 the branch updated right now.
 
 - Chris
 
 
 On Oct 2, 2012, at 10:13 PM, Sam Morrison sorri...@gmail.com wrote:
 
  OK great, will be good to get this into master. I have some stuff relating 
  to key pairs, security groups that I'd like to contribute.
 
  Also we are looking at the ability for you to specify the cell when 
  booting an instance.
 
  Cheers,
  Sam
 
 
  On 02/10/2012, at 1:06 PM, Chris Behrens cbehr...@codestud.com wrote:
 
  Yup, it's done.  I just have to deal with some conflicts with our 
  internal branch and my public one..
 
 
  On Oct 1, 2012, at 7:47 PM, Sam Morrison sorri...@gmail.com wrote:
 
  On 02/10/2012, at 12:33 PM, Chris Behrens cbehr...@codestud.com wrote:
 
  Thanks, Tom!  I have changes to push up that add rpc versioning, etc.  
  Maybe I can get those up tomorrow.
 
  Great! I was going to start looking into it but will hold off if
  you've already done it.
 
  Cheers,
  Sam
 
 
 
 
 ___
 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

___
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] Cells Status

2012-10-03 Thread Chris Behrens
Ok.  This took a lot longer to resolve than I expected, but here we go:

https://github.com/comstud/nova/tree/cells_service

This is rebased against trunk and contains a bunch of new things since the last 
branch:

Random fixes for things that trunk broke with cells (deleting instances for one)
RPC versioning (Thanks to Brian Elliott!)
Split Replies and Bandwidth Updates into their own queues to better deal with 
them
A number of admin API extensions modified to support cells (Thanks to Dragon, 
Alex Meade, Brian Lamar, Matt Sherborne, et al)
Snapshots/backups query glance in API cell (Thanks to Iccha)
Handle quotas in API cell  (Thanks to Johannes for fixes!)

Things are rapidly getting more kludgy because of changes in trunk that don't 
have any consideration for cells (because cells is not in trunk!).  I'm hoping 
we can get this into an acceptable shape such that we can get it merged ASAP.

- Chris


On Oct 2, 2012, at 10:13 PM, Sam Morrison sorri...@gmail.com wrote:

 OK great, will be good to get this into master. I have some stuff relating to 
 key pairs, security groups that I'd like to contribute.
 
 Also we are looking at the ability for you to specify the cell when booting 
 an instance.
 
 Cheers,
 Sam
 
 
 On 02/10/2012, at 1:06 PM, Chris Behrens cbehr...@codestud.com wrote:
 
 Yup, it's done.  I just have to deal with some conflicts with our internal 
 branch and my public one..
 
 
 On Oct 1, 2012, at 7:47 PM, Sam Morrison sorri...@gmail.com wrote:
 
 On 02/10/2012, at 12:33 PM, Chris Behrens cbehr...@codestud.com wrote:
 
 Thanks, Tom!  I have changes to push up that add rpc versioning, etc.  
 Maybe I can get those up tomorrow.
 
 Great! I was going to start looking into it but will hold off if
 you've already done it.
 
 Cheers,
 Sam
 
 

___
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] Cells Status

2012-10-02 Thread Chris Behrens
Yup… looking forward to seeing those contributions!   I'm working on getting 
the branch updated right now.

- Chris


On Oct 2, 2012, at 10:13 PM, Sam Morrison sorri...@gmail.com wrote:

 OK great, will be good to get this into master. I have some stuff relating to 
 key pairs, security groups that I'd like to contribute.
 
 Also we are looking at the ability for you to specify the cell when booting 
 an instance.
 
 Cheers,
 Sam
 
 
 On 02/10/2012, at 1:06 PM, Chris Behrens cbehr...@codestud.com wrote:
 
 Yup, it's done.  I just have to deal with some conflicts with our internal 
 branch and my public one..
 
 
 On Oct 1, 2012, at 7:47 PM, Sam Morrison sorri...@gmail.com wrote:
 
 On 02/10/2012, at 12:33 PM, Chris Behrens cbehr...@codestud.com wrote:
 
 Thanks, Tom!  I have changes to push up that add rpc versioning, etc.  
 Maybe I can get those up tomorrow.
 
 Great! I was going to start looking into it but will hold off if
 you've already done it.
 
 Cheers,
 Sam
 
 


___
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] Cells Status

2012-10-01 Thread Chris Behrens
Thanks, Tom!  I have changes to push up that add rpc versioning, etc.  Maybe I 
can get those up tomorrow.

On Oct 1, 2012, at 7:08 PM, Tom Fifield fifie...@unimelb.edu.au wrote:

 Hi all,
 
 As Chris is a rather busy guy, I've taken the liberty of putting up a 
 blueprint and wiki page for Nova Compute Cells.
 
 https://blueprints.launchpad.net/nova/+spec/nova-compute-cells
 
 http://wiki.openstack.org/blueprint-nova-compute-cells
 
 NeCTAR's got to have this feature working well before year-end, and recently 
 Sam Morrison and the team at the University of Melbourne have been working to 
 try and iron out some of the kinks (security group and access key 
 propagation) from Chris' current branch. The plan is to move forward and try 
 and update the code from the comstud repo and the local changes here to get 
 them into master asap.
 
 
 Regards,
 
 
 Tom
 
 ___
 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] Cells Status

2012-10-01 Thread Chris Behrens
Yup, it's done.  I just have to deal with some conflicts with our internal 
branch and my public one..


On Oct 1, 2012, at 7:47 PM, Sam Morrison sorri...@gmail.com wrote:

 On 02/10/2012, at 12:33 PM, Chris Behrens cbehr...@codestud.com wrote:
 
 Thanks, Tom!  I have changes to push up that add rpc versioning, etc.  Maybe 
 I can get those up tomorrow.
 
 Great! I was going to start looking into it but will hold off if
 you've already done it.
 
 Cheers,
 Sam


___
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] Cells Status

2012-09-17 Thread Chris Behrens
I agree it's disappointing that it's not in trunk yet… and it needs to get in 
there ASAP.  I'm definitely happy to hear that others have been doing a bit of 
hacking on it, wrt security groups and so forth! 

I just got back from 2 weeks of vacation and I need to get my branch rebased.  
There's a couple of things broken because of RPC versioning bumped to 2.0, etc, 
as well… 

In any case, it's definitely my plan to get this into trunk extremely soon 
after Grizzly opens.

- Chris


On Sep 16, 2012, at 9:32 PM, balaji patnala patnala...@gmail.com wrote:

 Thanks for thumbs-up on the patch.
  
 Sure, we will also start using it. By the way do we have any docs / Info for 
 this feature.
 
 On Mon, Sep 17, 2012 at 7:33 AM, Sam Morrison sorri...@gmail.com wrote:
 We have been using this patch in testing for a few months now. It works 
 pretty well with launching instances etc.
 It is feature incomplete at the moment though.
 
 We have developed syncing of security groups and private keys down do child 
 cells. Also done the live migration add ons for cells.
 
 It would be good to get this in master as soon as Folsom gets branched off as 
 we'd like to contribute these back.
 
 
 Cheers,
 Sam
 
 
 
 
 
 On 16/09/2012, at 5:07 PM, balaji patnala patnala...@gmail.com wrote:
 
 Atleast we should have continued with ZONES until CELLS were part  of 
 up-stream releases. I was waiting for this feature eagerly to explore more 
 on this. 
 
 Can we try with the patch listed below. Only one concern with patches are we 
 dont get much help from stack users/testers..
 
 This is little disappointing...
 
 On Fri, Sep 14, 2012 at 10:35 PM, Joshua Harlow harlo...@yahoo-inc.com 
 wrote:
 Ya, is there a session on it at the summit.
 
 I'd at least like to talk about it and what it could be in the end.
 
 Or maybe we can 'freestyle' that session :-P
 
 On 9/14/12 8:36 AM, Russell Bryant rbry...@redhat.com wrote:
 
 On 09/14/2012 11:08 AM, Joe Topjian wrote:
   We didnt find any information related to CELLS [which is planned
 to
   replace ZONES] in the latest Folsom pre-release.
  
   Can any body give us information on this.
 
  Unfortunately, cells was unable to make feature freeze.  It should
 be in
  Grizzly.  Sorry for the delay :/
 
 
  This is very disappointing. I was looking forward to cells as well.
 
  When was this decided and was the decision announced somewhere else? I'd
  like to know so I can monitor for other announcements like this.
 
 The patch is here:
 
 https://review.openstack.org/#/c/10707/
 
 It was proposed for inclusion on August 2nd, which was just a couple of
 weeks before the feature freeze.  There were enough significant things
 that came up in discussion that it just wasn't going to make it in for
 Folsom.  In addition to working through the technical details, it also
 desperately needs some documentation (ideally both architectural, as
 well as how to use it).
 
 It seems like we should be able to get this all wrapped up for Grizzly,
 though.
 
 --
 Russell Bryant
 
 ___
 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
 
 
 ___
 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


[Openstack] TC candidacy

2012-09-17 Thread Chris Behrens
Hi all,

I'd like to announce my candidacy for a seat on the OpenStack
Technical Committee.

- General background -

I have over 15 years of experience designing and building distributed
systems.  I am currently a Senior Software Developer at Rackspace,
where I have been for a little over 2 years now.  Most of my time
at Rackspace has been spent working on OpenStack as both a developer and
a technical leader.  My first week at Rackspace was spent at the very first
OpenStack Design Summit in Austin where the project was announced.

Prior to working at Rackspace, I held various roles over 14 years
at Concentric Network Corporation/XO Communications including Senior
Software Architect and eventually Director of Engineering.  My main
focus there was on an award winning web/email hosting platform which
we'd built to be extremely scalable and fault tolerant.  While my
name is not on this patent, I was heavily involved with the development
and design that led to US6611861.

- Why am I interested? -

I have strong feelings for OpenStack and I want to help take it to
the next level.  I have a lot of technical knowledge and experience
building scalable distributed systems.  Having finished helping
launch a large deployment of OpenStack at Rackspace on 8/1, I have the
time and support to start making a larger contribution to the community.

During most of my past experience, I haven't had the luxury of having
access to a lot extremely fast hardware, so it's been important to
make software as performant as possible.  I've also had to put lots of
effort into having 0 downtime, meaning code can be updated seamlessly
without dropping clients.  I've also been one to lead host and software
security efforts so I have a lot of strong feelings in this area.

I am extremely interested in using this experience to make OpenStack
perform well, be secure, be more easily pluggable, and easy to use!

- Relevant Private Source Experience -

Unfortunately XO was not very big on open source, so there's a lot
of innovative work that I have not been able to publish.  But, I've
worked on such things as developing multithreaded DNS and MX (mail)
servers from scratch.  The latter work is notable as it allowed scaling
to tens of thousands of simultaneous socket connections to a single mail
server, allowing us to be very efficient hardware wise.

- Open Source Experience -

My initial contributions to open source software date back to 1994,
working on EFNet's IRCD daemon, submitting performance improvement
patches and features to help EFNet grow to over 100,000 simultaneous
clients.  Starting in 1998, I rewrote the daemon to make it scale
even further, also adding in support for dynamic upgradeability
(code upgrades without dropping clients).

- OpenStack -

As I mentioned above, I was at the very first design summit, so
I've been involved with the project from the beginning.  I started
the initial work for nova-scheduler shortly after the project was
opened.  I also implemented the RPC support for kombu, making sure
to properly support reconnecting and so forth which didn't work
quite so well with the carrot code.  I've contributed a number of
improvements designed to make nova-api more performant.  I've worked on
the filter scheduler as well as designing and implementing the
first version of the Zones replacement that we named 'Cells'.  Cells is being
used today in production at Rackspace, but it does need a bit of work to fit
into trunk (like documentation :).

- Summary -

I feel my years of experience contributing to and leading large scale
technical projects along with my knowledge of the OpenStack projects
will provide a good foundation for technical leadership.

Thanks,

- Chris


___
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] Cells Status

2012-08-02 Thread Chris Behrens

I found time to update the branch with the latest code tonight:

https://github.com/comstud/nova/tree/cells_service

I put a review up here as a WIP also:

https://review.openstack.org/#/c/10707/

I reviewed what's changed since the last update… and it was essentially:

Rebase against master… resolving things that had moved to openstack-common
Push bandwidth usage updates to top level API cell.
Push instance metadata updates to top level API cell (though I don't think they 
would change in a child cell)
instance system metadata syncing with instance updates
Better delete instance handling
Removed broken near/far filter which could have potential DoS issues, until it 
can be redone

Looks like I might have lost some code cleanups I had done previously… and I'll 
restore those asap.  The cells code as it is in the above branch is what's now 
running in a production environment and working… but there's still some edge 
cases of issues and doesn't support things like security groups and host 
aggregates. 

I'll give an update tomorrow about trying to land this in folsom… but I'll 
probably be posting it at the new dev list: openstack-...@lists.openstack.org

- Chris


On Aug 1, 2012, at 9:03 PM, Chris Behrens wrote:

 Ah, hit send early from my phone.  There's a few additions I have in a 
 private branch along with it being up2date with trunk.  Will get that into 
 the public branch and get the update out tomorrow!
 
 On Aug 1, 2012, at 9:01 PM, Chris Behrens cbehr...@codestud.com wrote:
 
 I'll push up the latest tomorrow, promise!  And I'll give an update at that 
 time.  Sorry, been crazy times lately preparing for Rackspace's release 
 today.
 
 We are live with cells, and I'm extremely anxious to start getting it into 
 trunk.  There's been a few additions not in the branch on github.
 
 - Chris
 
 
 
 On Aug 1, 2012, at 8:19 PM, Russell Sim russell@gmail.com wrote:
 
 Hey,
 
 We have been experimenting with the cells branch and I'm hoping I can get
 an update.  The branch on github hasn't been updated for a couple of
 months and we are starting to hack on it but we are hesitant because we
 are aware that there are uncommitted changes.
 
 Cheers,
 Russell
 
 ___
 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] Cells Status

2012-08-01 Thread Chris Behrens
I'll push up the latest tomorrow, promise!  And I'll give an update at that 
time.  Sorry, been crazy times lately preparing for Rackspace's release today.

We are live with cells, and I'm extremely anxious to start getting it into 
trunk.  There's been a few additions not in the branch on github.

- Chris



On Aug 1, 2012, at 8:19 PM, Russell Sim russell@gmail.com wrote:

 Hey,
 
 We have been experimenting with the cells branch and I'm hoping I can get
 an update.  The branch on github hasn't been updated for a couple of
 months and we are starting to hack on it but we are hesitant because we
 are aware that there are uncommitted changes.
 
 Cheers,
 Russell
 
 ___
 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] Cells Status

2012-08-01 Thread Chris Behrens
Ah, hit send early from my phone.  There's a few additions I have in a private 
branch along with it being up2date with trunk.  Will get that into the public 
branch and get the update out tomorrow!

On Aug 1, 2012, at 9:01 PM, Chris Behrens cbehr...@codestud.com wrote:

 I'll push up the latest tomorrow, promise!  And I'll give an update at that 
 time.  Sorry, been crazy times lately preparing for Rackspace's release today.
 
 We are live with cells, and I'm extremely anxious to start getting it into 
 trunk.  There's been a few additions not in the branch on github.
 
 - Chris
 
 
 
 On Aug 1, 2012, at 8:19 PM, Russell Sim russell@gmail.com wrote:
 
 Hey,
 
 We have been experimenting with the cells branch and I'm hoping I can get
 an update.  The branch on github hasn't been updated for a couple of
 months and we are starting to hack on it but we are hesitant because we
 are aware that there are uncommitted changes.
 
 Cheers,
 Russell
 
 ___
 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] Instance stuck in deleting state with error

2012-07-30 Thread Chris Behrens
You may still have to reset the instance's task_state to NULL in the DB 
(instances table) to delete ones already in this state.

- Chris


On Jul 30, 2012, at 1:48 PM, Kevin L. Mitchell wrote:

 On Mon, 2012-07-30 at 13:03 -0400, Jonathan Proulx wrote:
 I have an instance that has been in this state for a couple days:
 
 | OS-EXT-STS:power_state  | 0
 |
 | OS-EXT-STS:task_state   | deleting|
 | OS-EXT-STS:vm_state | error
  |
 
 If you're using the Xen driver on trunk, I recently cleaned up a few
 bugs that might have lead to this problem.  Make sure you're updated and
 try again…
 -- 
 Kevin L. Mitchell kevin.mitch...@rackspace.com
 
 
 ___
 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] Capacity based scheduling: What updated free_ram_mb in Folsom

2012-07-13 Thread Chris Behrens
Capacity based scheduling currently adds up all instance usage in 
host_manager.py

There's another review marked as WIP that will be ready when retries go in that 
cleans that and the capacity tracking up.  Look for it from Brian Elliott.

On Jul 13, 2012, at 6:38 AM, Day, Phil philip@hp.com wrote:

 Hi Folks,
  
 I was reviewing a code change to add generic retries for build failures ( 
 https://review.openstack.org/#/c/9540/2 ), and wanted to be sure that it 
 wouldn’t invalidate the capacity accounting used by the scheduler.
  
 However I've been sitting here for a while working through the Folsom 
 scheduler code trying to understand how the capacity based scheduling now 
 works, and I’m sure I’m missing something obvious but I just can’t work out 
 where the free_ram_mb value in the compute_node table gets updated.
  
 I can see the database api method to update the values, 
 compute_node_utilization_update(),  it doesn’t look as if anything in the 
 code ever calls that ?
  
 From when I last looked at this / various discussions here and at the design 
 summits I thought the approach was that:
 -  The scheduler would make a call (rather than a cast) to the 
 compute manger, which would then do some verification work, update the DB 
 table whilst in the context of that call, and then start a thread to complete 
 the spawn.  The need to go all the way to the compute node as a call was to 
 avoid race conditions from multiple schedulers.  (the change I’m looking at 
 is part of a blueprint to avoid such a race, so maybe I imagined the change 
 from cast to call ?)
  
 -  On a delete, the capacity_notifer (which had to be configured into 
 the list_notifier) would detect the delete message, and decrement the 
 database values.
  
 But now I look through the code it looks as if the scheduler is still doing a 
 cast (scheduler/driver),  and although I can see the database api call to 
 update the values, compute_node_utilization_update(),  it doesn’t look as if 
 anything in the code ever calls that ?
  
 The ram_filter scheduler seems to use the free_ram_mb value, and that value 
 seems to come from the host_manager in the scheduler which is read from the 
 Database,  but I can't for the life of me work out where these values are 
 updated in the Database.
  
 The capacity_notifier, which used to decrement values on a VM deletion only 
 (according to the comments the increment was done in the scheduler) seems to 
 have now disappeared altogether in the move of the notifier to 
 openstack/common ?
  
 So I’m sure I’m missing some other even more cunning plan on how to keep the 
 values current, but I can’t for the life of me work out what it is – can 
 someone fill me in please ?
  
 Thanks,
 Phil
  
 ___
 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] Nova Cells

2012-07-12 Thread Chris Behrens
Partially developed.  This probably isn't much use, but I'll throw it out 
there: http://comstud.com/cells.pdf

ATM the messy code speaks for itself here:

https://github.com/comstud/nova/tree/cells_service

The basic architecture is:

Top level cell with API service has DB, rabbit, and the nova-cells service.  
API's compute_api_class is overridden to use a new class that shoves every 
action on an instance into the nova-cells service, telling it which cell to 
route the request to based on instance['cell_name'].  The nova-cells service 
routes the request to correct cell as requested… 1 hop at a time to the 
nova-cells service in each child.

(Each child runs this new nova-cells service also)

If nova-cells service gets a message destined for itself, it'll call the 
appropriate compute_api call in the child.

DB updates are hooked in the child and pushed up to parent cells.

New instance creation is slightly different.  API will create the DB entry up 
front… and pass the uuid and all of the same data to the nova-cells service, 
which will pick a cell for the instance.  When it is decided to use the 
'current cell' in some child, it will create the DB entry there as well… push a 
notification upward… and cast the message over to the host scheduler (current 
scheduler).  And the build continues as normal from there (host is picked, and 
message is casted to the host, etc).

There's some code to sync instances in case of lost DB updates.. but there's 
improvements to make yet..

Sorry… that's very quick.  I'm going to be AFK for a couple days..

- Chris


On Jul 12, 2012, at 10:39 AM, Michael J Fork wrote:

 Outside of the Etherpad (http://etherpad.openstack.org/FolsomComputeCells) 
 and presentation referenced there (http://comstud.com/FolsomCells.pdf), are 
 there additional details available on the architecture / implementation of 
 Cells?  
 
 Thanks.
 
 Michael
 
 -
 Michael Fork
 Cloud Architect, Emerging Solutions
 IBM Systems  Technology Group
 
 ___
 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] Nova Cells

2012-07-12 Thread Chris Behrens
Sorry about this.  I've had other priorities at Rackspace lately, but I have a 
functioning implementation that I can hope to start to merge ASAP.

I'm on vacation for a couple days, so I can provide a better update on Monday.

On Jul 12, 2012, at 4:29 PM, Jaesuk Ahn bluejay@gmail.com wrote:

 +1 here. 
 
 I am also highly interested in an update on cells implementation since the 
 last design summit. 
 I have not seen any blueprints nor implementation progress update from the 
 community. 
 
 We have been reviewing all the cell related docs and info. and have been 
 trying to make potential reference use cases.
 It will be super helpful if someone directs me to any kinds of update 
 regarding cell.
 Thanks in advance. 
 
 
 -- 
 Jaesuk Ahn, Ph.D.
 Team Leader | Cloud OS Dev. Team
 Cloud Infrastructure Department
 KT (Korea Telecom)
 T. +82-10-9888-0328 | F. +82-303-0993-5340
 Active member on OpenStack Korea Community
 
 
 On Fri, Jul 13, 2012 at 4:47 AM, Nathanael Burton 
 nathanael.i.bur...@gmail.com wrote:
 That's a good question. I'm also interested in an update on cells. How
 is progress on cells going? Is there a blueprint for it? Is it
 targeted to a folsom milestone?
 
 Thanks,
 
 Nate
 
 On Thu, Jul 12, 2012 at 1:39 PM, Michael J Fork mjf...@us.ibm.com wrote:
  Outside of the Etherpad (http://etherpad.openstack.org/FolsomComputeCells)
  and presentation referenced there (http://comstud.com/FolsomCells.pdf), are
  there additional details available on the architecture / implementation of
  Cells?
 
  Thanks.
 
  Michael
 
  -
  Michael Fork
  Cloud Architect, Emerging Solutions
  IBM Systems  Technology Group
 
 
  ___
  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
___
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] [Nova] resource free -vs- allocated utilization?

2012-07-11 Thread Chris Behrens
Hi Jon,

There's actually a review up right now proposing to add an OS API extension to 
be able to give some of this data:

https://review.openstack.org/#/c/9544/

I don't know how you may be looking to query it, but it's not too difficult to 
get it directly from the instances table in the database, either.

- Chris


On Jul 11, 2012, at 4:50 PM, Jonathan Proulx wrote:

 is there an easy way to see free -vs- allocated nova resources?
 
 for example that 300 of 1000 cpu cores are in use (and similar with
 memory and storage).
 
 Thanks,
 -Jon
 
 ___
 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] OVF vs. bare container formats for qcow2 images

2012-07-09 Thread Chris Behrens

That's correct.  If there's an .ovf, it's currently ignored.  It's also not 
generated when we upload images (snapshots).  I'm sure there's plans in 
someone's head to implement that support at some point.. but right now we 
expect the .vhds to have specific names in the tar file.

- Chris


On Jul 8, 2012, at 6:01 PM, Lorin Hochstein wrote:

Paul:

I assume you're using XenServer? When I grepped through the code, there appears 
to be a XenServer plugin for glance for supporting tar balls that could be 
OVAs, but don't necessarily contain the OVF file (?).

Here's the code:
https://github.com/openstack/nova/blob/stable/essex/plugins/xenserver/xenapi/etc/xapi.d/plugins/glance#L365



Take care,

Lorin
--
Lorin Hochstein
Lead Architect - Cloud Services
Nimbis Services, Inc.
www.nimbisservices.comhttps://www.nimbisservices.com/





On Jul 5, 2012, at 11:22 AM, Paul Voccio wrote:

Lorin,

We've been using OVA packages since the beginning. I believe there is a flag in 
glance for this.


Thanks,
~pvo

Paul Voccio
paul.voc...@rackspace.commailto:paul.voc...@rackspace.com
770-335-2143 (c)
pvo on #openstack
ಠ_ಠ

On Jul 3, 2012, at 9:07 PM, Lorin Hochstein wrote:


On Jun 29, 2012, at 9:53 PM, Adam Young wrote:

On 04/01/2012 11:15 AM, Lorin Hochstein wrote:


On Mar 29, 2012, at 12:40 PM, Daniel P. Berrange wrote:

On Wed, Mar 28, 2012 at 04:41:28PM -0400, Lorin Hochstein wrote:
All:

Given that I have a qcow2 image from somewhere (e.g., downloaded
it from a uec-images.ubuntu.comhttp://uec-images.ubuntu.com/, created one 
from a raw image using
qemu-img) that i want to add to glance:

1. How can I tell whether it's an ovf or bare container format?

You are mixing up terminology here. Disk image formats are things like
raw, qcow2, vmdk, etc.

OVF refers to the format of a metadata file provided alongside the
disk image, which describes various requirements for running the
image.

The two are not tied together at all, merely complementary to
each other.


Thanks, that clears things up. I was confused by this language, which sounded 
to me like the metadata was embedded in the disk image file:

http://glance.openstack.org/formats.html

The container format refers to whether the virtual machine image is in a file 
format that also contains metadata about the actual virtual machine.

In addition, the docs have examples like this, which clearly aren't meaningful:
http://glance.openstack.org/glance.html#important-information-about-uploading-images

Just to add to the confusion  the OVF can contain both the metadata file and 
the disk image file in a single archived file.

An OVF package consists of several files, placed in one directory. A one-file 
alternative is the OVA package, which is a TAR file with the OVF directory 
inside.

http://en.wikipedia.org/wiki/Open_Virtualization_Format#Technical_description


Does anybody know if OpenStack (nova+glance) currently supports OVA packages?

Take care,

Lorin
--
Lorin Hochstein
Lead Architect - Cloud Services
Nimbis Services, Inc.
www.nimbisservices.comhttps://www.nimbisservices.com/




___
Mailing list: https://launchpad.net/~openstack
Post to : 
openstack@lists.launchpad.netmailto: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.netmailto: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] Nova and asynchronous instance launching

2012-07-03 Thread Chris Behrens
There wasn't a blueprint, but you can see the change here:

https://review.openstack.org/#/c/7542/

Bandwidth is updated in a DB table outside of notifications.  Notifications 
just pulls the last data received and sends it.  With rapid state changes, I 
would expect that bandidth_usage would mostly not be different in the messages… 
unless a bandwidth update in the background happens to sneak in during the 
middle of the events.

In any case… these state change events are noted by 'compute.instance.update'.  
For actions like 'rebuild', you'll get an 'exists' message when the action 
starts… but then you'll also see some instance.update events as the states 
switch.

At least this is how I understand it.  Besides the code, your best resource for 
information about notification payloads, etc is this:

http://wiki.openstack.org/SystemUsageData

- Chris


On Jul 2, 2012, at 4:38 AM, Day, Phil wrote:

 Hi Chris,
 
 Thanks for the pointer on the new notification on state change stuff, I'd 
 missed that change.
 
 Is there a blueprint or some such which describes the change ?   
 
 In particular I'm trying to understand how the bandwidth_usage values fit in 
 here.  It seems that during a VM creation there would normally be a number of 
 fairly rapid state changes, so re-calculating the bandwidth_usage figures 
 might be quiet expensive jut to log a change in task_state from say 
 Networking to Block Device Mapping. I was kind of expecting that to 
 be more part of the compute.exists messages than the update.
 
 Do we have something that catalogues the various notification messages and 
 their payloads ?
 
 Thanks,
 Phil
 
 
 
 -Original Message-
 From: Chris Behrens [mailto:cbehr...@codestud.com] 
 Sent: 02 July 2012 00:14
 To: Day, Phil
 Cc: Jay Pipes; Huang Zhiteng; openstack@lists.launchpad.net
 Subject: Re: [Openstack] Nova and asynchronous instance launching
 
 
 
 On Jul 1, 2012, at 3:04 PM, Day, Phil philip@hp.com wrote:
 
 Rather than adding debug statements could we please add additional 
 notification events (for example a notification event whenever task_state 
 changes)
 
 
 This has been in trunk for a month or maybe a little longer.
 
 FYI
 
 - Chris

___
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] Nova and asynchronous instance launching

2012-07-01 Thread Chris Behrens


On Jul 1, 2012, at 3:04 PM, Day, Phil philip@hp.com wrote:

 Rather than adding debug statements could we please add additional 
 notification events (for example a notification event whenever task_state 
 changes)
 

This has been in trunk for a month or maybe a little longer.

FYI

- Chris
___
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] Nova and asynchronous instance launching

2012-06-29 Thread Chris Behrens
There's only 1 rpc call unless you're running cactus or something.  All 
schedulers have a loop...not API.

min-count is unfortunately special cased right now to be a single call vs cast, 
though.  I was going to fix that real soon.  Problem is scheduler creating the 
DB records vs API in this case.  I can expand on this when I'm not replying 
from a phone. :)

There's some other things that would be nice to do here with the API but the 
call can change to a cast with no API behavior change (except for speeding up 
the response :)

- Chris

On Jun 27, 2012, at 12:53 PM, Devin Carlen de...@openstack.org wrote:

 We filed a blueprint for this yesterday:
 
 https://blueprints.launchpad.net/nova/+spec/launch-instances-async
 
 Currently if a user attempts to create a lot of instances with a single API 
 call (using min_count) the request will hang for a long time while all RPC 
 calls are completed. For a large number of instances this can take a very 
 long time. The API should return immediately and asynchronously make RPC 
 calls.
 
 We are looking for creative ways to work around this problem, but in the 
 meantime I'd like to hear from folks on what they think the preferred 
 solution would be.
 
 
 Devin
 ___
 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] Jenkins

2012-06-27 Thread Chris Behrens
It had some problems… now it just seems backed up…  trying to catch up.


On Jun 27, 2012, at 12:04 PM, Gary Kotton wrote:

 Hi,
 Is anyone aware of a problem with Jenkins?
 Thanks
 Gary
 
 ___
 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] Lossage in nova test suite?

2012-06-04 Thread Chris Behrens
Ok, I take that back.  I do see one issue.  It looks like each test run is 
leaving 2 stuck runner.py's for me… even if the tests complete successfully.



On Jun 4, 2012, at 4:57 PM, Chris Behrens wrote:

 The only thing I notice is about a 50% increase in the unit test run time 
 very recently… I don't know when that started..  maybe today.  Not seeing the 
 100s of python processes.  Hm!
 
 - Chris
 
 
 On Jun 4, 2012, at 4:00 PM, Kevin L. Mitchell wrote:
 
 Today I've noticed some significant problems with nova's test suite
 leaving literally hundreds of python processes out.  I'm guessing that
 this has to do with the unit tests for the multiprocess patch, which was
 just approved.  This could be causing problems with jenkins, too…
 
 Anybody have any other insights?
 -- 
 Kevin L. Mitchell kevin.mitch...@rackspace.com
 
 
 ___
 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] Lossage in nova test suite?

2012-06-04 Thread Chris Behrens
Sorry, replying too soon before fully investigating.  They *are* forking over 
and over again repeatedly as fast as possible… making them hard to kill.  They 
fork a child and the parent exits immediately..  and that repeats endlessly.  
My VM is too slow right now that even a tight pkill loop doesn't hit them 
before they've forked again.

http://paste.openstack.org/show/18338/

Only recourse may be to reboot my VM.


On Jun 4, 2012, at 4:57 PM, Chris Behrens wrote:

 The only thing I notice is about a 50% increase in the unit test run time 
 very recently… I don't know when that started..  maybe today.  Not seeing the 
 100s of python processes.  Hm!
 
 - Chris
 
 
 On Jun 4, 2012, at 4:00 PM, Kevin L. Mitchell wrote:
 
 Today I've noticed some significant problems with nova's test suite
 leaving literally hundreds of python processes out.  I'm guessing that
 this has to do with the unit tests for the multiprocess patch, which was
 just approved.  This could be causing problems with jenkins, too…
 
 Anybody have any other insights?
 -- 
 Kevin L. Mitchell kevin.mitch...@rackspace.com
 
 
 ___
 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] hidden / phasing out instance_types/flavors

2012-06-01 Thread Chris Behrens
Doug,

That's the behavior I'd like to see and think it makes the most sense.  It's 
really a requirement if we want a great cells implementation.  instance_types 
table should only be used at the top level API cell.   The data contained in 
the table is passed in the messaging and stored with the newly built, re-built, 
or re-sized instance.  I brought this up a couple days ago internally at 
Rackspace while this current patch was being developed and I think we were 
going to start to look at that next…. assuming everyone loves the idea. :)

- Chris


On Jun 1, 2012, at 9:54 AM, Doug Davis wrote:

 
 Just wondering, is there any reason flavors are not limited to just 
 create-time?  Meaning, use it to create a new instance and then copy all of 
 the flavor data into the new instance's data. This breaks the relationship 
 between the instance and the flavor, allow each to be changed independently - 
 or even deleted.  Doing this would mean you wouldn't need to add a disabled 
 flag at all - just delete the flavor if you don't want anyone to use it.   
 This would also allow for an easier modification of existing instances - just 
 modify the instance's property that needs to change w/o creating a whole new 
 flavor (avoids the proliferation of flavors too). 
 
 thanks
 -Doug
 __
 STSM |  Standards Architect  |  IBM Software Group
 (919) 254-6905  |  IBM 444-6905  |  d...@us.ibm.com
 The more I'm around some people, the more I like my dog. 
 
 
 Matthew Sherborne matt.sherbo...@rackspace.com 
 Sent by: openstack-bounces+dug=us.ibm@lists.launchpad.net
 06/01/2012 10:41 AM
 
 To
 openstack@lists.launchpad.net
 cc
 Subject
 [Openstack] hidden / phasing out instance_types/flavors
 
 
 
 
 
 Hi Openstack community, 
 
 We recently uploaded this change: https://review.openstack.org/#/c/8007/ 
 
 It adds a 'disabled' field to the 'instance_type' or 'flavor' concept. 
 
 The usage scenario we had in mind was to phase out a flavor that's already in 
 use; people shouldn't be able to build new instances from that flavor, nor 
 should customers see it in the list of available flavors. But when they view 
 an existing instance with that flavor type, they should still be able to see 
 the name of it at least. But should you change your mind later and wish to 
 re-enable it, it's easy to just flip the flag. 
 
 We'd appreciate feedback on the added field and the use of the namespace in 
 the core code. (Line 56 here: 
 https://review.openstack.org/#/c/8007/1/nova/api/openstack/compute/views/flavors.py
  ) 
 
 The reasoning behind this is: 
  * If we did it as an extension, it would greatly complicate the code. The 
 code is much simpler being right in the core code. 
  * We can't just add a field to the API quickly, so we need to use the 
 namespace. 
  * The hope is that eventually it would be accepted into the  main API 
 anyway, then the coding would be just removing the namespace. 
 
 Many thanks in for reading. All feedback appreciated. 
 
 Kind Regards,
 Matthew Sherborne___
 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] 'nova flavor-list' fails with ERROR: string indices must be integers, not str, but 'nova-manage flavor list' succeeds.

2012-05-09 Thread Chris Behrens
That's the traceback from novaclient.  If you're getting a 503, there's likely 
a traceback in the nova-api service logs.

- Chris

On May 9, 2012, at 5:38 PM, James R Penick pen...@yahoo-inc.com wrote:

 Sorry, forgot to include that:
 
 bash-4.1$ nova —debug image-list
 connect: (127.0.0.1, 5000)
 send: 'POST /v2.0/tokens HTTP/1.1\r\nHost: 127.0.0.1:5000\r\nAccept-Encoding: 
 identity\r\nContent-Length: 101\r\ncontent-type: application/json\r\naccept: 
 application/json\r\nuser-agent: python-novaclient\r\n\r\n'
 send: '{auth: {tenantName: vmops, passwordCredentials: {username: 
 penick, password: tacos}}}'
 reply: 'HTTP/1.1 200 OK\r\n'
 header: Content-Type: application/json
 header: Vary: X-Auth-Token
 header: Content-Length: 1903
 header: Date: Thu, 10 May 2012 00:37:02 GMT
 connect: (208.67.66.91, 8774)
 send: u'GET /v2/c9d7f45d980d494fab3d69d9fc57547c/images/detail 
 HTTP/1.1\r\nHost: 208.67.66.91:8774\r\nx-auth-project-id: 
 vmops\r\nx-auth-token: 3261ef74e6494561830949780838\r\naccept-encoding: 
 compress, gzip\r\naccept: application/json\r\nuser-agent: 
 python-novaclient\r\n\r\n'
 reply: 'HTTP/1.1 503 Service Unavailable\r\n'
 header: Content-Length: 100
 header: Content-Type: text/plain; charset=UTF-8
 header: Date: Thu, 10 May 2012 00:37:02 GMT
 DEBUG (shell:415) string indices must be integers, not str
 Traceback (most recent call last):
   File /usr/lib/python2.6/site-packages/novaclient/shell.py, line 412, in 
 main
 OpenStackComputeShell().main(sys.argv[1:])
   File /usr/lib/python2.6/site-packages/novaclient/shell.py, line 363, in 
 main
 args.func(self.cs, args)
   File /usr/lib/python2.6/site-packages/novaclient/v1_1/shell.py, line 350, 
 in do_image_list
 image_list = cs.images.list()
   File /usr/lib/python2.6/site-packages/novaclient/v1_1/images.py, line 47, 
 in list
 return self._list(/images/detail, images)
   File /usr/lib/python2.6/site-packages/novaclient/base.py, line 80, in 
 _list
 data = body[response_key]
 TypeError: string indices must be integers, not str
 ERROR: string indices must be integers, not str
 bash-4.1$ 
 
 
 From: Vishvananda Ishaya vishvana...@gmail.com
 To: James R Penick pen...@yahoo-inc.com
 Cc: openstack@lists.launchpad.net openstack@lists.launchpad.net
 Subject: Re: [Openstack] 'nova flavor-list' fails with ERROR: string indices 
 must be integers, not str, but 'nova-manage flavor list' succeeds.
 
 Is there a traceback from nova-api?
 
 ___
 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] Moving nova.rpc into openstack.common

2012-05-07 Thread Chris Behrens

On Apr 3, 2012, at 8:00 AM, Russell Bryant wrote:
[…]
 
 3) nova.local
 
 This looks like a good candidate for moving to openstack-common and
 switching all usage of nova.local to be openstack.common.local.
 

Yeah, this one might be kind of weird, because it's used to set the 'nova 
context', and I'm not sure it actually applies to Openstack generically.

[…]

 5) nova.context
 
 I haven't looked at this one in detail, yet.  We'll have to sort out
 what to do with RequestContext.  I see in the message from Swaminathan
 Venkataraman that both openstack-common and nova have RequestContext,
 but there's more code in the nova version.  I suppose we should look at
 making the openstack-common version sufficient for nova and then switch
 nova to it.

Hm.  I wonder if we need some sort of serialize/deserialize callbacks or 
something so that nova can encode/decode the context that's passed… and not 
have any of this context stuff be a part of openstack-common.  Just a random 
thought without looking or thinking about it too much. :)
[…]

- Chris


___
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] proposal for Russell Bryant to be added to Nova Core

2012-04-27 Thread Chris Behrens
+1 from me

On Apr 27, 2012, at 8:09 AM, Dan Prince dpri...@redhat.com wrote:

 Russell Bryant wrote the Nova Qpid rpc implementation and is a member of the 
 Nova security team. He has been helping chipping away at reviews and 
 contributing to discussions for some time now.
 
 I'd like to seem him Nova core so he can help out w/ reviews... definitely 
 the RPC ones.
 
 Dan
 
 ___
 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] Regular XenAPI Meeting

2012-04-24 Thread Chris Behrens
+1 and good on the time here

On Apr 23, 2012, at 10:21 AM, John Garbutt john.garb...@citrix.com wrote:

 Hi,
  
 Are people keen for a XenAPI virt layer meetup on IRC every month?
  
 I have added a suggested time to the wiki, as a starting point:
 Monthly, second Wednesday at 17:00 UTC
  
 Does that seem a reasonable time for those that want to attend? It can be 
 more frequent if we find that useful.
  
 I don’t want to detract from the other meetings, but it would be good to keep 
 all of us working on the XenAPI layer in regular contact.
  
 Cheers,
 John
 ___
 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] New Gerrit version (and server)

2012-04-13 Thread Chris Behrens
I'm noticing that core reviewers aren't tagged as a +2 anymore in the general 
review box.  Instead, it just shows a check.  (Except for my own reviews, which 
show as a +2).   I have to look at the review comments to see if others voted 
+2 now.

- Chris

On Apr 12, 2012, at 4:23 PM, James E. Blair wrote:

 Hi,
 
 We've just upgraded Gerrit to version 2.3.  There are a lot of changes
 behind the scenes that we've been looking forward to (like being able to
 store data in innodb rather than myisam tables for extra data
 longevity).  And there are a few visible changes that may be of interest
 to OpenStack developers.
 
 One new addition in 2.3 is draft changes.  The idea behind a draft
 change in Gerrit is that it is a change that is not ready for merging,
 or even general code review, but you would like to share it with some
 people to get early comments.  If you upload a change as a draft, by
 default, no one else can see it.  You must explicitly add each person
 you would like to share it with as a reviewer.  Reviewers you add can
 leave comments, but can not vote at this stage.  You can continue to
 upload new patchsets to the change as it evolves, and once it is ready
 for general review, you can click the Publish button.  It will then
 become a normal change in Gerrit that everyone can see, including the
 earlier reviews from the draft stage.  This is a one way transition;
 once a draft is published, it can't be made a draft again.
 
 If you're using git-review from source or the latest version from PyPI
 (version 1.16, released today), you can easily upload a draft change by
 adding the -D option (eg, git review -D).  Earlier versions of
 git-review also have the -D option, but the git ref that Gerrit uses
 to indicate a change should be a draft was changed between the 2.3
 release candidate and the final release; so if using -D results in an
 error, you may need to upgrade.
 
 You may notice some changes to the diff view.  Notably, the header which
 contained all of the possible viewing options has been split up into
 several parts; you can switch between them by selecting options that
 show up under the menu at the top.  I recommend setting Retain Header
 On File Switch under the Preferences section, as it is a nicer
 experience when changing files.
 
 Another notable new feature is the ability to add a group to the list of
 reviewers for a change.  Just type in the name of the group and click
 Add Reviewer and all of the individuals in the group will be added to
 the list of reviewers (and will see the change on their review
 requests list.
 
 Finally, we've modified some of our local OpenStack style changes so
 that it is easier for us to track upstream changes in layout.  It should
 mean a little more consistency throughout the interface, though we
 weren't able to keep the alternating row colors on the main table
 without a disproportionate amount of effort.  Do note that you can click
 on a line in a table, and it will be highlighted to improve legibility.
 
 We've tried to give this as much testing as possible before moving it
 into production.  If you encounter any issues, please let us know on IRC
 (mtaylor, jeblair, LinuxJedi), via email at
 openstack-ci-adm...@lists.launchpad.net, or you can file a bug at:
 
  https://bugs.launchpad.net/openstack-ci/
 
 Thanks,
 
 Jim
 
 ___
 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] Limit flavors to specific hosts

2012-04-02 Thread Chris Behrens
I have some plans for being able to set arbitrary capabilities for hosts via 
nova.conf that you can use to build scheduler filters.

Right now, there are capabilities, but I believe we're only creating these from 
hypervisor stats.  You can filter on those today.  What I'm planning on adding 
is a way to specify additional keyname/value pairs in nova.conf to supplement 
the capabilities we build from hypervisor stats.  You could set things like 
this in your nova.conf:

--host_capabilities=instance_type_ids=1,2,3;keyX;keyY=something

etc.  Since capabilities are already passed to scheduler rules, you could add 
some basic filters that do:

if 'instance_type_ids' in capabilities and instance_type.id not in 
capabilities['instance_type_ids']:
return False

Since host_capabilities are just arbitrary keyname/value pairs, you can pretty 
much add anything you want to --host_capabilities and then write some matching 
scheduler filter rules.

That's the basic idea, anyway.   The exact same behavior will apply to 'cells' 
and the cells scheduler as well.  (Except you'll have cells_capabilities=  
somewhere (prob nova.conf for the cells service).

- Chris


On Apr 2, 2012, at 10:36 AM, Day, Phil wrote:

Hi Folks,

I’m looking for a capability to limit some flavours to some hosts.  I want the 
mapping to be as flexible as possible, and work within a zone/cell  (I don’t 
want to add zones just to get this mapping).For example I want to express 
something like:

Host_1 supports flavours A, C
Host_2 supports flavours A, B
Host_3 supports flavours A, B, C
Host_4 supports flavours D

Ideally there would be some form of grouping to sets of flavours:

Flavour_A  is part of Flavour_Sets 1, 2, 3
Flavour_B is part of Flavour_Sets 2, 3
Flavour_C is part of Flavour_Sets 1, 3, 4

Host_1 supports flavour Set 1
Host_2 supports flavour Set 2
Host_3 supports flavour Set 3
Host_4 supports flavour Set 4


From the Essex design summit I thought that host aggregates was going to give 
this sort of capability, but having looked through the code that seems to be 
quite tightly coupled with specific hypervisor functionality, whereas this is 
purely a scheduler feature.

I can see that I could define flavour group membership through the 
instanace_type_extra_specs, but not how to then associate these with specific 
hosts.

I know I’m a tad behind some of the recent changes – so before suggesting a 
design summit session on this I thought I’d ask - is there something that 
already does this type of mapping ?

Cheers,
Phil



___
Mailing list: https://launchpad.net/~openstack
Post to : 
openstack@lists.launchpad.netmailto: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] Moving nova.rpc into openstack.common

2012-04-02 Thread Chris Behrens
Seems like a sensible plan.  Carrot can go now.  I marked it deprecated so we 
can remove in folsom.  I can take care of this today, even.

On Apr 2, 2012, at 3:02 PM, Duncan McGreggor dun...@dreamhost.com wrote:

 +1
 
 Thanks for exploring this, Russell!
 
 Next step: getting a common REST API abstraction in place that all the
 projects can use... ;-)
 
 d
 
 On Mon, Apr 2, 2012 at 4:26 PM, Russell Bryant rbry...@redhat.com wrote:
 Greetings,
 
 There was a thread on this list a little while ago about moving the
 notification drivers that are in nova and glance into openstack.common
 since they provide very similar functionality, but have implementations
 that have diverged over time.  Is anyone actively working on this?  If
 so, please let me know.
 
 For the message queue notifiers, nova uses nova.rpc to do the heavy
 lifting.  Glance has notifiers written against the messaging libs
 directly.  I think it makes sense to take the nova approach.  This would
 mean moving nova.rpc into openstack.common before the notifiers can get
 moved.
 
 I have started looking at moving nova.rpc to openstack.common.rpc.  My
 plan is:
 
 1) Write a series of patches that reduces coupling in nova.rpc on the
 rest of nova.
 
 2) Submit changes needed to support this decoupling to openstack.common.
 
 3) Once nova.rpc is sufficiently decoupled, move it to openstack.common.
 
 While doing the above, I want to aim for the least amount of disruption
 to the rpc interface as is practical.
 
 While we're at it, is it time to drop nova.rpc.impl_carrot?  It is
 marked as deprecated in Essex.  Is there any reason anyone would still
 use impl_carrot over impl_kombu?
 
 Thoughts?
 
 Thanks,
 
 --
 Russell Bryant
 
 ___
 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] Distributed rate-limiting

2012-03-29 Thread Chris Behrens
My issue with using the URL is someone could easily DoS any tenant.  Maybe you 
said that below.  I only have a brief moment to scan email ATM. :)

On Mar 29, 2012, at 5:26 PM, Kevin L. Mitchell kevin.mitch...@rackspace.com 
wrote:

 On Thu, 2012-03-29 at 22:58 +0100, Day, Phil wrote:
 - As you get the tenant id from the context I assume this module has
 to come after the authentication in the pipeline.   
 
 Yes, I have made that assumption.  It seems reasonable, given that the
 existing rate-limit middleware is right after authentication as well.
 
 Have you thought about using the tenant_id in the URL instead ?   (I'm
 thinking of the case where you want rate limit requests into the
 authentication system as well as Nova itself).
 
 No, I haven't.  I don't trust the user, which is where the tenant_id in
 the URL comes from.  I do trust the auth system, which is why I want to
 use the tenant ID from the context.  (And yes, you could argue that
 authz would prevent their access to other tenants anyway, but why make
 nova have to check authz if rate limiting would stop them in the first
 place?)
 
 As for rate limiting requests into the authentication system, I'd
 suggest using a Limit subclass which uses the remote IP address in place
 of a tenant ID, at least for the user endpoint.  I don't think we want
 any rate limiting at all on the service side of Keystone; our current
 architecture means that Keystone is going to be hit a *lot*: at least
 once for each request that hits Nova, and more in certain cases (i.e.,
 instance boot, where we'll have to hit quantum and glance as well).
 
 - Does this work for EC2 as well as OSAPI ?
 
 Actually, it didn't occur to me to test, given that I don't really use
 the EC2 API.  I don't think there's anything in the basic architecture
 which would be incompatible with EC2; the only possible sticking point
 that occurs to me is the URL construction in
 nova_limits:NovaClassLimit.route(): if the URL specified is prefixed
 with '/v1.1/' or '/v2/', the version identifier is dropped (otherwise
 the route wouldn't match).  That would be easy to work around; simply
 extend NovaClassLimit and override route() to do the appropriate
 transformation for EC2.  Any EC2 experts want to weigh in?
 -- 
 Kevin L. Mitchell kevin.mitch...@rackspace.com
 
 
 ___
 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] error on nova-compute on domU on xen

2012-03-15 Thread Chris Behrens
pip install xenapi

- Chris


On Mar 15, 2012, at 10:00 AM, Eduardo Nunes wrote:

 got this error on log,  2012-03-15 16:52:33,809 ERROR nova.compute.manager 
 [-] Unable to load the virtualization driver: No module named XenAPI
 my nova-compute version diablo 2011.3
 ___
 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] Removal of VSA Code

2012-03-15 Thread Chris Behrens
+1

I'd like to see a way for plugins to be able to modify the DB schema.  There's 
no easy way for a plugin to be able to add a column to a core nova table, for 
instance.

In any case, I'm +1 on removing the vsa code for Essex.


On Mar 15, 2012, at 10:08 AM, Ghe Rivero wrote:

 I think is time (after essex release) to rethink the way plugins are 
 integrated into mainline code. This problem, an outdated plugin, it's not 
 new  (Hyper-V), and with the increasing numbers of them (storage like Zadara, 
 Nexenta... network with Nicira, BigSwitch, Citrix...) we need a policy to 
 deal with this. From the vendor point of view, it's not easy to follow the 
 development release cycle that OpenStack has now days, with so many changes 
 day after day. Maybe plugins should be out of OpenStack code, and let vendors 
 to publish them after the release.
 
 Ghe Rivero
 
 On Thu, Mar 15, 2012 at 5:53 PM, Kevin L. Mitchell 
 kevin.mitch...@rackspace.com wrote:
 On Thu, 2012-03-15 at 09:02 -0700, Vladimir Popovski wrote:
  I was not aware of any issue with VSA code in diablo/stable (or at least
  major issues).
 
 I'll point out that the code we're concerned about is the code in trunk,
 not the code in diablo/stable.  There have been substantial changes to
 the code since diablo was released, which has resulted in bitrot in the
 VSA code and the attendant breakages to which Vish is referring.
 --
 Kevin L. Mitchell kevin.mitch...@rackspace.com
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
 
 
 
 -- 
 Ghe Rivero
 OpenStack  Distribution Engineer
 www.stackops.com |  ghe.riv...@stackops.com | +34 625 63 45 23 | 
 skype:ghe.rivero
 
 
  ADVERTENCIA LEGAL  
 Le informamos, como destinatario de este mensaje, que el correo electrónico y 
 las comunicaciones por medio de Internet no permiten asegurar ni garantizar 
 la confidencialidad de los mensajes transmitidos, así como tampoco su 
 integridad o su correcta recepción, por lo que STACKOPS TECHNOLOGIES S.L. no 
 asume responsabilidad alguna por tales circunstancias. Si no consintiese en 
 la utilización del correo electrónico o de las comunicaciones vía Internet le 
 rogamos nos lo comunique y ponga en nuestro conocimiento de manera inmediata. 
 Este mensaje va dirigido, de manera exclusiva, a su destinatario y contiene 
 información confidencial y sujeta al secreto profesional, cuya divulgación no 
 está permitida por la ley. En caso de haber recibido este mensaje por error, 
 le rogamos que, de forma inmediata, nos lo comunique mediante correo 
 electrónico remitido a nuestra atención y proceda a su eliminación, así como 
 a la de cualquier documento adjunto al mismo. Asimismo, le comunicamos que la 
 distribución, copia o utilización de este mensaje, o de cualquier documento 
 adjunto al mismo, cualquiera que fuera su finalidad, están prohibidas por la 
 ley. 
 
 * PRIVILEGED AND CONFIDENTIAL  
 We hereby inform you, as addressee of this message, that e-mail and Internet 
 do not guarantee the confidentiality, nor the completeness or proper 
 reception of the messages sent and, thus, STACKOPS TECHNOLOGIES S.L. does not 
 assume any liability for those circumstances. Should you not agree to the use 
 of e-mail or to communications via Internet, you are kindly requested to 
 notify us immediately. This message is intended exclusively for the person to 
 whom it is addressed and contains privileged and confidential information 
 protected from disclosure by law. If you are not the addressee indicated in 
 this message, you should immediately delete it and any attachments and notify 
 the sender by reply e-mail. In such case, you are hereby notified that any 
 dissemination, distribution, copying or use of this message or any 
 attachments, for any purpose, is strictly prohibited by law.
 
 
 ___
 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] eventlet weirdness

2012-03-04 Thread Chris Behrens


On Mar 4, 2012, at 8:56 PM, Gabe Westmaas gabe.westm...@rackspace.com 
 I agree with this paragraph whole heartedly!  I would definitely like to see 
 this separation not only for the reasons you list above (performance, all 
 installations behaving the same way) but also because I think it gives us a 
 lot more power to help handle seamless upgrades - another topic I'm sure we 
 will be discussing at the conference.
 

And it makes the compute cells stuff plug in a LOT more cleanly.
___
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] eventlet weirdness

2012-03-02 Thread Chris Behrens
It's not just you


On Mar 2, 2012, at 10:35 AM, Joshua Harlow wrote:

 Does anyone else feel that the following seems really “dirty”, or is it just 
 me.
 
 “adding a few sleep(0) calls in various places in the
 Nova codebase (as was recently added in the _sync_power_states()
 periodic task) is an easy and simple win with pretty much no ill
 side-effects. :)”
 
 Dirty in that it feels like there is something wrong from a design point of 
 view.
 Sprinkling “sleep(0)” seems like its a band-aid on a larger problem imho. 
 But that’s just my gut feeling.
 
 :-(
 
 On 3/2/12 8:26 AM, Armando Migliaccio armando.migliac...@eu.citrix.com 
 wrote:
 
 I knew you'd say that :P
 
 There you go: https://bugs.launchpad.net/nova/+bug/944145
 
 Cheers,
 Armando
 
  -Original Message-
  From: Jay Pipes [mailto:jaypi...@gmail.com]
  Sent: 02 March 2012 16:22
  To: Armando Migliaccio
  Cc: openstack@lists.launchpad.net
  Subject: Re: [Openstack] eventlet weirdness
 
  On 03/02/2012 10:52 AM, Armando Migliaccio wrote:
   I'd be cautious to say that no ill side-effects were introduced. I found a
  race condition right in the middle of sync_power_states, which I assume was
  exposed by breaking the task deliberately.
 
  Such a party-pooper! ;)
 
  Got a link to the bug report for me?
 
  Thanks!
  -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
 
 ___
 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] eventlet weirdness

2012-03-01 Thread Chris Behrens

On Mar 1, 2012, at 12:27 PM, Adam Young wrote:

 On 03/01/2012 02:45 PM, Yun Mao wrote:
 There are plenty eventlet discussion recently but I'll stick my
 question to this thread, although it's pretty much a separate
 question. :)
 
 How is MySQL access handled in eventlet? Presumably it's external C
 library so it's not going to be monkey patched. Does that make every
 db access call a blocking call? Thanks,
 
 Nope, it goes through a thread pool.

Actually, it doesn't use a thread pool right now...  so it does block, unless 
something has changed recently that I'm not aware of.  We were using the 
eventpool dbpool code, but we had to remove it at diablo release time due to 
issues.  Correct me if this is wrong.  I'm not sure it's ever been completely 
revisited, but this is definitely a huge issue for scaling.  It's been on my 
list for a while to take a look at.

- Chris




___
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] eventlet weirdness

2012-03-01 Thread Chris Behrens

On Mar 1, 2012, at 12:36 PM, Vishvananda Ishaya wrote:

 Yes it does.  We actually tried to use a pool at diablo release and it was 
 very broken. There was discussion about moving over to a pure-python mysql 
 library, but it hasn't been tried yet.
 

I know some people have tried this... and the performance is...  not great.

- Chris


___
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] Basic networking/configuration woes

2012-02-23 Thread Chris Behrens
I'd assume FlatDHCPManager works much like FlatManager, but maybe I'm wrong.  I 
use FlatManager and I always end up having to modify the fixed_ips table 
manually after running nova-manage because I think I'm trying to do something 
similar as you.  I have a /23... and I want to give nova a /25 out of it.   
Though I'm giving nova a /25, it's still really a /23.   I use nova-manage to 
add my /23 and then I edit the fixed_ips table and mark a lot of addresses as 
'reserved'... or just remove them altogether.  (When I try to specify the /25 
to nova-manage, it doesn't go so well)

As far as 169.254...  you can reach that without any address assigned.  Your 
NIC should receive a link local address when there's no other IP assigned 
which is in the 169.254.* range.

Not sure if that helped much :)

- Chris

On Feb 23, 2012, at 3:12 PM, Justin Santa Barbara wrote:

 I'm trying to use OpenStack in what I think to be the typical
 non-public-cloud deployment, and my experience is not what it
 could/should be.  I'm hoping someone can point me to the right way,
 or we can figure out what needs to change.
 
 My wishlist:
 * I want my instances to be on my network e.g. 10.0.0.0/16
 * As Nova can't pull IPs from my DHCP server, I'm willing to allocate
 it a sub-range, e.g. 10.200.0.0/16
 
 First decision: Choosing a networking mode:
 * I don't want / need VLANs
 * If I use FlatDHCPManager, I can't do the subrange stuff - it seems
 that this mode assumes it controls the entire address range.
 * So it's FlatManager.  It works, but now I don't have DHCP, so I just
 have to inject info into the instance.
 
 Next decision: How to inject info (at least the IP address):
 * Supposedly the 'right way' is to use cloud-init.  It looks like I'd
 still need DHCP before I can reach 169.254..., and I don't have that.
 It looks like cloud-init can't do network configuration even if nova
 passed the information in.  And I'd be locked into cloud-init images -
 no Windows, no Debian etc.
 * The next best way is config_drive.  It looks like I'd have to bundle
 my own image.  Maybe I could use cloud-init, maybe with an OVF
 formatted config_drive, but even then I couldn't configure networking
 (?)
 * So now I'm back to file injection.  That just works.
 
 So now I'm using FlatManager and file injection; and yet I feel this
 is the dodgy back alley of OpenStack, and I should be in the well-lit
 nice area.  I worry that things like file injection and FlatManager
 are less favored and may be deprecated in future.  But every time I
 try to do things right I just waste a lot of time and make no
 progress.
 
 Yet I feel I didn't really have a choice here.   How are other people
 making this work?  What is the right way?
 
 Justin
 
 ___
 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] Basic networking/configuration woes

2012-02-23 Thread Chris Behrens

On Feb 23, 2012, at 3:55 PM, Justin Santa Barbara wrote:

 Thanks for chipping in.
 
 I have contributed a patch (which has merged) which should allow you
 to stop editing the SQL:  https://review.openstack.org/#change,3816
 With that, you should be able to pass the full range, with an
 additional argument specifying the subset that nova controls:
 e.g.-fixed_cidr=10.200.0.0/16

Oh cool.. that'll save me some pain. :)

 
 When I boot my VM, I think it gets a real address from my DHCP server
 (because the VM can reach the DHCP server), but not the address nova
 assigned it!  I believe the nova iptables rules mean that the machine
 can't then do TCP/IP, but even if I am wrong/could overcome that, I
 don't think cloud-init could then configure the correct address.

If you're going to go the cloud-init route... you wouldn't need DHCP, right?   
There should be iptables rules to allow you to talk to the metadata service 
over 169.254.*  (And linux should give you a default link-local address that 
allows you to talk to the MD service magically)

Do you have a non-nova DHCP server running as well?

- Chris


 
 Justin
 
 
 On Thu, Feb 23, 2012 at 3:38 PM, Chris Behrens cbehr...@codestud.com wrote:
 I'd assume FlatDHCPManager works much like FlatManager, but maybe I'm wrong. 
  I use FlatManager and I always end up having to modify the fixed_ips table 
 manually after running nova-manage because I think I'm trying to do 
 something similar as you.  I have a /23... and I want to give nova a /25 out 
 of it.   Though I'm giving nova a /25, it's still really a /23.   I use 
 nova-manage to add my /23 and then I edit the fixed_ips table and mark a lot 
 of addresses as 'reserved'... or just remove them altogether.  (When I try 
 to specify the /25 to nova-manage, it doesn't go so well)
 
 As far as 169.254...  you can reach that without any address assigned.  Your 
 NIC should receive a link local address when there's no other IP 
 assigned which is in the 169.254.* range.
 
 Not sure if that helped much :)
 
 - Chris
 
 On Feb 23, 2012, at 3:12 PM, Justin Santa Barbara wrote:
 
 I'm trying to use OpenStack in what I think to be the typical
 non-public-cloud deployment, and my experience is not what it
 could/should be.  I'm hoping someone can point me to the right way,
 or we can figure out what needs to change.
 
 My wishlist:
 * I want my instances to be on my network e.g. 10.0.0.0/16
 * As Nova can't pull IPs from my DHCP server, I'm willing to allocate
 it a sub-range, e.g. 10.200.0.0/16
 
 First decision: Choosing a networking mode:
 * I don't want / need VLANs
 * If I use FlatDHCPManager, I can't do the subrange stuff - it seems
 that this mode assumes it controls the entire address range.
 * So it's FlatManager.  It works, but now I don't have DHCP, so I just
 have to inject info into the instance.
 
 Next decision: How to inject info (at least the IP address):
 * Supposedly the 'right way' is to use cloud-init.  It looks like I'd
 still need DHCP before I can reach 169.254..., and I don't have that.
 It looks like cloud-init can't do network configuration even if nova
 passed the information in.  And I'd be locked into cloud-init images -
 no Windows, no Debian etc.
 * The next best way is config_drive.  It looks like I'd have to bundle
 my own image.  Maybe I could use cloud-init, maybe with an OVF
 formatted config_drive, but even then I couldn't configure networking
 (?)
 * So now I'm back to file injection.  That just works.
 
 So now I'm using FlatManager and file injection; and yet I feel this
 is the dodgy back alley of OpenStack, and I should be in the well-lit
 nice area.  I worry that things like file injection and FlatManager
 are less favored and may be deprecated in future.  But every time I
 try to do things right I just waste a lot of time and make no
 progress.
 
 Yet I feel I didn't really have a choice here.   How are other people
 making this work?  What is the right way?
 
 Justin
 
 ___
 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] Remove Zones code - FFE

2012-02-18 Thread Chris Behrens
Sector?


On Feb 17, 2012, at 9:06 AM, Ed Leafe wrote:

 On Feb 15, 2012, at 10:07 AM, Armando Migliaccio wrote:
 
 I think you touched the crucial point here: what is exposed to the user and 
 what not. Reading:
 
 http://wiki.openstack.org/MultiClusterZones#Design
 
 one would think that zones is a concept exposed to end users. You're saying 
 otherwise; Is it just my misunderstanding or the wiki page is out of sync 
 with the latest developments? If zones are not going to be exposed to the 
 users, what will? Just availability zones?
 
   Zones *could* be exposed, but that is not intrinsic to their design. 
 Availability zones could be designated as a particular level of nesting of 
 the overall zone design, such as a particular region, and users could specify 
 the AZ they want their instance to be provisioned in. But a region might have 
 several data centers, each of which could be a zone, and individual DCs could 
 have several zones within them based on the physical layout of the building, 
 or networking capacity, or because of incremental build out, or for any 
 number of other reasons, none of which are relevant to a user.
 
   The term zone was adopted at a time when we weren't really focusing 
 on mimicking the AWS Availability Zone concept, and in hindsight, it was a 
 poor choice. So we should learn from that mistake and make sure we don't 
 choose a replacement term that already has a common usage, such as shards 
 segments or clusters.
 
 
 -- Ed Leafe
 
 
 ___
 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] Remove Zones code - FFE

2012-02-18 Thread Chris Behrens

On Feb 18, 2012, at 11:08 AM, Nathanael Burton wrote:

 Sectors remind me too much of disks.

Right..  I mentioned it because I would think it'd be rather difficult to 
confuse 'Nova sectors' with sectors on a disk.

 
 How about? Layers, Slices, Fragments, Knots...

Of those, I'd probably prefer 'Knots'.

- Chris



 
 On Feb 18, 2012 1:57 PM, Chris Behrens cbehr...@codestud.com wrote:
 Sector?
 
 
 On Feb 17, 2012, at 9:06 AM, Ed Leafe wrote:
 
  On Feb 15, 2012, at 10:07 AM, Armando Migliaccio wrote:
 
  I think you touched the crucial point here: what is exposed to the user 
  and what not. Reading:
 
  http://wiki.openstack.org/MultiClusterZones#Design
 
  one would think that zones is a concept exposed to end users. You're 
  saying otherwise; Is it just my misunderstanding or the wiki page is out 
  of sync with the latest developments? If zones are not going to be exposed 
  to the users, what will? Just availability zones?
 
Zones *could* be exposed, but that is not intrinsic to their design. 
  Availability zones could be designated as a particular level of nesting of 
  the overall zone design, such as a particular region, and users could 
  specify the AZ they want their instance to be provisioned in. But a region 
  might have several data centers, each of which could be a zone, and 
  individual DCs could have several zones within them based on the physical 
  layout of the building, or networking capacity, or because of incremental 
  build out, or for any number of other reasons, none of which are relevant 
  to a user.
 
The term zone was adopted at a time when we weren't really focusing 
  on mimicking the AWS Availability Zone concept, and in hindsight, it was a 
  poor choice. So we should learn from that mistake and make sure we don't 
  choose a replacement term that already has a common usage, such as shards 
  segments or clusters.
 
 
  -- Ed Leafe
 
 
  ___
  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] Remove Zones code - FFE

2012-02-18 Thread Chris Behrens

On Feb 18, 2012, at 11:36 AM, Ed Leafe wrote:
   I still prefer 'cell'. The parallel to single celled / multi-cellular 
 life forms makes sense, and there is really no overloading of the word in the 
 world of computers.

I like 'cell' too.  It makes sense.

But 'cell' reminds me too much of batteries could be a response here if we're 
going to say that sectors remind me too much of disks. :)   Batteries may 
less relate to computers, but there's:  memory cell, 'Cell' processor.  

The question is.. is something like cell or sector or whatever really going 
to be confusing in the context of Openstack/Nova.  'Zone' is certainly an issue 
because of 'availability zone', so I think it's obviously not a choice.

Anyway, I think 'cell' could be a good choice.  At some point, I'd like to 
collect the ideas and put them up in a poll for vote.  I suspect that's the 
only way we'll come to a fair conclusion.

- Chris


___
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] gerrit: basing a change on another uncommitted change

2012-02-16 Thread Chris Behrens
Hm.  It shouldn't have uploaded a new patch set for 3990 if you did not modify 
the commit in 3990.

However, it does appear that you modified 3990's commit.  This method was added:

test_get_rrd_server()

in nova/tests/test_xenapi.py

You can see it here:

https://review.openstack.org/#patch,unified,3990,7,nova/tests/test_xenapi.py

And click on the arrow for 'patch history' in upper left.  Then select the 
differences between patch set 6 and patch set 7.

- Chris


On Feb 16, 2012, at 5:09 PM, Renuka Apte wrote:

 Hello,
 
 What is the right way to base a change on another uncommitted change? 
 
 For example, I have https://review.openstack.org/#change,4267 based on top of 
 https://review.openstack.org/#change,3990. I checked out 3990. Created a 
 topic branch with git checkout -b name. I committed my own change locally 
 and then did git review. 
 
 This created the right dependency between the changes, but additionally, 
 since git review does a rebase, it uploaded a new patch set to 3990. That was 
 not what I expected (sorry Vish), and could be pretty harmful if 3990 had 
 received all its reviews and was ready to be merged. How can I avoid this?
 
 Thanks,
 Renuka.
 
 ___
 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] removing zones for essex

2012-02-15 Thread Chris Behrens

On Feb 14, 2012, at 2:31 PM, Chris Behrens wrote:
[...]
 With that, we have 2 branches up for review to remove the current zones code:
 
 novaclient:
 https://review.openstack.org/4163
 
 nova:
 https://review.openstack.org/4062

Oops... should have been: https://review.openstack.org/#change,3629

- Chris


___
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] Propose to make Monsyne Dragon a nova core developer

2012-02-09 Thread Chris Behrens
+1

On Feb 9, 2012, at 9:11 AM, Matt Dietz wrote:

 Any more hits on this? I fear that this was lost in the torrent of email, and 
 I really do think Dragon deserves to be a core developer for all the hard 
 work he's been doing.
 
 From: Paul Voccio openst...@substation9.com
 Date: Tue, 7 Feb 2012 12:38:15 -0600
 To: Matt Dietz matt.di...@rackspace.com
 Cc: openstack@lists.launchpad.net openstack@lists.launchpad.net
 Subject: Re: [Openstack] Propose to make Monsyne Dragon a nova core developer
 
 +1
 
 On Mon, Feb 6, 2012 at 4:48 PM, Matt Dietz matt.di...@rackspace.com wrote:
 Hey guys,
 
 Dragon has really stepped up lately on reviewing patches into Nova, and has 
 a ton of knowledge around Nova proper, so I propose he be added to Nova 
 core. I think he'd be a great addition to the team.
 
 Matt
 
 ___
 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] Remove Zones code - FFE

2012-02-02 Thread Chris Behrens

Well, I can actually say with confidence that the replacement would be stable 
by essex release.  In fact, I expect the first commit to be a completely 
working solution that solves a number of problems with the original 
implementation.  I don't think there's any issue getting something committed by 
the 15th if there's not much bickering on the review.  The code is dead simple 
(currently a 500 line diff) and requires almost no modification of nova core.  
The only modifications to nova core are:

Specify a different compute API class to use
Modify rpc code to allow some kwargs to Connection __init__ so you can specify 
a specific rabbit server to use to send a message to a zone
Add 2 new rpc methods:   cast_to_zone and call_to_zone (which use the above 
change)
Add a few zone_api.update_instance() calls in some places in compute so that we 
can push instance updates to top level zone.
Migration for zones DB table to add rpc credential information.

Besides that, the rest of the code is standalone.  There's absolutely no 
concern that it'll make non-zones less stable.  The few 
zone_api.update_instance() type calls would be no-ops when zones is turned off.

As far as meeting a 2/15 date, here's what I have left: 

1) clean up some things in my compute API subclass
2) finish writing tests

(Vish: I was joking when I asked if you meant 15th of March ;)

After what I would plan to push for the first commit, there's some refactoring 
desired to better share functionality between the zone scheduler and the host 
scheduler, but it'd be nothing required for Essex if we want to wait on that.  
And there's a desire to fold this new 'zones' nova service I'm creating into 
the current scheduler as potentially just a different scheduler driver.

There's 1 thing that would be lost in what I'd propose:  zone scheduling would 
initially be random zone selection.

Either way, I think I'll throw something up for review by mid next week to see 
what thoughts are.  I'd like to at least share what this looks like at the 
moment.  If we still decide to wait for F1, cool.

- Chris

On Feb 2, 2012, at 1:27 AM, Vishvananda Ishaya wrote:

 I talked with chris a bit offline, and I'm a little concerned that we will be 
 pushing too hard to try and get this into a working state by Essex.  I think 
 even if we to slam it in we will be faced with bugs that will make the essex 
 version potentially as broken as the current zones code is. It is probably 
 much more reasonable to target F1 as a delivery date for this feature.  
 Alejandro, is your team ok with deploying milestone releases? I know it would 
 take a lot of pressure off of Chris, Sandy, et. al. since they are trying to 
 meet some pretty hard delivery dates as it is.
 
 Vish
 On Feb 1, 2012, at 3:44 PM, Alejandro Comisario wrote:
 
 Sounds pretty good Vish.
 
 Since we are mostly deployers, and the ones who are gonna try the new code 
 from day zero, whats good for Sandy, its good for us.
 
 Alejandro.
 
 On 02/01/2012 06:57 PM, Vishvananda Ishaya wrote:
 Thanks for the feedback. It is good to get input from one of the largest 
 openstack installs! So it sounds like the existing code is pretty broken. 
 Based on this feedback I would like to propose the following:
 
 1) cut out zones code
   (meaning merge the existing branch)
 
 2) grant an FFe for the new rpc based zone code as long is it can be merged 
 without heavily modifying core.
 
 This means:
 a) it should be deployable with the feature disabled
 b) it should only include minor modifications to core components
 c) if a major change is needed to distributed_scheduler (for example), 
 consider leaving the existing version in, and copying the code to a new 
 file (distributed_scheduler_v2) and doing the modifications there.  That 
 way we can minimize chances of breakage
 d) it needs to be merged by the 15th
 
 
 Does that seem reasonable?
 
 Vish
 
 On Feb 1, 2012, at 1:42 PM, Alejandro Comisario wrote:
 
 Hi guys.
 Its true that we are trying to make multizones work, actually we did, but 
 we get into an instance were listing all vms from the parent zone ( where 
 is has to go thru all the child zones ) is buggy ( if not impossible by 
 now ).
 So, if there is a new zone architecture that actually works ( we want to 
 stop using our own deployer to do that ) or has a chance to be fully 
 working when 2012-1 is out, (we would prefer not to wait till Folsom) we 
 are totally into it ! since by now, we were actually waiting for this new 
 Zones code to come out to try again.
 
 Alejandro.
 
 On 02/01/2012 06:17 PM, Nathanael Burton wrote:
 +1
 
 On Feb 1, 2012 4:13 PM, Vishvananda Ishaya vishvana...@gmail.com 
 wrote:
 I would prefer that if it can be done super-super fast. :)
 
 Vish
 
 On Feb 1, 2012, at 1:04 PM, Chris Behrens wrote:
 
  I wonder if we can use some of the architecture of the new code and 
  move the current implementation to that model.  It'd preserve the 
  existing functionality, set us up

Re: [Openstack] Fast cloning - FF-Exception request

2012-01-31 Thread Chris Behrens
I just chatted with Paul.

We're okay with this if we can have a flag to allow turning off the caching 
part of things, since both cow and caching are behavior changes for the Xen 
side.  There's already a flag for 'cow', so that's covered, but there is not 
one for caching in the current branch up for review.  I understand that they 
should default to 'on' to match libvirt functionality, but I think we need to 
have a way to have Xen operate how it did before since it has been stable.  I'm 
definitely looking forward to these features, but would like to minimize the 
impact in case it is unstable or people simply want the current behavior.

(I posted the same comments on the review)

- Chris


On Jan 31, 2012, at 11:02 AM, Vishvananda Ishaya wrote:

 I'm ok with this going in, but I would like to leave it up to the guys who 
 are using Xen on a daily basis.  So if Chris Behrens and Paul Voccio are ok 
 with it, I think an FFE is fine.
 
 Vish
 
 On Jan 31, 2012, at 10:31 AM, Devdeep Singh wrote:
 
 Hi,
  
 I am asking for a Feature-Freeze exception for the 
 blueprinthttps://blueprints.launchpad.net/nova/+spec/fast-cloning-for-xenserver.
  
 I appreciate that it is now late for getting this feature in, however we are 
 ready to get this feature early in E4.
  
 We have got a few reviews in the queue, and we are close to completing them. 
 It is my understanding that E4 was not for big changes. However, this change 
 only touches the xenapi code for instance creation. I have tested these 
 change extensively to make sure it doesn’t break anything. Moreover, it will 
 help close the gap between KVM and XenAPI.
  
 Thanks,
 Devdeep
 ___
 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] Supporting start/stop compute api from OpenStack API

2012-01-17 Thread Chris Behrens
Vish:  Looks like it's only in ec2 api.

Tomoe: The support will need to be added in an extension, since it's not in the 
current API spec.  Ie, it'll need to go under 
nova/api/openstack/compute/contrib in the tree, not directly in 
compute/servers.py.

- Chris

On Jan 17, 2012, at 9:21 PM, Vishvananda Ishaya wrote:

 You can propose code without an approved blueprint. Are you sure there isn't 
 already a server action for stop/start?
 
 Vish
 
 On Jan 17, 2012, at 7:46 PM, Tomoe Sugihara wrote:
 
 Hi,
 
 I have put up a blueprint
 (https://blueprints.launchpad.net/nova/+spec/start-stop-methods-support-in-os-servers-api)
 for supporting start/stop compute api, which should work well for
 boot-from-volume from OpenStack API, and
 I'm happy to contribute code for Essex release.
 
 Could someone tell me what the next step would be? I thought the
 blueprint should be approved to push the code in, but I couldn't
 find how to get an approval from here:
 http://wiki.openstack.org/HowToContribute
 
 Comment, guidance appreciated.
 
 Cheers,
 Tomoe
 
 ___
 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] nova and trusted computing

2012-01-12 Thread Chris Behrens

On Jan 12, 2012, at 12:00 PM, Yang, Fred wrote:

 Vish,
 
 Mark and I have worked a while and yet to have a get a better approach.  Let 
 me describe key features need to be addressed and a possible approach for 
 base discussion
 
 Nova scheduler's select_and_run can dispatch N instances directly which makes 
 trusted computing a little bit challenge.
 

That functionality needs to go away for the time being because it presents 
multiple problems.  It's not in the OS API spec...  and I'd heard that the 
functionality added to the EC2 api for it was also not really to spec, but I've 
not checked on that.

Have you taken a look at:  https://review.openstack.org/#change,2552
to see if it makes your life any easier?  There's more changes coming.  One of 
the goals is to make things a bit more pluggable and eventually even combine 
all of the current schedulers.

- Chris



___
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] reconnecting to RabbitMQ

2011-12-28 Thread Chris Behrens

On Dec 28, 2011, at 5:36 AM, Ask Solem wrote:
[...]
 
 amqplib does not support heartbeats so there may be cases
 where the client/server does not properly detect that the socket
 has been closed, this usually only a problem with some particular intermediate

I received a private reply from Roman which seems to indicate this is what is 
happening.  The OS is seeing the tcp connections as ESTABLISHED still, even 
though they are dead.  Not much an application can do there   Sounds like 
enabling tcp keepalive solved the problem for him.  Doing heartbeats in the app 
itself is another way, as you mention.

- Chris



___
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] reconnecting to RabbitMQ

2011-12-24 Thread Chris Behrens
Hi Roman,

Are you using diablo or trunk (both of which use kombu by default and should 
support reconnecting)?

If so, can you 'egrep' for the following strings in logs and provide the 
output?  You can reply to me directly so we're not spamming this list.

Unable to connect to AMQP server
Connected to AMQP server
Re-established AMQP queues
AMQP server on.*unreachable
'Failed to consume
Failed to publish

Thanks,

- Chris


On Dec 24, 2011, at 1:56 PM, Roman Sokolkov wrote:

 Hello!
 
 If for some reason rabbitmq has been down some time or connection was 
 aborted, nova couldn't reconnect automatically and I need to restart all nova 
 services manually.
 
 Additionally after restarting rabbit, If I make some call to API. For 
 example, nova floating-ip-list only
 API reconnects automatically. Other nova services staying disconnected.
 
 Are there mechanisms to monitor establising of connections? And it difficult 
 to add them?
 
 -- 
 Best regards, Roman Sokolkov
 ___
 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] using objects returned from DB layer

2011-12-15 Thread Chris Behrens
Yes, that was what I was saying. :)

On Dec 15, 2011, at 12:06 AM, Soren Hansen wrote:

 2011/12/15 Jesse Andrews anotherje...@gmail.com:
 I agree except I though the preference was for
 
 instance_uuid = instance['uuid']
 
 not
 
 instance_uuid = instance.uuid
 
 (use dict's and don't assume sqlalchemy)
 
 Yes... That's what Chris is saying, isn't it?
 
 -- 
 Soren Hansen| http://linux2go.dk/
 Ubuntu Developer| http://www.ubuntu.com/
 OpenStack Developer | http://www.openstack.org/
 
 ___
 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] using objects returned from DB layer

2011-12-15 Thread Chris Behrens
Agree with both #1s as a start.  And I wouldn't try to 'rip off the band-aid' 
either.

I was bringing this up initially as I want to enforce *something* when 
reviewing, but if we want to start 'fixing' things, we can start hitting small 
sections of code to limit conflicts.  The 'enforce_model' thing might be a bit 
extreme right now.  We may be able to get to a place where we feel we've got 
everything... then dictify it all at that time and see what raises in tests., 
fixing those last things.  Hm... although, I guess I really do like the ability 
to turn something off if it's broken. :)

- Chris



On Dec 15, 2011, at 12:29 AM, Rick Harris wrote:

 ++ on moving to a consistent dict-style syntax.
 
 We could attempt to rip the Band-Aid off here by:
 
 1. Rejecting any new patches which use the dot-notation
 
 2. Trying to switch out to using dot-notation access all at once in one big 
 'fix-it-up' patch.
 
 I'm not convinced 2) is possible. Separating model objects from other kinds 
 of objects will be time-consuming and error prone. Given the scope of this 
 issue, I'm not sure this could be done without a real risk of prolonged, 
 recurring breakage.
 
 Instead, I'd advocate a step-wise approach:
 
 1. Reject any new patches which use the dot-notation
 
 2. Add code which helps us identify and fix dot-notation usage throughout the 
 codebase.
 
 The basic idea here is that we'd add a flag to fail loudly when a object is 
 accessed using non-dict methods.
 
 This could be done by adding a decorator to the sqlalchemy/db/api functions 
 such that instead of returning SQLAlchemy objects directly they instead 
 return objects of type AttrAccessibleDict.
 
 An AttrAccessibleDict would be defined something like:
 
 class AttrAccessibleDict(dict)
def __getattr__(self, attr):
if FLAGS.enforce_model_dict_access:
raise ModelObjectAccessError('must use dict-style access on model 
 objects')
else:
return self[attr]
 
 def dictify_model(f):
def wrapper(*args, **kwargs):
rv = f(*args, **kwargs)
attr_dict = convert_to_attr_accessible_dict(rv)
return attr_dict
return wrapper
 
 @dictify_model
 def instance_get(…..):
pass
 
 
 3. Make a concerted effort to fix the code over a period of a few weeks.
 
 Developers could set --enforce_model_dict_access to True and fix up as many 
 cases as they can find.  When they're tired of fixing cases or when more 
 pressing things come along for the moment, they can temporarily set 
 --enforce_model_dict_access back to False to that everything goes back to 
 humming along smoothly.
 
 4. Once the dot-notation has been excised, we can switch over to actually 
 returning real Python dictionaries instead of AttrAccessibleDict objects.
 
 
 5. Final step would be removing the cleanup code.
 
 Once everything is returning dictionaries, we would remove the decorator 
 entirely and any other cleanup code we added along the way.
 
 
 
 Feels like this approach would be a bit roundabout, but each step feels safe, 
 and it seem like it would get us to where we want to be in the course of a 
 few weeks (perhaps a couple of months, worst case).
 
 Thoughts?
 
 -Rick
 
 On Dec 15, 2011, at 1:10 AM, Chris Behrens wrote:
 
 
 I've seen a number of patches lately that have code like this:
 
 instance = db.instance_get(...)
 instance_uuid = instance.uuid
 
 instead of:
 
 instance_uuid = instance['uuid']
 
 There's a mix of usage throughout the code, and I know some people are just 
 matching the surrounding code.  But, in a number of cases, I've asked for 
 these to be corrected to the latter, on assumption that the DB layer will be 
 returning dictionaries at some point vs the models.  It also pushes the code 
 towards consistent usage.  But I might be the only Nova Core member looking 
 at this and/or maybe my assumption is wrong.
 
 So, I ask here:  Should Nova Core make an effort to reject patches with the 
 former format?   Or did I miss any DB layer plans where the former format is 
 now preferred?
 
 - Chris
 
 
 
 
 
 
 ___
 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] using objects returned from DB layer

2011-12-15 Thread Chris Behrens
Hm.  I've just been going off of this doc string in db/api.py:

Functions in this module are imported into the nova.db namespace. Call these
functions from nova.db namespace, not the nova.db.api namespace.

All functions in this module return objects that implement a dictionary-like
interface. Currently, many of these objects are sqlalchemy objects that
implement a dictionary interface. However, a future goal is to have all ofthese 
objects be simple dictionaries.

I didn't put any thought into it, but I can see our own objects being better.  
I would just want to make sure they are easily serializable so they can be sent 
across AMQP.  I admit that I haven't paid attention to any of the DB 
discussions.  I guess that's why I brought up my question in the first place. ;)

- Chris

On Dec 15, 2011, at 10:52 AM, Aaron Lee wrote:

 
 On Dec 15, 2011, at 10:54 AM, Johannes Erdfelt wrote:
 
 What kinds of things?
 
 I'm just trying to better understand what is object-oriented about the
 data returned from a database? What methods would we want to use?
 
 JE
 
 Any direct access to the data within a record should be encapsulated within 
 the model object.
 
 For example, changing an instance's progress should be a method on Instance, 
 not a method buried in vmops.
 
 ~ Aaron
 ___
 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


[Openstack] using objects returned from DB layer

2011-12-14 Thread Chris Behrens

I've seen a number of patches lately that have code like this:

instance = db.instance_get(...)
instance_uuid = instance.uuid

instead of:

instance_uuid = instance['uuid']

There's a mix of usage throughout the code, and I know some people are just 
matching the surrounding code.  But, in a number of cases, I've asked for these 
to be corrected to the latter, on assumption that the DB layer will be 
returning dictionaries at some point vs the models.  It also pushes the code 
towards consistent usage.  But I might be the only Nova Core member looking at 
this and/or maybe my assumption is wrong.

So, I ask here:  Should Nova Core make an effort to reject patches with the 
former format?   Or did I miss any DB layer plans where the former format is 
now preferred?

- Chris






___
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] [nova-testing] Efforts for Essex

2011-11-30 Thread Chris Behrens
I need to catch up a bit with this thread, but I wanted to mention I have a 
huge patch coming that refactors almost all of the scheduler tests into true 
unit tests.  I'd started this for other reasons and I hope it jives with the 
plans here.  But if anyone is looking at the scheduler tests, we should sync up.

- Chris

On Nov 30, 2011, at 1:07 PM, Duncan McGreggor dun...@dreamhost.com wrote:

 On Tue, Nov 29, 2011 at 12:21 PM, Soren Hansen so...@linux2go.dk wrote:
 It's been a bit over a week since I started this thread. So far we've
 agreed that running the test suite is too slow, mostly because there
 are too many things in there that aren't unit tests.
 
 We've also discussed my fake db implementation at length. I think
 we've generally agreed that it isn't completely insane, so that's
 moving along nicely.
 
 Duncan has taken the first steps needed to split the test suite into
 unit tests and everything else:
 
   https://review.openstack.org/#change,1879
 
 Just one more core +1 needed. Will someone beat me to it? Only time
 will tell :) Thanks, Duncan!
 
 Anything else around unit testing anyone wants to get into The Great
 Big Plan[tm]?
 
 Actually, yeah... one more thing :-)
 
 Jay and I were chatting about organization of infrastructure last
 night/this morning (on the review comments for the branch I
 submitted). He said that I should raise a concern I expressed for
 wider discussion: right now, tests are all piled into the tests
 directory. Below are my thoughts on this.
 
 I think such an approach is just fine for smaller projects; there's
 not a lot there, and it's all pretty easy to find. For large projects,
 this seems like not such a good idea for the following reasons:
 
 * tests are kept separate from the code they relate to
 * there are often odd test module file naming practices required
 (e.g., nova/a/api.py and nova/b/api.py both needing test cases in
 nova/tests/)
 * there's no standard exercised for whether a subpackage gets a
 single test case module or whether it gets a test case subpackage
 * test modules tend to be very long (and thus hard to navigate) due
 to the awkwardness of naming modules when all the code lives together
 * it makes it harder for newcomers to find code; when they live
 together, it's a no-brainer
 
 OpenStack is definitely not a small project, and as our test coverage
 becomes more complete, these issues will have increased impact. I
 would like to clean all of this up :-) And I'm volunteering to do the
 work! Here's the sort of thing I envision, using nova.volume as an
 example:
 
 * create nova/volume/tests
 * move all scheduler-related tests (there are several) from
 nova/tests into nova/volume/tests
 * break out tests on a per-module basis (e.g., nova/volume/driver.py
 would get the test module nova/volume/tests/test_driver.py, etc.)
 * for modules that have already been broken out at a more
 fine-grained level, keep (smaller test case modules are nice!)
 * only nova/*.py files will have a test case module in nova/tests
 * bonus: update the test runner to print the full dotted path so it's
 immediately (and visually) clear where one has to go to address any
 failures
 
 Given approval, this work would be done in its own blueprint. All this
 work would be done in small chunks (probably one branch per module) so
 that it will be easy to review and adjust the approach as needed.
 
 Thoughts?
 
 d
 
 
 --
 Soren Hansen| http://linux2go.dk/
 Ubuntu Developer| http://www.ubuntu.com/
 OpenStack Developer | http://www.openstack.org/
 
 ___
 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] [nova-testing] Efforts for Essex

2011-11-30 Thread Chris Behrens
It'll be a couple days yet.  I was refactoring a few things in the scheduler 
and while re-doing some tests, I ended up going down this rabbit hole of 
re-doing all of the tests.  It's turned into a 6500 line diff so far... :) 
which is a bit much for just the refactoring that I need to get in first.  So, 
I'm currently splitting these out into a couple of different reviews.

- Chris


On Nov 30, 2011, at 1:53 PM, Duncan McGreggor wrote:

 On 30 Nov 2011 - 19:26, Chris Behrens wrote:
 I need to catch up a bit with this thread, but I wanted to mention I
 have a huge patch coming that refactors almost all of the scheduler
 tests into true unit tests.
 
 Nice!
 
 I'd started this for other reasons and I
 hope it jives with the plans here.  But if anyone is looking at the
 scheduler tests, we should sync up.
 
 I was going to actually use the scheduler as the example when I sent
 this email out, but I switched to something a bit cleaner instead... so
 this is great news! Can't wait to see it :-)
 
 d
 
 - Chris
 
 On Nov 30, 2011, at 1:07 PM, Duncan McGreggor dun...@dreamhost.com wrote:
 
 On Tue, Nov 29, 2011 at 12:21 PM, Soren Hansen so...@linux2go.dk wrote:
 It's been a bit over a week since I started this thread. So far we've
 agreed that running the test suite is too slow, mostly because there
 are too many things in there that aren't unit tests.
 
 We've also discussed my fake db implementation at length. I think
 we've generally agreed that it isn't completely insane, so that's
 moving along nicely.
 
 Duncan has taken the first steps needed to split the test suite into
 unit tests and everything else:
 
  https://review.openstack.org/#change,1879
 
 Just one more core +1 needed. Will someone beat me to it? Only time
 will tell :) Thanks, Duncan!
 
 Anything else around unit testing anyone wants to get into The Great
 Big Plan[tm]?
 
 Actually, yeah... one more thing :-)
 
 Jay and I were chatting about organization of infrastructure last
 night/this morning (on the review comments for the branch I
 submitted). He said that I should raise a concern I expressed for
 wider discussion: right now, tests are all piled into the tests
 directory. Below are my thoughts on this.
 
 I think such an approach is just fine for smaller projects; there's
 not a lot there, and it's all pretty easy to find. For large projects,
 this seems like not such a good idea for the following reasons:
 
 * tests are kept separate from the code they relate to
 * there are often odd test module file naming practices required
 (e.g., nova/a/api.py and nova/b/api.py both needing test cases in
 nova/tests/)
 * there's no standard exercised for whether a subpackage gets a
 single test case module or whether it gets a test case subpackage
 * test modules tend to be very long (and thus hard to navigate) due
 to the awkwardness of naming modules when all the code lives together
 * it makes it harder for newcomers to find code; when they live
 together, it's a no-brainer
 
 OpenStack is definitely not a small project, and as our test coverage
 becomes more complete, these issues will have increased impact. I
 would like to clean all of this up :-) And I'm volunteering to do the
 work! Here's the sort of thing I envision, using nova.volume as an
 example:
 
 * create nova/volume/tests
 * move all scheduler-related tests (there are several) from
 nova/tests into nova/volume/tests
 * break out tests on a per-module basis (e.g., nova/volume/driver.py
 would get the test module nova/volume/tests/test_driver.py, etc.)
 * for modules that have already been broken out at a more
 fine-grained level, keep (smaller test case modules are nice!)
 * only nova/*.py files will have a test case module in nova/tests
 * bonus: update the test runner to print the full dotted path so it's
 immediately (and visually) clear where one has to go to address any
 failures
 
 Given approval, this work would be done in its own blueprint. All this
 work would be done in small chunks (probably one branch per module) so
 that it will be easy to review and adjust the approach as needed.
 
 Thoughts?
 
 d
 
 
 --
 Soren Hansen| http://linux2go.dk/
 Ubuntu Developer| http://www.ubuntu.com/
 OpenStack Developer | http://www.openstack.org/
 
 ___
 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] Database stuff

2011-11-29 Thread Chris Behrens
+1 on the thoughts here.  Exactly what I meant by my reply.  Not sure what the 
interface should look like for #2, but we must be able to do it somehow.

- Chris

On Nov 29, 2011, at 11:55 AM, Vishvananda Ishaya wrote:

 e) is the right solution imho.  The only reason joinedloads slipped in is for 
 efficiency reasons.
 
 In an ideal world the solution would be:
 
 1) (explicitness) Every object or list of related objects is retrieved with 
 an explicit call:
 instance = db.instance_get(id)
 ifaces = db.interfaces_get_by_instance(id)
 for iface in ifaces:
ip = db.fixed_ip_get_by_interface(iface['id'])
 2) (efficiency) Queries are perfectly efficient and all joins that will be 
 used are made at once.
 So the above would be a single db query that joins all instances ifaces and 
 ips.
 
 Unless we're doing source code analysis to generate our queries, then we're 
 probably going
 to have to make some tradeoffs to get as much efficiency and explicitness as 
 possible.
 
 Brainstorming, perhaps we could use a hinting/caching mechanism that the 
 backend could support.
 something like db.interfaces_get_by_instance(id, hint='fixed_ip'), which 
 states that you are about to make
 another db request to get the fixed ips, so the backend could prejoin and 
 cache the results. Then the next
 request could be: db.fixed_ip_get_by_interface(iface['id'], cached=True) or 
 some such.
 
 I would like to move towards 1) but I think we really have to solve 2) or we 
 will be smashing the database with too many queries.
 
 Vish
 
 On Nov 29, 2011, at 7:20 AM, Soren Hansen wrote:
 
 Hi, guys.
 
 Gosh, this turned out to be long. Sorry about that.
 
 I'm adding some tests for the DB api, and I've stumbled across something
 that we should probably discuss.
 
 First of all, most (if not all) of the various *_create methods we have,
 return quite amputated objects. Any attempt to access related objects
 will fail with the much too familiar:
 
 DetachedInstanceError: Parent instance Whatever at 0x4f5c8d0 is not
 bound to a Session; lazy load operation of attribute 'other_things'
 cannot proceed
 
 Also, with the SQLAlchemy driver, this test would pass:
 
  network = db.network_create(ctxt, {})
  network = db.network_get(ctxt, network['id'])
 
  instance = db.instance_create(ctxt, {})
  self.assertEquals(len(network['virtual_interfaces']), 0)
  db.virtual_interface_create(ctxt, {'network_id': network['id'],
 'instance_id': instance['id']}
 
  self.assertEquals(len(network['virtual_interfaces']), 0)
  network = db.network_get(ctxt, network['id'])
  self.assertEquals(len(network['virtual_interfaces']), 1)
 
 I create a network, pull it out again (as per my comment above), verify
 that it has no virtual_interfaces related to it, create a virtual
 interface in this network, and check the network's virtual_interfaces
 key and finds that it still has length 0. Reloading the network now
 reveals the new virtual interface.
 
 SQLAlchemy does support looking these things up on the fly. In fact,
 AFAIK, this is its default behaviour. We just override it with
 joinedload options, because we don't use scoped sessions.
 
 My fake db driver looks stuff like this up on the fly (so the
 assertEquals after the virtual_interface_create will fail with that db
 driver).
 
 So my question is this: Should this be
 
 a) looked up on the fly,
 b) looked up on first key access and then cached,
 c) looked up when the parent object is loaded and then never again,
 d) or up to the driver author?
 
 Or should we do away with this stuff altogether? I.e. no more looking up
 related objects by way of __getitem__ lookups, and instead only allow
 lookups through db methods. So, instead of
 network['virtual_interfaces'], you'd always do
 db.virtual_interfaces_get_by_network(ctxt, network['id']).  Let's call
 this option e).
 
 I'm pretty undecided myself. If we go with option e) it becomes clear to
 consumers of the DB api when they're pulling out fresh stuff from the DB
 and when they're reusing potentially old results.  Explicit is better
 than implicit, but it'll take quite a bit of work to change this.
 
 If we go with one of options a) through d), my order of preference is
 (from most to least preferred): a), d), c), b).
 
 There's value in having a right way and a wrong way to do this. If it's
 either-or, it makes testing (as in validation) more awkward. I'd say
 it's always possible to do on-the-fly lookups. Overriding __getitem__
 and fetching fresh results is pretty simple, and, as mentioned earlier,
 I believe this is SQLAlchemy's default behaviour (somebody please
 correct me if I'm wrong). Forcing an arbitrary ORM to replicate the
 behaviour of b) and c) could be incredibly awkward, and c) is also
 complicated because there might be reference loops involved. Also,
 reviewing correct use of something where the need for reloads depends on
 previous use of your db objects (which might itself be conditional or
 happen 

Re: [Openstack] Proposal to add Kevin Mitchell to nova-core

2011-11-09 Thread Chris Behrens
Yep...  +1


On Nov 9, 2011, at 5:59 AM, Brian Waldon wrote:

 Vek has absolutely stepped up and started doing quite few reviews, so I'd 
 like to nominate him to be added to nova-core.
 
 Waldon
 
 
 ___
 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] Proposal to add Johannes Erdfelt to nova-core

2011-11-09 Thread Chris Behrens
+1  --  For a while now, I've been going to review things, finding Johannes's 
name already in the review list quite often.  I also agree with his reviews. :)

- Chris

On Nov 9, 2011, at 6:02 AM, Brian Waldon wrote:

 I'd like to nominate Johannes for nova-core, as he has definitely been doing 
 a good number of reviews lately.
 ___
 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] OSAPI equivalent of euca-get-console-output ?

2011-10-21 Thread Chris Behrens
For OSAPI:

There's POST /version/project/servers/server_id/consoles  to create a console
Use GET to get consoles for that server_id
Then you can use:  GET 
/version/project/servers/server_id/consoles/console_id  to get the detailed 
info.

I don't think there's support for this in nova-client.

(Look at nova/api/openstack/consoles.py)

- Chris


On Oct 21, 2011, at 9:30 AM, Day, Phil wrote:

 Hi Folks,
  
 The title says it all really – is there an OSAPI / nova-client equivalent to 
 the EC2 command to get the console output of a VM ?(I can’t see anything 
 in the code or extensions which calls the relevant compute.api method)
  
  
 If there’s nothing at the moment are there any plans for adding in (seems 
 like is should be a core server action rather that an extension) ?
  
 Thanks,
 Phil
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Proposed amendment to HACKING

2011-10-21 Thread Chris Behrens
+1 

On Oct 21, 2011, at 10:37 AM, Jay Pipes wrote:

 ++
 
 I also believe the requirements to:
 
 a) Have a single-line 80 characters brief description AND a long description
 b) Start the description on the same line as the beginning 
 
 are silly.
 
 I think this:
 
 
 This is a description, long or short, of what the thing
 does. It doesn't have to have any particular length or
 lack of length
 
 :param some_param: Description of param
 
 
 Is more readable than:
 
 
 This is a description, artificially limited to 80 characters for som
 
 This is a longer description that doesn't really need to be here.
 
 :param some_param: Description of param
 
 
 
 -jay
 
 On Fri, Oct 21, 2011 at 1:29 PM, Kevin L. Mitchell
 kevin.mitch...@rackspace.com wrote:
 Our HACKING includes this requirement for multiline docstrings:
 
[...] After you have finished your descriptions add an extra
newline and close the quotations.
 
 I propose that we remove this line and requirement from HACKING.  We
 don't have to adjust all the docstrings to remove an extraneous space,
 but we should not require that it be here.  Below is my defense:
 
 This requirement has never made sense to me, and there does seem to be
 some disagreement within nova about following this.  So, for more
 insight, I went and read PEP 257, and discovered this rationale:
 
The BDFL [3] recommends inserting a blank line between the last
paragraph in a multi-line docstring and its closing quotes,
placing the closing quotes on a line by themselves. This way,
Emacs' fill-paragraph command can be used on it.
 
 (The indicated footnote is just an explanation of the term BDFL.)
 
 So, the first point I want to make is that this was a recommendation of
 PEP 257, rather than a requirement.  The second point is that it was due
 to a limitation of the fill-paragraph command of a single editor.  And
 the third point is that the editor in question, which happens to be my
 editor of choice, no longer has this limitation, at least in recent
 versions--fill-paragraph on docstrings terminated by triple-quotes
 ignores the triple-quotes.  Therefore, I believe the recommendation no
 longer has any substance behind it, and so it should no longer be
 required of HACKING-conforming code for nova.
 --
 Kevin L. Mitchell kevin.mitch...@rackspace.com
 
 This email may include confidential information. If you received it in 
 error, please delete it.
 ___
 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

This email may include confidential information. If you received it in error, 
please delete it.


___
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] OSAPI equivalent of euca-get-console-output ?

2011-10-21 Thread Chris Behrens

Ah, I see.  consoles.py is for getting info about VNC (or similar) 
console...ie: create console, get info on how to connect to the vnc console, 
etc.  It doesn't appear compute_api.get_console_output() is exposed in OS API 
right now, which is what you want.  Those compute_api console methods are also 
currently not implemented for 'xenapi'.

- Chris


On Oct 21, 2011, at 12:35 PM, Jake Dahn wrote:

 Chris,
 
 What is the output of the detailed info call? I'm actually working on an 
 extension to get tailable console output, and I didn't see the request you 
 mentioned anywhere in the api code. 
 
 Correct me if I'm wrong, but - consoles.py talks to Consoles.API when i think 
 to get the actual output of things we need to talk to Compute.API if we want 
 to get the actual output of a console and not just info about it.
 
 
 On Oct 21, 2011, at 11:25 AM, Chris Behrens wrote:
 
 For OSAPI:
 
 There's POST /version/project/servers/server_id/consoles  to create a 
 console
 Use GET to get consoles for that server_id
 Then you can use:  GET 
 /version/project/servers/server_id/consoles/console_id  to get the 
 detailed info.
 
 I don't think there's support for this in nova-client.
 
 (Look at nova/api/openstack/consoles.py)
 
 - Chris
 
 
 On Oct 21, 2011, at 9:30 AM, Day, Phil wrote:
 
 Hi Folks,
 
 The title says it all really – is there an OSAPI / nova-client equivalent 
 to the EC2 command to get the console output of a VM ?(I can’t see 
 anything in the code or extensions which calls the relevant compute.api 
 method)
 
 
 If there’s nothing at the moment are there any plans for adding in (seems 
 like is should be a core server action rather that an extension) ?
 
 Thanks,
 Phil
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
 
 This email may include confidential information. If you received it in 
 error, please delete it.
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
 

This email may include confidential information. If you received it in error, 
please delete it.


___
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] OpenStack API v1.0 Removal from Nova

2011-10-11 Thread Chris Behrens

+3


On Oct 11, 2011, at 1:59 PM, Brian Waldon brian.wal...@rackspace.com wrote:

 I would like to propose we remove our implementation of OSAPI v1.0 from Nova 
 for the following reasons:
 
 1) Our implementation is incomplete, and there are no (visible) plans to 
 complete it. Shared IP Groups and Backup Schedules have been unimplemented 
 since I started on the project.
 
 2) The v1.1 spec is not backwards-compatible with v1.0. I would like minor 
 versions to be backwards compatible as we move forward, so I see v1.0 as 
 something we need to just get rid of.
 
 3) As we are trying to complete the v1.1 implementation, we are running into 
 problems created by having to support v1.0 (specifically image and server 
 uuids).
 
 4) Our implementation of v1.0 and v1.1 within the same modules have caused us 
 to compromise code quality. Working on the controllers (specifically servers) 
 is a royal pain.
 
 I've already done the work of removing v1.0 from the code, and here's the 
 review of my branch: https://review.openstack.org/840. I think it makes a lot 
 of sense for the community to focus on making our v1.1 implementation solid, 
 rather than constantly worrying about how we are affecting v1.0. If this is 
 something we don't want to do, I would love to hear why :)
 
 Waldon
 
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
This email may include confidential information. If you received it in error, 
please delete it.


___
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] Nova DB Connection Pooling

2011-09-27 Thread Chris Behrens

Not sure the 'data that are shared' is the right wording below, but I think I 
get the point.  The one thing that jumps out to me as a current 'issue' is the 
fact that the instance_types table must be kept in sync.  I can't think of 
anything else at the moment, but there might be something.

And the comment (not quoted below) about 'X' dashboards *I think* is invalid.  
I don't know much about it..  does it talk more than to API?  If not, just 
point it at top level zone.

I'm really not a fan of distributed DB architectures if they can be avoided.  
They add a lot of unneeded complexity and a lot more potential for breakage.  
The instance type issue can be solved differently.  That said, it can be an 
interesting discussion topic. :)

- Chris

On Sep 26, 2011, at 8:53 PM, Ed Leafe wrote:

 On Sep 26, 2011, at 10:14 PM, Joshua Harlow wrote:
 
 It seems like it would be good to talk about this during the conference, 
 since it seems sort of odd to have pieces of data that are shared across 
 zones along with pieces of data that are not shared across zones.
 
   What pieces of data are shared across zones?
 
 
 -- Ed Leafe
 
 This email may include confidential information. If you received it in error, 
 please delete it.
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Glance formats supported?

2011-09-23 Thread Chris Behrens

There's currently no parsing of manifest.ovf in an .ova.  nova assumes that an 
'image.vhd' exists within the .ova archive if disk_format is vhd..

- Chris


On Sep 23, 2011, at 9:49 AM, Jay Pipes wrote:

 On Wed, Sep 21, 2011 at 4:02 PM, Joshua Harlow harlo...@yahoo-inc.com wrote:
 It would be really cool if there were openstack examples for each
 container/image format.
 
 Agreed. This is something we can work on better in the Essex release
 series indeed.
 
 I don’t currently understand how the container format connects into the
 actual image (and the result with nova-compute).
 Since it seems like say when u upload an iso, ovf doesn’t make sense (so
 would that be the bare type?)
 Or if u do the following “disk_format=vhd container_format=ovf type=raw” 
 windows.ova why is it needed to specify the disk_format? Isn’t that part of
 the ova structure?
 
 Also, will these varying types of formats work with VM’s used by openstack.
 Is there a conversion that occurs when a VM is started to the right format
 (for say kvm? or for say xen? since I doubt either takes the ova format
 directly...).
 
 I'd like to ask Paul Voccio or Josh Kearney to answer the above
 question, since it's not something I'm too familiar with...
 
 Paul, Josh?
 
 Thanks,
 jay
 
 On 9/21/11 12:56 PM, Jay Pipes jaypi...@gmail.com wrote:
 
 On Wed, Sep 21, 2011 at 3:44 PM, Joshua Harlow harlo...@yahoo-inc.com
 wrote:
 Hi all,
 
 I was wondering how these different types of formats supported by glance @
 http://glance.openstack.org/formats.html will be workable with
 nova-compute.
 
 Just an FYI, Glance does not (currently) do any inspection to ensure
 that what the user is registering in Glance is in fact the disk or
 container format that the user says it is.
 
 It seems like most examples I see are using precreated ami/ari/aki images.
 I
 haven’t seen a lot of examples using say an iso, or a ovf container. Has
 anyone been successful with those when creating a vm?
 
 XenServer supports OVF images, and I believe Rackspace teams have
 tested with OVAs. You can see some basic discussion here:
 
 http://wiki.openstack.org/XenServerDevelopment#Instance_Management
 
 Cheers,
 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

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Proposal to add Chris Behrens to nova-core

2011-09-22 Thread Chris Behrens
Thanks!

On Sep 22, 2011, at 8:59 AM, Soren Hansen wrote:

 I just added Chris to nova-core. Welcome to the team, Chris! I'll add
 you to the review rotation next time that schedule gets updated.
 
 -- 
 Soren Hansen| http://linux2go.dk/
 Ubuntu Developer| http://www.ubuntu.com/
 OpenStack Developer | http://www.openstack.org/
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] A possible alternative to Gerrit ...

2011-09-08 Thread Chris Behrens
Sure, I agree with the below.  I tend to think the PPB is the place for the 
decision for the reasons you state below (though that's more than 3-4 people 
tops).  But whether it's the PPB or some other small group of people, I'd want 
to see everybody have a chance to provide enough feedback for that small group 
to be able to make a well-informed decision.  Obviously some sort of time limit 
has to be set, but there should be enough time and communication that the 
resulting decision doesn't come out of no where.  That is a blanket statement 
of my opinion and would be my thoughts no matter how previous events transpired.

I say this for future decisions.  At the moment, Gerrit is what was chosen and 
I'm just interested in seeing if we can alleviate some of the pain my team is 
having working with it.

- Chris


On Sep 8, 2011, at 12:11 AM, Soren Hansen wrote:

 If this thread has anything clear to me at all, it's that adding
 *more* people to this discussion isn't going to bring us any closer to
 an agreement.
 
 Here's a thought:
 
 How about we appoint (formally, informally, whatever, it's beside the
 point) someone (3-4 people tops) to come up with a set of tools and
 the rest of us just shut up, use the tools, write some cool software
 and don't waste another full development cycle arguing about stuff
 we'll never agree on anyway?
 
 Yes, I will probably waste a good 10-20 minutes retraining my muscle
 memory to not type bzr, but rather darcs, hg, git or whatever
 this group comes up with. The alternative is to argue about this for
 months, wait for something to get built based on this discussion,
 start using it, wait a couple of weeks until the next mutiny, lather,
 rinse, repeat. Seriously. Who -- apart from our competitors -- gains
 anything at all from this?
 
 -- 
 Soren Hansen| http://linux2go.dk/
 Ubuntu Developer| http://www.ubuntu.com/
 OpenStack Developer | http://www.openstack.org/
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] A possible alternative to Gerrit ...

2011-09-07 Thread Chris Behrens

On Sep 7, 2011, at 9:21 AM, Jay Pipes wrote:
 The problem is that instead of spending time coding on features and
 bugs for Nova, Glance, Swift and Keystone, a bunch of devs are instead
 spending time working on an alternate solution to what has already
 been decided by the PPB, discussed publicly, and coded on for months
 by my team.
 

It was not discussed publicly, unless I've somehow not received a ton of email. 
 There was no announcement that I can find to the list that 'Gerrit' was 
decided by the PPB.  There was no discussion about how we might want to modify 
it to fit our needs.  The development all happened mostly in the private as far 
as I can tell.  Not a lot of room for complaints until it was implemented for a 
repo that a fair amount of people use.  So, now there's complaints.

 Frankly, this whole situation hearkens back to when everyone except a
 few folks on the Titan team was griping about Launchpad and Bazaar,
 saying that they couldn't get anything done with these tools, except
 for some on the Titan team which just adapted and ended up being very
 productive using LP and Bazaar. If you guys would give Gerrit a chance
 and try to work with the toolset, instead of constantly going off and
 trying to make everything just GitHub, I think we'd actually be able
 to get more done.
 
 Just my two cents. You can probably tell I am quite frustrated with
 this debate going on *yet again*.

I understand your frustration.  I would be too if it were my team that had done 
months of development on it.  But I feel some of it could have been avoided if 
there actually public discussion up front.

That said, Sandy just provided a list of annoyances.  Johannes has provided 
some as well.  I haven't seen any comments, yet, on if any of those can be 
addressed.

- Chris


This email may include confidential information. If you received it in error, 
please delete it.


___
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] A possible alternative to Gerrit ...

2011-09-07 Thread Chris Behrens

On Sep 7, 2011, at 11:46 AM, Jay Pipes wrote:

 On Wed, Sep 7, 2011 at 2:19 PM, Chris Behrens
 chris.behr...@rackspace.com wrote:
 
 On Sep 7, 2011, at 9:21 AM, Jay Pipes wrote:
 The problem is that instead of spending time coding on features and
 bugs for Nova, Glance, Swift and Keystone, a bunch of devs are instead
 spending time working on an alternate solution to what has already
 been decided by the PPB, discussed publicly, and coded on for months
 by my team.
 
 
 It was not discussed publicly, unless I've somehow not received a ton of 
 email.  There was no announcement that I can find to the list that 'Gerrit' 
 was decided by the PPB.
 
 False.
 https://lists.launchpad.net/openstack/msg03493.html
 http://eavesdrop.openstack.org/meetings/openstack-meeting/2011/openstack-meeting.2011-08-09-20.00.log.html

Thanks.  I apparently missed the emails about the voting taking place..  I was 
actually trying to dig further back than 1 month ago.  I knew there were 
discussions last month.  In fact, I remember your 'Ready to move' email from 
8/1 which was apparently before the vote.  This actually doesn't make me feel 
any better, because it feels like a decision was made even prior to the PPB 
voting.  You claimed 3 months of development.  That means at least 2 months of 
development happened prior to the PPB voting.  The CI repos were also moved 
prior to the PPB voting.  During none of the 2 months of development can I find 
any references to Gerrit on _this_ list.  Not until Monty's note on 7/18 about 
CI repos moved.


 
 There was no discussion about how we might want to modify it to fit our 
 needs.
 
 False. There was lots of discussion on it.

On this list there was not 'lots' prior to 1 month ago.

 
 Some conversations about GitHub, project autonomy, and migration going
 back to June:
 
 http://www.mail-archive.com/openstack-poc@lists.launchpad.net/msg00176.html
 https://lists.launchpad.net/openstack-poc/msg00150.html
 http://osdir.com/ml/openstack-cloud-computing/2011-08/msg00077.html

Sorry, I don't read openstack-poc.  Maybe I should.  I don't feel like that's 
'public discussion', though.

 
  The development all happened mostly in the private as far as I can tell.
 
 False. Not a single thing about the CI environment or the automated
 patch queue management has been in private. It is all on GitHub, in
 public repos, and documented publically:
 
 https://github.com/openstack/openstack-ci
 http://ci.openstack.org
 http://wiki.openstack.org/GerritWorkflow
 

Sorry, that's not what I meant.  I realize that's what I said, but I really 
didn't mean that all of the code wasn't open. :)   I meant that a lot of us 
knew nothing about this Gerrit development until well into the process, giving 
us only a choice to voice complaints very late in the process...  and 
apparently mostly not until around the time of the actual PPB vote.


 That said, Sandy just provided a list of annoyances.  Johannes has provided 
 some as well.  I haven't seen any comments, yet, on if any of those can be 
 addressed.
 
 Refresh your email. LP's mailing lists are slow today. There's been
 responses to all lists of annoyances, Chris.

Thanks.  I see them.  It's not that I didn't think there would be responses.  
I'm just trying to keep us on track to trying to resolve the issues while I 
still complain that *I* feel we should have had some more/earlier/better 
communication on this list. :P

- Chris


This email may include confidential information. If you received it in error, 
please delete it.


___
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] A possible alternative to Gerrit ...

2011-09-04 Thread Chris Behrens
Jay,

On Sep 4, 2011, at 10:52 AM, Jay Pipes wrote:

 I actually didn't plan on responding all that much on this
 conversation. We had months of discussion and debate about this, weeks
 upon weeks of discussion in the PPB about project autonomy and
 tooling, and the decision has been made.
 
 I find it a bit unfortunate that all the people saying Gerrit is
 terrible and that we should just use GitHub haven't done a single
 review or change request in any of the projects that are currently
 using the Gerrit/Git toolset that has been decided will be used for
 core OpenStack projects.
[...]

I'm not sure this is true.  A few people that I've seen speaking up have used 
it.   I've been wanting to comment for a while, but I don't have a lot of 
ground to stand on, because I'm in the boat that you describe.  I've not done a 
single review or change request with Gerrit yet.  That said, I've seen a bit 
from those who have and I'm very much the opposite of excited about moving nova 
to it at some point, at least how it stands now.

But leaving aside whether I like it or dislike it, what really bothers me is 
that there was discussion about moving things to github.  And, I was 'ok' with 
that decision to do so despite preferring bzr and LP.  My 'ok' was based on 
knowing how git, github pull requests, reviews, and so forth work.  Now I feel 
like we're moving things to something to which I (and the community) never 
agreed.   I never saw any discussion about Gerrit on the mailing list as far as 
is everyone cool with this?  The first mention of it that I can find was July 
18th regarding moving the CI repos.  Doesn't seem like we were given much of an 
option.  That really irks me.  Above you say that has been decided will be 
used for the core OpenStack projects.  So, I have to ask:  'Who decided?'.  I 
must have missed something.

And I want to be clear that I'm not meaning to put down anyone's efforts here.  
I'm positive a lot of hard work was put into the transition, and I do 
appreciate it.

- Chris











This email may include confidential information. If you received it in error, 
please delete it.


___
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] libvirt vs. Xen driver handling of local storage

2011-09-02 Thread Chris Behrens

On Sep 2, 2011, at 8:07 AM, Paul Voccio wrote:

 On Fri, Sep 2, 2011 at 8:01 AM, Soren Hansen so...@linux2go.dk wrote:
 [...]
 The potential for filesystem bugs that could bring the host down gives
 me the heebie jeebies. I really, really don't want to mount people's
 filesystems.
 
 
 Can you explain a bit more here? I would like to understand your concerns. I 
 would advocate mounting in a utility VM if you mean to protect from mounting 
 instance with malicious data. We may have to do this to expand partitions or 
 resize down for Windows. 

Mounting someone's filesystem should not be necessary if we have certain 
restrictions on the management.  I.e., we could say we will only resize the 
last filesystem in the partition table.  That would avoid needing to know the 
filesystem layout in the image (looking at /etc/fstab or updating it).  Not 
sure that's a desired restriction, however.

That said, we'd still need to attach the VM disk somewhere and run fs resize 
utils... and it might still be best to do this in a utility VM.

- Chris

This email may include confidential information. If you received it in error, 
please delete it.


___
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] libvirt vs. Xen driver handling of local storage

2011-09-02 Thread Chris Behrens
Yeah, I think that can be rather fair for Unix.

It's just that as you pointed out... Windows is a huge pain.   Need to make 
sure there's enough space on C: and I think there are still a lot of things 
that stupidly rely on being installed on C:


On Sep 2, 2011, at 10:32 AM, Paul Voccio wrote:

 My first thought was to do a singled fixed disk and never resize that disk at 
 all. If you need space, you have to use a volume service. 
 
 Ultimately, I don't think this the right approach either, but it solves the 
 initial use case of needing more storage space. 
 
 
 
 On Fri, Sep 2, 2011 at 11:34 AM, Chris Behrens chris.behr...@rackspace.com 
 wrote:
 
 On Sep 2, 2011, at 8:07 AM, Paul Voccio wrote:
 
  On Fri, Sep 2, 2011 at 8:01 AM, Soren Hansen so...@linux2go.dk wrote:
  [...]
  The potential for filesystem bugs that could bring the host down gives
  me the heebie jeebies. I really, really don't want to mount people's
  filesystems.
 
 
  Can you explain a bit more here? I would like to understand your concerns. 
  I would advocate mounting in a utility VM if you mean to protect from 
  mounting instance with malicious data. We may have to do this to expand 
  partitions or resize down for Windows.
 
 Mounting someone's filesystem should not be necessary if we have certain 
 restrictions on the management.  I.e., we could say we will only resize the 
 last filesystem in the partition table.  That would avoid needing to know the 
 filesystem layout in the image (looking at /etc/fstab or updating it).  Not 
 sure that's a desired restriction, however.
 
 That said, we'd still need to attach the VM disk somewhere and run fs resize 
 utils... and it might still be best to do this in a utility VM.
 
 - Chris
 
 This email may include confidential information. If you received it in error, 
 please delete it.
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] libvirt vs. Xen driver handling of local storage

2011-08-31 Thread Chris Behrens
Vish,

I think Rackspace ozone/titan has some upcoming work to do for the resizing for 
xenserver that might close some of the gap.

I think we need some options (flags) if we are to synchronize libvirt/xen.  At 
some point, Rackspace also needs an API extension to support a couple different 
ways of handling resizes.  Until we get there, we at least need an option to 
keep the xenserver code working as-is for now.  I assume others need the 
current libvirt implementation to stay as well.

That said, I think it's probably not too difficult to do the 'libvirt way' for 
Xen, but I don't know about it making diablo.
Adding support into libvirt to do the 'xen way' should be easier, I'd think.  
But I'm the opposite of you, Vish.  I don't know the libvirt layer as well. :)

If we can FLAG the way it works... and make these options work in both 
libvirt/xen, I think we can all remain happy.

- Chris

On Aug 31, 2011, at 11:45 AM, Vishvananda Ishaya wrote:

 Hey guys,
 
 We have a very annoying discrepancy between how local space is used in the 
 xen driver vs the libvirt driver.  I think it is vital that this is rectified 
 before the Diablo release.  We already have a few functional gaps between the 
 drivers, but the fact that disks are partitioned completely differently 
 between the two is very confusing to users.
 
 Bug is here: https://bugs.launchpad.net/nova/+bug/834189
 
 The libvirt driver:
 
 * downloads the image from glance
 * resizes the image to 10G if it is  10G
 (in the case of a separate kernel and ramdisk image it extends the filesystem 
 as well.  In the case of a whole-disk image it just resizes the file because 
 it doesn't know enough to change the filesystem)
 * attaches a second disk the size of local_gb to the image
 (when using block device mapping through the ec2 api, more swap/ephemeral 
 disks can be attached as volumes as well)
 
 The XenServer driver (I'm less familiar with this code so please correct me 
 if i am wrong here):
 * downloads the image from glance
 * creates a vdi from the base image
 * resizes the vdi to the size of local_gb
 
 The first method of resize to 10G and having separate local_gb is essentially 
 the strategy taken by aws.
 
 Drawbacks of the first method:
 
 1) The actual space used by the image is local_gb + 10G (or more if the base 
 image is larger than 10G) which is inconsistent.
 
 2) The guest has to deal with the annoyance of not having one large 
 filesystem.  It is easier for the user if they can just use all the space 
 that they have without thinking about it.
 
 Drawbacks of the second method:
 
 1) Limits cloud images to a particular format.  We can't always guarantee 
 that we can resize the image properly.
 
 
 We need to decide on a common strategy and use it for both hypervisors.
 
 Vish
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] New nova service proposal

2011-08-26 Thread Chris Behrens
I was wondering if some of this could be solved by simply using rpc.call vs 
rpc.cast so that we get appropriate responses, even if they are exceptions.

- Chris

On Aug 26, 2011, at 2:23 PM, Brian Lamar wrote:

 Hey Ed,
 
 I absolutely agree that we need to be confident that all requests will be 
 handled by the system eventually. However, I'm unsure of the need for a new 
 service to be created to handle error cases.
 
 I'm not saying that we can solve every case through our current architecture, 
 but with some subtle tweaks I think it can be made much more reliable.  I 
 feel like if we look at every place where errors *can* occur we can find 
 solutions not involving an external service. Are there any particular 
 bugs/situations that are happening which aren't listed as bugs in Launchpad?
 
 Long story short I'd rather not create an external service which attempts to 
 clean up after poor exception handling / bad logic, but there might be some 
 cases I'm not considering.
 
 Brian
 
 
 
 
 -Original Message-
 From: Ed Leafe e...@leafe.com
 Sent: Friday, August 26, 2011 3:22pm
 To: openstack@lists.launchpad.net
 Subject: [Openstack] New nova service proposal
 
   Sorry I haven't come up with a snazzy name for it yet, but what I have 
 in mind is a new service that is essential for my employer (Rackspace), and 
 might be important for other OpenStack deployments. This new service would be 
 completely optional, of course - only those for whom it is relevant would run 
 it.
 
   Let me start by stating the problem: when a customer requests that we 
 create instances for them, nova casts those requests into the queue, where 
 they are eventually acted upon. That usually works great, but in cases where 
 the instance creation fails, we need to detect that failure and re-issue the 
 create request with a different host. This is currently not possible with the 
 asynchronous design of the compute-scheduler interactions.
 
   So what I envision is a service that scans a list of recent requests' 
 reservation IDs, and follows up to see if the request was successful or not, 
 and takes action if needed. The blueprint for this can be found at 
 https://blueprints.launchpad.net/nova/+spec/instance-creation-assurance, with 
 an Etherpad created for ongoing idea exchange at 
 http://etherpad.openstack.org/instance-creation-assurance
 
 
 
 -- Ed Leafe
 
 
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
 This email may include confidential information. If you received it in error, 
 please delete it.
 
 
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] [SPAM] How to connect br100 to xen bridge

2011-08-17 Thread Chris Behrens
Depending on what you're doing for networking, you should be able to shove this 
into nova.conf:

--flat_network_bridge=xenbr0

to avoid modifying the DB..

- Chris

On Aug 17, 2011, at 5:34 PM, Wayne A. Walls wrote:

 Greetings, Josh!
 
 Just update the bridge in the db, I've done that in the past to get things 
 aligned with Xen.  Seems to do the trick...
 
 Cheers,
 
 Wayne 
 
 Sent from my iPhone
 
 On Aug 17, 2011, at 7:17 PM, Joshua Harlow harlo...@yahoo-inc.com wrote:
 
 Hi all,
 
 Just trying to continue with my xen+openstack integration.
 
 Is there a recommended way to get openstack to connect to the xen bridge.
 
 Apparently the xen bridge is @ xenbr0 but openstack likes to use br100.
 
 Is it just a simple DB update to make this happen, or can this be changed in 
 the nova-network config?
 
 Has anyone had any experience with this?
 
 Thanks
 ___
 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

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Physical host identification

2011-07-15 Thread Chris Behrens
I see the v1.1 API spec talks about a 'hostId' item returned when you list your 
instances (section 4.1.1 in the spec).  These should be the same thing, IMO.

I think you're right, though.  I don't believe we have any sort of 'hostId' 
today, since hosts just become available by attaching to AMQP.

- Chris

On Jul 15, 2011, at 1:16 PM, Glen Campbell wrote:

 I understand that we're all familiar with virtualization and its benefits. 
 However, in the Real World, those of us who run clouds often need to work 
 with physical devices. I've proposed a blueprint and spec for a /hosts admin 
 API resource that would return information on physical hosts. However, I 
 don't believe that there's any way for us to actually identify a specific 
 server (I'm actually hoping I'm mistaken about this, because that would make 
 my life easier). 
 
 So, to get information about a specific host, you'd use /host/{id} — but what 
 should go in the {id} slot?
 
 We'd also like to include this data elsewhere; for example, in error 
 messages, it might help to know the physical device on which a server is 
 created. 
 
 
 signature[4].png
 This email may include confidential information. If you received it in error, 
 please delete it.
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Physical host identification

2011-07-15 Thread Chris Behrens
I think it's sensitive because one could figure out how many hosts a SP has 
globally... which a SP might not necessarily want to reveal.

- Chris


On Jul 15, 2011, at 3:34 PM, karim.allah.ah...@gmail.com wrote:

 On Fri, Jul 15, 2011 at 11:31 PM, Chris Behrens chris.behr...@rackspace.com 
 wrote:
 Nevermind.  Just found a comment in the API spec that says hostID is unique 
 per account, not globally.  Hmmm...
  
 This is weird ! I can't find anything in the code that says so !! hostID is 
 just a hashed version of the 'host' which is set as the 'hostname' of the 
 physical machine and this isn't user sensitive. So, It's supposed to be a 
 global thing !
 
 Can somebody explain how this is a user sensitive ?
  
 
 
 On Jul 15, 2011, at 2:27 PM, Chris Behrens wrote:
 
  I see the v1.1 API spec talks about a 'hostId' item returned when you list 
  your instances (section 4.1.1 in the spec).  These should be the same 
  thing, IMO.
 
  I think you're right, though.  I don't believe we have any sort of 'hostId' 
  today, since hosts just become available by attaching to AMQP.
 
  - Chris
 
  On Jul 15, 2011, at 1:16 PM, Glen Campbell wrote:
 
  I understand that we're all familiar with virtualization and its benefits. 
  However, in the Real World, those of us who run clouds often need to work 
  with physical devices. I've proposed a blueprint and spec for a /hosts 
  admin API resource that would return information on physical hosts. 
  However, I don't believe that there's any way for us to actually identify 
  a specific server (I'm actually hoping I'm mistaken about this, because 
  that would make my life easier).
 
  So, to get information about a specific host, you'd use /host/{id} — but 
  what should go in the {id} slot?
 
  We'd also like to include this data elsewhere; for example, in error 
  messages, it might help to know the physical device on which a server is 
  created.
 
 
  signature[4].png
  This email may include confidential information. If you received it in 
  error, please delete it.
  ___
  Mailing list: https://launchpad.net/~openstack
  Post to : openstack@lists.launchpad.net
  Unsubscribe : https://launchpad.net/~openstack
  More help   : https://help.launchpad.net/ListHelp
 
 
 This email may include confidential information. If you received it in error, 
 please delete it.
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
 
 
 
 -- 
 Karim Allah Ahmed.
 LinkedIn
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Cross-zone instance identifiers in EC2 API - Is it worth the effort?

2011-07-11 Thread Chris Behrens

On Jul 11, 2011, at 12:01 PM, Ed Leafe wrote:

 On Jul 11, 2011, at 2:04 PM, Eric Day wrote:
 
 How is
 
 nova-account-instance uuid
 
 any different than:
 
 ----
 
 Where // (or some subset of them) are reserved/regulated?
 
 Nothing, if -- is a full UUID. If we compare to
 swift, the account prefix is a UUID too. The account prefix could be
 fixed for a session or passed in to every request depending on how
 things are decided.
 
   sigh
 
   It's a shame that the ipv6 proposal was never more fully considered. 
 That would handle the uniqueness, with the added benefit of providing simple 
 zone routing via DNS, with the exact same 128-bit/32 char size.

I don't I remember that proposal, but that's such a neat idea.  Was anything 
discussed at all in Santa Clara regarding encoding zone information in the 
instance identifier?  I apparently missed the instance identifier discussion 
somehow.

- Chris


This email may include confidential information. If you received it in error, 
please delete it.


___
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] Cross-zone instance identifiers in EC2 API - Is it worth the effort?

2011-07-11 Thread Chris Behrens

On Jul 11, 2011, at 12:37 PM, Ed Leafe wrote:

 On Jul 11, 2011, at 3:24 PM, Chris Behrens wrote:
 
 It's a shame that the ipv6 proposal was never more fully considered. 
 That would handle the uniqueness, with the added benefit of providing 
 simple zone routing via DNS, with the exact same 128-bit/32 char size.
 
 I don't I remember that proposal, but that's such a neat idea.  Was anything 
 discussed at all in Santa Clara regarding encoding zone information in the 
 instance identifier?  I apparently missed the instance identifier discussion 
 somehow.
 
 
   At the end of the instance referencing discussion, Van Lindbergh 
 brought up the idea. We discussed it with several people both in the 
 conference room and over lunch. I believe that the main objections were that 
 not everyone would have an IPv6 creation scheme, whereas UUID generators are 
 ubiquitous. The other was a vague concern

Ya, I was guessing that would be a concern.  Doesn't seem like a huge deal, 
since everyone should be moving towards ipv6 only anyway.  I could see some 
objections raised if you didn't want any sort of public network interface at 
all... but you could still assign an unused address.

 about revealing internal structure, but since the information revealed 
 would be the exact same info in the instance's public network info, it didn't 
 strike me as a serious concern.

Right.  As long as there is a public network interface, people are going to be 
able to figure out at least some part of 'internal structure'.

- Chris

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Cross-zone instance identifiers in EC2 API - Is it worth the effort?

2011-07-11 Thread Chris Behrens
If you're referring to encoding zone information, yes it would.  I was trying 
to ask more generally as well.  IPv6 would be a very good solution, IMO.

- Chris

On Jul 11, 2011, at 12:47 PM, Sandy Walsh wrote:

 Won't an IPv6 address do that by it's very nature?
 
 -S
 
 
 From: openstack-bounces+sandy.walsh=rackspace@lists.launchpad.net 
 [openstack-bounces+sandy.walsh=rackspace@lists.launchpad.net] on behalf 
 of Chris Behrens [chris.behr...@rackspace.com]
 Sent: Monday, July 11, 2011 4:24 PM
 To: Ed Leafe
 Cc: openstack@lists.launchpad.net; Chris Behrens
 Subject: Re: [Openstack] Cross-zone instance identifiers in EC2 API - Is it 
 worth the effort?
 
 On Jul 11, 2011, at 12:01 PM, Ed Leafe wrote:
 
 On Jul 11, 2011, at 2:04 PM, Eric Day wrote:
 
 How is
 
 nova-account-instance uuid
 
 any different than:
 
 ----
 
 Where // (or some subset of them) are reserved/regulated?
 
 Nothing, if -- is a full UUID. If we compare to
 swift, the account prefix is a UUID too. The account prefix could be
 fixed for a session or passed in to every request depending on how
 things are decided.
 
  sigh
 
  It's a shame that the ipv6 proposal was never more fully considered. 
 That would handle the uniqueness, with the added benefit of providing simple 
 zone routing via DNS, with the exact same 128-bit/32 char size.
 
 I don't I remember that proposal, but that's such a neat idea.  Was anything 
 discussed at all in Santa Clara regarding encoding zone information in the 
 instance identifier?  I apparently missed the instance identifier discussion 
 somehow.
 
 - Chris
 
 
 This email may include confidential information. If you received it in error, 
 please delete it.
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Cross-zone instance identifiers in EC2 API - Is it worth the effort?

2011-07-08 Thread Chris Behrens

Yeah, I'm not sure *how much* of the zone information would be sensitive, 
though.  Ie, is it okay to expose a unique identifier and nothing more?  Or do 
we want to expose _nothing_?

- Chris


On Jul 8, 2011, at 2:28 PM, Sandy Walsh wrote:

 Isn't there a concern of leaking internal Zone information to the outside 
 world (particularly in the Service Provider model)? If so, we're back to the 
 mapping table.
 
 And, when multi-instance boot commands are more common (provision me 10 
 servers vs. 1), then more people will be searching by Reservation Id, 
 Project Id or Owner Id (I suspect). So, how long will this be a problem for?
 
 Do the same quirks apply to EC2 Reservation ID's as Instance ID's?
 
 -S
 
 From: openstack-bounces+sandy.walsh=rackspace@lists.launchpad.net 
 [openstack-bounces+sandy.walsh=rackspace@lists.launchpad.net] on behalf 
 of Chris Behrens [chris.behr...@rackspace.com]
 Sent: Friday, July 08, 2011 5:43 PM
 To: George Reese
 Cc: openstack@lists.launchpad.net; Ed Leafe; Chris Behrens
 Subject: Re: [Openstack] Cross-zone instance identifiers in EC2 API - Is it 
 worth the effort?
 
 On Jul 8, 2011, at 5:11 AM, George Reese wrote:
 
 I would just like to re-iterate that I think the entire UUID approach is 
 flawed and issues like this are one of the key reasons why.
 
 The only problem I'm aware of is that developers using the EC2 API are not 
 adhering to the spec.  If everyone treated them as strings, as they are 
 supposed to be, then we wouldn't have to have this discussion.
 
 That said, I do have a particular problem with the current UUID 
 implementation in that I wish some sort of unique zone identifier were a part 
 of it.  Accompany that with some other changes to zones and we could have 
 more efficient zone routing.  A side effect of that would be that it is less 
 work to come up with an ID that, if truncated, would also be unique to EC2.  
 Taking Ed Leafe's approach, you could remove the recursive zone checks.
 
 I'm not sure I'd vote for that route, though.  It implies we kludge UUID 
 generation just for EC2 in the heart of nova,  which I think is completely 
 wrong.  I'm pretty much with Vish on everything he's said so far in this 
 thread.
 
 - Chris
 
 This email may include confidential information. If you received it in error, 
 please delete it.
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

This email may include confidential information. If you received it in error, 
please delete it.


___
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] Injecting user data into instances

2011-06-09 Thread Chris Behrens
Hm, inject_file is supposed to be tied into instance creation in the API.  If 
it's not, we have some code missing from API.  Ed Leafe did this work IIRC, as 
we use this here at Rackspace.  Wonder if some code got dropped at some point 
or if it was just never completely finished.

- Chris


On Jun 8, 2011, at 8:27 PM, Mark Washenberger wrote:

 I don't know much about Cloudpipe and VPN, so I hope I don't hijack the 
 thread. However, regarding inject_file
 
 Another interesting situation is with inject_file compute APIs  …
 
 
 on API level there is no even file/contents fields, only
 def inject_file(self, context, instance_id):
 
 but they exist on compute.manager level:
 def inject_file(self, context, instance_id, path, file_contents):
 
 I believe that the nova.compute.api inject_file function is there 
 erroneously. From my brief look, it does not appear to be called anywhere and 
 it does not appear that it would work correctly. With the current feature set 
 it seems like the only time that you can inject a file is during other api 
 actions similar to instance creation.
 
 I take it this is a feature you would like to be able to use when the 
 instance has been running for some time?
 
 Thanks
 
 
 ___
 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] Global deployment of Glance

2011-05-17 Thread Chris Behrens
Each zone should definitely have glance instances, IMO.  At least two per zone 
for redundancy and networking reasons in large OpenStack installations.  
There's some work to do to support this, though.

- Chris

On May 17, 2011, at 8:59 AM, Glen Campbell wrote:

 If we are going to deploy Glance to support a global deployment of Nova, 
 would it make sense to have replicas in different regions for better 
 performance?
 
 Or, to put it another way, is there a recommended way to keep multiple Glance 
 installations in sync?
 
 Users doing snapshots/backups, etc., would presumably get better performance 
 if Glance was local, but how would we keep the base/shared images in sync?
 
 signature[4].png
 Confidentiality Notice: This e-mail message (including any attached or
 embedded documents) is intended for the exclusive and confidential use of the
 individual or entity to which this message is addressed, and unless otherwise
 expressly indicated, is confidential and privileged information of Rackspace.
 Any dissemination, distribution or copying of the enclosed material is 
 prohibited.
 If you receive this transmission in error, please notify us immediately by 
 e-mail
 at ab...@rackspace.com, and delete the original message.
 Your cooperation is appreciated.
 
 ___
 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] Global deployment of Glance

2011-05-17 Thread Chris Behrens

Ignoring how it is actually implemented, I think we do want copies of base 
images in reach region.  We don't want any sort of outage in one region to 
adversely affect another region.

- Chris


On May 17, 2011, at 9:36 AM, Jay Pipes wrote:

 On Tue, May 17, 2011 at 11:59 AM, Glen Campbell
 glen.campb...@rackspace.com wrote:
 If we are going to deploy Glance to support a global deployment of Nova, 
 would it make sense to have replicas in different regions for better 
 performance?
 Or, to put it another way, is there a recommended way to keep multiple 
 Glance installations in sync?
 
 Hi Glen!
 
 I think a better idea than having multiple copies of an image in
 different regions is to do two things:
 
 a) Use a proxy caching server like Varnish or Squid to cache pieces or
 all of an image in various zones
 b) Use a highly-available storage system like Swift behind the global
 Glance server
 
 For a) we need to complete the HTTP 1.1 Cache headers blueprint
 (https://blueprints.launchpad.net/glance/+spec/caching) and for b) you
 would simply use the Swift backend, configured appropriately for a
 large Swift cluster.
 
 Users doing snapshots/backups, etc., would presumably get better performance 
 if Glance was local, but how would we keep the base/shared images in sync?
 
 This is actually something that Rick H and Chris McG are working on.
 The basic strategy that they came up with was to add a parent ID
 attribute to the image and for any snapshot image, simply refer to the
 base image as the snapshot image's parent. The glance client would
 check for a parent_id that wasn't null and continue streaming the
 image while it found a parent URI/ID.
 
 For example, let's say you have a golden image with the URI:
 http://glance.example.com/12345. A user creates an instance with this
 image and some time later, decides to do a snapshot or backup of their
 running instance. The snapshotting code in the virtualization layer
 produces what is essentially a differential snapshot, containing only
 the differing bits of the existing image with the base golden image.
 This snapshot (typically much smaller than the original image) could
 be stored in the local (zone-local) Glance server with a call to POST
 /images. When pushing this snapshot image to the local Glance server,
 we would set the parent ID to http://glance.example.com/12345.
 
 Let's say at some later time, the user wanted to restore from this
 backup. The virtualization layer that implemented the restore call
 would need to stream the backup image from the local Glance server. In
 doing so, it would use the glance client class' get_image() method.
 When calling this method, the glance client would first return the
 snapshot image piece. Noticing the image had a parent ID, it would
 continue to stream the golden image from the global image Glance
 server in-line, essentially enabling us to store only the small diff
 of the snapshot locally while streaming the bulk of the image master
 from the global Glance server.
 
 I'll let Rick elaborate on the above and correct any mistakes I made
 in my description. :)
 
 -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


___
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] Code Reviews

2011-05-11 Thread Chris Behrens
I'm not nova-core, but this makes a heck of a lot of sense to me, too.

On May 11, 2011, at 1:16 PM, Jay Pipes wrote:

 ++ on your suggestions.
 
 On Wed, May 11, 2011 at 3:38 PM, Vishvananda Ishaya
 vishvana...@gmail.com wrote:
 Hello Everyone,
 We have quite a large backlog of merge proposals here:
 https://code.launchpad.net/~rlane/nova/lp773690/+merge/59565
 I've been attempting to go through them to find some high priority ones to
 review.  It seems like people are being pretty active in reviewing branches,
 but there are a lot old branches that haven't been touched in a while.  So
 first I have a general request that anyone who has old branches in for
 review:  please update your branches or mark them Work In Progress to remove
 them from the review queue.
 I'd also like to propose a change to our process that will make the ready to
 review branches easier to find. I'd like for nova-core to set branches to
 WIP if there are two significant needs fixings or or needs information.
  That way everyone doesn't have to sort through branches that have already
 been reviewed but are waiting on updates.  We may need to use our judgement
 here, so if a large branch has a needs fixing for a minor typo or some such,
 you could leave it under needs review so it gets viewed by more people.
 Here is an example where i think this policy will be useful:
 You see a branch that already has a 'Needs Fixing: this needs a failing
 test.  If you look at the branch and reach the same conclusion, you can
 mark it Needs Fixing: I agree, needs a test like xxx and then set the
 branch to Work In Progress.  When the author has added the test or needs to
 make more comments, he can set it back to Needs Review.
 I think this will generally keep the review board a little cleaner and also
 each branch will end up with a couple of people that are queued to review
 once the changes have come in. Does this seem acceptable to everyone?  If I
 don't here any major dissents, I will add this info to the wiki and we can
 put it into practice.
 Vish
 ___
 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] Instance IDs and Multiple Zones

2011-03-24 Thread Chris Behrens
It's early here, but I think it's closer to 200 zones? :)

On Mar 24, 2011, at 5:16 AM, Ed Leafe e...@leafe.com wrote:

 On Mar 23, 2011, at 9:41 PM, Justin Santa Barbara wrote:
 
 The type of a server @id in CloudServers is xsd:int, which is a 32-bit 
 signed integer:
 http://docs.rackspacecloud.com/servers/api/v1.0/xsd/server.xsd
 
 So if you have 1 billion integers per zone, you only get 2 zones.  You can 
 have 4 if you're willing to go negative, but surely it's too early in the 
 campaign.
 
Yes, you're correct. That always trips me up: why would anyone pick a 
 signed integer for a PK?
 
OK, so I'll slice the ranges down to the current Rackspace practice of 10 
 million. That will allow for around 2000 zones.
 
 
 
 -- Ed Leafe
 
 
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace. 
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message. 
Your cooperation is appreciated.


___
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] Instance IDs and Multiple Zones

2011-03-23 Thread Chris Behrens
You have a fundamental misunderstanding of my fundamental understanding of how 
inter-zone communication works. :)  I understand how it works.  I'm asking 
about an admin API that has privileges for actions for all VMs.  As an ISP, I 
want to disable a particular VM because it's being 'bad'.  If someone has 
injected a collision, I would be sending an action to more than 1 VM, not only 
the intended target.  I don't see how collisions can be made to work at all.

And yes, we're talking about spoofing (or really, purposefully colliding a 
known UUID).  I haven't seen any mention to anything else (although I may have 
missed it).  I'm certainly really not worried about machine generated UUIDs 
colliding, myself.

But what we're also talking about here is efficient routing.  Is it necessary?  
No.  Would it scale?  Yes.  A zone name or ID needs to be part of the 
identifier.  I prefer the DNS name idea, although prefixing UUIDs or reserving 
bits in a UUID could also work.

- Chris

On Mar 23, 2011, at 9:01 AM, Ed Leafe wrote:

 On Mar 23, 2011, at 11:28 AM, Chris Behrens wrote:
 
 How would the admin API know which ID to work with if there are collisions?  
 Eric's point is that we'd not know where to route the request.
 
 
   This reflects a fundamental misunderstanding of the way inter-zone 
 communication works. There is no direct routing. Instead, a zone knows 
 about its instances and its child zones. If the zone receives a request for 
 some action involving a particular instance, it checks if it has that 
 instance among its compute nodes; if not, it forwards the request to each of 
 its child zones. That is repeated until the leaf zones are reached, and most 
 of those will respond with something akin to a 404, indicating that they 
 didn't handle the request. The zone that does have the requested instance, 
 though, will carry out the action and return the result of that action.
 
   The child zone responses are then aggregated. If all indicate 404, the 
 zone returns the same. If one child responds that it has handled the request, 
 that response is returned. This repeats back up the zone tree until the zone 
 that originally received the request has heard from all of its child zones 
 (or they timed out). 
 
   If there were to be a collision (i.e., two leaf nodes handling the 
 request), there are only two possibilities: either the authenticated user has 
 rights to those nodes, or they do not. If they do not, nothing will happen 
 beyond an authorization failure message. If they do have rights to both 
 instances, then the action will happen to both instances. Since the context 
 of this discussion is deliberate spoofing, my response would be serves them 
 right. :)
 
   So it seems that spoofing should have no effect, assuming that our 
 authentication/authorization system is sound. If it isn't, then we have 
 bigger issues than just ID spoofing, since I could write a program to send 
 API delete requests for random instance IDs - no spoofing required.
 
   Without spoofing, let's be realistic: the chance of duplicate uuid 
 values colliding is much, much smaller than the chance of a meteorite 
 smashing into our data centers. From Wikipedia: In other words, only after 
 generating 1 billion UUIDs every second for the next 100 years, the 
 probability of creating just one duplicate would be about 50%. I believe 
 that that is well beyond our scalability goals, so we can effectively ignore 
 the impact of non-spoofed collisions.
 
 
 -- Ed Leafe
 
 
 


___
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] Instance IDs and Multiple Zones

2011-03-22 Thread Chris Behrens

I think Dragon got it right.  We need a zone identifier prefix on the IDs.  I 
think we need to get away from numbers.  I don't see any reason why they need 
to be numbers.  But, even if they did, you can pick very large numbers and 
reserve some bits for zone ID.

- Chris


On Mar 22, 2011, at 10:48 AM, Justin Santa Barbara wrote:

 I think _if_ we want to stick with straight numbers, the following are the 
 'traditional' choices:
 
 1) Skipping - so zone1 would allocate numbers 1,3,5, zone2 numbers 2,4,6.  
 Requires that you know in advance how many zones there are.
 2) Prefixing - so zone0 would get 0xxx, zone1 1xx.
 3) Central allocation - each zone would request an ID from a central pool.  
 This might not be a bad thing, if you do want to have a quick lookup table of 
 ID - zone.  Doesn't work if the zones aren't under the same administrative 
 control.
 4) Block allocation - a refinement of #3, where you get a bunch of IDs.  
 Effectively amortizes the cost of the RPC.  Probably not worth the effort 
 here.
 
 (If you want central allocation without a shared database, that's also 
 possible, but requires some trickier protocols.)
 
 However, I agree with Monsyne: numeric IDs have got to go.  Suppose I'm a 
 customer of Rackspace CloudServers once it is running on OpenStack, and I 
 also have a private cloud that the new Rackspace Cloud Business unit has 
 built for me.  I like both, and then I want to do cloud bursting in between 
 them, by putting an aggregating zone in front of them.  I think at that 
 stage, we're screwed unless we figure this out now.  And this scenario only 
 has one provider (Rackspace) involved!
 
 We can square the circle however - if we want numbers, let's use UUIDs - 
 they're 128 bit numbers, and won't in practice collide.  I'd still prefer 
 strings though...
 
 Justin
 
 
 
 On Tue, Mar 22, 2011 at 9:40 AM, Ed Leafe e...@leafe.com wrote:
I want to get some input from all of you on what you think is the best 
 way to approach this problem: the RS API requires that every instance have a 
 unique ID, and we are currently creating these IDs by use of an 
 auto-increment field in the instances table. The introduction of zones 
 complicates this, as each zone has its own database.
 
The two obvious solutions are a) a single, shared database and b) 
 using a UUID instead of an integer for the ID. Both of these approaches have 
 been discussed and rejected, so let's not bring them back up now.
 
Given integer IDs and separate databases, the only obvious choice is 
 partitioning the numeric space so that each zone starts its auto-incrementing 
 at a different point, with enough room between starting ranges to ensure that 
 they would never overlap. This would require some assumptions be made about 
 the maximum number of instances that would ever be created in a single zone 
 in order to determine how much numeric space that zone would need. I'm 
 looking to get some feedback on what would seem to be reasonable guesses to 
 these partition sizes.
 
The other concern is more aesthetic than technical: we can make the 
 numeric spaces big enough to avoid overlap, but then we'll have very large ID 
 values; e.g., 10 or more digits for an instance. Computers won't care, but 
 people might, so I thought I'd at least bring up this potential objection.
 
 
 
 -- Ed Leafe
 
 
 
 
 ___
 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] Queue Service, next steps

2011-02-21 Thread Chris Behrens
I am very concerned about seeing a lot of I'd love to learn Erlang on 
something we probably don't want to screw up.  At the same time, I know there's 
a number of us very experienced with C/C++ (even with respect to 
concurrency/scalability).

- Chris


On Feb 21, 2011, at 2:40 AM, Thierry Carrez wrote:

 Quick comment on the languages from a dev community perspective:
 
 The Nova/Swift community is Python-based, so you won't directly reuse
 it, whether you use C++ or Erlang. For new contributors, you either
 target very experienced C++ developers (to get concurrency/scalability
 right), or moderately-experienced Erlang devs. Both probably come in
 short supplies... but you might find more people willing to learn Erlang
 than people willing to perfect their C++ skills (me for example).
 
 I've a slight preference for Erlang because it will probably be more
 difficult to do it wrong, and my gut feeling is that Python devs might
 be more convertible to Erlang than to C++.
 
 Regards,
 
 -- 
 Thierry Carrez (ttx)
 Release Manager, OpenStack
 
 ___
 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] Queue Service, next steps

2011-02-19 Thread Chris Behrens
I have been meaning to reply with the exact same thing.

On Feb 18, 2011, at 10:12 AM, Jay Pipes jaypi...@gmail.com wrote:

 Personally, I'd prefer C++ since that's what I'm used to, but I'd be
 open to learning Erlang, too. Been wanting to learn it for a while
 now.
 
 -jay
 
 On Fri, Feb 18, 2011 at 1:11 AM, Eric Day e...@oddments.org wrote:
 Duck farm? :)
 
 Are you two concerned about building a developer community around a
 project in Erlang? I'm all for going that route if other folks are
 comfortable with it.
 
 I also have some concern around the speed of Erlang. It's great,
 especially if you know what primitives can be expensive and how to
 tame beam, but it will always be slower (sometimes significantly)
 that C/C++ for some tasks.
 
 -Eric
 
 On Thu, Feb 17, 2011 at 03:26:09PM -0800, Joshua McKenty wrote:
+1 for Erlang, as long as we have a duck farm.
 
On Thu, Feb 17, 2011 at 2:25 PM, Devin Carlen devin.car...@gmail.com
wrote:
 
  I'll put in a +1 for Erlang as an OpenStack supported platform.  We'd 
 be
  able to write a stable queue with a much more concise code base, and
  this is project would be a great fit for Erlang.
  Devin
  On Feb 17, 2011, at 2:21 PM, Eric Day wrote:
 
   Thanks to everyone who gave great feedback on the first queue service
   thread. I've updated the wiki page to include the suggestions.
  
   http://wiki.openstack.org/QueueService
  
   With a decent vision of what we want to build, the next step is
   figuring out how. In a previous thread it was suggested that the
   preferred languages for OpenStack projects are Python, C, and
   C++. Since there is an emphasis on speed and efficiency for the
   queue service, I suggest we use C++. I expect this service to be
   CPU bound and would benefit being able to leverage multiple cores
   efficiently (within the same process), so I don't think Python
   is a good fit. I think C++ is a better fit than C due to the need
   for modular interfaces. While this can obviously be done in C, C++
   APIs are more concise and much less error prone. The OO style will
   also make it easier for Python developers who also want to learn and
   assist with C++ projects.
  
   Erlang is not on the preferred lists, but I would also put it out
   there as an option. While it may be a great fit for a project like
   this, I worry it won't attract the developer resources since Erlang
   isn't really a first-class language yet.
  
   If we decide to take the C++ path, I propose using a modular
   application framework I've been working on over the past year (mostly
   in my spare time). It provides a simple module programming interface
   with dependency tracking (kind of like Linux kernel modules). It
   already provides a multi-threaded event module (currently based on
   libevent, but this is pluggable) with simple networking abstractions
   built on top of it. We should be able to dive in an start writing the
   HTTP protocol module and queue processing modules. You can check out
   the current project at:
  
   https://launchpad.net/scalestack
   http://scalestack.org/
  
   The intention of using a framework like this is so we can easily 
 reuse
   the other modules (auth, HTTP, logging, ...) for other OpenStack
   services in the future. Much like we use Eventlet, WSGI, etc. (and
   eventually openstack-common) for Python, we could prefer using the
   modules in Scale Stack for lower level projects.
  
   Thoughts?
   -Eric
  
   ___
   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
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of 

Re: [Openstack] xen server agent code in nova?

2011-02-10 Thread Chris Behrens
Jay,

It sounds like you understand it. :)  The guest agent will be required to 
configure the VM's network settings and root password, etc.  I share your 
thoughts.  It feels like it should be a part of nova to me as well.

- Chris


On Feb 10, 2011, at 7:53 AM, Jay Pipes wrote:

 If this guest agent code is going to be required for certain features
 in Nova's Cactus release (at least, XenServer features), then
 shouldn't it be in Nova?
 
 Or am I not understanding what the guest agent code does?
 
 -jay
 
 On Thu, Feb 10, 2011 at 3:57 AM, Thierry Carrez thie...@openstack.org wrote:
 Paul Voccio wrote:
 So the question I want to pose to the community is if they are
 interested in the code, where should it go and how should we move
 forward on extending it?
 
 I think it's always interesting to publish the code. I'm not convinced
 of the value of shipping it inside Nova though.
 
 I'm not in the POC so it's not my job to define what should be
 considered Openstack core and what should not, but compatible guest
 agents IMO typically warrant their own project...
 
 Regards,
 
 --
 Thierry Carrez (ttx)
 Release Manager, OpenStack
 
 ___
 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


  1   2   >