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

Bug/config description #245

Merged
merged 116 commits into from
Mar 22, 2024
Merged
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
66b8fc1
chore: reorder config alphabetically
yanksyoon Jan 29, 2024
0f1fd01
chore: add openstack-cloud-yaml config option
yanksyoon Jan 29, 2024
a3ec71c
chore: reorder charm state alphabetically
yanksyoon Jan 29, 2024
0470005
chore: reorder charm state alphabetically
yanksyoon Jan 29, 2024
d4ae2ff
chore: reorder requirements.txt alphabetically
yanksyoon Jan 29, 2024
24062a5
Merge branch 'main' into feat/openstack
yanksyoon Jan 31, 2024
acf5078
feat: initialize openstack connection
yanksyoon Feb 1, 2024
fcca07e
ensure cloud config dir is present
cbartz Feb 7, 2024
a236111
Merge branch 'main' into feat/openstack
cbartz Feb 7, 2024
c29257e
test microstack installation on gh hosted ones
cbartz Feb 9, 2024
43f3063
test microstack installation on gh hosted ones
cbartz Feb 9, 2024
b3043e9
use two-xlarge
cbartz Feb 9, 2024
a1049dd
use one step
cbartz Feb 9, 2024
dd9c27b
Merge branch 'main' into feat/openstack
cbartz Feb 13, 2024
c2b08e1
checkin current workflow
cbartz Feb 13, 2024
430232a
Add integration test
cbartz Feb 13, 2024
0061b1c
Specify microk8s-addons (disable rbac)
cbartz Feb 13, 2024
76890b5
bootstrap lxd controller
cbartz Feb 14, 2024
4705ce2
Merge branch 'main' into feat/openstack
cbartz Feb 14, 2024
b501181
give a try with xlarge
cbartz Feb 14, 2024
81391f1
Refactor and add unit tests
cbartz Feb 14, 2024
d682c8a
Add call to test connection
cbartz Feb 14, 2024
103123d
Move openstack check to __init__
cbartz Feb 14, 2024
36b34d9
Revert "Move openstack check to __init__"
cbartz Feb 14, 2024
0a2f84c
Remove status in wait_for_idle
cbartz Feb 14, 2024
a02d114
Rename config name
cbartz Feb 14, 2024
85c93a3
Cleanup
cbartz Feb 15, 2024
31f4cbf
update script
cbartz Feb 15, 2024
afbeab9
update script with shellcheck directive
cbartz Feb 15, 2024
ab39e6d
Fix requirements
cbartz Feb 15, 2024
32b02aa
Use clouds.yaml for integration test
cbartz Feb 19, 2024
b52dd3f
Generate clouds.yaml using sunbeam
cbartz Feb 19, 2024
f89dba8
Fix openstack connect test in setup
cbartz Feb 19, 2024
080eecd
chore: ignore testing clouds.yaml
yanksyoon Feb 20, 2024
a703649
chore: validate input type
yanksyoon Feb 20, 2024
3a135a2
chore: move type validation to charm state module
yanksyoon Feb 20, 2024
cf70f95
feat: initial openstack build image
yanksyoon Feb 23, 2024
62b01d5
feat: reduce image size
yanksyoon Feb 23, 2024
451d3ce
feat: create instance w/ cloud-init userdata script
yanksyoon Feb 27, 2024
1eba5ac
chore: define literal types for runner application
yanksyoon Feb 28, 2024
5bbdf12
chore: cloudimg multiarch support
yanksyoon Feb 28, 2024
5871b95
Merge branch 'main' of https://github.com/canonical/github-runner-ope…
yanksyoon Feb 28, 2024
15de9b4
chore: factor out get runner application func
yanksyoon Feb 28, 2024
6a70b41
chore: type hint openstack clouds yaml dict
yanksyoon Feb 28, 2024
e3ac73f
chore: build on test mode only
yanksyoon Feb 28, 2024
b7c6112
chore: refactor too inject github client than instantiate from token
yanksyoon Mar 1, 2024
e9e17f4
test: test for openstack servers
yanksyoon Mar 1, 2024
477f7ba
Merge branch 'main' of https://github.com/canonical/github-runner-ope…
yanksyoon Mar 5, 2024
adce2b6
test: openstack integration test
yanksyoon Mar 5, 2024
cd8f391
test: use only openstack
yanksyoon Mar 5, 2024
45efd5f
fix: helpers import
yanksyoon Mar 5, 2024
cdb424c
fix:connect cloud
yanksyoon Mar 5, 2024
3927aa6
debug
yanksyoon Mar 6, 2024
b163540
chore: remove unattended upgrades
yanksyoon Mar 6, 2024
37e8d4e
fix: use vm w/ machine constraints
yanksyoon Mar 6, 2024
4179ac5
fix: use units in mem/disk size
yanksyoon Mar 6, 2024
1fd2241
fix: translate to gigabytes
yanksyoon Mar 6, 2024
d966a30
fix: increase mem
yanksyoon Mar 6, 2024
3192bd1
fix: increase timeout
yanksyoon Mar 6, 2024
12375ef
chore remove tmate debug
yanksyoon Mar 6, 2024
33e9eb5
chore: don't use lxd profile for openstack test
yanksyoon Mar 6, 2024
e75637a
chore: run modeprobe br_netfilter before lxc launch
yanksyoon Mar 7, 2024
c53f4fd
chore: revert image brnetfilter changes
yanksyoon Mar 7, 2024
4b43821
feat: on_install for openstack mode
yanksyoon Mar 7, 2024
0a08ace
test: add additional charm config
yanksyoon Mar 7, 2024
4916391
chore: move openstack handle to on_install hook
yanksyoon Mar 7, 2024
e2c6ed9
chore: block all hooks on openstack config
yanksyoon Mar 7, 2024
46b3b75
fix: add back e2e test run workflow
yanksyoon Mar 7, 2024
fbc1e8e
chore: proxy configs
yanksyoon Mar 8, 2024
278fe03
chore: wait for server creation
yanksyoon Mar 10, 2024
45e6b98
Merge branch 'main' into feat/openstack_image
yanksyoon Mar 10, 2024
96217cf
fix: create flavor
yanksyoon Mar 11, 2024
4e5f065
chore: test flavour to small
yanksyoon Mar 11, 2024
81d9db0
debug
yanksyoon Mar 11, 2024
76b0d10
fix: add retry
yanksyoon Mar 11, 2024
fe6dc2a
fix: use bootstrapped microstack for image buildtesting
yanksyoon Mar 11, 2024
6e8f4f7
chore: add comment to reemove cluster bootstrap
yanksyoon Mar 11, 2024
50317f8
fix: sunbeam user show (user list permission denied)
yanksyoon Mar 11, 2024
4a47f2a
fix: stringify proxy vars
yanksyoon Mar 11, 2024
c818eaa
test: unit tests for openstack manager
yanksyoon Mar 11, 2024
36f22af
add retry
yanksyoon Mar 11, 2024
d85f73e
Revert "test: use only openstack"
yanksyoon Mar 11, 2024
8cf6c3d
remove tmate debug
yanksyoon Mar 11, 2024
008b41d
add back license
yanksyoon Mar 11, 2024
95661db
remove extra line
yanksyoon Mar 11, 2024
44c78f6
lint & test fixes
yanksyoon Mar 12, 2024
c007a60
refactor openstack_manager to openstack_cloud module
yanksyoon Mar 12, 2024
c2268a7
refactor block_on_openstack_config
yanksyoon Mar 12, 2024
f800a72
update keyerror message
yanksyoon Mar 12, 2024
e50eda6
test: fix test for updated error message
yanksyoon Mar 12, 2024
688439e
fix: pass state to block_on_openstack_config
yanksyoon Mar 12, 2024
e0e1824
refactor get_runner_applications
yanksyoon Mar 12, 2024
63a7215
Merge branch 'main' into feat/openstack_image
yanksyoon Mar 12, 2024
354fc06
add pipefail for build images
yanksyoon Mar 13, 2024
3ee927f
add cloudconfig type
yanksyoon Mar 13, 2024
52b9f68
refactor modules for unit testing
yanksyoon Mar 13, 2024
0998a8d
Merge branch 'feat/openstack_image' of https://github.com/canonical/g…
yanksyoon Mar 13, 2024
fd3c002
fix style issues
yanksyoon Mar 13, 2024
845eb1a
rename build image to build lxd image
yanksyoon Mar 13, 2024
3c167fc
check for different subprocess error
yanksyoon Mar 13, 2024
4525849
conditional /etc/environment update
yanksyoon Mar 13, 2024
52edd91
use already defined constant
yanksyoon Mar 13, 2024
53434ae
chore: move functions per contributing guid
yanksyoon Mar 13, 2024
8adb5ca
chore: refactor _build_image_command
yanksyoon Mar 13, 2024
b1a63cf
lint fix
yanksyoon Mar 14, 2024
7cc062f
test: mark expected failure test
yanksyoon Mar 19, 2024
30b07e8
Merge branch 'main' of https://github.com/canonical/github-runner-ope…
yanksyoon Mar 19, 2024
ba9e903
update create connection
yanksyoon Mar 20, 2024
bfd7132
remove unauthorized exception handling
yanksyoon Mar 20, 2024
5e027ec
remove unauthorized exception handling
yanksyoon Mar 20, 2024
5ab2f1a
add back unauthorized handling
yanksyoon Mar 20, 2024
2dfef0c
test: fix context manager related failures
yanksyoon Mar 20, 2024
eba55e5
test: remove unused var
yanksyoon Mar 20, 2024
010aed8
chore: remove debug print
yanksyoon Mar 20, 2024
9923529
Fix multi-line description
yhaliaw Mar 21, 2024
a8eab4e
Merge branch 'main' into bug/config-description
yhaliaw Mar 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,29 @@ options:
denylist:
type: string
default: ""
description: |
description: >-
A comma separated list of IPv4 networks in CIDR notation that runners can not access.
The runner will always have access to essential services such as DHCP and DNS regardless
of the denylist configuration.
dockerhub-mirror:
type: string
default: ""
description: |
description: >-
The private docker registry configured as dockerhub mirror to be used by the runners. If set
a message will be displayed prior to job execution on self-hosted runner informing users to
use the provided registry.
experimental-openstack-clouds-yaml:
type: string
default: ""
description: |
description: >-
(Experimental, under development) The openstack clouds.yaml
(https://docs.openstack.org/python-openstackclient/pike/configuration/index.html#clouds-yaml).
Setting the openstack-clouds-yaml would enable spawning runners on OpenStack, instead of LXD
vms. This feature is not yet ready and is under development.
experimental-use-aproxy:
type: boolean
default: false
description: |
description: >-
(Experimental, may be removed) When set to true, aproxy (https://github.com/canonical/aproxy)
will be installed within the runners. It will forward all HTTP(S) traffic to standard ports
(80, 443) to a proxy server configured by the juju model config 'juju-http-proxy'
Expand All @@ -39,28 +39,28 @@ options:
group:
type: string
default: "default"
description: |
description: >-
The organization runner group to register the self-hosted runner under. This has no effect on
runners under a repository.
labels:
type: string
default: ""
description: |
description: >-
Additional comma separated labels to attach to self-hosted runners. By default, the labels
"self-hosted", application name (default: "github-runner"),
architecture (i.e. "x64", "arm64"), os (i.e. "linux"), os-flavor (i.e. "jammy") are set.
Any labels provided via this configuration will be appended to the default values.
path:
type: string
default: ""
description: |
description: >-
The organization or the repository to register the self-hosted runners. For organization the
path would be the name of the organization. For repository the path should be in the
"{owner}/{repo}" format.
reconcile-interval:
type: int
default: 10
description: |
description: >-
Minutes between each reconciliation of the current runners state and their targeted state.
On reconciliation, the charm polls the state of runners and see if actions are needed. A
random delay of 25% is added. Changes to this time interval will apply when next interval is
Expand All @@ -69,43 +69,43 @@ options:
runner-storage:
type: string
default: "juju-storage"
description: |
description: >-
The storage for runner LXD instance to mount as disk. Can be "memory" or "juju-storage". If
set to "memory", memory-based storage created with tmpfs will be used as disk for LXD
instances. If set to "juju-storage", storage provided by juju will be used as disk for LXD
instances. This configuration cannot be changed after deployment. The charm needs to be
redeployed to change the storage option.
test-mode:
type: string
description: |
description: >-
When set to 'insecure', the charm test mode is activated, which may deactivate some security
hardening measures.
token:
type: string
default: ""
description: |
description: >-
The GitHub Personal Access Token for registering the self-hosted runners. The token requires
'repo' scope for repository runners and 'repo' + 'admin:org' scope for organization runners.
virtual-machines:
type: int
default: 1
description: |
description: >-
The number of virtual machine runners. This charm will spawn or destroy virtual machines
runners to match this setting.
vm-cpu:
type: int
default: 2
description: |
description: >-
The number of CPUs used per virtual machine runner.
vm-memory:
type: string
default: 7GiB
description: |
description: >-
Amount of memory to allocate per virtual machine runner. Positive integers with KiB, MiB, GiB,
TiB, PiB, EiB suffix.
vm-disk:
type: string
default: 10GiB
description: |
description: >-
Amount of disk space to allocate to root disk for virtual machine runner. Positive integers
with KiB, MiB, GiB, TiB, PiB, EiB suffix.
Loading