Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F3782790
D1435.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Referenced Files
None
Subscribers
None
D1435.diff
View Options
diff --git a/KNOWN_ISSUES.md b/KNOWN_ISSUES.md
--- a/KNOWN_ISSUES.md
+++ b/KNOWN_ISSUES.md
@@ -44,3 +44,25 @@
$ grep -q pefs_load /boot/loader.conf || cat >> /boot/loader.conf
pefs_load="YES"
```
+
+## Role: paas-docker
+
+### Set static IP addresses
+
+Docker slave nodes for Jenkins should use known addresses, either static IP,
+either a DNS system. Such advanced network configuration through Salt requires
+2018.3.0.
+
+**Workaround**
+
+Two workarounds are straightforward:
+
+ - `docker inspect apsile | grep 172` and manually set the IP in Jenkins.
+ - run an internal DNS service for the Docker engine and containers,
+ e.g. through the phensley/docker-dns container (see T958 for plan)
+
+The second is recommended if you restart or reprovision often,
+with containers declared in the pillar in a different order each time.
+
+The first should be stable as long as you append new containers
+to the pillar docker_containers entry end.
diff --git a/pillar/paas/docker.sls b/pillar/paas/docker.sls
--- a/pillar/paas/docker.sls
+++ b/pillar/paas/docker.sls
@@ -34,3 +34,8 @@
jenkins:
host: cd.nasqueron.org
app_port: 38080
+ jenkins_slave:
+ apsile:
+ ip: 172.17.0.100
+ elapsi:
+ ip: 172.17.0.101
diff --git a/roles/paas-docker/containers/files/jenkins_slave/authorized_keys b/roles/paas-docker/containers/files/jenkins_slave/authorized_keys
new file mode 100644
--- /dev/null
+++ b/roles/paas-docker/containers/files/jenkins_slave/authorized_keys
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICiWLxPzS8X6NraVwsK95gFGe1pIuz+K0n7aw81nabcf jenkins-master-equatower-cd
diff --git a/roles/paas-docker/containers/jenkins_slave.sls b/roles/paas-docker/containers/jenkins_slave.sls
new file mode 100644
--- /dev/null
+++ b/roles/paas-docker/containers/jenkins_slave.sls
@@ -0,0 +1,55 @@
+# -------------------------------------------------------------
+# Salt — Provision Docker engine
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# Created: 2018-03-16
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+{% set has_selinux = salt['grains.get']('selinux:enabled', False) %}
+{% set containers = pillar['docker_containers'][grains['id']] %}
+
+# -------------------------------------------------------------
+# Home directory
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+/srv/jenkins/slave_home:
+ file.directory:
+ - user: 431
+ - group: 433
+ - makedirs: True
+
+{% if has_selinux %}
+selinux_context_jenkins_slave_home:
+ selinux.fcontext_policy_present:
+ - name: /srv/jenkins/slave_home
+ - sel_type: svirt_sandbox_file_t
+
+selinux_context_jenkins_slave_home_applied:
+ selinux.fcontext_policy_applied:
+ - name: /srv/jenkins/slave_home
+{% endif %}
+
+/srv/jenkins/slave_home/.ssh:
+ file.directory:
+ - user: 431
+ - group: 433
+
+/srv/jenkins/slave_home/.ssh/authorized_keys:
+ file.managed:
+ - source: salt://roles/paas-docker/containers/files/jenkins_slave/authorized_keys
+ - user: 431
+ - group: 433
+
+# -------------------------------------------------------------
+# Container
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+{% for name, container in containers['jenkins_slave'].items() %}
+{{ name }}:
+ docker_container.running:
+ - detach: True
+ - interactive: True
+ - image: nasqueron/jenkins-slave-php
+ - binds: /srv/jenkins/slave_home:/home/app
+{% endfor %}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Nov 27, 01:32 (21 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2265502
Default Alt Text
D1435.diff (3 KB)
Attached To
Mode
D1435: Deploy two Docker slaves PHP CD containers on Equatower
Attached
Detach File
Event Timeline
Log In to Comment