show a simple, positive indication that required signoffs have been achieved
Closed this issue · 10 comments
We hit an issue today where it wasn't clear that signoff requirements hadn't been met. The change in question needed a signoff from releng
and relman
, but we had signoffs from releng
and releng-relman
.
One thing we can do to help make this more clear is to have a clear, positive indication that the required signoffs have been achieved. Perhaps a progress bar, or checkmarks beside each required signoff?
Can I give fixing this a shot?
I'll like to fix this issue if it can be assigned to me. Pls assign to me
Please feel free to work on this issue and open a pull request when ready. Even if someone else ends up fixing it first, working on it would be good experience.
Please feel free to work on this issue and open a pull request when ready. Even if someone else ends up fixing it first, working on it would be good experience.
great.
Okay, thanks.
More info about this issue please ? @bhearsum, @gabrielBusta.
Would you mind providing the UI (or component) in which the change should be made ?
In production there are stringent checks around changes to balrog's data. Certain types of changes need approval from multiple individuals before they can be implemented. This multi-approval system ensures checks and balances, and prevents unauthorized or incorrect modifications. When impactful changes like adding new rules are proposed, they need to go through the required signoffs to ensure accuracy and security before being finalized.
If you navigate to the required sign-offs page, you will see that the local instance of balrog is set-up to require 1 sign-off from a user with the releng
role on the Firefox release channel.
![Screenshot 2023-10-10 at 14 25 29](https://private-user-images.githubusercontent.com/10228658/274046754-78b94f44-6ffb-404f-8ff4-11d76f638d35.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1NDQ5MjcsIm5iZiI6MTcyNDU0NDYyNywicGF0aCI6Ii8xMDIyODY1OC8yNzQwNDY3NTQtNzhiOTRmNDQtNmZmYi00MDRmLThmZjQtMTFkNzZmNjM4ZDM1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDAwMTAyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYxNjRkNjdmNjg0NzRkNTRkMDUyYzBkNjUyOGM2OGRjMGE4YjIyZTI5ZmRlZTU1N2U0ZDRiOTZkMDQ0YjUyOTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.VYXTRmS0h-NIolSUXvKaacKg5YpDcqV70h9nphoUab4)
![Screenshot 2023-10-10 at 14 44 28](https://private-user-images.githubusercontent.com/10228658/274047369-88102efc-2866-4205-8fc8-cea91c4ee8d0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1NDQ5MjcsIm5iZiI6MTcyNDU0NDYyNywicGF0aCI6Ii8xMDIyODY1OC8yNzQwNDczNjktODgxMDJlZmMtMjg2Ni00MjA1LThmYzgtY2VhOTFjNGVlOGQwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDAwMTAyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVkZGQwN2IyODljN2Y4YzViODllYWIyYTRjNDFlMmJhZjBjYWQxN2FjYzJlOWU1YTg2OTJlNjhhZjFiYTNlMGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kV7wQZvInb49heVukJ14mHPUdUFs9TYdhn3z4-iUrYA)
When you run:
$ export LOCAL_ADMIN=<email address you signed in with>
$ docker-compose run balrogadmin create-local-admin
The script grants the user you signed in with this releng
role.
To see the required sign-offs component try adding a rule to the Firefox release channel.
Go to the rules page and select the Firefox release channel.
![Screenshot 2023-10-10 at 14 54 27](https://private-user-images.githubusercontent.com/10228658/274048557-999b2a47-4b01-47e2-b063-199e5c3a95a4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1NDQ5MjcsIm5iZiI6MTcyNDU0NDYyNywicGF0aCI6Ii8xMDIyODY1OC8yNzQwNDg1NTctOTk5YjJhNDctNGIwMS00N2UyLWIwNjMtMTk5ZTVjM2E5NWE0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDAwMTAyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgzMzZiMDEyMzQyZGQ0ZGVmYjIyZmI3MTk5YzAxM2QxOTYxM2VkYWQ0ZjRhZDlmNTRiNzNiYTI4ZGMzNTE0ZTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7o2B0C7MlZfdpj0Tv6svQCVC2Ir-oom5cnki66YAhZ8)
Click "add rule".
![Screenshot 2023-10-10 at 14 57 07](https://private-user-images.githubusercontent.com/10228658/274049275-b11fea75-6a26-4cdc-b567-bad5403b1695.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1NDQ5MjcsIm5iZiI6MTcyNDU0NDYyNywicGF0aCI6Ii8xMDIyODY1OC8yNzQwNDkyNzUtYjExZmVhNzUtNmEyNi00Y2RjLWI1NjctYmFkNTQwM2IxNjk1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDAwMTAyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZmZmYwNzU4ZDJmNjVmNjAwNGJmNmJmYjZlMzU5NmU2ZjExMjlkN2YxY2RkYzAzMmJhOGU4MWZiNGMzN2M0ZDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.cmwDPosTVcQp1TrttwTILRLv-h7vCwTOZw14fMEDzCY)
Fill out the required rule fields, making sure to select Firefox for the product and release for the channel. The click the save icon at the bottom right.
![Screenshot 2023-10-10 at 14 58 15](https://private-user-images.githubusercontent.com/10228658/274049890-d68e4a34-18a2-4c5e-b48f-a57ddbca471b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1NDQ5MjcsIm5iZiI6MTcyNDU0NDYyNywicGF0aCI6Ii8xMDIyODY1OC8yNzQwNDk4OTAtZDY4ZTRhMzQtMThhMi00YzVlLWI0OGYtYTU3ZGRiY2E0NzFiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDAwMTAyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQyZWIxMDZkMGYxZWY5Zjc4MjU4Yjk4ODE3MjI2ZDI2ZGJjMTYwMGU5ODc2MDRjMjVmMTc5OGQ5NTczNzNhOGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Na2pzlhXy3byReLtjMxtr0b8jV28WgwAFxYWUSZ0lwA)
You will see an "scheduled change" on the rules page. You can revoke the releng
sign-off (it is automatically added since the person that created the rule has the releng
role) to stop the change from being implemented and take a good look at the user interface.
![Screenshot 2023-10-10 at 15 03 16](https://private-user-images.githubusercontent.com/10228658/274051233-5a3f6865-c377-4e1d-96fe-f48f4edca0d6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1NDQ5MjcsIm5iZiI6MTcyNDU0NDYyNywicGF0aCI6Ii8xMDIyODY1OC8yNzQwNTEyMzMtNWEzZjY4NjUtYzM3Ny00ZTFkLTk2ZmUtZjQ4ZjRlZGNhMGQ2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDAwMTAyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg1NzRlYzA0NWU1YzRmOTIxMjU4NmIwMTJmNDVkMTRhYjgwNjUyNWUxNjQ3M2I5ZDhiZGYxZjZkMzFlNjM5ZmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.I5u742nS_cCeRkYO2l5cC6uyjgoJ2IneBcHouh98H8U)
![Screenshot 2023-10-10 at 15 03 24](https://private-user-images.githubusercontent.com/10228658/274051261-a62f70e5-73a2-457d-8d29-b4dc580930d0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1NDQ5MjcsIm5iZiI6MTcyNDU0NDYyNywicGF0aCI6Ii8xMDIyODY1OC8yNzQwNTEyNjEtYTYyZjcwZTUtNzNhMi00NTdkLThkMjktYjRkYzU4MDkzMGQwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI1VDAwMTAyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ5ZjdjYWY5ZWY1OThiNjY2MGMyZDc3MTA1OWRmZTliNGFhZTI5NGZlNjA5M2VlYzIzMTY0YTEyYWYwMjY3M2MmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0._8I8dAHbCgRccpOkUkpHm_46UKyt3dppWk9Zc8U4XhQ)
The issue describe here is that when a rule gets all the sign-offs it needs, there's no indication that all the required sign-offs have been met and the rule will be implemented.
Thank for explanation!