From 6d204f4f5984b993bb0f38dfde0e47b373a1fe32 Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Mon, 6 Mar 2017 10:02:16 -0700 Subject: Stop the chronyd service Since the norpm provider can prevent the chronyd package from actually getting purged, we need to make sure the chronyd service is stopped and disabled so that it does not conflict with ntpd. Change-Id: I7a697aba7aa5a27ba4ab6e46018057f7f01dfab2 Closes-Bug: #1665426 (cherry picked from commit 37ba3a8db5e38955469e8bc9158388379d64abc8) --- Puppetfile_extras | 4 +++ manifests/profile/base/time/ntp.pp | 10 +++--- spec/classes/tripleo_profile_base_time_ntp_spec.rb | 39 ++++++++++++++++++++++ 3 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 spec/classes/tripleo_profile_base_time_ntp_spec.rb diff --git a/Puppetfile_extras b/Puppetfile_extras index b927d99..b3e51d4 100644 --- a/Puppetfile_extras +++ b/Puppetfile_extras @@ -28,3 +28,7 @@ mod 'datacat', mod 'etcd', :git => 'https://github.com/cristifalcas/puppet-etcd', :ref => '1.10.0' + +mod 'ntp', + :git => 'https://github.com/puppetlabs/puppetlabs-ntp', + :ref => '4.2.x' diff --git a/manifests/profile/base/time/ntp.pp b/manifests/profile/base/time/ntp.pp index c6ce309..06a3048 100644 --- a/manifests/profile/base/time/ntp.pp +++ b/manifests/profile/base/time/ntp.pp @@ -19,10 +19,12 @@ # class tripleo::profile::base::time::ntp { - # if installed, we don't want chrony to conflict with ntp. - package { 'chrony': - ensure => 'purged', - before => Service['ntp'], + # If installed, we don't want chrony to conflict with ntp. LP#1665426 + # It should be noted that this work even if the package is not installed + service { 'chronyd': + ensure => stopped, + enable => false, + before => Class['ntp'] } include ::ntp } diff --git a/spec/classes/tripleo_profile_base_time_ntp_spec.rb b/spec/classes/tripleo_profile_base_time_ntp_spec.rb new file mode 100644 index 0000000..ec4b55f --- /dev/null +++ b/spec/classes/tripleo_profile_base_time_ntp_spec.rb @@ -0,0 +1,39 @@ +# +# Copyright (C) 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +require 'spec_helper' + +describe 'tripleo::profile::base::time::ntp' do + shared_examples_for 'tripleo::profile::base::time::ntp' do + + context 'with defaults' do + it { is_expected.to contain_class('tripleo::profile::base::time::ntp') } + it { is_expected.to contain_service('chronyd').with( + :ensure => 'stopped', + :enable => false) } + it { is_expected.to contain_class('ntp') } + end + end + + on_supported_os.each do |os, facts| + context "on #{os}" do + let (:facts) { + facts + } + it_behaves_like 'tripleo::profile::base::time::ntp' + end + end +end -- cgit 1.2.3-korg