Re: [openstack-dev] [tripleo] ansible roles in tripleo

2018-08-24 Thread Jill Rouleau
On Thu, 2018-08-23 at 10:42 -0400, Dan Prince wrote:
> On Tue, Aug 14, 2018 at 1:53 PM Jill Rouleau  wrote:
> > 
> > 
> > Hey folks,
> > 
> > Like Alex mentioned[0] earlier, we've created a bunch of ansible
> > roles
> > for tripleo specific bits.  The idea is to start putting some basic
> > cookiecutter type things in them to get things started, then move
> > some
> > low-hanging fruit out of tripleo-heat-templates and into the
> > appropriate
> > roles.  For example, docker/services/keystone.yaml could have
> > upgrade_tasks and fast_forward_upgrade_tasks moved into ansible-
> > role-
> > tripleo-keystone/tasks/(upgrade.yml|fast_forward_upgrade.yml), and
> > the
> > t-h-t updated to
> > include_role: ansible-role-tripleo-keystone
> >   tasks_from: upgrade.yml
> > without having to modify any puppet or heat directives.
> > 
> > This would let us define some patterns for implementing these
> > tripleo
> > roles during Stein while looking at how we can make use of ansible
> > for
> > things like core config.
> I like the idea of consolidating the Ansible stuff and getting out of
> the practice of inlining it into t-h-t. Especially the "core config"
> which I take to mean moving away from Puppet and towards Ansible for
> service level configuration. But presumably we are going to rely on
> the upstream Openstack ansible-os_* projects to do the heavy config
> lifting for us here though right? We won't have to do much on our side
> to leverage that I hope other than translating old hiera to equivalent
> settings for the config files to ensure some backwards comparability.
> 

We'll hopefully be able to rely on the OSA roles for a lot of the
config, yes, but there will still be a fair bit of TripleO specific
stuff that will need to be handled, and that's what we plan to do in
these ansible-role-tripleo-* repos.  

> While I agree with the goals I do wonder if the shear number of git
> repos we've created here is needed. Like with puppet-tripleo we were
> able to combine a set of "small lightweight" manifests in a way to
> wrap them around the upstream Puppet modules. Why not do the same with
> ansible-role-tripleo? My concern is that we've created so many cookie
> cutter repos with boilerplate code in them that ends up being much
> heavier than the files which will actually reside in many of these
> repos. This in addition to the extra review work and RPM packages we
> need to constantly maintain.
> 
In theory it should be roughly the same amount of commits/review work,
just a question of what repo they go to - service specific patches go to
the appropriate role and shared plugins, libs, etc go to the tripleo-
ansible project repo.

We want the roles to be modular rather than monolithic so only the roles
that are being used in a given environment need to be pulled in.  Also
by having them separated, they should be easier to parse and contribute
to.  Yes it's a higher number of repos that could be contributed to, but
when doing so a person won't have to mentally frontload how all of the
possible things work just to be able to add an upgrade task for service
$foo like it is today with t-h-t. 

Unless there's a different breakdown/layout you're thinking of beyond
"dump everything in one place"?

I'm interested in other options if we have some to reduce packaging or
maintenance overhead.  With other deployers I've done stable branches
checked out straight from git, but I doubt that would fly for
downstream.  We could push the roles to Ansible Galaxy but we would need
to think about how that would work for offline deploys and they still
need to be maintained there, it's just painting the problem a different
color.

- Jill


> Dan
> 
> > 
> > 
> > t-h-t and config-download will still drive the vast majority of
> > playbook
> > creation for now, but for new playbooks (such as for operations
> > tasks)
> > tripleo-ansible[1] would be our project directory.
> > 
> > So in addition to the larger conversation about how deployers can
> > start
> > to standardize how we're all using ansible, I'd like to also have a
> > tripleo-specific conversation at PTG on how we can break out some of
> > our
> > ansible that's currently embedded in t-h-t into more modular and
> > flexible roles.
> > 
> > Cheers,
> > Jill
> > 
> > [0] http://lists.openstack.org/pipermail/openstack-dev/2018-August/1
> > 3311
> > 9.html
> > [1] https://git.openstack.org/cgit/openstack/tripleo-ansible/tree/__
> > 
> > 
> > OpenStack Development Mailing List (not for usage questions)
> > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsub
> > scribe
> > 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:unsubsc
> ribe
> 

Re: [openstack-dev] [tripleo] ansible roles in tripleo

2018-08-23 Thread Dan Prince
On Tue, Aug 14, 2018 at 1:53 PM Jill Rouleau  wrote:
>
> Hey folks,
>
> Like Alex mentioned[0] earlier, we've created a bunch of ansible roles
> for tripleo specific bits.  The idea is to start putting some basic
> cookiecutter type things in them to get things started, then move some
> low-hanging fruit out of tripleo-heat-templates and into the appropriate
> roles.  For example, docker/services/keystone.yaml could have
> upgrade_tasks and fast_forward_upgrade_tasks moved into ansible-role-
> tripleo-keystone/tasks/(upgrade.yml|fast_forward_upgrade.yml), and the
> t-h-t updated to
> include_role: ansible-role-tripleo-keystone
>   tasks_from: upgrade.yml
> without having to modify any puppet or heat directives.
>
> This would let us define some patterns for implementing these tripleo
> roles during Stein while looking at how we can make use of ansible for
> things like core config.

I like the idea of consolidating the Ansible stuff and getting out of
the practice of inlining it into t-h-t. Especially the "core config"
which I take to mean moving away from Puppet and towards Ansible for
service level configuration. But presumably we are going to rely on
the upstream Openstack ansible-os_* projects to do the heavy config
lifting for us here though right? We won't have to do much on our side
to leverage that I hope other than translating old hiera to equivalent
settings for the config files to ensure some backwards comparability.

While I agree with the goals I do wonder if the shear number of git
repos we've created here is needed. Like with puppet-tripleo we were
able to combine a set of "small lightweight" manifests in a way to
wrap them around the upstream Puppet modules. Why not do the same with
ansible-role-tripleo? My concern is that we've created so many cookie
cutter repos with boilerplate code in them that ends up being much
heavier than the files which will actually reside in many of these
repos. This in addition to the extra review work and RPM packages we
need to constantly maintain.

Dan

>
> t-h-t and config-download will still drive the vast majority of playbook
> creation for now, but for new playbooks (such as for operations tasks)
> tripleo-ansible[1] would be our project directory.
>
> So in addition to the larger conversation about how deployers can start
> to standardize how we're all using ansible, I'd like to also have a
> tripleo-specific conversation at PTG on how we can break out some of our
> ansible that's currently embedded in t-h-t into more modular and
> flexible roles.
>
> Cheers,
> Jill
>
> [0] http://lists.openstack.org/pipermail/openstack-dev/2018-August/13311
> 9.html
> [1] 
> https://git.openstack.org/cgit/openstack/tripleo-ansible/tree/__
> 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] ansible roles in tripleo

2018-08-15 Thread Jill Rouleau
On Wed, 2018-08-15 at 13:08 -0600, Alex Schultz wrote:
> On Tue, Aug 14, 2018 at 11:51 AM, Jill Rouleau 
> wrote:
> > 
> > Hey folks,
> > 
> > Like Alex mentioned[0] earlier, we've created a bunch of ansible
> > roles
> > for tripleo specific bits.  The idea is to start putting some basic
> > cookiecutter type things in them to get things started, then move
> > some
> > low-hanging fruit out of tripleo-heat-templates and into the
> > appropriate
> > roles.  For example, docker/services/keystone.yaml could have
> > upgrade_tasks and fast_forward_upgrade_tasks moved into ansible-
> > role-
> > tripleo-keystone/tasks/(upgrade.yml|fast_forward_upgrade.yml), and
> > the
> > t-h-t updated to
> > include_role: ansible-role-tripleo-keystone
> >   tasks_from: upgrade.yml
> > without having to modify any puppet or heat directives.
> > 
> Do we have any examples of what the upgrade.yml would be or what type
> of variables (naming conventions or otherwise) which would need to be
> handled as part of this transtion?  I assume we may want to continue
> passing in some variable to indicate the current deployment step.  Is
> there something along these lines that we will be proposing or need to
> handle?  We're already doing something similar with the
> host_prep_tasks for the docker registry[0] but we have a set_fact
> block to pass parameters in.   I'm assuming we'll need to define
> something similar.

The task file would look very much like the task as it exists in t-h-t
today.  For example if we took the FFU task out of
docker/services.keystone.yaml and write that to ansible-role-tripleo-
keystone/tasks/fast_forward_upgrade.yml, and update any necessary vars
(like steps) to be role vars, like tripleo_keystone_step.

Then docker/services.keystone.yaml could be updated like:
fast_forward_upgrade_tasks:
  include_role: 
    name: ansible-role-tripleo-keystone
    tasks_from: fast_forward_upgrade 
  vars:
    tripleo_keystone_step: step|int


- Jill

> 
> Thanks,
> -Alex
> 
> [0] http://git.openstack.org/cgit/openstack/tripleo-heat-templates/tre
> e/puppet/services/docker-registry.yaml#n54
> 
> > 
> > This would let us define some patterns for implementing these
> > tripleo
> > roles during Stein while looking at how we can make use of ansible
> > for
> > things like core config.
> > 
> > t-h-t and config-download will still drive the vast majority of
> > playbook
> > creation for now, but for new playbooks (such as for operations
> > tasks)
> > tripleo-ansible[1] would be our project directory.
> > 
> > So in addition to the larger conversation about how deployers can
> > start
> > to standardize how we're all using ansible, I'd like to also have a
> > tripleo-specific conversation at PTG on how we can break out some of
> > our
> > ansible that's currently embedded in t-h-t into more modular and
> > flexible roles.
> > 
> > Cheers,
> > Jill
> > 
> > [0] http://lists.openstack.org/pipermail/openstack-dev/2018-August/1
> > 3311
> > 9.html
> > [1] https://git.openstack.org/cgit/openstack/tripleo-ansible/tree/
> > 
> > __
> > OpenStack Development Mailing List (not for usage questions)
> > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsub
> > scribe
> > 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:unsubsc
> ribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

signature.asc
Description: This is a digitally signed message part
__
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] ansible roles in tripleo

2018-08-15 Thread Alex Schultz
On Tue, Aug 14, 2018 at 11:51 AM, Jill Rouleau  wrote:
> Hey folks,
>
> Like Alex mentioned[0] earlier, we've created a bunch of ansible roles
> for tripleo specific bits.  The idea is to start putting some basic
> cookiecutter type things in them to get things started, then move some
> low-hanging fruit out of tripleo-heat-templates and into the appropriate
> roles.  For example, docker/services/keystone.yaml could have
> upgrade_tasks and fast_forward_upgrade_tasks moved into ansible-role-
> tripleo-keystone/tasks/(upgrade.yml|fast_forward_upgrade.yml), and the
> t-h-t updated to
> include_role: ansible-role-tripleo-keystone
>   tasks_from: upgrade.yml
> without having to modify any puppet or heat directives.
>

Do we have any examples of what the upgrade.yml would be or what type
of variables (naming conventions or otherwise) which would need to be
handled as part of this transtion?  I assume we may want to continue
passing in some variable to indicate the current deployment step.  Is
there something along these lines that we will be proposing or need to
handle?  We're already doing something similar with the
host_prep_tasks for the docker registry[0] but we have a set_fact
block to pass parameters in.   I'm assuming we'll need to define
something similar.

Thanks,
-Alex

[0] 
http://git.openstack.org/cgit/openstack/tripleo-heat-templates/tree/puppet/services/docker-registry.yaml#n54

> This would let us define some patterns for implementing these tripleo
> roles during Stein while looking at how we can make use of ansible for
> things like core config.
>
> t-h-t and config-download will still drive the vast majority of playbook
> creation for now, but for new playbooks (such as for operations tasks)
> tripleo-ansible[1] would be our project directory.
>
> So in addition to the larger conversation about how deployers can start
> to standardize how we're all using ansible, I'd like to also have a
> tripleo-specific conversation at PTG on how we can break out some of our
> ansible that's currently embedded in t-h-t into more modular and
> flexible roles.
>
> Cheers,
> Jill
>
> [0] http://lists.openstack.org/pipermail/openstack-dev/2018-August/13311
> 9.html
> [1] https://git.openstack.org/cgit/openstack/tripleo-ansible/tree/
> __
> 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


[openstack-dev] [tripleo] ansible roles in tripleo

2018-08-14 Thread Jill Rouleau
Hey folks,

Like Alex mentioned[0] earlier, we've created a bunch of ansible roles
for tripleo specific bits.  The idea is to start putting some basic
cookiecutter type things in them to get things started, then move some
low-hanging fruit out of tripleo-heat-templates and into the appropriate
roles.  For example, docker/services/keystone.yaml could have
upgrade_tasks and fast_forward_upgrade_tasks moved into ansible-role-
tripleo-keystone/tasks/(upgrade.yml|fast_forward_upgrade.yml), and the
t-h-t updated to 
include_role: ansible-role-tripleo-keystone 
  tasks_from: upgrade.yml 
without having to modify any puppet or heat directives.

This would let us define some patterns for implementing these tripleo
roles during Stein while looking at how we can make use of ansible for
things like core config.

t-h-t and config-download will still drive the vast majority of playbook
creation for now, but for new playbooks (such as for operations tasks)
tripleo-ansible[1] would be our project directory.

So in addition to the larger conversation about how deployers can start
to standardize how we're all using ansible, I'd like to also have a
tripleo-specific conversation at PTG on how we can break out some of our
ansible that's currently embedded in t-h-t into more modular and
flexible roles.

Cheers,
Jill

[0] http://lists.openstack.org/pipermail/openstack-dev/2018-August/13311
9.html
[1] https://git.openstack.org/cgit/openstack/tripleo-ansible/tree/

signature.asc
Description: This is a digitally signed message part
__
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