Skip to content

refactor(ci): execute ics20 test from statefulset celestia container#1302

Merged
SuperFluffy merged 2 commits intomainfrom
superfluffy/celestia-local-is-stateful-set
Aug 4, 2024
Merged

refactor(ci): execute ics20 test from statefulset celestia container#1302
SuperFluffy merged 2 commits intomainfrom
superfluffy/celestia-local-is-stateful-set

Conversation

@SuperFluffy
Copy link
Contributor

@SuperFluffy SuperFluffy commented Jul 26, 2024

Summary

Updates the charts/celestia-local to spin up celestia-appd in a stateful set. Executes the ics20 transfer inside the celestia-app container inside the set.

Background

#1285 updates the ibc ics20 transfer test to require celestia-appd and an initialized celestia keystore to be present on the machine running the test. This is undesirable because it pollutes the host environment and creates potential for collisions. Turning celestia-local from a kubernetes deployment to a stateful set allows executing the ics20 transfer from inside the container.

Changes

  • Rename charts/celestia-local/templates/deployment.yaml -> charts/celestia-local/templates/statefulsets.yaml
  • Changes kind: Deployment -> kind: StatefulSet in that file
  • Update recipes in charts/deploy.just to use kubectl rollout status instead of kubectl wait (the latter does not seem to work with stateful sets)
  • Use kubectl exec against the celestia-app container in the stateful set to initialize the transfer instead of a locally present celestia-appd

Testing

This is an update to the ibc ics20 smoke test flow. The test still passes with the expected result.

Related Issues

Closes #1296
Closes #1295

@github-actions github-actions bot added ci issues that are related to ci and github workflows cd labels Jul 26, 2024
@SuperFluffy SuperFluffy force-pushed the superfluffy/celestia-local-is-stateful-set branch from b1cce03 to c27574e Compare July 26, 2024 12:25
@SuperFluffy SuperFluffy marked this pull request as ready for review July 26, 2024 12:33
@SuperFluffy SuperFluffy requested review from a team as code owners July 26, 2024 12:33
@SuperFluffy SuperFluffy requested a review from quasystaty1 July 26, 2024 12:33
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.5.0
version: 0.6.0
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't have a good intution for this. Changing the kind of a rollout seems like a major change though.

@SuperFluffy SuperFluffy requested a review from joroshiba July 26, 2024 17:23
@SuperFluffy SuperFluffy added this pull request to the merge queue Aug 1, 2024
@SuperFluffy SuperFluffy removed this pull request from the merge queue due to a manual request Aug 1, 2024
@SuperFluffy SuperFluffy added this pull request to the merge queue Aug 4, 2024
Merged via the queue into main with commit 4840484 Aug 4, 2024
@SuperFluffy SuperFluffy deleted the superfluffy/celestia-local-is-stateful-set branch August 4, 2024 16:19
steezeburger added a commit that referenced this pull request Aug 6, 2024
* main:
  refactor(ci): execute ics20 test from statefulset celestia container (#1302)
ethanoroshiba pushed a commit that referenced this pull request Aug 13, 2024
…1302)

## Summary
Updates the `charts/celestia-local` to spin up `celestia-appd` in a
stateful set. Executes the ics20 transfer inside the celestia-app
container inside the set.

## Background
#1285 updates the ibc ics20
transfer test to require `celestia-appd` and an initialized celestia
keystore to be present on the machine running the test. This is
undesirable because it pollutes the host environment and creates
potential for collisions. Turning `celestia-local` from a kubernetes
deployment to a stateful set allows executing the ics20 transfer from
inside the container.

## Changes
- Rename `charts/celestia-local/templates/deployment.yaml ->
charts/celestia-local/templates/statefulsets.yaml`
- Changes `kind: Deployment -> kind: StatefulSet` in that file
- Update recipes in `charts/deploy.just` to use `kubectl rollout status`
instead of `kubectl wait` (the latter does not seem to work with
stateful sets)
- Use `kubectl exec` against the celestia-app container in the stateful
set to initialize the transfer instead of a locally present
`celestia-appd`

## Testing
This is an update to the ibc ics20 smoke test flow. The test still
passes with the expected result.

## Related Issues
Closes #1296
Closes #1295
ethanoroshiba pushed a commit that referenced this pull request Aug 14, 2024
…1302)

## Summary
Updates the `charts/celestia-local` to spin up `celestia-appd` in a
stateful set. Executes the ics20 transfer inside the celestia-app
container inside the set.

## Background
#1285 updates the ibc ics20
transfer test to require `celestia-appd` and an initialized celestia
keystore to be present on the machine running the test. This is
undesirable because it pollutes the host environment and creates
potential for collisions. Turning `celestia-local` from a kubernetes
deployment to a stateful set allows executing the ics20 transfer from
inside the container.

## Changes
- Rename `charts/celestia-local/templates/deployment.yaml ->
charts/celestia-local/templates/statefulsets.yaml`
- Changes `kind: Deployment -> kind: StatefulSet` in that file
- Update recipes in `charts/deploy.just` to use `kubectl rollout status`
instead of `kubectl wait` (the latter does not seem to work with
stateful sets)
- Use `kubectl exec` against the celestia-app container in the stateful
set to initialize the transfer instead of a locally present
`celestia-appd`

## Testing
This is an update to the ibc ics20 smoke test flow. The test still
passes with the expected result.

## Related Issues
Closes #1296
Closes #1295
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cd ci issues that are related to ci and github workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

celestia-local should be a stateful set IBC smoke tests shouldn't require an additional binary to install

2 participants