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

Add script for component image release #571

Merged
merged 6 commits into from
Dec 20, 2018
Merged

Conversation

IronPan
Copy link
Member

@IronPan IronPan commented Dec 19, 2018

This resolves the double release issue in the component image release process
To create a new release of the component image, run the release.sh. See more details in the release.sh comment on how to run the script


This change is Reviewable

@IronPan
Copy link
Member Author

IronPan commented Dec 19, 2018

/assign @hongye-sun @gaoning777

@@ -1,4 +1,4 @@
# Copyright 2018 Google LLC
# Copyright 2018 Google LLC
Copy link
Contributor

Choose a reason for hiding this comment

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

Why adding a tab/space?typo?

Copy link
Member Author

Choose a reason for hiding this comment

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

revert

@@ -116,229 +116,6 @@ steps:
id: 'copyPythonSDKToLatest'
waitFor: ['copyPythonSDKLocal']

# Pull and retag the images for the Dataflow-based pipeline components
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not do all the job in the release yaml in the release script?

Copy link
Member Author

Choose a reason for hiding this comment

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

the system images doesn't have the double release problem.

@@ -65,7 +65,7 @@ spec:
spec:
containers:
- name: deploy
image: gcr.io/ml-pipeline/bootstrapper:0.1.4 #TODO-release: update the release tag for the next release
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe use hash for the bootstrapper image?

Copy link
Member Author

Choose a reason for hiding this comment

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

this change is specifically for sample images. the bootstrapper is deprecating. this file should be removed in a separate PR

@IronPan
Copy link
Member Author

IronPan commented Dec 19, 2018

/assign @Ark-kun

${FROM_GCR_PREFIX}${image}:${COMMIT_SHA} ${TARGET_IMAGE}

# Update the code
find "${PARENT_PATH}/../samples" -type f -exec sed -i -e "s|${TARGET_IMAGE_BASE}:\([a-zA-Z0-9_.-]\)\+|${TARGET_IMAGE}|g" {} \;
Copy link
Contributor

Choose a reason for hiding this comment

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

find -exec won't fail on errors. We need to replace this with find | while read file; do ...; done
See my comment here: https://github.com/kubeflow/pipelines/blob/master/backend/Dockerfile#L27

Copy link
Member Author

Choose a reason for hiding this comment

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

done. thanks

@gaoning777
Copy link
Contributor

/test kubeflow-pipeline-e2e-test

@Ark-kun
Copy link
Contributor

Ark-kun commented Dec 20, 2018

/test kubeflow-pipeline-e2e-test

@IronPan
Copy link
Member Author

IronPan commented Dec 20, 2018

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: IronPan

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

1 similar comment
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: IronPan

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@Ark-kun
Copy link
Contributor

Ark-kun commented Dec 20, 2018

/lgtm

Copy link
Contributor

@gaoning777 gaoning777 left a comment

Choose a reason for hiding this comment

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

/lgtm

@gaoning777
Copy link
Contributor

Can we maybe change the release script name to release_component.sh? To my understanding, the script releases the component images and updates the samples to reflect the component changes.

@IronPan IronPan merged commit 379d4d7 into kubeflow:master Dec 20, 2018
"ml-pipeline-dataflow-tfma"
"ml-pipeline-kubeflow-deployer"
"ml-pipeline-kubeflow-tf-trainer"
"ml-pipeline-kubeflow-tf"
Copy link
Contributor

Choose a reason for hiding this comment

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

could you help to add one more image here called: ml-pipeline-kubeflow-tf-trainer-gpu?

Linchin pushed a commit to Linchin/pipelines that referenced this pull request Apr 11, 2023
* Define a script to close obsolete PRs to update an application.

* In the event there are multiple PRs open to update a Kubeflow application
  we want to close the older PRs; so there is a single open PR updating
  the application to the newest code.

Related to kubeflow#571

* Define a script to close obsolete PRs to update an application.

* In the event there are multiple PRs open to update a Kubeflow application
  we want to close the older PRs; so there is a single open PR updating
  the application to the newest code.

  Related to kubeflow#571

* Setup a def namespace for use with apps-cd.

* Update update_kf_apps.py to close old PRs on each sync.

* Bake the source code into the docker image rather than using a wrapper
  script to sync the code from git.

  * Sync'ing the code from git became to difficult to reason about once
    we start splitting the source code across multiple repositories
    * We now depend on github/kubeflow/code-intelligence for utilities
      for working with GitHub Apps

    * Using a docker image also ensures we don't get broken suddenly when
      new changes are in place

    * In the future we could use github actions to automate updating the
      deployment on postsubmits

* Turn app-pipeline.template.yaml into a ConfigMap
  * This allows better versioning
  * We can rely on kustomize to create a configmap with a hash based on the
    contents
  * kustomize will then reference the config map using its hash. As
    a result a rolling update is triggered whenever the hash contents changes.
  * This makes it easier to handle rollous and updates.

Define a dev instance of the update KF apps infrastructure to facilitate development
  * Use profiles in skaffold.

  * update_kf_apps.py in dev uses a config map now to ubtain app-pipeline.template.yaml
    rather than fetching it from git

  * This makes it much easier to test changes in the dev instance

Fix a bunch of bugs preventing update_kf_apps.py from working
   * Update requirements.txt with a bunch of missing packages.
   * Fix some imports in update_kf_apps.py

  * Need to set resource requests for the build pods otherwise builds get
    CPU starved and take forever.

Miscellaneous

* Create a tool to copy secrets between namespaces from GCS

* Fix lint.

* Due to kubeflow#460 we need to disable pylint.
magdalenakuhn17 pushed a commit to magdalenakuhn17/pipelines that referenced this pull request Oct 22, 2023
* Add namespace selector for pod mutating webhook

* Enable namespace label match based on Env Var

* Rename env var name

* Document this feature

* fix typo error
HumairAK pushed a commit to red-hat-data-services/data-science-pipelines that referenced this pull request Mar 11, 2024
move kubeclient test case to e2e toolchain pipelines
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants