28 Commits

Author SHA1 Message Date
Guillaume Boutry
f0adcefc64 Implement openstack-images-sync on k8s
Change-Id: Ie9a6559762a1180657f06307674daf4eba559a0f
2024-04-20 13:31:29 +00:00
Hemanth Nakkina
1392c30c99
Trigger func-test-tempest job when ops-sunbeam is changed
Add ops-sunbeam to list of files to track for changes
to trigger func-test-tempest job.

Change-Id: I81ae61eed4afc6e351565db1415804ed74ad4b4e
2024-04-19 15:02:59 +05:30
James Page
42e8bc6e42 Update for 2024.1
Refresh 2023.2 -> 2024.1 which will impact all charms, so we
should not need to pre-seed the edge channel before this works.

Refresh 23.09 -> 24.03 for OVN charms.

Option sql_connection is removed form 2024.1 release [1]
Use below snippet for magnum-k8s conf template
[database]
connection = <>

Update horizon local_settings.py.j2 template

[1] https://docs.openstack.org/releasenotes/oslo.db/en_GB/2024.1.html

Mark tempest test as non-voting as its currently unstable.

Change-Id: I4e277a4c5e438e2f2112a167b0f3050c1526cd0a
2024-04-18 23:21:03 +00:00
Guillaume Boutry
42b4490abc
Make func tempest non voting until made more stable
Func tempest has stability issues, make it non-voting until this is
fixed, to unblock the CI.

Change-Id: Ic820d8fa3690eebbe8322a8206fe5dd8a09c72c4
2024-04-18 15:04:42 +02:00
Hemanth Nakkina
496d48a237
Remove func-test-machine job
func-test-machine jobs requires kvm setup on
the CI machines allocated. However recently
seems jobs are allocated to machines where
KVM is not setup.
Even though special nodesets are available to
get machines with KVM for CI tests, gate tests
should avoid using them as per infra team.

Removing func-test-machine job from list of
jobs to be executed.

Change-Id: Id01f68b20231861392d05c111e872ddbafc2f2f5
2024-03-12 17:34:37 +05:30
Samuel Allan
5e40ba7d81
Add func tests for tempest-k8s charm
This is to verify that the tempest-k8s charm deploys successfully
(reaches active/idle, the tempest environment was set up successfully),
and doesn't adversely impact the rest of the sunbeam deployment.

Func tests with this charm have been observed to be unstable
(unexpected errors running certain tests),
so for now only minimal tests are added,
and it has been implemented in its own new test bundle.
This new test bundle is only triggered on changes in tempest-k8s code,
so it shouldn't affect the CI for other charms if it becomes unstable.

We still need to add more tests and debug the issues we were seeing,
but in the interests of time, we aim to implement these tests
and debug the issues in follow up patches.

Change-Id: I548eb07ed1eb9e67c46f62a16d36bfaec83d7040
2024-03-06 09:55:34 +10:30
Hemanth Nakkina
57070337b4
Bump juju channel to 3.4
Move testing to juju 3.4

Set base to ubuntu@22.04 in all test bundles with traefik
charm to ubuntu@20.04. tox can be modified to include
default-series=;default-base=ubuntu@22.04 in TEST_MODEL_SETTINGS
but that is not working for lxd based cloud.

Update tox to use zaza from main instead of libjuju-3.1
for func tests.

Func-tests for core are failing due to heavy load. Moved horizon
to tests/misc

Change-Id: I6c025e1350aad7ead922cf5feef19c67c308dbbd
2024-02-22 15:58:06 +05:30
Hemanth Nakkina
a247f7b2d5
Change functest nodeset to ubuntu-jammy
Functests are currently run on ubuntu-focal.
Change zuul configuration to chose ubuntu-jammy.

Change-Id: Iae2b7cc57c7f639f017ae3ccd5fe787e59047c68
2024-02-21 16:02:33 +05:30
Hemanth Nakkina
f86aa6278d
Add job to publish tempest-k8s charm
Add new job to publish tempest-k8s charm
on changes in ops-sunbeam or tempest-k8s
or rebuild.
Add job in the promote pipeline.

Change-Id: Ic564b7022e33498d61191ef2e4680095e4370a1e
2024-02-08 08:19:34 +05:30
Hemanth Nakkina
b9307183f7
Publish tempest-k8s charm
Add zuul variable tempest-k8s to publish charm.
Add tox to generate token.
Run generate token to update secret to include
publish permissions for new charm tempest-k8s

Change-Id: I36566b73d9edc0e05a27591db24daf9f3634b518
2024-02-02 15:25:35 +05:30
Chi Wai Chan
ce20965836 Add tempest-k8s charm
Add a charm for running tempest against a sunbeam openstack deployment.
It has support for running a "validate" action with parameters
passed to tempest.
Further development is planned, including periodic (cron based) tempest
checks and integration with COS.
Initial stubs are included to support this development.

Co-authored-by: Samuel Allan <samuel.allan@canonical.com>

Change-Id: Ie66177489ae38355a8f0025006192cc409e0e761
2024-02-02 09:39:40 +10:30
Guillaume Boutry
619976fe43
Implement sunbeam-clusterd
Sunbeam-clusterd can scale up and down.
Currently, the external address in bound to the peers relationship.
Exposes the action `get-credentials` which returns the URL. In the long
term, it will return the credentials to access securely clusterd.

Change-Id: I8b91efe6d96198f5ad3634b9747161225381ded6
2024-01-25 12:30:54 +01:00
Guillaume Boutry
baa428eede
Publish sunbeam machine 2023.2
Change-Id: I63eee9553b224738dd44c29ae9d269de391f3d68
2024-01-16 09:38:45 +01:00
Zuul
78661ce8bc Merge "Regenerate secrets to publish charms" into main 2024-01-15 12:21:48 +00:00
Guillaume Boutry
81be68e168
Regenerate secrets to publish charms
Add utility for generating a new secret.

Change-Id: If1c379ba88a8ab012bee1fc70265966f59c17dea
2024-01-12 14:05:29 +01:00
Guillaume Boutry
e8bd6abe7f
Add sunbeam-machine to publish channel
Change-Id: I16af6b7d709ef76daced8d0a02532b6f9dd5d38a
2024-01-12 11:18:50 +01:00
Guillaume Boutry
cd5418a0a3
Add sunbeam-machine to monorepo
Sunbeam-machine was a miss during migration to monorepo.

Change-Id: I5ae420882258e405405a079ddb4ae3356ca776c9
2024-01-12 09:36:20 +01:00
Guillaume Boutry
375ec0eae4
Make functional tests voting
Jobs have been successfully passing for the rights reasons
consistently. If a functional test fails, it should be investigated in
the patch.

Change-Id: I477cad32e8f782270d473cf04869d796fca3e294
2024-01-02 10:11:55 +01:00
Guillaume Boutry
a2a60b2c65
Allow rebuild charms on modifying a rebuild file
A main rebuild file at the root will trigger every jobs.

Change-Id: I06e986d0585495946027dbbcaad4145c4fc4c592
2023-12-06 18:58:50 +01:00
Guillaume Boutry
ca84fb2662
Only execute promote job when corresponding charm has changed
Change-Id: Ic86eb46a159e57174ebedad4d044fa656d59407d
2023-12-06 17:27:42 +01:00
Guillaume Boutry
70dcad57d8
Split publish job for each charm
Change-Id: I7a2f58fbc146b1c2fb235a349533e4aafba1b8b6
2023-12-06 16:49:54 +01:00
Guillaume Boutry
985a72c331
Generate charmhub secret with read permissions
Previous secret only had write permissions on charms. Read permissions
are necessary to upload resources.

Permissions on token:
- package-manage-metadata
- package-manage-releases
- package-manage-revisions
- package-view-metadata
- package-view-releases
- package-view-revisions

Change-Id: I1d4787985a57b2f8a01f9ad6e1de4b2072bf018b
2023-12-06 09:09:19 +01:00
Guillaume Boutry
9fae0c783c
Set publish charm to true globally.
By default, publish charms. For debug purpose, we might need to allow
toggling this feature at charm level.

Change-Id: Ib83a5875c8b1e9c47b2849f2ce3907143208f9cc
2023-12-05 10:20:15 +01:00
Hemanth Nakkina
e8666ea678
Configure charm build on jammy
Insert nft rule on openstack-INPUT chain allowing incoming traffic on
lxdbr0.
Switch charmbuild to 2.x/stable.

Change-Id: I1ccb90cf46751875c0e1b4b528e7bab1e6befc13
2023-12-04 18:10:01 +01:00
Hemanth Nakkina
7503f5cdba
Add charm-publish-jobs in zuul.yaml
Add project template charm-publish-jobs to
zuul.yaml so that promote pipeline can trigger
charm publish job

Change-Id: I8fad4c3a24f4ed04e3271a938c25270a499d1cbb
2023-12-01 13:06:21 +05:30
Hemanth Nakkina
1719c5370d
Change nodeset to ubuntu-jammy
Change nodeset for charm build jobs to
ubuntu-jammy and set nodeset ubuntu-jammy
to publish-charms job

Change-Id: I74258d5680d19b368a944a250d33ecab359b0d51
2023-12-01 12:35:02 +05:30
Hemanth Nakkina
5a2ece1614
Remove post-review for publish-charms job
post-review is set as true for publish-charms job.
Remove post-review so that it will take default
value false.

Change-Id: I51f62ee03a5df7755ecf64eea51b826924321ce4
2023-11-30 19:27:55 +05:30
Hemanth Nakkina
df70e376ff
Add zuuljobs
* Add sunbeam project template to run pep8, py3 tests
* Add zuul.d/zuul.yaml to run pep8, py3, cover tests
* Update charmcraft and requirements for each charm
* Add global tox.ini to invoke fmt, pep8, py3, cover,
  build
* Add gitreview file
* Fix py3 test failures in ciner-ceph-k8s, glance-k8s,
  openstack-exporter
* Add jobs for charm builds using files option so that
  job is invoked if files within the component are
  modified. Add charm builds to both check and gate
  pipeline.
* Make function tests as part of global. Split the function
  tests into core, ceph, caas, misc mainly to accomodate
  function tests to run on 8GB. Add function tests as
  part of check pipeline.
* Add zuul job to publish charms in promote pipeline
  Add charmhub token as secret that can be used to
  publish charms.
  Note: Charmhub token is generated with ttl of 90 days.
* Run tox formatting
* Make .gitignore, .jujuignore, .stestr.conf global and
  remove the files from all charms.
* Make libs and templates global. Split libs to internal
  and external so that internal libs can adhere to
  sunbeam formatting styles.
* Add script to copy common files necessary libs, config
  templates, stestr conf, jujuignore during py3 tests
  and charm builds.
* Tests for keystone-ldap-k8s are commented due to
  intermittent bug LP#2045206

Change-Id: I804ca64182c109d16bd820ac00f129aa6dcf4496
2023-11-30 15:32:39 +05:30