Add jgroman to sysadmin-qa and hook sysadmin-qa up to appropriate things #13297
Labels
No labels
announcement
anubis
authentication
aws
backlog
blocked
bodhi
ci
cloud
communishift
copr
database
day-to-day
dc-move
deprecated
dev
discourse
dns
downloads
easyfix
epel
firmitas
forgejo_migration
Gain
High
Gain
Low
Gain
Medium
gitlab
greenwave
hardware
help wanted
high-trouble
koji
koschei
lists
low-trouble
medium-trouble
mirrorlists
monitoring
Needs investigation
odcs
OpenShift
ops
outage
packager_workflow_blocker
pagure
permissions
Priority
Needs Review
Priority
Next Meeting
Priority
🔥 URGENT 🔥
Priority
Waiting on Assignee
Priority
Waiting on External
Priority
Waiting on Reporter
rabbitmq
release-monitoring
releng
request-for-resources
s390x
security
SMTP
sprint-0
sprint-1
src.fp.o
staging
unfreeze
waiverdb
websites-general
wiki
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
5 participants
Notifications
Due date
No due date set.
Blocks
#898 Get QA sysadmin rights in the Europe timezone
quality/tickets
Reference
infra/tickets#13297
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description of request
Right now, I'm the only person on the Quality team who can run ansible stuff. This seems like a bad desert island factor.
We'd like to add @jgroman to sysadmin-qa , and make sure sysadmin-qa is hooked up to the right things:
I added @jgroman to sysadmin-qa and according to rbac rules these playbooks could be ran by the group:
So I think everything should be in order. Let us know if something is not working as expected.
Awesome, thank you.
@jgroman you will need 2FA configured on your FAS account, if you didn't do that already. Once you've done that, you should follow this SOP to set up ssh for infra, then you should be able to do
ssh batcave01.rdu3.fedoraproject.organd get in. Then to test running a playbook, you can do:which should prompt for your password and second factor, then run the blockerbugs playbook on staging only (it shouldn't change anything). Can you give that a shot and let us know how it goes? Thanks!
Looks I am almost there: I can ssh to
bastionbut getting Permisson denied when trying to connect directly tobatcave01. I'll do some more troubleshooting.ssh -vgives a lot of detailed info. You should see it going tobastion.fedoraproject.orgfirst, then something like this:OK, I was missing IdentityFile for
batcave01itself.I can connect to it now and run the suggested command just fine.
While
sysadmin-qaseems to grant the rights to run appropriate playbooks, it seems it's not sufficient to perform admin tasks for the OpenShift web UI. For example, it's not possible to edit a Deployment for the blockerbugs project (link). Interestingly enough, this is allowed in Openshift staging. Are we still missing some groups for these tasks? Or is this perhaps intentionally restricted in OpenShift production, for everyone?Technically you should not need to do things in the web UI much. You're supposed to do things indirectly via ansible; the deployment definition is in ansible, if you want to change it, change the file in ansible and run the playbook.
It is sometimes kinda useful/necessary to do things directly, though...removing things from openshift via ansible is I think tricky or impossible, for e.g.
Permissions there are controlled via the appowners setting in the playbook. Users listed have some permissions for the application.
In staging those permissions are much wider, but in prod they are deliberately restricted so you cannot manually edit things and get them out of sync with ansible. ansible is the source of truth.
The idea being that in staging you may need to test something out before committing it, but you should never do this in production, you should test it in staging and when it's all working as you like you commit to ansible.
Does that make sense?
That seems correct:
OK.
What I wanted to do yesterday was to stop the Blockerbugs app temporarily in production, because I was adjusting some services it uses (a Forge repo). That can be done through OpenShift UI by configuring Scaling to be 0 pods. I'm not sure if it can be performed in some other way?
The action turned out to be unnecessary, the migration is over and everything works OK. But it was the reason why I added my previous comment. No further permission changes are needed, then.
Huh, I thought we did allow scaling... these permissions are setup in roles/openshift/project/templates/role-appowners.yml.j2 and we can of course adjust them.
Should we close this then? or keep it open to track scaling or ?
I think we should close it and open new issues to track things like scaling if necessary. @kparal @jgroman are you OK with that?
Sure. Most probably the scaling problem was caused by our inexperience with the OpenShift UI. We will ping Infra and ask if we need it in the future. Let's close this, thank you.
Yes, we'll track it separately if needed. Thanks!
Great.