Skip to content

Patch window not respected #97

@franck-iaropoli-arm

Description

@franck-iaropoli-arm

Describe the Bug

Hi all,
I am struggling to understand why my patch window is not respected when using patching_as_code module.
For example I have a node with 2 patch schedules assigned:
Extract of fact patching_as_code_config on that machine:

  patch_schedule => {
    friday => {
      count_of_week => [
        1,
        2,
        3,
        4,
        5
      ],
      day_of_week => "Friday",
      hours => "09:00 - 12:00",
      max_runs => 4,
      reboot => "never"
    },
    wednesday => {
      count_of_week => [
        1,
        2,
        3,
        4,
        5
      ],
      day_of_week => "Wednesday",
      hours => "09:00 - 12:00",
      max_runs => 4,
      reboot => "never"
    }
  },

I want this node to be patched between 9h and 12h on Wednesday and Fridays but patching happened very early this Wednesday (last_patch_run => "2024-07-17 01:04")

This is fact patching_as_code:

{
  choco_patches_installed_on_last_high_prio_run => [

  ],
  choco_patches_installed_on_last_run => [

  ],
  days_since_last_high_prio_patch_run => 0,
  days_since_last_patch_run => 0,
  last_high_prio_patch_run => "",
  last_patch_run => "2024-07-17 01:04",
  patches_installed_on_last_high_prio_run => [

  ],
  patches_installed_on_last_run => [
    "python3.8",
    "libpython3.8",
    "libpython3.8-stdlib",
    "python3.8-minimal",
    "libpython3.8-minimal",
    "firefox",
    "ghostscript-x",
    "ghostscript",
    "libgs9",
    "libgs9-common",
    "linux-headers-5.4.0-189",
    "linux-headers-5.4.0-189-generic",
    "linux-headers-generic",
    "linux-libc-dev"
  ]
}

In the apt history.log:

Start-Date: 2024-07-17  00:28:03
Commandline: /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install python3.8
Upgrade: libpython3.8-minimal:amd64 (3.8.10-0ubuntu1~20.04.9, 3.8.10-0ubuntu1~20.04.10), libpython3.8:amd64 (3.8.10-0ubuntu1~20.04.9, 3.8.10-0ubuntu1~20.04.10), python3.8:amd64 (3.8.10-0ubuntu1~20.04.9, 3.8.10-0ubuntu1~20.04.10), python3.8-minimal:amd64 (3.8.10-0ubuntu1~20.04.9, 3.8.10-0ubuntu1~20.04.10), libpython3.8-stdlib:amd64 (3.8.10-0ubuntu1~20.04.9, 3.8.10-0ubuntu1~20.04.10)
End-Date: 2024-07-17  00:28:07

Start-Date: 2024-07-17  00:33:12
Commandline: /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install firefox
Upgrade: firefox:amd64 (127.0.2+build1-0ubuntu0.20.04.1, 128.0+build2-0ubuntu0.20.04.1)
End-Date: 2024-07-17  00:33:21

Start-Date: 2024-07-17  00:38:23
Commandline: /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install ghostscript-x
Upgrade: libgs9:amd64 (9.50~dfsg-5ubuntu4.12, 9.50~dfsg-5ubuntu4.13), ghostscript:amd64 (9.50~dfsg-5ubuntu4.12, 9.50~dfsg-5ubuntu4.13), ghostscript-x:amd64 (9.50~dfsg-5ubuntu4.12, 9.50~dfsg-5ubuntu4.13), libgs9-common:amd64 (9.50~dfsg-5ubuntu4.12, 9.50~dfsg-5ubuntu4.13)
End-Date: 2024-07-17  00:38:25

Start-Date: 2024-07-17  00:43:28
Commandline: /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install linux-headers-5.4.0-189
Install: linux-headers-5.4.0-189:amd64 (5.4.0-189.209)
End-Date: 2024-07-17  00:43:32

Start-Date: 2024-07-17  00:48:33
Commandline: /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install linux-headers-5.4.0-189-generic
Install: linux-headers-5.4.0-189-generic:amd64 (5.4.0-189.209)
End-Date: 2024-07-17  00:48:35

Start-Date: 2024-07-17  00:53:37
Commandline: /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install linux-headers-generic
Upgrade: linux-headers-generic:amd64 (5.4.0.187.185, 5.4.0.189.187)
End-Date: 2024-07-17  00:53:37

Start-Date: 2024-07-17  00:58:39
Commandline: /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install linux-libc-dev
Upgrade: linux-libc-dev:amd64 (5.4.0-187.207, 5.4.0-189.209)
End-Date: 2024-07-17  00:58:40

*** command from post patching script ***

Start-Date: 2024-07-17  01:04:48
Commandline: /usr/bin/apt-get -y autoremove
Remove: libnatpmp1:amd64 (20150609-7build1), linux-headers-5.4.0-187:amd64 (5.4.0-187.207), libsysmetrics1:amd64 (1.6.1ubuntu0.1), linux-headers-5.4.0-187-generic:amd64 (5.4.0-187.207), libevent-2.1-7:amd64 (2.1.11-stable-1)
End-Date: 2024-07-17  01:04:50

Date and time are correct on the machine:

~# date
Wed 17 Jul 2024 11:26:17 AM CEST

~# timedatectl 
               Local time: Wed 2024-07-17 11:26:28 CEST
           Universal time: Wed 2024-07-17 09:26:28 UTC 
                 RTC time: Wed 2024-07-17 09:26:28     
                Time zone: Europe/Paris (CEST, +0200)  
System clock synchronized: yes                         
              NTP service: n/a                         
          RTC in local TZ: no                          

Offset detection seems correct too:

~# facter -p patching_as_code_utc_offset
2.0

Why was patching done on Wednesday but around 00:28 and not during the patch schedule window I set:

      day_of_week => "Wednesday",
      hours => "09:00 - 12:00",

?

Expected Behavior

Patches are installed between 9h and 12h on Wednesdays, Fridays

Steps to Reproduce

Set a patch schedule between 9h and 12h

Environment

  • Version 1.1.7
  • Platform Ubuntu 20.04 (I have also done the same setup on different OS and different days. I will update this case if it happens with other OS)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions