Skip to content

Commit

Permalink
Delete Ansible from installation process (#1604)
Browse files Browse the repository at this point in the history
Resolves #1598
Resolves #1596

This reimplements the `load-tc358743-edid` service without Ansible,
which completes our process of eliminating Ansible from TinyPilot's
install process.

The last real piece was moving the installation of the
`load-tc358743-edid` from Ansible to Debian. The rest is just deleting
remaining Ansible files and stray references to Ansible.

Note that in deleting the Ansible environment setup, we delete `apt-get
update --allow-releaseinfo-change-suite` which we added in
#764. I don't think we
need this command anymore, but we can bring it back in the future if we
find that we need it.

## Manual tests

I ran the following manual tests:

* Verified keyboard and mouse still worked
* Verified that I could still adjust video settings
* Verified that audio still worked in H.264 (on Voyager systems)

For the following scenarios:

- [x] Install on a bare Raspbian system
- [x] Install on a bare Raspbian system with TC358743 enabled
- [x] Install a Pro Voyager image
- [x] Install a Pro Hobbyist image
- [x] Install a bundle on a Pro 2.6.0 Voyager image to simulate an
update

## Peer testing

To test this bundle run:

```bash
curl \
  --silent \
  --show-error \
  --location \
  https://raw.githubusercontent.com/tiny-pilot/tinypilot/master/scripts/install-bundle | \
  sudo bash -s -- \
    https://output.circle-artifacts.com/output/job/a5f0e73a-fc7b-4025-b6ce-c8f05c4be707/artifacts/0/bundler/dist/tinypilot-community-20230901T1513Z-1.9.0-109+51dc0af.tgz && \
  sudo reboot
```

<a data-ca-tag
href="https://codeapprove.com/pr/tiny-pilot/tinypilot/1604"><img
src="https://codeapprove.com/external/github-tag-allbg.png" alt="Review
on CodeApprove" /></a>

---------

Co-authored-by: David Brown <dave@sterki.co>
  • Loading branch information
mtlynch and db39 authored Sep 1, 2023
1 parent a7cc8d0 commit 9f547d2
Show file tree
Hide file tree
Showing 26 changed files with 5 additions and 444 deletions.
30 changes: 0 additions & 30 deletions .circleci/continue_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -181,33 +181,6 @@ jobs:
--fail-on warning,error \
"${file}"
done < <(ls *.deb)
build_ansible_role:
machine:
image: ubuntu-2004:202010-01
resource_class: large
working_directory: ~/project/ansible-role-ustreamer
steps:
- unless:
condition: << pipeline.parameters.ansible_role_changed >>
steps:
- run:
name: Skipping job because files weren't changed
command: circleci-agent step halt
- checkout:
path: ~/project
- run:
name: Create virtual environment
command: python3 -m venv venv
- run:
name: Test role with molecule
command: |
. venv/bin/activate && \
pip install --upgrade pip && \
pip install wheel==0.34.2 && \
pip install -r molecule/requirements.txt && \
ansible --version && \
molecule --version && \
molecule test
build_bundle:
docker:
- image: cimg/python:3.9.17
Expand Down Expand Up @@ -301,9 +274,6 @@ workflows:
- lint_debian_package:
requires:
- build_debian_package
- build_ansible_role:
requires:
- build_debian_package
- build_bundle:
requires:
- build_debian_package
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ See the [CONTRIBUTING](CONTRIBUTING.md) file.
## Other installation options

- [Advanced installation options](https://github.com/tiny-pilot/tinypilot/wiki/Installation-Options#advanced-installation)
- [Remote installation via Ansible](https://github.com/tiny-pilot/tinypilot/wiki/Installation-Options#remote-installation)

## Updates

Expand Down
1 change: 0 additions & 1 deletion ansible-role-ustreamer/.gitignore

This file was deleted.

33 changes: 0 additions & 33 deletions ansible-role-ustreamer/.yamllint

This file was deleted.

21 changes: 0 additions & 21 deletions ansible-role-ustreamer/LICENSE

This file was deleted.

39 changes: 0 additions & 39 deletions ansible-role-ustreamer/README.md

This file was deleted.

22 changes: 0 additions & 22 deletions ansible-role-ustreamer/handlers/main.yml

This file was deleted.

20 changes: 0 additions & 20 deletions ansible-role-ustreamer/meta/main.yml

This file was deleted.

20 changes: 0 additions & 20 deletions ansible-role-ustreamer/molecule/default/converge.yml

This file was deleted.

33 changes: 0 additions & 33 deletions ansible-role-ustreamer/molecule/default/molecule.yml

This file was deleted.

59 changes: 0 additions & 59 deletions ansible-role-ustreamer/molecule/requirements.txt

This file was deleted.

31 changes: 0 additions & 31 deletions ansible-role-ustreamer/tasks/main.yml

This file was deleted.

12 changes: 0 additions & 12 deletions ansible-role-ustreamer/tasks/provision_tc358743.yml

This file was deleted.

37 changes: 0 additions & 37 deletions app/license_notice.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,43 +187,6 @@ class LicenseMetadata:
'./venv/lib/python3.*/site-packages/zipp-*.dist-info/LICENSE*',
),

# Ansible dependencies that are not covered above. They are not available
# permanently on the device because we only create ephemeral Ansible install
# environments.
LicenseMetadata(
name='Ansible',
homepage_url='https://www.ansible.com',
license_url=
'https://raw.githubusercontent.com/ansible/ansible/v2.10.7/COPYING'),
LicenseMetadata(
name='cffi',
homepage_url='http://cffi.readthedocs.org/',
license_url='https://foss.heptapod.net/pypy/cffi/-/raw/v1.15.1/LICENSE'
),
LicenseMetadata(
name='cryptography',
homepage_url='https://cryptography.io',
license_url=
'https://raw.githubusercontent.com/pyca/cryptography/37.0.4/LICENSE.BSD'
),
LicenseMetadata(
name='packaging',
homepage_url='https://github.com/pypa/packaging',
license_url=
'https://raw.githubusercontent.com/pypa/packaging/21.3/LICENSE.BSD'),
LicenseMetadata(
name='pycparser',
homepage_url='https://github.com/eliben/pycparser',
license_url=
'https://raw.githubusercontent.com/eliben/pycparser/release_v2.21/LICENSE'
),
LicenseMetadata(
name='pyparsing',
homepage_url='https://github.com/pyparsing/pyparsing/',
license_url=
'https://raw.githubusercontent.com/pyparsing/pyparsing/pyparsing_3.0.9/LICENSE'
),

# Indirect dependencies through Janus.
LicenseMetadata(
name='libnice',
Expand Down
Loading

0 comments on commit 9f547d2

Please sign in to comment.