1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 11:42:08 +00:00

Merge pull request #3010 from holta/remoteit2

Refine & Clarify remote.it (remote support) building on PR #3009
This commit is contained in:
A Holt 2021-10-29 00:25:32 -04:00 committed by GitHub
commit 12ccfa07cf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 64 additions and 39 deletions

View file

@ -12,7 +12,7 @@
- "{{ py3_dist_path }}/iiab" # /usr/lib/python3/dist-packages - "{{ py3_dist_path }}/iiab" # /usr/lib/python3/dist-packages
- "{{ yum_packages_dir }}" # /opt/iiab/yum-packages - "{{ yum_packages_dir }}" # /opt/iiab/yum-packages
- "{{ pip_packages_dir }}" # /opt/iiab/pip-packages - "{{ pip_packages_dir }}" # /opt/iiab/pip-packages
- "{{ downloads_dir }}" # /opt/iiab/downloads - "{{ downloads_dir }}" # /opt/iiab/downloads -- generally already done by Stage 1's roles/remoteit/tasks/install.yml
#- "{{ content_base }}/downloads" # /library/downloads auto-created just below #- "{{ content_base }}/downloads" # /library/downloads auto-created just below
- "{{ content_base }}/downloads/zims" - "{{ content_base }}/downloads/zims"
- "{{ content_base }}/downloads/maps" - "{{ content_base }}/downloads/maps"

View file

@ -14,7 +14,7 @@ To install remote.it onto an IIAB:
``` ```
<!--EXPLANATION: The above installs remote.it, in a way that was originally designed to be interactive, and provide you the claim code needed to make a remote connection to this IIAB. The claim code is further explained below.--> <!--EXPLANATION: The above installs remote.it, in a way that was originally designed to be interactive, and provide you the claim code needed to make a remote connection to this IIAB. The claim code is further explained below.-->
3. To obtain this IIAB's 8-letter remote.it claim code, allowing you to make a remote connection to this IIAB, run: 3. To obtain this IIAB's 8-character remote.it claim code, allowing you to make a remote connection to this IIAB, run:
``` ```
sudo grep claim /etc/remoteit/config.json sudo grep claim /etc/remoteit/config.json
``` ```
@ -40,4 +40,4 @@ For "auto-registration" of remote.it, and other more advanced configuration opti
# Known Issues # Known Issues
- 2021-10-27: This needs to be enhanced rather urgently, so remote.it also works when IIAB is installed on Raspberry Pi OS 11 (Bullseye), Ubuntu, Mint and Debian: [#3006](https://github.com/iiab/iiab/issues/3006) - 2021-10-27: This needs to be enhanced rather urgently, so remote.it also works when IIAB is installed on Raspberry Pi OS 11 (Bullseye), Ubuntu, Mint and Debian: [#3006](https://github.com/iiab/iiab/issues/3006)
- 2021-10-28: The above OS issues should be resolved by [PR #3007](https://github.com/iiab/iiab/pull/3007), but this needs final testing! - 2021-10-29: The above OS issues should be resolved by [PR #3007](https://github.com/iiab/iiab/pull/3007), [PR #3009](https://github.com/iiab/iiab/pull/3009) and [PR #3010](https://github.com/iiab/iiab/pull/3010) &mdash; but this needs final testing! (Initial testing occurred on [1] 32-bit Raspberry Pi OS Lite on Raspberry Pi 4 and [2] Ubuntu Server 20.04 on x86_64 VM.)

View file

@ -6,27 +6,31 @@
# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml # All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml
# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! # If nec, change them by editing /etc/iiab/local_vars.yml prior to installing!
# See https://docs.remote.it/cli/overview to refine either value below:
remoteit_version: 4.13.5 remoteit_version: 4.13.5
iset_suffixes:
x86_64: amd64 # See https://docs.remote.it/device-package/installation to refine URL below:
aarch64: arm64 device_suffixes:
armv8: arm64.rpi
armv6: armhf.rpi armv6: armhf.rpi
armv6l: armhf.rpi armv6l: armhf.rpi
armv7: armhf.rpi armv7: armhf.rpi
armv7l: armhf.rpi armv7l: armhf.rpi
remoteit_iset_suffix: "{{ iset_suffixes[ansible_architecture] | default('unknown') }}" armv8: arm64.rpi
remoteit_deb: remoteit-{{ remoteit_version }}.{{ remoteit_iset_suffix }}.deb
remoteit_device_url: https://downloads.remote.it/remoteit/v{{ remoteit_version }}/{{ remoteit_deb }}
iset_suffixes2:
x86_64: amd64
aarch64: arm64 aarch64: arm64
x86_64: amd64
remoteit_device_suffix: "{{ device_suffixes[ansible_architecture] | default('unknown') }}"
remoteit_deb: remoteit-{{ remoteit_version }}.{{ remoteit_device_suffix }}.deb
remoteit_device_url: https://downloads.remote.it/remoteit/v{{ remoteit_version }}/{{ remoteit_deb }}
# Example... https://downloads.remote.it/remoteit/v4.13.5/remoteit-4.13.5.armhf.rpi.deb
# See https://docs.remote.it/cli/overview to refine URL below:
cli_suffixes:
armv6: armv6 armv6: armv6
armv6l: armv6 armv6l: armv6
armv7: armv7 armv7: armv7
armv7l: armv7 armv7l: armv7
armv8: arm64 armv8: arm64
remoteit_iset_suffix2: "{{ iset_suffixes[ansible_architecture] | default('unknown') }}" aarch64: arm64
remoteit_cli_url: https://downloads.remote.it/cli/latest/remoteit_linux_{{ remoteit_iset_suffix2 }} x86_64: amd64
remoteit_cli_suffix: "{{ cli_suffixes[ansible_architecture] | default('unknown') }}"
remoteit_cli_url: https://downloads.remote.it/cli/latest/remoteit_linux_{{ remoteit_cli_suffix }}
# Example... https://downloads.remote.it/cli/latest/remoteit_linux_armv7

View file

@ -6,9 +6,23 @@
state: restarted state: restarted
when: remoteit_enabled when: remoteit_enabled
- name: Disable & Stop remote.it's connectd daemon - name: Disable & Stop remote.it's connectd daemon
systemd: systemd:
name: connectd name: connectd
enabled: no enabled: no
state: stopped state: stopped
when: not remoteit_enabled when: not remoteit_enabled
- name: Identify remoteit service (connector) unit file name, including uuid
shell: ls /etc/systemd/system/multi-user.target.wants/ | grep remoteit # e.g. remoteit@80:00:01:7F:7E:00:56:36.service
register: remoteit_service
ignore_errors: yes
- name: "Disable & Stop remoteit service: {{ remoteit_service.stdout }}"
systemd:
name: "{{ remoteit_service.stdout }}"
enabled: no
state: stopped
when: not remoteit_enabled and remoteit_service.stdout != ""
ignore_errors: yes

View file

@ -1,38 +1,45 @@
- name: Fail if we detect unknown architecture - name: Fail if architecture remoteit_device_suffix == "unknown"
fail: fail:
msg: "Could not find an apt package for the CPU architecture \"{{ ansible_architecture }}\"" msg: "Could not find a remote.it device apt package for CPU architecture \"{{ ansible_architecture }}\""
when: remoteit_iset_suffix == "unknown" when: remoteit_device_suffix == "unknown"
- name: Fail if we detect unknown architecture - name: mkdir {{ downloads_dir }} # As roles/2-common/tasks/fl.yml has not run yet
fail: file:
msg: "Could not find a binary for the CPU architecture \"{{ ansible_architecture }}\"" path: "{{ downloads_dir }}" # /opt/iiab/downloads
when: remoteit_iset_suffix2 == "unknown" state: directory
- name: Download the command line interface for this device to /usr/bin/{{ remoteit_cli_url }} (755) - name: Download {{ remoteit_device_url }} (device) for arch {{ remoteit_device_suffix }} into {{ downloads_dir }}/
get_url: get_url:
url: '{{ remoteit_cli_url }}' url: "{{ remoteit_device_url }}"
dest: /usr/bin/ dest: "{{ downloads_dir }}/"
mode: 0755
- name: Download {{ remoteit_device_url }} device package to {{ downloads_dir }}/ - name: Uninstall previously installed 'remoteit*' device apt package(s)
get_url:
url: '{{ remoteit_device_url }}'
dest: '{{ downloads_dir }}/'
- name: Uninstall the device package {{ remoteit_deb }}
apt: apt:
name: '{{ remoteit_deb }}' name: remoteit*
state: absent state: absent
ignore_errors: yes
- name: Install device package {{ downloads_dir }}/{{ remoteit_deb }} - name: Install device apt package {{ downloads_dir }}/{{ remoteit_deb }}
apt: apt:
deb: '{{ downloads_dir }}/{{ remoteit_deb }}' deb: "{{ downloads_dir }}/{{ remoteit_deb }}"
state: present state: present
- name: Fail if architecture remoteit_cli_suffix == "unknown"
fail:
msg: "Could not find a remote.it CLI binary for CPU architecture \"{{ ansible_architecture }}\""
when: remoteit_cli_suffix == "unknown"
- name: Download {{ remoteit_cli_url }} (CLI) for arch {{ remoteit_cli_suffix }} to /usr/bin/remoteit (755)
get_url:
url: "{{ remoteit_cli_url }}"
dest: /usr/bin/remoteit
mode: 0755
# RECORD remoteit AS INSTALLED # RECORD remoteit AS INSTALLED
- name: "Set 'openvpn_installed: True'" - name: "Set 'remoteit_installed: True'"
set_fact: set_fact:
remoteit_installed: True remoteit_installed: True

View file

@ -33,12 +33,12 @@
debug: debug:
msg: "'\"'" # FAILS: "'""'" msg: "'\"'" # FAILS: "'""'"
- name: a shows "VARIABLE IS NOT DEFINED!" -- whereas b (w/o whitespace) AND c (with space) AND d (with tab) show null (without quotes!) -- whereas d (singlequotes) and e (doublequotes) show "" empty string - name: a shows "VARIABLE IS NOT DEFINED!" -- whereas b (w/o whitespace) AND c (with space) AND d (with tab, STRICTLY DISALLOWED IN YAML BY ansible-core 2.11.6) showed null (without quotes!) -- whereas e (singlequotes) and f (doublequotes) show "" empty string
set_fact: set_fact:
#a: #a:
b: b:
c: # Space c: # Space
d: # Tab #d: # Tab
e: '' e: ''
f: "" f: ""