Skip to content
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

Fix/lp 1875481 #11840

Merged
merged 6 commits into from Jul 21, 2020
Merged

Fix/lp 1875481 #11840

merged 6 commits into from Jul 21, 2020

Conversation

ycliuhw
Copy link
Member

@ycliuhw ycliuhw commented Jul 17, 2020

Checklist

  • Checked if it requires a pylibjuju change?
  • Added integration tests for the PR?
  • Added or updated doc.go related to packages changed?
  • Do comments answer the question of why design decisions were made?

Description of change

Upgrade-charm now is changed to always trigger pods to restart to finish the remote-init process because the previous way of remote-init for upgrade-charm was not possible to succeed in a container running using non-root USER.

Currently, we got below error when charm was upgraded;

application-mariadb-k8s: 14:05:27 ERROR juju.worker.caasoperator exited "mariadb-k8s/0": executing operation "remote init": caas-unit-init for unit "mariadb-k8s/0" with command: "/var/lib/juju/tools/jujud caas-unit-init --unit unit-mariadb-k8s-0 --charm-dir /tmp/unit-mariadb-k8s-0386991581/charm --upgrade" failed: : command terminated with exit code 1
application-mariadb-k8s: 14:05:30 ERROR juju.worker.uniter resolver loop error: executing operation "remote init": caas-unit-init for unit "mariadb-k8s/0" with command: "/var/lib/juju/tools/jujud caas-unit-init --unit unit-mariadb-k8s-0 --charm-dir /tmp/unit-mariadb-k8s-0972517399/charm --upgrade" failed: ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mariadb-k8s-0: unlinkat /var/lib/juju/tools/unit-mariadb-k8s-0/close-port: permission denied
ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mariadb-k8s-0: unlinkat /var/lib/juju/tools/unit-mariadb-k8s-0/close-port: permission denied
: command terminated with exit code 1
application-mariadb-k8s: 14:05:30 ERROR juju.worker.caasoperator exited "mariadb-k8s/0": executing operation "remote init": caas-unit-init for unit "mariadb-k8s/0" with command: "/var/lib/juju/tools/jujud caas-unit-init --unit unit-mariadb-k8s-0 --charm-dir /tmp/unit-mariadb-k8s-0972517399/charm --upgrade" failed: ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mariadb-k8s-0: unlinkat /var/lib/juju/tools/unit-mariadb-k8s-0/close-port: permission denied
ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mariadb-k8s-0: unlinkat /var/lib/juju/tools/unit-mariadb-k8s-0/close-port: permission denied
: command terminated with exit code 1
application-mariadb-k8s: 14:05:34 ERROR juju.worker.uniter resolver loop error: executing operation "remote init": caas-unit-init for unit "mariadb-k8s/0" with command: "/var/lib/juju/tools/jujud caas-unit-init --unit unit-mariadb-k8s-0 --charm-dir /tmp/unit-mariadb-k8s-0337241697/charm --upgrade" failed: ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mariadb-k8s-0: unlinkat /var/lib/juju/tools/unit-mariadb-k8s-0/close-port: permission denied
ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mariadb-k8s-0: unlinkat /var/lib/juju/tools/unit-mariadb-k8s-0/close-port: permission denied
: command terminated with exit code 1
application-mariadb-k8s: 14:05:34 ERROR juju.worker.caasoperator exited "mariadb-k8s/0": executing operation "remote init": caas-unit-init for unit "mariadb-k8s/0" with command: "/var/lib/juju/tools/jujud caas-unit-init --unit unit-mariadb-k8s-0 --charm-dir /tmp/unit-mariadb-k8s-0337241697/charm --upgrade" failed: ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mariadb-k8s-0: unlinkat /var/lib/juju/tools/unit-mariadb-k8s-0/close-port: permission denied
ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mariadb-k8s-0: unlinkat /var/lib/juju/tools/unit-mariadb-k8s-0/close-port: permission denied

QA steps

# This docker image sets USER to `mysql`;
$ juju run --unit mariadb-k8s/0  'whoami'
mysql

$ juju status --format json | jq '.applications["mariadb-k8s"]["charm-rev"]'
6

$ mkubectl -nt1 get pod/mariadb-k8s-0 -o json | jq '.metadata.annotations["juju.io/charm-modified-version"]'
null

$ mkubectl -nt1 get pod/mariadb-k8s-0 -o json | jq '.status.startTime'
"2020-07-20T05:22:00Z"

# run upgrade-charm
$ juju upgrade-charm mariadb-k8s --path /tmp/charm-builds/mariadb-k8s/ --debug --resource mysql_image=xxx/mariadb

$ juju status --format json | jq '.applications["mariadb-k8s"]["charm-rev"]'
7

$ mkubectl -nt1 get pod/mariadb-k8s-0 -o json | jq '.metadata.annotations["juju.io/charm-modified-version"]'
"7"

$ mkubectl -nt1 get pod/mariadb-k8s-0 -o json | jq '.status.startTime'
"2020-07-20T05:39:30Z"

Documentation changes

No

Bug reference

https://bugs.launchpad.net/juju/+bug/1875481

@ycliuhw ycliuhw requested a review from wallyworld July 20, 2020 06:20
@ycliuhw ycliuhw marked this pull request as ready for review July 20, 2020 06:20
@ycliuhw ycliuhw force-pushed the fix/lp-1875481 branch 2 times, most recently from 1b7265d to a11fcf2 Compare July 20, 2020 09:40
Copy link
Member

@wallyworld wallyworld left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can also include the removal of the UnitUpgrade caas-juju-init mode

worker/caasoperator/caasoperator.go Outdated Show resolved Hide resolved
@hpidcock hpidcock added the 2.8 label Jul 20, 2020
@ycliuhw ycliuhw added the bug The PR addresses a bug label Jul 20, 2020
@ycliuhw
Copy link
Member Author

ycliuhw commented Jul 21, 2020

$$merge$$

@jujubot jujubot merged commit b627cb6 into juju:2.8 Jul 21, 2020
jujubot added a commit that referenced this pull request Jul 22, 2020
#11852

Zero-conflict merge from 2.8 to bring forward:
- #11851 from manadart/2.8-remove-lld-refcount
- #11846 from howbazaar/2.8-watch-models-application-status
- #11840 from ycliuhw/fix/lp-1875481
- #11845 from ycliuhw/fix/lp-1883006
- #11844 from SimonRichardson/fix-smoke-tests
- #11837 from tlm/pod-spec-json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug The PR addresses a bug
Projects
None yet
4 participants