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

Ansible/bbb role #37

Merged
merged 49 commits into from
Jan 27, 2021
Merged

Ansible/bbb role #37

merged 49 commits into from
Jan 27, 2021

Conversation

anadahz
Copy link
Member

@anadahz anadahz commented May 12, 2020

Work in Progress BigBlueButton Ansible role.

@anadahz
Copy link
Member Author

anadahz commented May 12, 2020

TODO

  • Check firewall rules and open ports
  • Node runs on port 3000 globally visible is this OK?
  • Coturn and port 443 on same IP with BBB and Greenlight?
  • Molecule tests

@francisco-core
Copy link
Contributor

Thanks for opening this one.

I've found two links on installation steps for bigbluebuton + turn server. They may be useful:

I originally found them listed on the Enough forum here

@francisco-core
Copy link
Contributor

francisco-core commented Jul 3, 2020

Another role here: https://github.com/stadtulm/a13-ansible/tree/master/roles

Includes:

  • bbb-exporter
  • bbb-easyjoin
  • greenlight

And another one here: https://gitlab.digitalcourage.de/ulif/bbb-dc-ansible/-/tree/master/

- Update all dependent roles to their latest version
- Add and update configuration variables to reflect changes in upstream
  roles
- Remove defaults vars and add the ones changed to host_vars
- Create a separate NodeJS npm user
- Change log level to ERROR
- Change deprecated version_compare to version
- Simplify minimum required version comparison
- Bump minimum required Ansible version to 2.10.1
  (ebbba-org/ansible-role-bigbluebutton#40)
@francisco-core
Copy link
Contributor

I've updated the ansible version in the Pipfile so travis wouldn't fail and broke one line into two to pass the linting

@anadahz anadahz marked this pull request as ready for review December 31, 2020 00:03
@anadahz
Copy link
Member Author

anadahz commented Dec 31, 2020

Closes: PrivacyLx/privacylx-issue-tracker#88

Copy link
Contributor

@francisco-core francisco-core left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Preliminary code review done. Did you perform manual testing on an instance?

ansible/ansible-version.yml Show resolved Hide resolved

roles:
- role: bigbluebutton
tags: molecule-idempotence-notest
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this tag do? I would assume it disables the idempotence molecule test as you referred to as having issues, but I don't see this tag being referenced anywhere. How does it work?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is actually instruct molecule to not check for idempotency on this specific role.
We could add an issue to look into it and make idempotency work for this role.

Copy link
Contributor

@francisco-core francisco-core Jan 4, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's fine. It's just that I didn't see any code referencing this tag. Can you point me to the line where molecule does this? Or is it in the other commit?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://molecule.readthedocs.io/en/latest/configuration.html#id7

Molecule will skip tasks which are tagged with either molecule-notest or notest. With the tag molecule-idempotence-notest tasks are only skipped during the idempotence action step.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks

ansible/inventory/production/group_vars/all/vars.yml Outdated Show resolved Hide resolved
ansible/roles/bigbluebutton/defaults/main.yml Outdated Show resolved Hide resolved
@francisco-core
Copy link
Contributor

I think firewall rules are also missing, right? Or are you leaving this to configuration on the cloud provider?

- Set globally minimum ansible version
- Bump upstream dependency version of docker role
@anadahz
Copy link
Member Author

anadahz commented Jan 2, 2021

@francisco-core Thank you for reviewing the PR.
Please see my comments and latest changes in 71e085f.

Preliminary code review done. Did you perform manual testing on an instance?

This role is already deployed to a host. There have been some changes mainly for the CI and Molecule.

I think firewall rules are also missing, right? Or are you leaving this to configuration on the cloud provider?

Yes, this is currently missing. I haven't found a good plan to configure the firewall with ansible without using an external program like ufw.

Do you have any ideas on how to set iptables with ansible?

@francisco-core
Copy link
Contributor

Addressed your comments above.

Yes, this is currently missing. I haven't found a good plan to configure the firewall with ansible without using an external program like ufw.

Do you have any ideas on how to set iptables with ansible?

I think ufw is the best way of going about it. See here an example.

@anadahz
Copy link
Member Author

anadahz commented Jan 9, 2021

I think ufw is the best way of going about it. See here an example.

Do you know if ufw interfers with the required iptables rules set by Docker and if it removes the iptables rules set by default on the server?

@francisco-core
Copy link
Contributor

I think ufw is the best way of going about it. See here an example.

Do you know if ufw interfers with the required iptables rules set by Docker and if it removes the iptables rules set by default on the server?

Sorry. I haven't explored much how ufw works

@anadahz
Copy link
Member Author

anadahz commented Jan 11, 2021

I think it's better to create a separate firewall role that will check if ports are open/closed as required on this and other roles.

Given that I think that this role is good to be merged.

@anadahz
Copy link
Member Author

anadahz commented Jan 27, 2021

Opened: PrivacyLx/privacylx-issue-tracker#96

@francisco-core
Copy link
Contributor

good to be merged

@anadahz anadahz merged commit 6cd8194 into master Jan 27, 2021
@anadahz anadahz deleted the ansible/bbb-role branch January 27, 2021 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants