The airgap script used to work with the Mike Farah's yq.
Anyway, it was incompatible with the Andrey Kislyuk's yq version (which
is the main python3 version you would get via pip).
Drop the eval arg from yq in the airgap script to make it compatible
with both.
Also check the yaml keys are there before trying recursion (which would
led to error out with some yq parsers)
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Build e2e chart locally
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Add mockgen to build tools
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Add missing GINKGO tool
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Reduce e2e tests concurrency
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Make test more verbose
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Bump system-upgrade-controller version
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Raise timeout
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Print error
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Add plan crd
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Adjust timeout
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Do not deploy operator twice
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Restore vendored helper
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Do not attempt to delete pods multiple times
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Remove debug println
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Disable e2e workflow
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Update ele-testhelpers library
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
---------
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* operator: introduce support to IPAM assigned IP address
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Add nmstate support
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
---------
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
Co-authored-by: Francesco Giudici <francesco.giudici@suse.com>
* Update system-upgrade-controller API
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Update Fleet API
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Sanitize dependencies
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
---------
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
channel.image expects a full image url, including the registry, while
channel.repository expects the repository url stripped of the registry.
Manage it correctly when printing the next steps.
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* scripts/elemental-airgap.sh: sort options in alphabetical order
* scripts/elemental-airgap.sh: add Hauler support
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Add build-docker-register for local development
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Fix managed os image version when using custom registry ports
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
...and also to skip archive creation.
This way the script should be ready for usage for the airgap scenario
with the chart in the Rancher Marketplace and could allow more custom
airgap setup where the images downloaded are pushed to the registry
in a different way, without passing through a tar.gz
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
when building the local channel image, if no name is provided, an
automatic one is created using the local registry name.
Drop the ':' from the registry name if present, otherwise docker tagging
will fail with an error.
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
Allow to extract and download the OS images specified in the channel
image shipped with the Elemental Operator chart.
Build a new channel image targeting the local registry of the airgapped
scenario (which is now a mandatory option).
Fixes https://github.com/rancher/elemental/issues/950
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
It will allow to automatically pick the right repos for both the
elemental-operator chart and the crds chart.
Minor improvements (overwrite image list txt file and add a couple of
usage examples in the help).
pick the chart as a mandatory argument.
If the argument is a path, download the chart. Otherwise consider it an
already downloaded file.
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
- Added full registration config and statefile path parameters on elemental-register
- Remove support for multiple configuration files
- Added (hardcoded) timer to skip registration updates for 24 hours
- Store emulated TPM seed for future registration updates
- Exit with error code in case of failures (systemd will manage restarts)
- Use virtual filesystem where possible
This target (ab)uses the ginkgo BeforeSuite to have a ready-to-test
cluster with all prerequisites installed for easy testing.
It will build the docker image for the operator, build the chart
pointing to that image, setup a kind cluster, load the docker image
locally built into the cluster and run an empty test which is done so
the BeforeSuite is run, which installs all the needed charts and the
operator into the system.
Signed-off-by: Itxaka <igarcia@suse.com>
Remove all the mentions to rancheros-operator in tests, imports and
dependencies.
Restore e2e scripts and test targets on makefile
Fix all lint issues
Signed-off-by: Itxaka <igarcia@suse.com>
* Move main into a cmd/operator package
* Add elemental-installer
* Adding installer unit tests
* Update Makefile
* Update .github/workflows/unit-tests.yaml
* Adapat Dockerfile and golreleaser to keep releasing and building elemental-operator as they used to
Signed-off-by: David Cassany <dcassany@suse.com>
Co-authored-by: Itxaka <igarcia@suse.com>
- Allow setting different image versions for kubernetes
- Set a matrix for kubernetes version on CI
- Use kubectl wait to wait for control panel to be ready
- Set default kubernetes version to latest rancher ready (v1.22.7)
Signed-off-by: Itxaka <igarcia@suse.com>
- Also add nginx as ingress as is more compliant to kind
- Move out some common code pieces
- Address points from review
Signed-off-by: Ettore Di Giacinto <edigiacinto@suse.com>
- Drops everything not needed for ros-operator
- New simple Dockerfile
- New jobs based on ros-operator only
- Remove uneeded tests
- Remove dependency on os2 images for integration tests
- Use gorelease to release ros-operator binaries
- Use docker to push ci images to ros-operator-ci registry on PR
- Use docker to push master/tag images to ros-operator registry
- Build chart indepently
- Have a null test CI job for future integration tests
Signed-off-by: Itxaka <igarcia@suse.com>
* Allow to specify a upgradeContainerSpec on ManagedOS
https://github.com/rancher-sandbox/os2/issues/59
Signed-off-by: Ettore Di Giacinto <edigiacinto@suse.com>
* Run go generate and update wrangler
Also pin golang.org/x/tools to latest, to workaround
https://github.com/golang/go/issues/37617
Signed-off-by: Ettore Di Giacinto <edigiacinto@suse.com>
* Update docs
Signed-off-by: Ettore Di Giacinto <edigiacinto@suse.com>
* Adapt to new wrangler signal context
9460166aed
Signed-off-by: Ettore Di Giacinto <edigiacinto@suse.com>
* Fixup license headers
Signed-off-by: Ettore Di Giacinto <edigiacinto@suse.com>