← Back to team overview

openstack team mailing list archive

Re: Proposal for new devstack (v2?)

 

That's the goal. More sanity the better! :-) But not to much that it becomes abstracted away to far.

Once this comes out of WIP mode (hopefully soon) we'll hopefully be able to do all that, and help unit tests run with ubuntu and rhel6 (ie on smokestack).

And going forward hopefully this can be used for other distro as the current devstack is being used to figure out what to install and how (and pkg versions)...

On 1/17/12 1:36 PM, "Monty Taylor" <mordred@xxxxxxxxxxxx> wrote:

We currently run devstack on all changes before letting them land.

I think once devstack-v2 is ready to go, it should be pretty easy to add
a job that runs it as well for a little bit until we're happy with
stability, and then turn off the old one.

As long as v2 continues to be annotated and easy to follow, I think this
sounds great. One of the current big wins of devstack over things like
the chef and puppet recipes is that you can read devstack to learn how
to deploy OpenStack without having to learn chef or puppet. If the new
thing introduces TOO many abstractions, it could get us back to the
place where a dev has to learn the framework first ... but it sounds
like you guys are talking about keeping (or even adding) sanity. So awesome.

On 01/18/2012 06:36 AM, Debo Dutta (dedutta) wrote:
> On a different note: ideally we should have folks run a devstack build with their changes before committing else we will have broken devstack builds e..g. now.
>
> debo
>
> -----Original Message-----
> From: openstack-bounces+dedutta=cisco.com@xxxxxxxxxxxxxxxxxxx [mailto:openstack-bounces+dedutta=cisco.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Jesse Andrews
> Sent: Tuesday, January 17, 2012 11:19 AM
> To: Joshua Harlow
> Cc: Andy Smith; Ken Thomas; openstack
> Subject: Re: [Openstack] Proposal for new devstack (v2?)
>
> I think a goal would be to have easy fabric integration.
>
> Right now our fabric scripts for devstack look like:
>
>
> @task
> @parallel
> def stop():
>     """Kill devstack and all VMs running"""
>     run("killall -9 screen || true")
>     run("screen -wipe || true")
>     # note we can probably remove this once devstack supports removing instances
>     # which anthony is working on
>     sudo("rm -rf /etc/libvirt/qemu/inst*")
>     sudo("virsh list | grep inst | awk '{print $1}' | xargs -n1 virsh
> destroy; true")
>
>
> @task
> def reserve_ips():
>     """Remove IPs from nova's fixed ip pool for use by hosts
>
>     This is needed for both the compute hosts and the VPN instances"""
>
>     if env.host == config.master:
>         with cd('%s/nova' % config.dest):
>             for n in xrange(2, 10):
>                 ip = "10.4.128.%s" % n
>                 run("bin/nova-manage fixed reserve %s" % ip)
>             # reserve VPN client IPs too
>             for n in xrange(240, 254):
>                 ip = "10.4.143.%s" % n
>                 run("bin/nova-manage fixed reserve %s" % ip)
>
> @task
> @parallel
> def users():
>     """ensure our users exist"""
>     if env.host == config.master:
>         for name, password in config.users.iteritems():
>             # add_user(username, password)
>             with cd(config.dest + '/keystone'):
>                 if not name in run("bin/keystone-manage tenant list"):
>                     run("bin/keystone-manage tenant add %s" % name)
>                     run("bin/keystone-manage user add %s %s" % (name, password))
>                     run("bin/keystone-manage credentials add %s EC2 %s
> %s %s" % (name, name, password, name))
>                     run("bin/keystone-manage role grant sysadmin %s
> %s" % (name, name))
>                     run("bin/keystone-manage role grant netadmin %s
> %s" % (name, name))
>                     run("bin/keystone-manage role grant Member %s %s"
> % (name, name))
>
> On Tue, Jan 17, 2012 at 11:01 AM, Joshua Harlow <harlowja@xxxxxxxxxxxxx> wrote:
>> Thx,
>>
>> Yes we haven't been 100% doing the style stuff yet (which is ok I think for
>> now).
>>
>> My idea for not using an underlying fabric was just to keep it as simple as
>> possible (but not to simple). Not always an easy choice :-)
>>
>>
>> On 1/17/12 10:56 AM, "Andy Smith" <andyster@xxxxxxxxx> wrote:
>>
>> Looks cool :)
>>
>> I've been trying to plant the seed of switching devstack to python (heavily
>> utilizing fabric and cuisine) in my team's head for a while now.
>>
>> We are heavily dependent on devstack for our development and testing
>> workflows so it would be a pretty big decision for us to switch tools, and
>> we'd be doing very active development on whatever new tool we switched to.
>>
>> The general flow and goals of the tool seem appropriate, and it looks like
>> it could be a good starting place for work in this direction.
>>
>> The style of the code is pretty far from most of the common openstack style
>> guides, but that's pretty easily solvable, as are the other small things to
>> get the project looking more openstack-y.
>>
>> I'd still be interested in using fabric and cuisine as the underlying layer
>> because of having a well-tested, built-in way of dealing with remote servers
>> allows for some more versatility.
>>
>> --andy
>>
>> On Tue, Jan 17, 2012 at 10:20 AM, Joshua Harlow <harlowja@xxxxxxxxxxxxx>
>> wrote:
>>
>> Hi all,
>>
>> I would just like to propose a new devstack (v2?) that we have been starting
>> to work on that uses python throughout as well as has componentized installs
>> (for glance, nova...) and a nice object oriented design and the like
>> (including having a json format for defining package and pip dependencies
>> that allows simple comments so people can know what the pkgs are). We are
>> currently trying to get equivalence going for ubuntu (and at the same time
>> rhel6.x) and I would like it if we could get peoples initial thoughts on
>> this.
>>
>> I know the current devstack shell script is starting to explode (LOC wise)
>> and it seems like it is a good time to stop that from exploding by creating
>> something a little more flexible (and maintainable imho).
>>
>> Please check it out @ https://github.com/yahoo/Openstack-Devstack2
>>
>> Comments welcome!
>>
>> We are working on getting as much equivalence as we can (while still
>> maintaining a "clean" design).
>>
>> Thx,
>>
>> Josh
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>


References