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

Upgrade containerd #2369

Merged
merged 5 commits into from
Apr 8, 2020
Merged

Upgrade containerd #2369

merged 5 commits into from
Apr 8, 2020

Conversation

NicolasT
Copy link
Contributor

@NicolasT NicolasT commented Apr 6, 2020

Upgrade containerd to 1.2.13, among others to include a fix for containerd/containerd#3125. Also, enable seccomp support to handle #2259.

This implies we no longer ship the containerd package as found in EPEL, but instead build one as part of the MetalK8s build and ship it in the metalk8s-scality repository.

@bert-e
Copy link
Contributor

bert-e commented Apr 6, 2020

Hello nicolast,

My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.

Status report is not available.

@bert-e
Copy link
Contributor

bert-e commented Apr 6, 2020

Waiting for approval

The following approvals are needed before I can proceed with the merge:

  • the author

  • one peer

Peer approvals must include at least 1 approval from the following list:

@NicolasT NicolasT force-pushed the improvement/upgrade-containerd branch from 8fa2264 to 05ea261 Compare April 6, 2020 13:57
@NicolasT
Copy link
Contributor Author

NicolasT commented Apr 6, 2020

For reviewers, the most important changes are

@NicolasT NicolasT marked this pull request as ready for review April 6, 2020 13:59
@NicolasT NicolasT requested a review from a team as a code owner April 6, 2020 13:59
@NicolasT NicolasT force-pushed the improvement/upgrade-containerd branch from 05ea261 to f1df9b5 Compare April 6, 2020 14:55
@NicolasT
Copy link
Contributor Author

NicolasT commented Apr 6, 2020

@bert-e approve

@bert-e
Copy link
Contributor

bert-e commented Apr 6, 2020

Waiting for approval

The following approvals are needed before I can proceed with the merge:

  • the author

  • one peer

Peer approvals must include at least 1 approval from the following list:

The following options are set: approve

@NicolasT NicolasT added this to the MetalK8s 2.6.0 milestone Apr 6, 2020
@NicolasT
Copy link
Contributor Author

NicolasT commented Apr 6, 2020

Moved into 2.6.0. Needs field testing, too big a change for a .1.

…t/upgrade-containerd

* origin/development/2.6:
  images: enrich `metalk8s-utils` image
  deps: Pin pytest version
  deps: Bump PyYAML to 5.3.1 in buildchain
  deps: Regenerate compiled requirements
  eve: Add `text` in JUnit containing artifact Url
  eve: Add `text` support for JUnit generation
  eve: Add `message` support for JUnit generation

Conflicts:
	CHANGELOG.md
Copy link
Contributor

@gdemonet gdemonet left a comment

Choose a reason for hiding this comment

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

LGTM for the most part! Some suggested changes on tests, maybe we want to move them in a debt ticket, as you wish.

Comment on lines +59 to 60
def given_check_pod_status(request, host, k8s_client, label, expected_status):
ssh_config = request.config.getoption('--ssh-config')
Copy link
Contributor

Choose a reason for hiding this comment

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

I know it's not related to your changes, but there's a ssh_config fixture to simplify this a bit:

Suggested change
def given_check_pod_status(request, host, k8s_client, label, expected_status):
ssh_config = request.config.getoption('--ssh-config')
def given_check_pod_status(ssh_config, host, k8s_client, label, expected_status):

Copy link
Contributor Author

Choose a reason for hiding this comment

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



@pytest.fixture
def utils_pod(k8s_client, utils_image):
Copy link
Contributor

Choose a reason for hiding this comment

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

You don't need to create another fixture, @when already makes the create_utils_pod a fixture. This would allow us to make use of a BDD parser:

_UTILS_POD_PARSER = parsers.parse(
    "we create a utils Pod with labels {labels:JSON} "
    "and annotations {annotations:JSON}",
    extra_types=dict(JSON=json.loads),
)

@when(_UTILS_POD_PARSER)
def utils_pod(k8s_client, utils_image, labels, annotations):
    # create the Pod with right labels and annotations, which are
    # passed in as Python dicts already
    try:
        yield pod_name
    finally:
        # clean-up of the Pod

@then("I can run '{command}' in the utils Pod")
def run_in_utils_pod(utils_pod, command):
     # If we had such a helper, we could do:
    kubectl_exec(pod_name=utils_pod, command=command)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Well, that's what I tried at first (how could one perform resource cleanup otherwise?). However, when executing the test using that implementation, nothing happened. My when thing, which is then a generator, would not be nexted, so no code executed, no Pod created,... (to my surprise). Skimming the docs back then, there's no reference of whens being permitted to be a generator.

I'll try again with a super-simple test...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As discussed on Slack, one can't use a generator in a @when implementation.

Copy link
Contributor

Choose a reason for hiding this comment

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

Indeed, but it seems we can in a @given (and in your context, creating a utils Pod could make sense as a "Given" step).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Well, no :) I am not actually using the utils Pod, its merely a canary (hence, not executing any commands in it). What this test wants to validate is that any Pod with some specific set of annotations will be fully functional at some point (i.e., our CRI supports the seccomp profile annotations). The Pod is not an input to the test, its creation and validation is the test.

@bert-e
Copy link
Contributor

bert-e commented Apr 8, 2020

In the queue

The changeset has received all authorizations and has been added to the
relevant queue(s). The queue(s) will be merged in the target development
branch(es) as soon as builds have passed.

The changeset will be merged in:

  • ✔️ development/2.6

The following branches will NOT be impacted:

  • development/1.0
  • development/1.1
  • development/1.2
  • development/1.3
  • development/2.0
  • development/2.1
  • development/2.2
  • development/2.3
  • development/2.4
  • development/2.5

There is no action required on your side. You will be notified here once
the changeset has been merged. In the unlikely event that the changeset
fails permanently on the queue, a member of the admin team will
contact you to help resolve the matter.

IMPORTANT

Please do not attempt to modify this pull request.

  • Any commit you add on the source branch will trigger a new cycle after the
    current queue is merged.
  • Any commit you add on one of the integration branches will be lost.

If you need this pull request to be removed from the queue, please contact a
member of the admin team now.

The following options are set: approve

@bert-e
Copy link
Contributor

bert-e commented Apr 8, 2020

I have successfully merged the changeset of this pull request
into targetted development branches:

  • ✔️ development/2.6

The following branches have NOT changed:

  • development/1.0
  • development/1.1
  • development/1.2
  • development/1.3
  • development/2.0
  • development/2.1
  • development/2.2
  • development/2.3
  • development/2.4
  • development/2.5

Please check the status of the associated issue None.

Goodbye nicolast.

@bert-e bert-e merged commit 187089b into development/2.6 Apr 8, 2020
@bert-e bert-e deleted the improvement/upgrade-containerd branch April 8, 2020 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants