wip: Oracle Cloud support - #871
Conversation
3e045be to
d48af83
Compare
d48af83 to
367367a
Compare
|
private ipv4 & public ip is not exposed via afterburn in Oracle which is required for some tests. So I need to add it upstream. For now I will use systemd hack. Correct me if I am mistaken. @tormath1 https://github.com/coreos/afterburn/blob/main/docs/usage/attributes.md#metadata-attributes |
|
I think my PR is ready. Let me know what else to implement. |
tormath1
left a comment
There was a problem hiding this comment.
Thanks a lot, overally it looks good. I just have one request, usually the ore command is used to create and upload an image on the cloud provider. Is that possible to implement this?
It's then used like that: https://github.com/flatcar/scripts/blob/d2c217cb741debc9becda0bda86347319f17a65c/ci-automation/vendor-testing/stackit.sh#L24-L48
We first upload the image then we use the resulting image ID in the kola run command.
|
Done, tested ore image uploads. Added retry also, using
|
tormath1
left a comment
There was a problem hiding this comment.
Looks good, thanks! I'll give a try in the CI.
| }, nil | ||
| } | ||
|
|
||
| func (a *API) WaitForInstanceState(ctx context.Context, instanceID string, state core.InstanceLifecycleStateEnum) (*core.Instance, error) { |
There was a problem hiding this comment.
Do we still need all of this now we use the OCI Retry mechanism?
If yes, let's just use the Mantle implementation:
$ go doc util.Retry
package util // import "github.com/flatcar/mantle/util"
func Retry(attempts int, delay time.Duration, f func() error) error
Retry calls function f until it has been called attemps times, or succeeds.
Retry delays for delay between calls of f. If f does not succeed after
attempts calls, the error from the last call is returned.
There was a problem hiding this comment.
Checked the OCI Retry mechanism but it is too verbose, so using mantle's util.Retry for simpler approach. WaitForInstanceState wrappers are needed for nice error formatting.
Signed-off-by: Navaneeth <me@rizexor.com>
Signed-off-by: Navaneeth <me@rizexor.com>
Signed-off-by: Navaneeth <me@rizexor.com>
Signed-off-by: Navaneeth <me@rizexor.com>
Signed-off-by: Navaneeth <me@rizexor.com>
Signed-off-by: Navaneeth Rao <me@rizexor.com>
Signed-off-by: Navaneeth Rao <me@rizexor.com>
Signed-off-by: Navaneeth Rao <me@rizexor.com>
Signed-off-by: Navaneeth Rao <me@rizexor.com>
Signed-off-by: Navaneeth Rao <me@rizexor.com>
Signed-off-by: Navaneeth Rao <me@rizexor.com>
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Co-authored-by: Mathieu Tortuyaux <mathieu.tortuyaux@gmail.com> Signed-off-by: Navaneeth Rao <me@rizexor.com>
Signed-off-by: Navaneeth Rao <me@rizexor.com>
c89350c to
bac4000
Compare
There was a problem hiding this comment.
I did a full run, here's the failing tests:
11:48:45 cl.ignition.v2.noop
11:48:45 cl.ignition.v1.noop
11:48:45 cl.ignition.misc.empty
11:48:45 cl.cloudinit.basic
cl.cloudinit.basic can be excluded as there is no cloudinit implementation for Oraclecloud in Flatcar.
For the three others, it should work - as Afterburn implementation is done. I think we're missing the SSH public key upload: Mantle generates public key, so we need to upload it and associate it the spawned instances.
As discussed on private, the ARM64 implementation needs some rework but we can merge this without for now.
Otherwise the rest looks good. Thanks a lot for this huge contribution.
| // Oracle Cloud Infrastructure specific options | ||
| sv(&kola.OracleCloudOptions.Tenancy, "oraclecloud-tenancy", "", "Oracle Cloud tenancy") | ||
| sv(&kola.OracleCloudOptions.User, "oraclecloud-user", "", "Oracle Cloud user") | ||
| sv(&kola.OracleCloudOptions.Region, "oraclecloud-region", "", "Oracle Cloud fingerprint") |
There was a problem hiding this comment.
| sv(&kola.OracleCloudOptions.Region, "oraclecloud-region", "", "Oracle Cloud fingerprint") | |
| sv(&kola.OracleCloudOptions.Region, "oraclecloud-region", "", "Oracle Cloud region") |
Signed-off-by: Navaneeth Rao <me@rizexor.com>
Signed-off-by: Navaneeth Rao <me@rizexor.com>
Adds Oracle Cloud Testing Support
Adds Oracle Cloud Testing Support.