aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-06-10 04:39:15 +0200
committerHarald Welte <laforge@gnumonks.org>2018-06-10 15:27:08 +0200
commit6cce4c2d209667e52f6697d7e3e781f298fb34c8 (patch)
treedc15e4c5f448479cff2e7dca9a953c391ee02a82
parent227b9ec40ddf77a83eb88c361cce563fea5002d9 (diff)
add "osmocom-workstation" role
this role can be used to provision developer workstations, which includes a git clone of all osmocom git repositories as well as development tools like valgrind, gdb, ccache, wireshark, ... Change-Id: I1a943079470db97f41c9c38318feb0716daa7cd5
-rw-r--r--ansible/roles/osmocom-workstation/defaults/main.yml4
-rw-r--r--ansible/roles/osmocom-workstation/tasks/git-repos.yml123
-rw-r--r--ansible/roles/osmocom-workstation/tasks/main.yml32
-rw-r--r--ansible/setup-desktop.yml22
4 files changed, 181 insertions, 0 deletions
diff --git a/ansible/roles/osmocom-workstation/defaults/main.yml b/ansible/roles/osmocom-workstation/defaults/main.yml
new file mode 100644
index 0000000..4a2b6d7
--- /dev/null
+++ b/ansible/roles/osmocom-workstation/defaults/main.yml
@@ -0,0 +1,4 @@
+---
+
+osmocom_user: laforge
+git_destination: "/home/{{ osmocom_user}}/projects/git"
diff --git a/ansible/roles/osmocom-workstation/tasks/git-repos.yml b/ansible/roles/osmocom-workstation/tasks/git-repos.yml
new file mode 100644
index 0000000..624162c
--- /dev/null
+++ b/ansible/roles/osmocom-workstation/tasks/git-repos.yml
@@ -0,0 +1,123 @@
+---
+
+- name: install osmocom git repos
+ become: yes
+ become_user: "{{ osmocom_user }}"
+ git:
+ repo: git://git.osmocom.org/{{ item }}.git
+ dest: "{{ git_destination }}/{{ item }}"
+ accept_hostkey: yes
+ force: no
+ recursive: no
+ with_items:
+ - libosmo-abis
+ - libosmo-dsp
+ - libosmo-netif
+ - libosmo-sccp
+ - libosmocore
+ - libsmpp34
+ - openpcd
+ - osmo-sim-auth
+ - pysim
+ - sim/hello-stk
+ - sim/sim-tools
+ - simtrace
+ - simtrace2
+ - libgtpnl
+ - libtelnet
+ - mncc-python
+ - octphy-2g-headers
+ - openbsc
+ - openggsn
+ - osmo-bsc
+ - osmo-bts
+ - osmo-e1-recorder
+ - osmo-ggsn
+ - osmo-gsm-manuals
+ - osmo-gtp-kernel
+ - osmo-hlr
+ - osmo-iuh
+ - osmo-mgw
+ - osmo-msc
+ - osmo-pcu
+ - osmo-rbs
+ - osmo-sgsn
+ - osmo-sip-connector
+ - osmo-trx
+ - osmocom-lcs
+ - dct3-gsmtap
+ - osmo-qcdiag
+ - osmocom-bb
+ - osmocom-docs
+ - ot290-gsmtap
+ #- quectel-experiments
+ - osmo-bts-amp
+ - osmo-e1-xcvr
+ - osmo-lea6t-gps
+ - osmo-nvs-gps
+ - osmo-ocxo
+ - osmo-small-hardware
+ - 3gpp-etsi-pdf-links
+ - artwork
+ - docker-playground
+ - gapk
+ - gen_ladder
+ - osmo-ci
+ - osmo-dev
+ - osmo-gsm-tester
+ - osmo-pcap
+ - osmo-sysmon
+ - osmo-tacdb
+ - osmo-ttcn3-hacks
+ - erlang/mgw_nat
+ - erlang/osmo_map
+ - erlang/osmo_sccp
+ - erlang/osmo_ss7
+ - erlang/signerl
+ - osmo-map-masq
+ - meta-telephony
+ - osmo-abi-check
+ - python/osmo-python-tests
+ - gr-gsm
+ - gr-iqbal
+ - gr-osmosdr
+ - libusrp
+ - osmo-adsb-gen
+ - osmo-fl2k
+ - osmo-sdr
+ - rtl-sdr
+ - asn1c
+ - libasn1c
+ - libosmo-asn1-map
+ - libosmo-asn1-tcap
+ - libosmo-tcap
+ - libsua
+ - nplab/m3ua-testtool
+ - nplab/sua-testtool
+ - osmo-auc
+ - osmo-tcap-map
+ - osmo-tetra
+
+
+- name: install sysmocom git repos
+ git: repo=git://git.sysmocom.de/{{ item }}.git
+ dest={{ git_destination }}/{{ item }}
+ accept_hostkey=yes
+ force=yes
+ recursive=no
+ with_items:
+ - sysmo-bts/layer1-api
+ - poky/meta-sysmocom-bsp
+ - rs-backup-suite
+ - sysmo-usim-tool
+
+
+- name: install github git repos
+ git: repo=git://github.com/{{ item }}.git
+ dest={{ git_destination }}/{{ item }}
+ accept_hostkey=yes
+ force=yes
+ recursive=no
+ with_items:
+ - myriadrf/LimeSuite
+ - gustafj/vim-ttcn
diff --git a/ansible/roles/osmocom-workstation/tasks/main.yml b/ansible/roles/osmocom-workstation/tasks/main.yml
new file mode 100644
index 0000000..42d213f
--- /dev/null
+++ b/ansible/roles/osmocom-workstation/tasks/main.yml
@@ -0,0 +1,32 @@
+---
+
+- name: add user
+ user:
+ name: "{{ osmocom_user }}"
+ generate_ssh_key: yes
+ ssh_key_bits: 4096
+ ssh_key_type: rsa
+ shell: /usr/bin/zsh
+
+- name: include git repos
+ include: git-repos.yml
+
+- name: install distribution packages
+ apt:
+ name: "{{ item }}"
+ cache_valid_time: 3600
+ update_cache: yes
+ with_items:
+ - iceweasel
+ - vim
+ - evince
+ - valgrind
+ - gdb
+ - libc6-dbg
+ - wireshark
+ - tcpdump
+ - ccache
+ - gnupg
+ - openssh-client
+ - openssh-server
+
diff --git a/ansible/setup-desktop.yml b/ansible/setup-desktop.yml
new file mode 100644
index 0000000..303a610
--- /dev/null
+++ b/ansible/setup-desktop.yml
@@ -0,0 +1,22 @@
+---
+- hosts: desktops
+ user: root
+ roles:
+ - name: docker
+ jenkins_user: osmocom-build
+ tags:
+ - docker
+
+ - name: install-poky-sdk
+ jenkins_user: osmocom-build
+ tags:
+ - poky
+
+ - name: osmocom-jenkins-slave
+ jenkins_user: osmocom-build
+ generic_slave: true
+ tags:
+ - jenkins-slave
+
+ - name: osmocom-workstation
+ osmocom_user: laforge