Skip to content
Snippets Groups Projects

Deployment directory, gitlab-ci, Merge common

Closed John Sparger requested to merge merge-common into develop
7 unresolved threads

A lot of changes. This is not a very good merge request in that regard

  • Updated molecule.yml to use virtual machine
  • Updated ioc deployment to use local deployment directory /opt/iocs/some_ioc/.deployment and startup scripts
  • Updated NFS ioc to source an activation script and overwrite user supplied variables for autosave locations, ioc name, etc.
  • Created a single systemd service file template to run all iocs using startup script
  • Merged ics-ans-lab-ioc-common into this role

It would probably be good to squash/cherry pick some of these commits but I wanted to not stall anymore and create the merge request.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
36 # Remote nonvolatile base directory
37 ioc_nonvolatile_server_path: "/export/nonvolatile"
38
39 # The following variables can be set to override the defaults from e3-common
40 # module:
41 # ioc_log_server_name: localhost
42 # ioc_errorlog_server_port: "9001"
43 # ioc_caputlog_server_port: "9001"
44 # ioc_asg_filename: "unrestricted_access.acf"
45 # ioc_facility_name: ""
46
47 ioc_prometheus_exporter_directory: /opt/e3-exporter
48 ioc_prometheus_exporter_user: e3-exporter
49
50 # e3 nfs mounts
51 ioc_nfs_mountpoints:
  • 42 # ioc_errorlog_server_port: "9001"
    43 # ioc_caputlog_server_port: "9001"
    44 # ioc_asg_filename: "unrestricted_access.acf"
    45 # ioc_facility_name: ""
    46
    47 ioc_prometheus_exporter_directory: /opt/e3-exporter
    48 ioc_prometheus_exporter_user: e3-exporter
    49
    50 # e3 nfs mounts
    51 ioc_nfs_mountpoints:
    52 - { src: "e3-share-lab.cslab.esss.lu.se:/e3", path: "/epics"}
    53 - { src: "e3-share-lab.cslab.esss.lu.se:/e3-dev", path: "/epics-dev"}
    54 - { src: "e3-share-lab.cslab.esss.lu.se:/e3-test", path: "/epics-test"}
    55
    56 # FIXME
    57 ioc_require_bin: /epics/base-7.0.5/require/3.4.0/bin
  • 53 )
    54 def main(port, config):
    55 with open(config, "r") as config_file:
    56 try:
    57 iocs = yaml.safe_load(config_file)
    58 except yaml.YAMLError as error:
    59 print(error)
    60 return
    61 REGISTRY.register(GitCollector(iocs))
    62 start_http_server(port)
    63 while True:
    64 time.sleep(1)
    65
    66
    67 if __name__ == "__main__":
    68 main()
  • 1 roles:
    2 - src: git+https://gitlab.esss.lu.se/ics-ansible-galaxy/ics-ans-role-repository.git
    3 version: v0.11.0
    4 - src: git+https://gitlab.esss.lu.se/ics-ansible-galaxy/ics-ans-role-syslog-ng.git
    5 version: v0.2.3
    6 - src: git+https://gitlab.esss.lu.se/ics-ansible-galaxy/ics-ans-role-conda.git
    7 version: v1.1.0
    8 - src: git+https://gitlab.esss.lu.se/ics-ansible-galaxy/ics-ans-role-conserver-server.git
    9 version: v0.4.0
  • 12 ioc_user_name: iocuser
    13 ioc_user_id: "1042"
    14 ioc_group_name: iocgroup
    15 ioc_group_id: "1042"
    16
    17 # channel access port
    18 ioc_ca_port: 5064
    19
    20 # where ioc source code will be cloned
    21 ioc_iocs_directory: /opt/iocs
    22
    23 # where conda environments will be created
    24 ioc_conda_envs_directory: /home/{{ ioc_user_name }}/.conda/envs
    25
    26 # Variable can be used to add extra packages for development
    27 ioc_dev_packages: []
  • tasks/common.yml 0 → 100644
    51
    52 # See https://epics-controls.org/resources-and-support/documents/howto-documents/channel-access-reach-multiple-soft-iocs-linux/
    53 # We use ifup-local because NetworkManager is not enabled
    54 - name: create script to convert UDP CA incoming requests to broadcast
    55 template:
    56 src: ifup-local.j2
    57 dest: /sbin/ifup-local
    58 owner: root
    59 group: root
    60 mode: 0755
    61 tags:
    62 - ioc-iptables
    63 notify:
    64 - run ifup-local
    65
    66 - name: create /var/log/procServ directory
  • tasks/common.yml 0 → 100644
    67 file:
    68 path: /var/log/procServ
    69 owner: "{{ ioc_user_name }}"
    70 group: "{{ ioc_group_name }}"
    71 mode: 0755
    72 state: directory
    73
    74 - name: configure logrotate for procServ
    75 copy:
    76 src: procserv
    77 dest: /etc/logrotate.d/
    78 owner: root
    79 group: root
    80 mode: 0644
    81
    82 - name: create prometheus exporter user
  • John Sparger added 2 commits

    added 2 commits

    • 43a14828 - changed ioc_require_bin to be an ioc variable and not a host variable
    • d03b70f5 - added development tools, tcl, and which to the ioc packages list

    Compare with previous version

  • I have submitted a new merge request with squashed changes so there is not so much garbage in the history. I have not made any actual changes so your comments are still valid.

  • closed

  • John Sparger mentioned in merge request !3 (merged)

    mentioned in merge request !3 (merged)

  • Please register or sign in to reply
    Loading