summaryrefslogtreecommitdiffstats
path: root/plugins/ntp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ntp')
-rw-r--r--plugins/ntp/handlers/main.yml13
-rw-r--r--plugins/ntp/plugins.desc58
-rw-r--r--plugins/ntp/tasks/main.yml32
-rw-r--r--plugins/ntp/templates/ntp.conf.j221
-rw-r--r--plugins/ntp/vars/main.yml17
5 files changed, 141 insertions, 0 deletions
diff --git a/plugins/ntp/handlers/main.yml b/plugins/ntp/handlers/main.yml
new file mode 100644
index 00000000..866f31c3
--- /dev/null
+++ b/plugins/ntp/handlers/main.yml
@@ -0,0 +1,13 @@
+##############################################################################
+# Copyright (c) 2016-2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- name: restart ntp service
+ service:
+ name: ntp
+ state: restarted
diff --git a/plugins/ntp/plugins.desc b/plugins/ntp/plugins.desc
new file mode 100644
index 00000000..35666764
--- /dev/null
+++ b/plugins/ntp/plugins.desc
@@ -0,0 +1,58 @@
+# This is an example for add a plugin into Compass4nfv
+# It illustrates how feature components can be integrated into Compass4nfv
+# together with scenarios.
+#
+#
+# More details can be found in the development document.
+# ##############################################################
+---
+plugin:
+ # plugin name,it is also as the switch to enable/disable plugin in scenario
+ # files
+ name: ntp
+
+ description: network time protocol
+
+ maintainers:
+ - huangxiangyu5@huawei.com
+
+ # host os type: ubuntu/centos
+ os_version: ubuntu
+
+ # true: this plugin is deployed separately on a new node
+ # false: this plugin is deployed on controller or compute node
+ independent_hosts: false
+
+ # artifact: packege download url for this plugin
+ artifacts:
+ url: http://archive.ubuntu.com/ubuntu/pool/main/n/ntp/ntp_4.2.8p4+dfsg-3ubuntu5.4_amd64.deb
+
+ # global_vars:
+ # define the parameters required by the plugin
+ # and its value will be defined and passed by compass4nfv
+ global_vars:
+ - ntp_server: "0.ubuntu.pool.ntp.org"
+
+ # orchestration
+ # A plugin can have mutiple components, each component may need to be
+ # installed on different inventory or have its own configuration.
+ # due to Compass4nfv currently only supports ansible, so each component
+ # of the installation and configuration script need to be use ansible.
+ # cm : congfiguration management tool : only ansible support
+ # role: each component corresponds to ansible script that locates in the same
+ # directory as plugin.desc.
+ # phrase: pre_openstack -- the component is installed after the OS
+ # provisioning, before the OpenStack deployment.
+ # phrase: post_openstack -- the component is installed before the OpenStack
+ # deployment.
+ # inventory: if the phrase is pre_openstack, inventory can be controller and
+ # compute. if the phrase is post_openstack, inventory can be get from the file
+ # openstack-ansible.inventory
+ orchestration:
+ cm: ansible
+ roles:
+ - role: install ntp
+ phrase: pre_openstack
+ inventory:
+ - controller
+ - compute
diff --git a/plugins/ntp/tasks/main.yml b/plugins/ntp/tasks/main.yml
new file mode 100644
index 00000000..031fb36d
--- /dev/null
+++ b/plugins/ntp/tasks/main.yml
@@ -0,0 +1,32 @@
+##############################################################################
+# Copyright (c) 2016-2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- name: download packages
+ get_url:
+ url: "{{ ntp_url }}"
+ dest: "{{ workspace }}"
+
+- name: install dependent packages
+ apt:
+ name: "{{ item }}"
+ state: present
+ with_items:
+ - "{{ dependancy }}"
+
+- name: install ntp package
+ command: dpkg -i "{{ workspace }}/{{ ntp_pkg }}"
+
+- name: config ntp
+ template:
+ src: ntp.con.j2
+ dest: /etc/ntp.conf
+ notify:
+ - restart ntp service
+
+- meta: flush_handlers
diff --git a/plugins/ntp/templates/ntp.conf.j2 b/plugins/ntp/templates/ntp.conf.j2
new file mode 100644
index 00000000..697e4078
--- /dev/null
+++ b/plugins/ntp/templates/ntp.conf.j2
@@ -0,0 +1,21 @@
+driftfile /var/lib/ntp/ntp.drift
+
+statistics loopstats peerstats clockstats
+filegen loopstats file loopstats type day enable
+filegen peerstats file peerstats type day enable
+filegen clockstats file clockstats type day enable
+
+pool 0.ubuntu.pool.ntp.org iburst
+pool 1.ubuntu.pool.ntp.org iburst
+pool 2.ubuntu.pool.ntp.org iburst
+pool 3.ubuntu.pool.ntp.org iburst
+
+pool "{{ ntp_server }}"
+
+restrict -4 default kod notrap nomodify nopeer noquery limited
+restrict -6 default kod notrap nomodify nopeer noquery limited
+
+restrict 127.0.0.1
+restrict ::1
+
+restrict source notrap nomodify noquery
diff --git a/plugins/ntp/vars/main.yml b/plugins/ntp/vars/main.yml
new file mode 100644
index 00000000..708fa423
--- /dev/null
+++ b/plugins/ntp/vars/main.yml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2016-2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+workspace: /tmp/plugin
+
+ntp_url: http://archive.ubuntu.com/ubuntu/pool/main/n/ntp/ntp_4.2.8p4+dfsg-3ubuntu5.4_amd64.deb
+
+ntp_pkg: ntp_4.2.8p4+dfsg-3ubuntu5.4_amd64.deb
+
+dependancy:
+ - libopts25