rackerlabs / auter-manager Goto Github PK
View Code? Open in Web Editor NEWTools to help deploy Auter host based automatic updates
Tools to help deploy Auter host based automatic updates
Re-review #28 The logic is incorrect
Create new logmons when auter is deployed
I have started working on reformatting the Ansible playbooks, bringing some modifications along as well.
This is an enhancement / work in progress, not finished yet but opening issue to let people aware of on-going work. The PR will be created once I have finished the rewrite.
Current state of things:
Problem:
It is pretty easily to overlook this and end up with no yum exclusions after the installation of auter through auter-manager.
Suggestion:
none
value into the CSV file when we want to ensure that any yum excludes are removed during auter installationQuestions ? Comments ?
Having a valid ID in there is asking for trouble whether they are test devices or not. It should be swapped for a basic placeholder that will error out if someone tries to run the playbook without modifying the config.
Something along the lines of {{ device_id }}
.
BUG:
Auter is configured to run and apply updates before midnight say at 11:30pm on 20th July 1997 , it creates its .pre snapshot files before midnight passes and auter is then instructed to post midnight reboot (18th July 1997), on reboot the .post snapshot fails and is unable to run since its looking for the same timestamp .pre entries ( from the previous day) to check against which it believes does not exist.becuase a new day has already come into effect.
Originally spotted on modular branch, PR coming soon for master. modular is being updated as well.
In some particular cases, epel check (yum repolist | grep epel | wc -l
) does not return an stdout
variable.
We need to catch this case to request manual check on the device for those cases.
Raised initially as part of PR #48
The playbook also set up the extra nimbus config always at the same place:
- name: Create nimbus monitors in "{{ nimbus_path }}"
tags: configure,nimbus
blockinfile:
backup: yes
insertbefore: "</profiles>"
marker: "# {mark} ANSIBLE MANAGED AUTER BLOCK"
dest: /opt/nimsoft/probes/system/logmon/logmon.cfg
If an auter patching starts on one days, say around 23:50, and the apply/ reboot take more than a few minutes, we can end up in 2 different configsnap tags/directory created, which also means the pre/post comparison does not run.
Related to #38
TASK [add the epel repo] ****************************************************************************************************************************************************************************************************************************************************************
fatal: []: FAILED! => {"msg": "The conditional check '( 'no package' in result.msg|lower ) and epelPresent.stdout|int == 0' failed. The error was: error while evaluating conditional (( 'no package' in result.msg|lower ) and epelPresent.stdout|int == 0): 'dict object' has no attribute 'msg'\n\nThe error appears to have been in '/home/nich1145/Downloads/auter-manager/installer/auter_installer.yml': line 45, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: add the epel repo\n ^ here\n"}
fatal: []: FAILED! => {"msg": "The conditional check '( 'no package' in result.msg|lower ) and epelPresent.stdout|int == 0' failed. The error was: error while evaluating conditional (( 'no package' in result.msg|lower ) and epelPresent.stdout|int == 0): 'dict object' has no attribute 'msg'\n\nThe error appears to have been in '/home/nich1145/Downloads/auter-manager/installer/auter_installer.yml': line 45, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: add the epel repo\n ^ here\n"}
Looks like I never tested this before!
PR to fix this coming up.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.