Browse Source

Merge pull request #1151 from mwoodson/host_monitoring

host monitoring: combined pcp and zagg client into host monitoring
Matt Woodson 9 years ago
parent
commit
2dc56faff5

+ 0 - 6
roles/oso_host_monitoring/handlers/main.yml

@@ -4,9 +4,3 @@
     name: "{{ osohm_host_monitoring }}"
     state: restarted
     enabled: yes
-
-- name: "Restart the {{ osohm_zagg_client }} service"
-  service:
-    name: "{{ osohm_zagg_client }}"
-    state: restarted
-    enabled: yes

+ 1 - 19
roles/oso_host_monitoring/tasks/main.yml

@@ -5,7 +5,6 @@
   with_items:
   - osohm_zagg_web_url
   - osohm_host_monitoring
-  - osohm_zagg_client
   - osohm_docker_registry_url
   - osohm_default_zagg_server_user
   - osohm_default_zagg_server_password
@@ -37,29 +36,12 @@
   - "Restart the {{ osohm_host_monitoring }} service"
   register: systemd_host_monitoring
 
-- name: "Copy {{ osohm_zagg_client }} systemd file"
-  template:
-    src: "{{ osohm_zagg_client }}.service.j2"
-    dest: "/etc/systemd/system/{{ osohm_zagg_client }}.service"
-    owner: root
-    group: root
-    mode: 0644
-  notify:
-  - "Restart the {{ osohm_zagg_client }} service"
-  register: zagg_systemd
-
 - name: reload systemd
   command: /usr/bin/systemctl --system daemon-reload
-  when: systemd_host_monitoring | changed or zagg_systemd | changed
+  when: systemd_host_monitoring | changed
 
 - name: "Start the {{ osohm_host_monitoring }} service"
   service:
     name: "{{ osohm_host_monitoring }}"
     state: started
     enabled: yes
-
-- name: "Start the {{ osohm_zagg_client }} service"
-  service:
-    name: "{{ osohm_zagg_client }}"
-    state: started
-    enabled: yes

+ 0 - 43
roles/oso_host_monitoring/templates/oso-f22-host-monitoring.service.j2

@@ -1,43 +0,0 @@
-# This is a systemd file to run this docker container under systemd.
-# To make this work:
-#  * pull the image (probably from ops docker registry)
-#  * place this file in /etc/systemd/system without the .systemd extension
-#  * run the commands:
-#  systemctl daemon-reload
-#  systemctl enable pcp-docker
-#  systemctl start pcp-docker
-#
-#
-[Unit]
-Description=PCP Collector Contatainer
-Requires=docker.service
-After=docker.service
-
-
-[Service]
-Type=simple
-TimeoutStartSec=5m
-Environment=HOME=/etc/docker/ops
-#Slice=container-small.slice
-
-# systemd syntax '=-' ignore errors from return codes.
-ExecStartPre=-/usr/bin/docker kill "{{ osohm_host_monitoring }}"
-ExecStartPre=-/usr/bin/docker rm "{{ osohm_host_monitoring }}"
-ExecStartPre=-/usr/bin/docker pull "{{ osohm_docker_registry_url }}{{ osohm_host_monitoring }}"
-
-
-ExecStart=/usr/bin/docker run --rm  --name="{{ osohm_host_monitoring }}"      \
-          --privileged --net=host --pid=host --ipc=host                       \
-          -v /sys:/sys:ro  -v /etc/localtime:/etc/localtime:ro                \
-          -v /var/lib/docker:/var/lib/docker:ro -v /run:/run                  \
-          -v /var/log:/var/log                                                \
-          {{ osohm_docker_registry_url }}{{ osohm_host_monitoring }}
-
-ExecReload=-/usr/bin/docker stop "{{ osohm_host_monitoring }}"
-ExecReload=-/usr/bin/docker rm "{{ osohm_host_monitoring }}"
-ExecStop=-/usr/bin/docker stop "{{ osohm_host_monitoring }}"
-Restart=always
-RestartSec=30
-
-[Install]
-WantedBy=default.target

+ 30 - 18
roles/oso_host_monitoring/templates/oso-rhel7-zagg-client.service.j2

@@ -4,12 +4,12 @@
 #  * place this file in /etc/systemd/system without the .systemd extension
 #  * run the commands:
 #  systemctl daemon-reload
-#  systemctl enable zagg-client-docker
-#  systemctl start zagg-client-docker
+#  systemctl enable oso-rhel7-host-monitoring
+#  systemctl start oso-rhel7-host-monitoring
 #
 #
 [Unit]
-Description=Zagg Client Contatainer
+Description=Openshift Host Monitoring Container
 Requires=docker.service
 After=docker.service
 
@@ -21,40 +21,52 @@ Environment=HOME=/etc/docker/ops
 #Slice=container-small.slice
 
 # systemd syntax '=-' ignore errors from return codes.
-ExecStartPre=-/usr/bin/docker kill "{{ osohm_zagg_client }}"
-ExecStartPre=-/usr/bin/docker rm "{{ osohm_zagg_client }}"
-ExecStartPre=-/usr/bin/docker pull "{{ osohm_docker_registry_url }}{{ osohm_zagg_client }}"
+ExecStartPre=-/usr/bin/docker kill "{{ osohm_host_monitoring }}"
+ExecStartPre=-/usr/bin/docker rm "{{ osohm_host_monitoring }}"
+ExecStartPre=-/usr/bin/docker pull "{{ osohm_docker_registry_url }}{{ osohm_host_monitoring }}"
 
+# mwoodson note 1-7-16:
+# pcp recommends mounting /run in their Dockerfile
+#  /run conflicts with cron which also runs in this container.
+# I am leaving /run out for now.  the guys in #pcp said that they mounted /run
+#  to shared the pcp socket that is created in /run. We are not using this,
+#  as far as I know.
+#  This problem goes away with systemd being run in the containers and not using
+#   cron but using systemd timers
+#           -v /run:/run                                     \
 
-ExecStart=/usr/bin/docker run --name {{ osohm_zagg_client }}                                   \
+ExecStart=/usr/bin/docker run --name {{ osohm_host_monitoring }}                             \
            --privileged                                                                      \
            --pid=host                                                                        \
            --net=host                                                                        \
-           -e ZAGG_URL={{ osohm_zagg_web_url }}                                                    \
-           -e ZAGG_USER={{ osohm_default_zagg_server_user }}                                     \
-           -e ZAGG_PASSWORD={{ osohm_default_zagg_server_password }}                             \
+           --ipc=host                                                                        \
+           -e ZAGG_URL={{ osohm_zagg_web_url }}                                              \
+           -e ZAGG_USER={{ osohm_default_zagg_server_user }}                                 \
+           -e ZAGG_PASSWORD={{ osohm_default_zagg_server_password }}                         \
            -e ZAGG_CLIENT_HOSTNAME={{ ec2_tag_Name }}                                        \
-           -e ZAGG_SSL_VERIFY={{ osohm_zagg_verify_ssl }}                                          \
+           -e ZAGG_SSL_VERIFY={{ osohm_zagg_verify_ssl }}                                    \
            -e OSO_CLUSTER_GROUP={{ cluster_group }}                                          \
-           -e OSO_CLUSTER_ID={{ oo_clusterid }}                                       \
+           -e OSO_CLUSTER_ID={{ oo_clusterid }}                                              \
            -e OSO_HOST_TYPE={{ hostvars[inventory_hostname]['ec2_tag_host-type'] }}          \
            -e OSO_SUB_HOST_TYPE={{ hostvars[inventory_hostname]['ec2_tag_sub-host-type'] }}  \
            -v /etc/localtime:/etc/localtime                                                  \
-           -v /run/pcp:/run/pcp                                                              \
+           -v /sys:/sys:ro                                                                   \
+           -v /sys/fs/selinux                                                                \
+           -v /var/lib/docker:/var/lib/docker:ro                                             \
            -v /var/run/docker.sock:/var/run/docker.sock                                      \
-           -v /var/run/openvswitch:/var/run/openvswitch                      \
+           -v /var/run/openvswitch:/var/run/openvswitch                                      \
 {% if hostvars[inventory_hostname]['ec2_tag_host-type'] == 'master' %}
            -v /etc/openshift/master/admin.kubeconfig:/etc/openshift/master/admin.kubeconfig  \
            -v /etc/openshift/master/master.etcd-client.crt:/etc/openshift/master/master.etcd-client.crt \
            -v /etc/openshift/master/master.etcd-client.key:/etc/openshift/master/master.etcd-client.key \
            -v /etc/openshift/master/master-config.yaml:/etc/openshift/master/master-config.yaml \
 {% endif %}
-           {{ osohm_docker_registry_url }}{{ osohm_zagg_client }}
+           {{ osohm_docker_registry_url }}{{ osohm_host_monitoring }}
 
 
-ExecReload=-/usr/bin/docker stop "{{ osohm_zagg_client }}"
-ExecReload=-/usr/bin/docker rm "{{ osohm_zagg_client }}"
-ExecStop=-/usr/bin/docker stop "{{ osohm_zagg_client }}"
+ExecReload=-/usr/bin/docker stop "{{ osohm_host_monitoring }}"
+ExecReload=-/usr/bin/docker rm "{{ osohm_host_monitoring }}"
+ExecStop=-/usr/bin/docker stop "{{ osohm_host_monitoring }}"
 Restart=always
 RestartSec=30