Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define use of tags #24

Open
joshmoore opened this issue Dec 18, 2017 · 5 comments
Open

Define use of tags #24

joshmoore opened this issue Dec 18, 2017 · 5 comments

Comments

@joshmoore
Copy link
Member

See discussion under #14 (comment)

@joshmoore joshmoore mentioned this issue Dec 18, 2017
@manics
Copy link
Member

manics commented Dec 18, 2017

If tags are at the level of tasks in roles (which in #14 would make sense) this needs to managed at the organisation level, since:

  • If someone is running a playbook they shouldn't need to read the docs for all roles in the playbook to check what tags are used and their effect
  • Tags need to be consistent in terms of what they do across all roles/tasks/playbooks/repos we use
  • They become public and exposed to external users of our roles
  • If we decide to incorporate roles/playbooks from other sources they'll need to be reviewed to ensure there are no conflicting tags

@joshmoore
Copy link
Member Author

An aside I've mentioned in passing before:

  • tags on role inclusion may be an easy first step here.

See:

 roles:
    - { role: frontend1,
        tags: frontend1 }
    - { role: frontend2, 
        tags: frontend2 }

@kennethgillen
Copy link
Member

Current tag set:

2018-04-16 16:48 LS27172:prod-playbooks kenny$ git grep tags | grep -Po '(?<=\btags\: )[^\s]+' | sort | uniq -c | sort -rn
  18 monitoring
  14 lvm
   2 backups
   1 redirect
   1 nginxconf
   1 jekyll

@kennethgillen
Copy link
Member

kennethgillen commented Apr 16, 2018

Would @openmicroscopy/devops object to [my introducing a new] tag: network?

I've added it to --skip-tags on my local test deployment of web-proxy, which effectively makes the web-proxy playbook like www https://github.com/openmicroscopy/prod-playbooks/tree/master/k8s where there are bootstrap steps, then config steps which can be reapplied. (skipping since I don't want e.g. production network config or LVM sizes on local Vagrant VM)

There's the same concept for the CI 1.5 servers in this folder - i.e. the bootstrap folder https://github.com/openmicroscopy/prod-playbooks/tree/master/bootstrap

Perhaps all of lvm, network, .. whatever else, should be tagged bootstrap, too?

This concept basically encompasses the issue I had with the ome-dundeeomero playbook back at the start: i.e. there are things commented out which were necessary for the first run, but not subsequent.

Having a folder-per-playbook, with a subfolder called bootstrap would be one way to deal with this, which we decided not to do I think at the start, even though www seems to have gone that way.

@joshmoore
Copy link
Member Author

As an addition to the current list of tags ("v1"), I'm fine with network. That being said:

  • It's a quick fix: the prod-playbook playbooks need more refactoring into playbooks and/or roles.
  • It's a quick fix: we need to discuss the long-term use of tags.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants