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

Split ros-operator into its own repo #67

Closed
3 tasks done
Tracked by #58
Itxaka opened this issue Mar 24, 2022 · 12 comments
Closed
3 tasks done
Tracked by #58

Split ros-operator into its own repo #67

Itxaka opened this issue Mar 24, 2022 · 12 comments
Assignees
Labels

Comments

@Itxaka
Copy link
Contributor

Itxaka commented Mar 24, 2022

It makes no sense to have all this mixed together with the os2 files. First, everything is clumped into a ton of files to setup like the CI, the makefile, the scripts, etc... while ros-operator is very simple and could do with a simple repo in which we control everything and its much clearer where to change things.

Plus we can release it separately instead of in a big release with the installer, the chart, the iso, etc..

ros-operator and its chart should live in its own repo for ease of releasing, testing and updating. We also dont need os2 to test the ros-operator so that makes it simpler.

A test repo is available at https://github.com/Itxaka/ros-operator with the full package, CI stuff, release stuff.

Action items

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 24, 2022

@mudler what do you mean by QA? like the artifacts are there so it can be reproduced or something else?

@mudler
Copy link
Contributor

mudler commented Mar 24, 2022

yup just some sanity checking if things are still working as expected (e.g. the correct default repos in the default chart values file, and such)

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 24, 2022

I mean, the integration tests should check that automatically no? As we are pushing the image and building the chart based on that image tag, that means that when we test it afterwards by using that chart it needs to pull the correct image. I will still manually check just in case :D

@mudler
Copy link
Contributor

mudler commented Mar 24, 2022

you never know :D I did find out later that it was using the wrong image once.. 👯

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 24, 2022

Tested on https://github.com/rancher-sandbox/rancheros-operator/actions/runs/2033704156

Get inside the helm chart Chart.yaml:

appVersion: v0.0.0-5ff94bf

And inside the helm chart Values.yaml:

image:
  empty: rancher/pause:3.1
  repository: quay.io/costoolkit/ros-operator-ci
  tag: v0.0.0-5ff94bf
  imagePullPolicy: IfNotPresent

which both correspond to the commit:

HEAD is now at 5ff94bf Merge 005df2f7f2b31cf5acfd884c27a1c67ce6cfa563 into f93860d4bac9982e2733f2d3f35b9f3f68f6272

So the QA part should be ok. Testing the label once is merged...

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 24, 2022

docker image seems to be settings correctly with the tag:
quay.io/costoolkit/ros-operator:0.1.0-alpha1

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 24, 2022

ah no, missing the v :/

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 24, 2022

Images now pushed correctly to the ci and release repos (full version tag)
Releases created correctly: https://github.com/rancher-sandbox/rancheros-operator/releases
Chart with proper naming 👍
Goreleaser pushes to the release the binaries, if someone wants to use them, also fills the release with the changelog
Integration tests pushes the docker image to CI repo and stores the chart for QA purposes.

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 25, 2022

installing the chart from the published repo works as expected, the rancheros-operator is up and running

$ helm install rancheros/rancheros-operator --generate-name --devel 
NAME: rancheros-operator-1648202552
LAST DEPLOYED: Fri Mar 25 11:02:33 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
USER-SUPPLIED VALUES:
{}
$ kubectl describe pod rancheros-operator-5c5d676f8d-hgs8h
Name:         rancheros-operator-5c5d676f8d-hgs8h
Namespace:    default
Priority:     0
Node:         kind-control-plane/172.18.0.2
Start Time:   Fri, 25 Mar 2022 11:02:34 +0100
Labels:       app=rancheros-operator
              pod-template-hash=5c5d676f8d
Annotations:  <none>
Status:       Running
IP:           10.244.0.18
IPs:
  IP:           10.244.0.18
Controlled By:  ReplicaSet/rancheros-operator-5c5d676f8d
Containers:
  rancheros-operator:
    Container ID:  containerd://79e5447ea1642c59f96d7871cdb52bd172529984dbde33808af5de584ab8ceb2
    Image:         quay.io/costoolkit/rancheros-operator-ci:v0.1.0-alpha1-785899e
    Image ID:      quay.io/costoolkit/rancheros-operator-ci@sha256:d0cc8b0264cc4a8020b9b17b73442941cdd8ad55cb4100900d223bc707b1ac03
    Port:          <none>
    Host Port:     <none>
    Command:
      /usr/sbin/rancheros-operator
    State:          Running
      Started:      Fri, 25 Mar 2022 11:02:39 +0100
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from rancheros-operator-token-7q682 (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  rancheros-operator-token-7q682:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  rancheros-operator-token-7q682
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  kubernetes.io/os=linux
Tolerations:     cattle.io/os=linux:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason     Age    From               Message
  ----    ------     ----   ----               -------
  Normal  Scheduled  2m53s  default-scheduler  Successfully assigned default/rancheros-operator-5c5d676f8d-hgs8h to kind-control-plane
  Normal  Pulling    2m52s  kubelet            Pulling image "quay.io/costoolkit/rancheros-operator-ci:v0.1.0-alpha1-785899e"
  Normal  Pulled     2m48s  kubelet            Successfully pulled image "quay.io/costoolkit/rancheros-operator-ci:v0.1.0-alpha1-785899e" in 3.838169221s
  Normal  Created    2m48s  kubelet            Created container rancheros-operator
  Normal  Started    2m48s  kubelet            Started container rancheros-operator

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 25, 2022

umm...any idea why the annotations would be missing in the pod @mudler ?

The chart is correct and has all the annotations in there..

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 25, 2022

oh I guess this is for the chart only, so rancher can do stuff with it as part of their chart catalog I guess..

@Itxaka
Copy link
Contributor Author

Itxaka commented Mar 28, 2022

done, will create a couple of follow up cards for chart url/version config

@Itxaka Itxaka closed this as completed Mar 28, 2022
mudler pushed a commit that referenced this issue Jun 3, 2022
Signed-off-by: David Cassany <dcassany@suse.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants