Add ability to configure NTPD_OPTS in /etc/default/ntp

PROD-33448

Change-Id: Iedeefb9e32e5886c051e838a758f9e13a76cccf3
diff --git a/metadata/service/client/init.yml b/metadata/service/client/init.yml
index 156fc36..b65fbbf 100644
--- a/metadata/service/client/init.yml
+++ b/metadata/service/client/init.yml
@@ -12,6 +12,7 @@
       strata:
       - ${_param:ntp_strata_host1}
       - ${_param:ntp_strata_host2}
+      default_opts: '-4 -g'
     server:
       enabled: false
       mode7: false
diff --git a/ntp/client.sls b/ntp/client.sls
index ae18820..ec708e7 100644
--- a/ntp/client.sls
+++ b/ntp/client.sls
@@ -61,12 +61,20 @@
   - require:
     - pkg: ntp_packages
 
+/etc/default/ntp:
+  file.managed:
+  - contents: |
+      NTPD_OPTS="{{ client.get('default_opts', '') }}"
+  - require:
+    - pkg: ntp_packages
+
 ntp_service:
   service.running:
   - enable: true
   - name: {{ client.service }}
   - watch:
     - file: /etc/ntp.conf
+    - file: /etc/default/ntp
 
 {%- if client.get('remove_dhcp_conf', False) %}
 ntp_remove_dhcp_conf:
diff --git a/ntp/schemas/client.yaml b/ntp/schemas/client.yaml
index 373ea81..1168825 100644
--- a/ntp/schemas/client.yaml
+++ b/ntp/schemas/client.yaml
@@ -66,6 +66,10 @@
         patternProperties:
           "^[0-9]*$":
             $ref: '#/definitions/_ntp:common:secret'
+  default_opts:
+    description: |
+      NTP daemon options
+    type: string
 
 definitions:
   _ntp:common:strata:
diff --git a/ntp/schemas/server.yaml b/ntp/schemas/server.yaml
index 416f69d..45858bf 100644
--- a/ntp/schemas/server.yaml
+++ b/ntp/schemas/server.yaml
@@ -85,6 +85,11 @@
         patternProperties:
           "^[0-9]*$":
             $ref: '#/definitions/_ntp:common:secret'
+  default_opts:
+    description: |
+      NTP daemon options
+    type: string
+
 definitions:
   _ntp:server:restrict:
     description: |
diff --git a/ntp/server.sls b/ntp/server.sls
index b884481..fa02765 100644
--- a/ntp/server.sls
+++ b/ntp/server.sls
@@ -61,6 +61,13 @@
   - require:
     - pkg: ntp_packages
 
+/etc/default/ntp:
+  file.managed:
+  - contents: |
+      NTPD_OPTS="{{ server.get('default_opts', '') }}"
+  - require:
+    - pkg: ntp_packages
+
 ntp_service:
   service.running:
   - enable: true
diff --git a/tests/pillar/client.sls b/tests/pillar/client.sls
index a313c5f..347ae40 100644
--- a/tests/pillar/client.sls
+++ b/tests/pillar/client.sls
@@ -9,3 +9,4 @@
       test:
         action: action
         value: value
+    default_opts: '-4 -g'
diff --git a/tests/pillar/server.sls b/tests/pillar/server.sls
index 08713b4..e9102a1 100644
--- a/tests/pillar/server.sls
+++ b/tests/pillar/server.sls
@@ -20,4 +20,5 @@
     interface:
       test:
         action: action
-        value: value
\ No newline at end of file
+        value: value
+    default_opts: '-4 -g'