-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
compatible: add system logging #136
base: main
Are you sure you want to change the base?
Conversation
…ollecting more data from localhost
76b1ee6
to
5a34e1a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for pushing sosreport forward. We need to polish it, document and teach users to use them reporting us their issues. We should also include there somehow the versions of components in use... king of juju status --all-models
(due to COS versions variations, etc)? Anyway it is a good start. Keep the final decision here for Carl.
@taurus-forever agreed. I think this is the first of some PRs where we add plugins and configuration for sosreport. |
@phvalguima have you tested this? if so, can you link to where you tested it so I can see what the output looks like? |
One run: https://github.com/canonical/opensearch-operator/actions/runs/7745689743 Here is one example of sosreport output: https://github.com/canonical/opensearch-operator/actions/runs/7745689743/artifacts/1213044338 For k8: https://github.com/canonical/mysql-k8s-operator/actions/runs/7737972326 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some open questions about secret redaction (discussing in mattermost)
(github artifact upload will bypass github's automatic secret redaction. Need to be careful to not leak github secrets [e.g. aws/gcp secrets])
- name: Run SOS reports | ||
if: ${{ failure() && steps.tests.outcome == 'failure' }} | ||
run: | | ||
sudo snap install sosreport --channel=latest/stable --classic |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should maybe install from apt
I'd like to use the newer version, but the snap publisher isn't verified
and given that we might be passing github secrets to sosreport, might be a security risk if the snap maintainer is compromised
- name: Run SOS in LXCs if Needed | ||
if: ${{ inputs.cloud == 'lxd' && (failure() && steps.tests.outcome == 'failure') }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you separate this step into another PR?
I'd like to get the other changes merged quickly & I think there's some complexity/subtleties (especially around secret redaction) with sosreport inside the lxc container that will hold up the other changes
DPE-3397: Add support to capture journalctl logs in case of failures.
Adds
sosreport
support to our pipelines, in case of test failures.As outputs, we should have now both:
The former provides a detailed view of the model, including with logs from units' charms that were gone at test end. The latter provides a view on the system itself: services running, kernel, etc; at the moment the test has ended.
Unfortunately, neither
sos report
's juju plugin collects equivalent debug-log, norjuju-crashdump
's sosreport plugin collects meaningful sos reports... Therefore, we should keep both.Bug-Fixes: #133