I just got access to the fi-apprentice group, so I'm looking into the doc page for contributions. Under the "Longer term quests" section, https://docs.fedoraproject.org/en-US/infra/apprentice/#_longer_term_quests 1. Found a broken link 2. Another link that leads to wiki page (as we're mostly not using wikis)
fi-apprentice
I assume it's an outdated point/section, but I'm not sure :question: If someone can provide me the right link I can make a PR for that :)
(also, let me know if there are any other changed to be made apart from the broken link I will work on that as well)
@kevin, this section of the document appears to be outdated in the apprentice-infra-doc page. Could you please take a look and let me know how I can update it?
Yeah, CSI is no more. We should drop references to it.
On motd contents, we have a /srv/web/infra/hosts repo that has info that populates motd on all the hosts. We should probibly have a discussion about what to replace this with. We could do a generic template for all hosts (dropping the CSI info) or we could move the hosts into the main repo and have a subset of CSI like stuff that we try and populate for each host. I'd want to move that into the main ansible repo with host vars/group vars tho.
Would you care to start a discussion and/or propose plans? Perhaps a discission thread or infrastructure mailing list...
We could do a generic template for all hosts (dropping the CSI info) or we could move the hosts into the main repo and have a subset of CSI like stuff that we try and populate for each host
a generic template for all the hosts seems like easy to maintain, but moving that into the main repo and using host/group vars allows custom motds for different hosts. both seems like a good idea, i think it choosing the one that meets our requirement is okay. so i'll leave it up to you!
Yes, it would be great if we discuss and replace it with the right content in that section. I think a discussion threat would be good to have organized/streamlined conversations. But as far as I know mailing lists will reach more ppl.
How about I create a discussion threat regarding this outdated content and you send a mailing list with a link that redirects to that discussion threat?
I'm still a new contributor, if you have better idea please tell me, I'll go with that! :D
one last question, just to clarify
we are dropping CSI related info from motds and standardizing how motd content is managed, right?
We could do a generic template for all hosts (dropping the CSI info) or we could move the hosts into the main repo and have a subset of CSI like stuff that we try and populate for each host a generic template for all the hosts seems like easy to maintain, but moving that into the main repo and using host/group vars allows custom motds for different hosts. both seems like a good idea, i think it choosing the one that meets our requirement is okay. so i'll leave it up to you!
How about we do both! :)
Lets make a generic template and then extend it with info for specific hosts/groups as we go. ;)
Would you like to work on a PR for that?
Would you care to start a discussion and/or propose plans? Perhaps a discission thread or infrastructure mailing list... Yes, it would be great if we discuss and replace it with the right content in that section. I think a discussion threat would be good to have organized/streamlined conversations. But as far as I know mailing lists will reach more ppl. How about I create a discussion threat regarding this outdated content and you send a mailing list with a link that redirects to that discussion threat? I'm still a new contributor, if you have better idea please tell me, I'll go with that! :D
That sounds great. It may not get much response right now given the holidays, but we can try and ping again on it in the new year.
one last question, just to clarify we are dropping CSI related info from motds and standardizing how motd content is managed, right?
yes. CSI isn't a thing anymore, but the information we used from it there is still I think useful. So, we should perhaps just come up with a subset of things we need/use and define them in a README or something.
How about we do both! :) Lets make a generic template and then extend it with info for specific hosts/groups as we go. ;) Would you like to work on a PR for that?
Yes, I would love to work on that :D
but, I just got access to these remote servers, so I'm still exploring and familiarizing myself with generally everything. It's a bit overwhelming to see such large amt of info/content all at once. also, I still can't find where to raise the PR for that :P
So, I'll need your help along the way, but I'm really excited to work on this :)
Alright, we can ping again on or after new year then :thumbsup:
yup, I understand!
I'm not sure if this is the right place to look for the CSI info(excluding wiki), but on this link https://infrastructure.fedoraproject.org/csi/, I only see an empty directory and no information regarding CSI or do we have it stored somewhere else ? :eyes:
it appears that we don't have any repo for the infra/hosts, and ansible has a task that points to the current generic template in srv/web/infra/hosts/motd.j2. https://pagure.io/fedora-infra/ansible/blob/main/f/tasks/motd.yml
infra/hosts
srv/web/infra/hosts/motd.j2
I'm not sure where I can raise a PR for that?
Yeah, since CSI is no more, it's... not anywhere. It was a document designed to be a framework for community infrastructure. There might be a copy on archive.org or something?
https://web.archive.org/web/20111221053107/http://infrastructure.fedoraproject.org/csi/ seems to have some content. There might be some newer snapshots with updates...
Yeah, there's no more a repo for infra/hosts. So, the PR would be against infra/ansible:
https://pagure.io/fedora-infra/ansible/
To add a generic motd.j2 there (probibly under files/ somewhere) and make that template use some ansible variables if set and then switch that task above to use it and not the infra/hosts content. Well, switch it after we populate variables for hosts from infra/hosts as best we can.
Does that make sense?
I checked the ansible repo, and found - motd_fedora , - motd_fedora_tier1 & - motd_fedora.j2 under roles/download/files/ but could not find the motd.j2.
motd_fedora
motd_fedora_tier1
motd_fedora.j2
roles/download/files/
motd.j2
maybe I can create a motd/ dir under files/ and work on the template there? Is that okay?
motd/
files/
To add a generic motd.j2 there (probibly under files/ somewhere) and make that template use some ansible variables if set and then switch that task above to use it and not the infra/hosts content. Well, switch it after we populate variables for hosts from infra/hosts as best we can. Does that make sense?
so, I'll first create a generic template with motd.j2 just like the one in infra/hosts and make it use the ansible variables that hold host/grp envs(data). and update the existing ansible playbook that handles motd from infra/hosts to use the new template.
I'll focus working on these 2 tasks and report you if im stuck anywhere.
then we can switch completely after populating the vars for the hosts!
Yeah, that seems fine, as it's a general/generic template. We could I suppose also put it under roles/base ?
To add a generic motd.j2 there (probibly under files/ somewhere) and make that template use some ansible variables if set and then switch that task above to use it and not the infra/hosts content. Well, switch it after we populate variables for hosts from infra/hosts as best we can. Does that make sense? so, I'll first create a generic template with motd.j2 just like the one in infra/hosts and make it use the ansible variables that hold host/grp envs(data). and update the existing ansible playbook that handles motd from infra/hosts to use the new template. I'll focus working on these 2 tasks and report you if im stuck anywhere. then we can switch completely after populating the vars for the hosts!
That sounds perfect. Thanks!
We could I suppose also put it under roles/base ?
yes, I'll put the motd.j2 under the roles/base dir.
roles/base
Initially, I thought we have to import all the vars from /srv/web/infra/hosts/ but we already have the vars in ansible.
/srv/web/infra/hosts/
ansible
I have created motd.j2 under roles/base and updated it to read the template/system_identification. :white_check_mark:
template/system_identification
for this line {% include 'templates/system_identification' %}
{% include 'templates/system_identification' %}
I was skeptical about this line {% include inventory_hostname + '/notes' ignore missing %} , (not sure this will read the vars in this new dir location. but then I realised it reads the hostname from inventory/group_vars and display the message that is specific to the hostname. :white_check_mark:
{% include inventory_hostname + '/notes' ignore missing %}
inventory/group_vars
But the system_identification from roles/base/template still references to CSI in the last 2 lines such as:
system_identification
roles/base/template
Security Category: {{csi_security_category}} Primary Contact: {{csi_primary_contact}} Environment: {{env}} Freezes: {{freezes}} Purpose: {{csi_purpose}} Relationship: {{csi_relationship}} This document is provided as part of CSI standards. See https://infrastructure.fedoraproject.org/csi/security-policy/ for more information.
Could you please tell me, what should I update the last 2 lines with?
maybe I'll make a PR for it, it would be easier for you to tell me what to do next!
https://pagure.io/fedora-infra/ansible/pull-request/2418
https://pagure.io/fedora-infra/ansible/pull-request/2418 now that we have migrated the data from infra/hosts to infra/ansible.
infra/ansible
I think it's about time we start a discussion on matrix or discussion threat about the information we want to replace in infra-apprentice?
The discussion thread sounds better as on matrix it could be loosen in the amount of messages.
Yup, I agree
how about mailing list that points to discussion thread? we could initiate the discussion on mailing list, informing them about this matter and we can redirect them to the discussion thread?
yk, with mailing list we can reach more audience/ppl and discussion thread will keep conversation streamlined?
idk, we'll go with any idea im still new here :)
Sending mail to mailing list pointing to the thread will improve visibility, so that is not a bad idea.
+1 to discussion thread and a list post pointing to it. Who would like to start that? :)
Okay, I'll create a discussion thread for that and then I'll paste the link here! I have never sent a mail to mailing list, so I'm thinking of trying that now :sweat_smile:
is that okay for me to do both of them?
@thisisyaash Everyone with a FAS account should be able to sent a mail to mailing list. So yes, it's ok if you do both of them.
alright then, thanks!
@zlopez @kevin
https://discussion.fedoraproject.org/t/updating-infra-apprentice-page-outdated-csi-related-information-need-changes/143979
Is this good enf? :sweat_smile:
and...should I send the mail to devel and infrastructure? or others?
sent mail out to infrastructure@lists.fedoraproject.org with a link that points to the discussion thread!
infrastructure@lists.fedoraproject.org
I see that we got some inputs from the discussion thread regarding the CSI related stuffs...
I think it's about time we should do something about this issue, since it has been inactive for a while?
Sure, what do you see as next steps here?
But yeah, we should try and move things forward agian...
Thanks for pinging on it!
I don't have a definite answer for this, but maybe we should start by working on small steps...like what @kevin & @zlopez said in the thread
we can make the fields more descriptive and usefull (possibly include details about dependencies or the purpose of the hosts)
adding comments explaining what each host or group does...
also @aggraxis , mentioned about more advanced stuffs (DISA, STIG..) which I'm not aware of but willing to learn more about it ( so I don't have any idea about that ) :)
I noticed that "re-plumbing the CSI is both a technical and non-technical affair" from the thread are we planning to handle this ourselves, or we gonna include more folks into this issue, since it seems like it might need broader input and oversights from more advanced folks?
+1 to improving the fields we have / adding comments.
I think recreating/reviving CSI is kind of beyond our scope here. If folks wanted to do that, great, and we could use it once something was ready to be used from it, but I don't think we should directly wait for or put time into that ourselves.
yeah, that totally makes sense :)
I'll start looking into each host_vars/group_vars to add comments some hosts already have the comments added in them, but others don't..iirc
host_vars/group_vars
it's been a while since Ive looked into the ansible repo, I'll revist it and let you know what I plan to do...also let me know if there's anything specific you'd like me to follow while adding comments!
o/ :eyes: i lost track of what i was doing with this issue I will take another look and starting working on it again...
hey @kevin o/ I just started looking into this issue for some time now...
I need to add comments to describe what this machine is used for right?
I'm not sure how I can learn about what each machine is used for? I can still read the existing comments and file name to get some idea out of it....but I do have fi-apprentice role, maybe I'll ssh into the infra machine and take a look at them... I hope that's the correct way to learn about what each machine used for?
ssh
inventory/group_vars/aarch64_test file seems to be used for aarch64 testing envir so maybe I'll add comments like (rough idea)
inventory/group_vars/aarch64_test
# Part of the aarch64 (ARM 64-bit) testing environment
inventory/host_vars/pagure-stg01.fpo seems like the one use for staging pagure service so i'll add something like...
inventory/host_vars/pagure-stg01.fpo
# Staging server for the Pagure service
what do you think? am I doing it right way? If not please let me know how I can approach this???
No problem.
Yes.
Well, yes, that... but also you can look in ansible and see what playbook a machine is using and see from the roles there some idea of what it might be for. Or you are always welcome to ask others on matrix! :)
inventory/group_vars/aarch64_test file seems to be used for aarch64 testing envir so maybe I'll add comments like (rough idea) ```yaml Part of the aarch64 (ARM 64-bit) testing environment ```
inventory/group_vars/aarch64_test file seems to be used for aarch64 testing envir so maybe I'll add comments like (rough idea) ```yaml
```
Sure. It's actually a test instance for package maintainers, so adding that would be good too. You can see in ansible it's in the maintainer_test group.
inventory/host_vars/pagure-stg01.fpo seems like the one use for staging pagure service so i'll add something like... ```yaml Staging server for the Pagure service ```
inventory/host_vars/pagure-stg01.fpo seems like the one use for staging pagure service so i'll add something like... ```yaml
Yep.
Sure, please feel free to ask further...