Re: [openstack-dev] [tripleo] Status of Standalone installer (aka All-In-One)

2018-06-15 Thread Alex Schultz
On Mon, Jun 4, 2018 at 6:26 PM, Emilien Macchi  wrote:
> TL;DR: we made nice progress and you can checkout this demo:
> https://asciinema.org/a/185533
>
> We started the discussion back in Dublin during the last PTG. The idea of
> Standalone (aka All-In-One, but can be mistaken with all-in-one overcloud)
> is to deploy a single node OpenStack where the provisioning happens on the
> same node (there is no notion of {under/over}cloud).
>
> A kind of a "packstack" or "devstack" but using TripleO which has can offer:
> - composable containerized services
> - composable upgrades
> - composable roles
> - Ansible driven deployment
>
> One of the key features we have been focusing so far are:
> - low bar to be able to dev/test TripleO (single machine: VM), with simpler
> tooling
> - make it fast (being able to deploy OpenStack in minutes)


So to provide an update, I spent this week trying to get the network
configuration down for the standalone configuration. I've proposed
docs[0] for two configurations. I was able to test the two
configurations:

a) 2 nic (requires second nic with an accessable second "public"
network that is optionally route-able for VM connectivity)
b) 1 nic (requires 3 ips)

Additionally I've proposed an update to the Standalone role[1] that
includes Controller + Compute on a single node. With this I was able
to try out Keystone, Nova, Neutron (with ovs, floating ips), Glance
(backed by Swift), Cinder (lvm).  This configuration took about 35
mins to go from 0 to cloud on a single 16gb VM hosted on some old
hardware.

Thanks,
-Alex

[0] https://review.openstack.org/#/c/575859/
[1] https://review.openstack.org/#/c/575862/

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [tripleo] Status of Standalone installer (aka All-In-One)

2018-06-05 Thread Dan Prince
On Mon, Jun 4, 2018 at 8:26 PM, Emilien Macchi  wrote:
> TL;DR: we made nice progress and you can checkout this demo:
> https://asciinema.org/a/185533
>
> We started the discussion back in Dublin during the last PTG. The idea of
> Standalone (aka All-In-One, but can be mistaken with all-in-one overcloud)
> is to deploy a single node OpenStack where the provisioning happens on the
> same node (there is no notion of {under/over}cloud).
>
> A kind of a "packstack" or "devstack" but using TripleO which has can offer:
> - composable containerized services
> - composable upgrades
> - composable roles
> - Ansible driven deployment
>
> One of the key features we have been focusing so far are:
> - low bar to be able to dev/test TripleO (single machine: VM), with simpler
> tooling

One idea might be worth considering adding to this list is the idea of
"zero-footprint". Right now you can use a VM to isolate the
installation of the all-in-one installer on your laptop which is cool
and you can always use a VM to isolate things. But now that we have
containers it might also be cool to have the installer itself ran in a
container rather than require the end user to install
python-tripleoclient at all.

A few of us tried out a similar sort of idea in Pike with the
undercloud_deploy interface (docker in docker, etc.). At the time we
didn't have config-download working so it had to all be done inside
the container. But now that we have config download working with the
undercloud/all-in-one installers the Ansible which is generated can
run anywhere so long as the relevant hooks are installed. (paunch,
etc.)

The benefit here is that the requirements are even less... the
developer can just use the framework to generate Ansible that spins up
containers on his/her laptop directly. Again, only the required
Ansible/heat hooks would need to be installed.

I mentioned a few months ago my old attempt was here (uses
undercloud_deploy) [1].

Also, worth mentioning that I got it working without installing Puppet
on my laptop too [2]. The idea being that now that our containers have
all the puppet-modules in them no real need to bind mount them in from
the host anymore unless you are using the last few (HA??!!) services
that require puppet modules on baremetal. Perhaps we should switch to
installing the required puppet modules there dynamically instead of
requiring them for any old undercloud/all-in-one installer which
largely focus on non-HA deployments anyway I think.

Is anyone else interested in the zero-footprint idea? Perhaps this is
the next iteration of the all-in-one installer?... but the one I'm
perhaps most interested in as a developer.

[1] https://github.com/dprince/talon
[2] https://review.openstack.org/#/c/550848/ (Add
DockerPuppetMountHostPuppet parameter)

Dan

> - make it fast (being able to deploy OpenStack in minutes)
> - being able to make a change in OpenStack (e.g. Keystone) and test the
> change immediately
>
> The workflow that we're currently targeting is:
> - deploy the system by yourself (centos7 or rhel7)
> - deploy the repos, install python-tripleoclient
> - run 'openstack tripleo deploy (+ few args)
> - (optional) modify your container with a Dockerfile + Ansible
> - Test your change
>
> Status:
> - tripleoclient was refactored in a way that the undercloud is actually a
> special configuration of the standalone deployment (still work in progress).
> We basically refactored the containerized undercloud to be more generic and
> configurable for standalone.
> - we can now deploy a standalone OpenStack with just Keystone + dependencies

Fwiw you could always do this with undercloud_deploy as well. But the
new interface is much nicer I agree. :)

> - which takes 12 minutes total (demo here: https://asciinema.org/a/185533
> and doc in progress:
> http://logs.openstack.org/27/571827/6/check/build-openstack-sphinx-docs/1885304/html/install/containers_deployment/standalone.html)
> - we have an Ansible role to push modifications to containers via a Docker
> file: https://github.com/openstack/ansible-role-tripleo-modify-image/
>
> What's next:
> - Documentation: as you can see the documentation is still in progress
> (https://review.openstack.org/#/c/571827/)
> - Continuous Integration: we're working on a new CI job:
> tripleo-ci-centos-7-standalone
> https://trello.com/c/HInL8pNm/7-upstream-ci-testing
> - Working on the standalone configuration interface, still WIP:
> https://review.openstack.org/#/c/569535/
> - Investigate the use case where a developer wants to prepare the containers
> before the deployment
>
> I hope this update was useful, feel free to give feedback or ask any
> questions,
> --
> Emilien Macchi
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>


Re: [openstack-dev] [tripleo] Status of Standalone installer (aka All-In-One)

2018-06-05 Thread Wesley Hayutin
On Tue, Jun 5, 2018 at 3:31 AM Raoul Scarazzini  wrote:

> On 05/06/2018 02:26, Emilien Macchi wrote:
> [...]
> > I hope this update was useful, feel free to give feedback or ask any
> > questions,
> [...]
>
> I'm no prophet here, but I see a bright future for this approach. I can
> imagine how useful this can be on the testing and much more the learning
> side. Thanks for sharing!
>
> --
> Raoul Scarazzini
> ra...@redhat.com


Real big +1 to everyone who has contributed to the standalone
installer.
>From an end user experience, this is simple, fast! This is going to be the
base for some really cool work.

Emilien, the CI is working, enjoy your PTO :)
http://logs.openstack.org/17/572217/6/check/tripleo-ci-centos-7-standalone/b2eb1b7/logs/ara_oooq/result/bb49965e-4fb7-43ea-a9e3-c227702c17de/

Thanks!



>
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [tripleo] Status of Standalone installer (aka All-In-One)

2018-06-05 Thread Raoul Scarazzini
On 05/06/2018 02:26, Emilien Macchi wrote:
[...]
> I hope this update was useful, feel free to give feedback or ask any
> questions,
[...]

I'm no prophet here, but I see a bright future for this approach. I can
imagine how useful this can be on the testing and much more the learning
side. Thanks for sharing!

-- 
Raoul Scarazzini
ra...@redhat.com

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [tripleo] Status of Standalone installer (aka All-In-One)

2018-06-04 Thread Emilien Macchi
TL;DR: we made nice progress and you can checkout this demo:
https://asciinema.org/a/185533

We started the discussion back in Dublin during the last PTG. The idea of
Standalone (aka All-In-One, but can be mistaken with all-in-one overcloud)
is to deploy a single node OpenStack where the provisioning happens on the
same node (there is no notion of {under/over}cloud).

A kind of a "packstack" or "devstack" but using TripleO which has can offer:
- composable containerized services
- composable upgrades
- composable roles
- Ansible driven deployment

One of the key features we have been focusing so far are:
- low bar to be able to dev/test TripleO (single machine: VM), with simpler
tooling
- make it fast (being able to deploy OpenStack in minutes)
- being able to make a change in OpenStack (e.g. Keystone) and test the
change immediately

The workflow that we're currently targeting is:
- deploy the system by yourself (centos7 or rhel7)
- deploy the repos, install python-tripleoclient
- run 'openstack tripleo deploy (+ few args)
- (optional) modify your container with a Dockerfile + Ansible
- Test your change

Status:
- tripleoclient was refactored in a way that the undercloud is actually a
special configuration of the standalone deployment (still work in
progress). We basically refactored the containerized undercloud to be more
generic and configurable for standalone.
- we can now deploy a standalone OpenStack with just Keystone +
dependencies - which takes 12 minutes total (demo here:
https://asciinema.org/a/185533 and doc in progress:
http://logs.openstack.org/27/571827/6/check/build-openstack-sphinx-docs/1885304/html/install/containers_deployment/standalone.html
)
- we have an Ansible role to push modifications to containers via a Docker
file: https://github.com/openstack/ansible-role-tripleo-modify-image/

What's next:
- Documentation: as you can see the documentation is still in progress (
https://review.openstack.org/#/c/571827/)
- Continuous Integration: we're working on a new CI
job: tripleo-ci-centos-7-standalone
https://trello.com/c/HInL8pNm/7-upstream-ci-testing
- Working on the standalone configuration interface, still WIP:
https://review.openstack.org/#/c/569535/
- Investigate the use case where a developer wants to prepare the
containers before the deployment

I hope this update was useful, feel free to give feedback or ask any
questions,
-- 
Emilien Macchi
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev