lp:~troyanov/maas

Owned by Anton Troyanov
Get this repository:
git clone https://git.launchpad.net/~troyanov/maas
Only Anton Troyanov can upload to this repository. If you are Anton Troyanov please log in for upload directions.

Branches

Name Last Modified Last Commit
backport-2c575e5-3.5 2024-04-06 07:11:25 UTC
fix: nginx rackd.conf httpproxy socket location

Author: Anton Troyanov
Author Date: 2024-04-05 22:12:14 UTC

fix: nginx rackd.conf httpproxy socket location

Resolves LP:2060288

(cherry picked from commit 2c575e55a3f007c37c38f0d2933921783804f642)

backport-668b2cd-3.5 2024-04-05 19:26:10 UTC
fix: lp-2060278. Rename image sync lock file to match other maas lock files

Author: Jacopo Rota
Author Date: 2024-04-05 13:09:11 UTC

fix: lp-2060278. Rename image sync lock file to match other maas lock files

(cherry picked from commit 668b2cd9f24661520c022bc11f74286cd1d1bc01)

backport-147ce84-3.5 2024-04-05 16:21:37 UTC
Fix lp bug 2033632

Author: Alessandro Marcolini
Author Date: 2024-04-05 14:16:27 UTC

Fix lp bug 2033632
https://bugs.launchpad.net/maas/+bug/2033632

(cherry picked from commit 147ce845b0575adf944eccafff804caf0bdd876e)

backport-6b04c2a-3.5 2024-04-05 16:02:29 UTC
fix: lp-2060297. Do not start apiserver until the unix socket has been created.

Author: Jacopo Rota
Author Date: 2024-04-05 15:57:35 UTC

fix: lp-2060297. Do not start apiserver until the unix socket has been created.

(cherry picked from commit 6b04c2ab4deab3c0d799215a226b4217e9139399)

fix-2060288 2024-04-05 14:12:11 UTC
fix: nginx rackd.conf fix httpproxy sock location

Author: Anton Troyanov
Author Date: 2024-04-05 14:12:11 UTC

fix: nginx rackd.conf fix httpproxy sock location

go-copyright-lint 2024-04-04 20:05:01 UTC
fixup! chore: lint copyright header in Go files

Author: Anton Troyanov
Author Date: 2024-04-04 20:05:01 UTC

fixup! chore: lint copyright header in Go files

cleanup 2024-04-04 16:11:14 UTC
chore: remove unused tests

Author: Anton Troyanov
Author Date: 2024-04-04 16:11:14 UTC

chore: remove unused tests

backport-d792780-3.4 2024-04-04 16:00:26 UTC
Fixing memory leak when we use apt_pkg in deb.py

Author: Seyeong Kim
Author Date: 2024-04-04 13:44:47 UTC

Fixing memory leak when we use apt_pkg in deb.py

(cherry picked from commit d792780dbd0571fcd94e22cb7ce559d5f69aa1a0)

backport-d792780-3.5 2024-04-04 15:18:39 UTC
Fixing memory leak when we use apt_pkg in deb.py

Author: Seyeong Kim
Author Date: 2024-04-04 13:44:47 UTC

Fixing memory leak when we use apt_pkg in deb.py

(cherry picked from commit d792780dbd0571fcd94e22cb7ce559d5f69aa1a0)

backport-76e0fb0-3.5 2024-04-04 10:08:19 UTC
feat(temporal): enable mTLS

Author: Anton Troyanov
Author Date: 2024-04-04 10:05:42 UTC

feat(temporal): enable mTLS

Use MAAS cluster key/cert and CA to configure Temporal mTLS [0]

[0]: https://docs.temporal.io/self-hosted-guide/security#encryption-in-transit-with-mtls

Resolves LP:2058332

(cherry picked from commit 76e0fb0351f31aa9e4f3c87a78792c8cec20ef0d)

backport-bd7ac34-3.5 2024-04-04 08:27:28 UTC
fix(deb): remove Temporal config files

Author: Anton Troyanov
Author Date: 2024-04-03 22:52:14 UTC

fix(deb): remove Temporal config files

Resolves LP:2057917

(cherry picked from commit bd7ac349483f2fee99baa7d89226c01d6e3e60b6)

temporal-mtls 2024-04-04 08:25:57 UTC
feat(temporal): enable mTLS

Author: Anton Troyanov
Author Date: 2024-04-03 14:52:20 UTC

feat(temporal): enable mTLS

Use MAAS cluster key/cert and CA to configure Temporal mTLS [0]

[0]: https://docs.temporal.io/self-hosted-guide/security#encryption-in-transit-with-mtls

Resolves LP:2058332

fix-2058625 2024-04-02 17:45:26 UTC
fixup! feat: autodetect broadcast address

Author: Anton Troyanov
Author Date: 2024-04-02 17:45:26 UTC

fixup! feat: autodetect broadcast address

fix-2057917 2024-04-01 13:40:40 UTC
fix(deb): remove Temporal config files

Author: Anton Troyanov
Author Date: 2024-04-01 13:40:40 UTC

fix(deb): remove Temporal config files

Resolves LP:2057917

backport-bdb5694-3.5 2024-03-26 16:57:15 UTC
fix: tag evaluation over RPC on rack fails when TLS is enabled

Author: Anton Troyanov
Author Date: 2024-03-26 16:04:41 UTC

fix: tag evaluation over RPC on rack fails when TLS is enabled

Rack Controller is making multiple API calls when EvaluateTag RPC is
called:
- GET /MAAS/api/2.0/nodes/dqk73h/?op=details
- GET ... (other nodes)
- POST /MAAS/api/2.0/tags/Test/?op=update_nodes

Since MAAS already allows certain locations to be served via HTTP
(see src/maasserver/templates/http/regiond.nginx.conf.template)
We decided to skip certificate validation check for this particular RPC
call.

PostHTTPRedirectHandler class is required to solve the following issue [0]
which happens because MAAS forces HTTPS via 301 redirect [1]

[0]: https://bugs.python.org/issue14338
[1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-301-moved-permanently

Resolves LP:2054808

(cherry picked from commit bdb5694d6d0cfd1060366385e67e6c9d9d0790b4)

fix-runtime-dir 2024-03-26 14:21:33 UTC
fixup! fix: /run/maas should be owned by maas

Author: Anton Troyanov
Author Date: 2024-03-26 14:21:33 UTC

fixup! fix: /run/maas should be owned by maas

backport-4aa9e1e-3.5 2024-03-26 13:36:42 UTC
fix: cleanup /run/maas when upgrading

Author: Anton Troyanov
Author Date: 2024-03-26 13:34:31 UTC

fix: cleanup /run/maas when upgrading

MAAS versions before 3.5 have /run/maas owned by root:root
During upgrade to 3.5 we should recreate /run/maas with maas:maas
(creation is done by debian/maas-rack-controller.maas-rackd.service)

(cherry picked from commit 4aa9e1e99dd51533468ee35e907e7efaca2d2992)

fix-deb-run-maas-dir 2024-03-26 12:35:58 UTC
fix: cleanup /run/maas when upgrading

Author: Anton Troyanov
Author Date: 2024-03-26 12:34:37 UTC

fix: cleanup /run/maas when upgrading

MAAS versions before 3.5 has /run/maas owned by root:root
During upgrade to 3.5 we should recreate /run/maas with maas:maas
(creation is done by debian/maas-rack-controller.maas-rackd.service)

fix-2054808 2024-03-26 07:33:21 UTC
fixup! fix: tag evaluation over RPC on rack fails when TLS is enabled

Author: Anton Troyanov
Author Date: 2024-03-26 07:31:21 UTC

fixup! fix: tag evaluation over RPC on rack fails when TLS is enabled

golangci-lint-1.57 2024-03-25 09:48:28 UTC
chore(ci): bump golangci-lint to 1.57.1

Author: Anton Troyanov
Author Date: 2024-03-25 09:48:28 UTC

chore(ci): bump golangci-lint to 1.57.1

backport-a467133-3.5 2024-03-20 14:00:55 UTC
fix: node & current_script_set database integrity

Author: Anton Troyanov
Author Date: 2024-03-20 14:00:29 UTC

fix: node & current_script_set database integrity

Due to a bug in Django [0] there was no foreign key constraint in the database.
So MAAS had nodes pointing to the current commissioning, installation, testing
and release script set that might have been removed already.

[0] https://code.djangoproject.com/ticket/4930

Resolves LP:2056330

(cherry picked from commit a4671339a2fb5a1124fc2382e208d2518267f645)

backport-21cf88e-3.5 2024-03-20 10:54:47 UTC
fix: get Ubuntu kernel for ephemeral deployments

Author: Alexsander de Souza
Author Date: 2024-03-19 08:51:28 UTC

fix: get Ubuntu kernel for ephemeral deployments

fixes LP#2057939

(cherry picked from commit 21cf88e8a2f7855881728f965b7ca85ab59f4268)

fix-2056330 2024-03-20 10:18:41 UTC
fixup! fix: node & current_script_set database integrity

Author: Anton Troyanov
Author Date: 2024-03-20 10:18:41 UTC

fixup! fix: node & current_script_set database integrity

backport-95705c9-3.5 2024-03-20 07:35:09 UTC
fix: MAAS Redfish doesn't reboot Cisco UCS C-series appliance

Author: Anton Troyanov
Author Date: 2024-03-20 07:33:21 UTC

fix: MAAS Redfish doesn't reboot Cisco UCS C-series appliance

Resolves LP:2028000

(cherry picked from commit 95705c9a4d264efe85e472629065b59b714ee0c6)

fix-2028000 2024-03-18 18:49:21 UTC
fix: MAAS Redfish doesn't reboot Cisco UCS C-series appliance

Author: Anton Troyanov
Author Date: 2024-03-18 18:49:21 UTC

fix: MAAS Redfish doesn't reboot Cisco UCS C-series appliance

Resolves LP:2028000

backport-3b58876-3.5 2024-03-18 10:21:54 UTC
fix: /run/maas should be owned by maas

Author: Anton Troyanov
Author Date: 2024-03-18 10:10:42 UTC

fix: /run/maas should be owned by maas

`/run` is usually a tmpfs mount, and it is not persistent across reboots, so
`/run/maas` should not be created using .dirs, .install or .postinst scripts.

MAAS has various services that store their directories and files under
`/run/maas`, but because some services are run as root (e.g. dhcp), this leads
to ownership issues when `mkdir -p` is used (e.g. DHCP will create
`/run/maas/dhcp`)

In order to solve ownership issue, this commit changes DHCP service directory
to `/run/maas-dhcp` while keeping `/run/maas` only for files related to MAAS
itself (not external 3rd party services)

Resolves LP:2056222
Resolves LP:2056225

(cherry picked from commit 3b58876f7dbf6d4b563a36a16282a51876c28255)

fix-2056222 2024-03-18 07:40:20 UTC
fix: /run/maas should be owned by maas

Author: Anton Troyanov
Author Date: 2024-03-18 07:40:01 UTC

fix: /run/maas should be owned by maas

`/run` is usually a tmpfs mount, and it is not persistent across reboots, so
`/run/maas` should not be created using .dirs, .install or .postinst scripts.

MAAS has various services that store their directories and files under
`/run/maas`, but because some services are run as root (e.g. dhcp), this leads
to ownership issues when `mkdir -p` is used (e.g. DHCP will create
`/run/maas/dhcp`)

In order to solve ownership issue, this commit changes DHCP service directory
to `/run/maas-dhcp` while keeping `/run/maas` only for files related to MAAS
itself (not external 3rd party services)

Resolves LP:2056222

backport-069e184-3.5 2024-03-15 08:20:19 UTC
fix(bootresource): lp-2057979. Avoid workflow id clash.

Author: Alexsander de Souza
Author Date: 2024-03-15 08:16:29 UTC

fix(bootresource): lp-2057979. Avoid workflow id clash.

ID must be unique within a namespace

(cherry picked from commit 069e184b0fb96044079d6f75a7ad4f6d1e974494)

fix-wfid 2024-03-15 08:18:32 UTC
chore: reflect workflow type in wfid

Author: Anton Troyanov
Author Date: 2024-03-15 08:18:32 UTC

chore: reflect workflow type in wfid

backport-61a53d4-3.5 2024-03-14 12:36:54 UTC
fix: tftp paths are wrong

Author: Anton Troyanov
Author Date: 2024-03-14 11:54:17 UTC

fix: tftp paths are wrong

TFTP handler will make a proxy call over HTTP to fetch bootloader and
related files. We should not return anything if this is not HTTP 200 OK.

Resolves LP:2057767

(cherry picked from commit 61a53d4c8b98ee63c61900f4dc3cb278b29e3226)

fix-2057767 2024-03-14 10:13:06 UTC
fix: tftp paths are wrong

Author: Anton Troyanov
Author Date: 2024-03-14 09:03:03 UTC

fix: tftp paths are wrong

TFTP handler will make a proxy call over HTTP to fetch bootloader and
related files. We should not return anything if this is not HTTP 200 OK.

Resolves LP:2057767

fix-2056777 2024-03-11 16:54:40 UTC
fixup! chore: move maas-temporal-worker to its own package

Author: Anton Troyanov
Author Date: 2024-03-11 16:54:08 UTC

fixup! chore: move maas-temporal-worker to its own package

Resolves LP:2056777

backport-85fc8ef-3.5 2024-03-05 14:39:16 UTC
restore target used by maas-release-tools

Author: Alexsander de Souza
Author Date: 2024-03-05 14:25:41 UTC

restore target used by maas-release-tools

(cherry picked from commit 85fc8efc48b6b58136c48b7e28ea646be3358836)

print-target 2024-03-05 13:54:43 UTC
restore target used by maas-release-tools

Author: Alexsander de Souza
Author Date: 2023-09-28 15:44:11 UTC

restore target used by maas-release-tools

(cherry picked from commit 53d5ac1f4f782f8f59f399dc3240f8b4a26bc6b4)

update-3.5-snap-ppa 2024-03-05 12:39:38 UTC
update the `package-repositories` to maas/3.5-next

Author: Anton Troyanov
Author Date: 2024-03-05 12:38:08 UTC

update the `package-repositories` to maas/3.5-next

3.5 2024-03-05 08:32:42 UTC
set build PPA to ppa:maas/3.5-next

Author: Anton Troyanov
Author Date: 2024-03-05 08:32:42 UTC

set build PPA to ppa:maas/3.5-next

node-release-scriptset 2024-02-29 08:02:41 UTC
feat: machine release scripts

Author: Anton Troyanov
Author Date: 2024-02-27 11:18:34 UTC

feat: machine release scripts

agent-handle-fatal 2024-02-23 16:17:28 UTC
fix: use unbuffered chan to catch services errors

Author: Anton Troyanov
Author Date: 2024-02-23 16:17:28 UTC

fix: use unbuffered chan to catch services errors

errgroup.Group waits for all goroutines to finish and returns the first
error. In our case we want to fail fast if one of the services is still
running, but another reported a fatal error.

```
g := errgroup.Group{}

g.Go(func() error {
  return errors.New("oops")
})

g.Go(func() error {
  select {}
  return nil
})

// here will be a deadlock
fmt.Println(g.Wait())

```

fix-agent-httpproxy-sock-permissions 2024-02-23 15:07:28 UTC
fix: set 660 permissions on httpproxy.sock

Author: Anton Troyanov
Author Date: 2024-02-23 14:22:22 UTC

fix: set 660 permissions on httpproxy.sock

NGINX workers are running as nobody:maas

just-for-test 2024-02-22 14:18:32 UTC
fix: enable temporal-worker service

Author: Anton Troyanov
Author Date: 2024-02-22 12:58:42 UTC

fix: enable temporal-worker service

remove-unix-build-tag 2024-02-22 13:01:12 UTC
chore: remove linux build tag for file cache

Author: Anton Troyanov
Author Date: 2024-02-22 13:01:12 UTC

chore: remove linux build tag for file cache

Original cache implementation was using linux syscall, but not anymore.

fix-temporal-worker-systemd 2024-02-22 12:58:42 UTC
fix: enable temporal-worker service

Author: Anton Troyanov
Author Date: 2024-02-22 12:58:42 UTC

fix: enable temporal-worker service

backport-7a8e0f3-3.4 2024-02-22 07:36:07 UTC
handle additional return value in registerConnection

Author: Christian Grabowski
Author Date: 2023-08-30 16:41:16 UTC

handle additional return value in registerConnection

(cherry picked from commit 7a8e0f3c47b58e8e0adeb7c55cd3a99b4c448ab5)

backport-7a8e0f3-3.3 2024-02-22 07:34:26 UTC
handle additional return value in registerConnection

Author: Christian Grabowski
Author Date: 2023-08-30 16:41:16 UTC

handle additional return value in registerConnection

(cherry picked from commit 7a8e0f3c47b58e8e0adeb7c55cd3a99b4c448ab5)

rackd-try_files 2024-02-21 13:22:34 UTC
fixup! feat: try_files from the region's image-storage

Author: Anton Troyanov
Author Date: 2024-02-21 13:22:34 UTC

fixup! feat: try_files from the region's image-storage

move-config-agent-wf 2024-02-20 13:23:56 UTC
fixup! Bug #2054377: Temporal worker pool configuration failure

Author: Anton Troyanov
Author Date: 2024-02-20 13:23:56 UTC

fixup! Bug #2054377: Temporal worker pool configuration failure

static-list-of-non-chassis 2024-02-19 11:02:42 UTC
refactor(migration): use static list of non-chassis power types

Author: Anton Troyanov
Author Date: 2023-03-07 14:21:25 UTC

refactor(migration): use static list of non-chassis power types

Migrations should not depend on the code outside them.
Use a list of known non-chassis power types instead of importing
PowerDriverRegistry

gomod-tidy 2024-02-15 12:28:20 UTC
chore(ci): go mod tidy

Author: Anton Troyanov
Author Date: 2024-02-15 12:14:14 UTC

chore(ci): go mod tidy

github.com/hashicorp/golang-lru/v2 became a direct dependency after
introduction of images caching

Add a check under lint-go target to identify if go.mod/go.sum are out of
sync.

bump-pebble-1.8.0 2024-02-15 07:15:06 UTC
chore(deps): bump pebble from 1.7.0 to 1.8.0

Author: Anton Troyanov
Author Date: 2024-02-15 07:15:06 UTC

chore(deps): bump pebble from 1.7.0 to 1.8.0

1.8.0 includes a fix for a deadlock that caused MAAS may get stuck during (re)start.

agent-logs-remove-ts 2024-01-30 15:20:37 UTC
refactor(agent): remove timestamp from logs

Author: Anton Troyanov
Author Date: 2024-01-30 15:08:26 UTC

refactor(agent): remove timestamp from logs

MAAS Agent stdout is captured with systemd-cat
Because journal has it's own timestamp, we don't want to add extra

Before:
```
Jan 29 13:35:30 maas maas-agent[161449]: 1:35PM INF Logger is configured with log level "info"
Jan 29 13:35:30 maas maas-agent[161449]: 1:35PM INF Started Worker Namespace=default TaskQueue=qc38cw@agent:main WorkerID=qc38cw@agent:161449
Jan 29 13:35:30 maas maas-agent[161449]: 1:35PM INF Service MAAS Agent started
```

After:
```
Jan 30 15:05:04 maas maas-agent[253279]: INF Logger is configured with log level "info"
Jan 30 15:05:04 maas maas-agent[253279]: INF Started Worker Namespace=default TaskQueue=qc38cw@agent:main WorkerID=qc38cw@agent:253279
Jan 30 15:05:04 maas maas-agent[253279]: INF Service MAAS Agent started
```

fs-cache-refactored 2024-01-26 10:13:39 UTC
WIP

Author: Anton Troyanov
Author Date: 2024-01-25 08:08:40 UTC

WIP

fix-wf-names 2024-01-25 12:41:28 UTC
chore: fix names for workflows and activities

Author: Anton Troyanov
Author Date: 2024-01-25 12:27:23 UTC

chore: fix names for workflows and activities

fix-2049626 2024-01-24 07:28:32 UTC
fixup! refactor: use /run/maas if not snap

Author: Anton Troyanov
Author Date: 2024-01-24 07:28:32 UTC

fixup! refactor: use /run/maas if not snap

3.2 2024-01-19 14:02:15 UTC
fixup! Prepare for 3.2.10 release

Author: Anton Troyanov
Author Date: 2024-01-19 14:02:15 UTC

fixup! Prepare for 3.2.10 release

For 3.2 it should be focal, not jammy

kicking-the-pebbles 2024-01-16 16:52:39 UTC
chore(deps): bump pebble from 1.5.0 to 1.7.0

Author: Anton Troyanov
Author Date: 2024-01-16 16:52:39 UTC

chore(deps): bump pebble from 1.5.0 to 1.7.0

fix-2048513 2024-01-09 07:53:10 UTC
fix: cannot initialize image storage

Author: Anton Troyanov
Author Date: 2024-01-09 07:53:10 UTC

fix: cannot initialize image storage

Image storage directory might contain symlinks.
When using pathlib.iterdir the children are yielded in arbitrary order,
and that might cause a symlink to be processed first, leading to an
error:
  OSError: Cannot call rmtree on a symbolic link

Resolves LP:2048513

fix-2048283 2024-01-08 11:06:39 UTC
fix: agent http proxy socket path snap/deb

Author: Anton Troyanov
Author Date: 2024-01-08 11:06:39 UTC

fix: agent http proxy socket path snap/deb

Location of socket file depends on how MAAS is installed (deb/snap)

Using explicit ENV var `MAAS_AGENT_HTTP_PROXY_SOCKET_PATH` to match existing approach.

Resolves LP:2048283

xmaas-tree-demo 2023-12-14 22:17:47 UTC
WIP

Author: Anton Troyanov
Author Date: 2023-12-14 22:17:47 UTC

WIP

simple-power 2023-12-12 13:02:01 UTC
fix: remove duplicate wf declaration

Author: Anton Troyanov
Author Date: 2023-12-11 15:16:09 UTC

fix: remove duplicate wf declaration

fix-run-release-scripts 2023-12-12 12:06:41 UTC
fixup! run release scripts in maas_run_remote_scripts

Author: Anton Troyanov
Author Date: 2023-12-12 12:06:41 UTC

fixup! run release scripts in maas_run_remote_scripts

release-script-userdata 2023-11-30 15:27:34 UTC
feature: metadataserver return release scripts

Author: Anton Troyanov
Author Date: 2023-11-30 11:44:05 UTC

feature: metadataserver return release scripts

Return release scripts for machine in status RELEASING

add-current-release-script 2023-11-29 09:51:24 UTC
feat: add current_release_script_set to Node model

Author: Anton Troyanov
Author Date: 2023-11-28 13:13:11 UTC

feat: add current_release_script_set to Node model

remove-deprecated-metadataserver-api 2023-11-28 12:22:23 UTC
refactor: remove CommissioningScriptsHandler

Author: Anton Troyanov
Author Date: 2023-11-28 10:25:04 UTC

refactor: remove CommissioningScriptsHandler

It was marked as deprecated in 2017
a3c9ca857f9c5ff6158efafa348c3f431c61fd54

fix-12d6a1a 2023-11-23 18:32:52 UTC
fixup! drop cluster_uuid from rack

Author: Anton Troyanov
Author Date: 2023-11-23 18:32:52 UTC

fixup! drop cluster_uuid from rack

move-action-to-power-params 2023-11-23 14:10:32 UTC
fix: address review comments

Author: Anton Troyanov
Author Date: 2023-11-23 14:10:32 UTC

fix: address review comments

agent-wf-vlan-reconfigure 2023-11-23 12:52:04 UTC
fixup! feature: reconfigure agent worker on rack change

Author: Anton Troyanov
Author Date: 2023-11-23 12:38:59 UTC

fixup! feature: reconfigure agent worker on rack change

Add tests to ensure that workflow is called when there are changes for
rack

fix-maas-rack-controller-postinst 2023-11-22 23:48:03 UTC
fix: shell function needs to have a body

Author: Anton Troyanov
Author Date: 2023-11-22 23:44:39 UTC

fix: shell function needs to have a body

Remove `upgrade_from_cluster_controller()` func to fix the following error:
> maas-rack-controller.postinst: 90: Syntax error: "}" unexpected

fix-1bef5bc77a3fbaa6bb909fd728d7ac79f51460df 2023-11-22 16:56:40 UTC
fixup! fix: restart agent when config is changed by rack

Author: Anton Troyanov
Author Date: 2023-11-22 16:30:02 UTC

fixup! fix: restart agent when config is changed by rack

New configuration is applied every 30 seconds (timer based), but we
don't want to restart every 30 seconds.

pebble-debug-pprof 2023-11-22 10:33:07 UTC
analyze pebble issues (add debug & pprof/trace)

Author: Anton Troyanov
Author Date: 2023-11-22 10:00:25 UTC

analyze pebble issues (add debug & pprof/trace)

WARNING: revert before release (this is just to trace Pebble issues)

restart-agent-from-rack 2023-11-21 10:33:05 UTC
fix: restart agent when config is changed by rack

Author: Anton Troyanov
Author Date: 2023-11-21 10:30:22 UTC

fix: restart agent when config is changed by rack

bump-power-activity-duration 2023-11-21 09:37:11 UTC
refactor: update powerActivityDuration

Author: Anton Troyanov
Author Date: 2023-11-21 09:34:44 UTC

refactor: update powerActivityDuration

Set powerActivityDuration to 5 minutes to cope with broken BMCs.

remove-default-wf-retries 2023-11-17 22:57:45 UTC
refactor: remove default wf retries, use timeout

Author: Anton Troyanov
Author Date: 2023-11-17 22:11:44 UTC

refactor: remove default wf retries, use timeout

When a Workflow Execution is spawned, it is not associated with a default
Retry Policy and thus does not retry by default. The intention is that a
Workflow Definition should be written to never fail due to intermittent issues;
an Activity is designed to handle such issues.

https://docs.temporal.io/retry-policies#default-behavior

tune-temporal-db-conn-config 2023-11-16 12:55:10 UTC
fix: change temporal db connection params

Author: Anton Troyanov
Author Date: 2023-11-16 12:54:26 UTC

fix: change temporal db connection params

Set maxConnLifetime to "5m" (as regiond)

It appears that maxConns and maxIdleConns are set for each service (x4)
Lower the values so we don't exhaust DB connection pool
maxConns: 5
maxIdleConns: 5

Resolves LP:2043696

ipmi-power-off-mode-settings 2023-11-16 10:59:48 UTC
refactor: make power_off_mode a dropdown/choice

Author: Anton Troyanov
Author Date: 2023-11-16 10:59:48 UTC

refactor: make power_off_mode a dropdown/choice

reduce-power-wf-retry 2023-11-16 09:34:13 UTC
refactor: do not retry failed power child workflow

Author: Anton Troyanov
Author Date: 2023-11-16 09:34:13 UTC

refactor: do not retry failed power child workflow

There is no need to retry failed power child workflow, because there is
already a retry policy applied for the activity (to retry 5 times)

```
func execPowerActivity(ctx workflow.Context, params PowerActivityParam) workflow.Future {
  ctx = workflow.WithActivityOptions(ctx, workflow.ActivityOptions{
    StartToCloseTimeout: powerActivityDuration,
    RetryPolicy: &temporal.RetryPolicy{
      MaximumAttempts: 5,
  },
})
```

fix-callback-hell 2023-11-15 22:28:06 UTC
fix: callback hell

Author: Anton Troyanov
Author Date: 2023-11-15 22:28:06 UTC

fix: callback hell

fix-2042497 2023-11-15 22:27:30 UTC
fix: webhook power driver crashes

Author: Anton Troyanov
Author Date: 2023-11-15 21:31:26 UTC

fix: webhook power driver crashes

Resolves LP:2042497

fix-power-null-val 2023-11-15 22:00:35 UTC
fix: skip null power driver values

Author: Anton Troyanov
Author Date: 2023-11-15 22:00:35 UTC

fix: skip null power driver values

fix-2042645 2023-11-15 14:14:02 UTC
fix: fix tests to reflect power param changes

Author: Anton Troyanov
Author Date: 2023-11-15 14:14:02 UTC

fix: fix tests to reflect power param changes

fix-missing-state-update-call 2023-11-15 09:23:57 UTC
fix: make format

Author: Anton Troyanov
Author Date: 2023-11-15 09:23:57 UTC

fix: make format

unique-wfid 2023-11-14 11:19:38 UTC
fix: ensure wfid is unique uuid, if not provided

Author: Anton Troyanov
Author Date: 2023-11-14 11:19:38 UTC

fix: ensure wfid is unique uuid, if not provided

remove-wf-call-from-ws 2023-11-14 08:37:24 UTC
fix: remove workflow calls from ws handlers

Author: Anton Troyanov
Author Date: 2023-11-14 08:18:57 UTC

fix: remove workflow calls from ws handlers

temporal-guidelines 2023-11-13 22:15:37 UTC
fixup! fix: workflow_id/activity_id

Author: Anton Troyanov
Author Date: 2023-11-13 22:15:16 UTC

fixup! fix: workflow_id/activity_id

backport-f06ea63-3.2 2023-11-06 13:26:24 UTC
LP:2040188 - bmc-config: add missing script metadata for parameter maas_auto_...

Author: Mauricio Faria de Oliveira
Author Date: 2023-11-06 08:15:54 UTC

LP:2040188 - bmc-config: add missing script metadata for parameter maas_auto_ipmi_cipher_suite_id

The bmc-config script is passed several parameters from MAAS config options
(e.g. maas_auto_ipmi_{user,user_password,user_privilege_level,k_g_bmc_key}).

But maas_auto_ipmi_cipher_suite_id is not, since it's not in the metadata.

Add it to actually allow users to change the default IPMI cipher suite ID.

Tested on MAAS 3.4.0~rc2 with this debug change to print script arguments:

         def main():
         ...
             args = parser.parse_args()
        + print(args)
         ...

Change MAAS config for IPMI cipher suite ID from 3 to 17:

        $ maas admin maas get-config \
          name=maas_auto_ipmi_cipher_suite_id
        Success.
        Machine-readable output follows:
        "3"

        $ maas admin maas set-config \
          name=maas_auto_ipmi_cipher_suite_id \
          value=17
        Success.
        Machine-readable output follows:
        OK

        $ maas admin maas get-config \
          name=maas_auto_ipmi_cipher_suite_id
        Success.
        Machine-readable output follows:
        "17"

Before:
(17 is not used; source code default of 3 is used, instead)

        Namespace(ipmi_cipher_suite_id='3', ipmi_k_g='', ipmi_privilege_level='ADMIN', password=None, username='maas')

After:
(17 is now used!)

        Namespace(ipmi_cipher_suite_id='17', ipmi_k_g='', ipmi_privilege_level='ADMIN', password=None, username='maas')

Found by comparison with (working) parameter maas_auto_ipmi_user:

        $ grep -r 'maas_auto_ipmi_user[^_]' | grep -vw -e maasui -e maas-offline-docs -e tests
        src/metadataserver/builtin_scripts/commissioning_scripts/bmc_config.py:# maas_auto_ipmi_user:
        src/maasserver/forms/settings.py: "maas_auto_ipmi_user": {
        src/maasserver/forms/parameters.py: "maas_auto_ipmi_user",
        src/maasserver/models/config.py: "maas_auto_ipmi_user": "maas",

        $ grep -r 'maas_auto_ipmi_cipher_suite_id[^_]' | grep -vw -e maasui -e maas-offline-docs -e tests
        src/maasserver/forms/settings.py: "maas_auto_ipmi_cipher_suite_id": {
        src/maasserver/forms/parameters.py: "maas_auto_ipmi_cipher_suite_id",
        src/maasserver/models/config.py: "maas_auto_ipmi_cipher_suite_id": "3",

Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com>
(cherry picked from commit f06ea636a9466176d29d71e1539c65d7538f41da)

backport-a2d011b-3.2 2023-11-06 13:24:33 UTC
Added an e to the suit

Author: Eline Maaike De Weerd
Author Date: 2023-06-12 16:13:49 UTC

Added an e to the suit

(cherry picked from commit a2d011b8710894a40b5f02fbb12e641388f6be5a)

backport-f06ea63-3.3 2023-11-06 08:35:22 UTC
LP:2040188 - bmc-config: add missing script metadata for parameter maas_auto_...

Author: Mauricio Faria de Oliveira
Author Date: 2023-11-06 08:15:54 UTC

LP:2040188 - bmc-config: add missing script metadata for parameter maas_auto_ipmi_cipher_suite_id

The bmc-config script is passed several parameters from MAAS config options
(e.g. maas_auto_ipmi_{user,user_password,user_privilege_level,k_g_bmc_key}).

But maas_auto_ipmi_cipher_suite_id is not, since it's not in the metadata.

Add it to actually allow users to change the default IPMI cipher suite ID.

Tested on MAAS 3.4.0~rc2 with this debug change to print script arguments:

         def main():
         ...
             args = parser.parse_args()
        + print(args)
         ...

Change MAAS config for IPMI cipher suite ID from 3 to 17:

        $ maas admin maas get-config \
          name=maas_auto_ipmi_cipher_suite_id
        Success.
        Machine-readable output follows:
        "3"

        $ maas admin maas set-config \
          name=maas_auto_ipmi_cipher_suite_id \
          value=17
        Success.
        Machine-readable output follows:
        OK

        $ maas admin maas get-config \
          name=maas_auto_ipmi_cipher_suite_id
        Success.
        Machine-readable output follows:
        "17"

Before:
(17 is not used; source code default of 3 is used, instead)

        Namespace(ipmi_cipher_suite_id='3', ipmi_k_g='', ipmi_privilege_level='ADMIN', password=None, username='maas')

After:
(17 is now used!)

        Namespace(ipmi_cipher_suite_id='17', ipmi_k_g='', ipmi_privilege_level='ADMIN', password=None, username='maas')

Found by comparison with (working) parameter maas_auto_ipmi_user:

        $ grep -r 'maas_auto_ipmi_user[^_]' | grep -vw -e maasui -e maas-offline-docs -e tests
        src/metadataserver/builtin_scripts/commissioning_scripts/bmc_config.py:# maas_auto_ipmi_user:
        src/maasserver/forms/settings.py: "maas_auto_ipmi_user": {
        src/maasserver/forms/parameters.py: "maas_auto_ipmi_user",
        src/maasserver/models/config.py: "maas_auto_ipmi_user": "maas",

        $ grep -r 'maas_auto_ipmi_cipher_suite_id[^_]' | grep -vw -e maasui -e maas-offline-docs -e tests
        src/maasserver/forms/settings.py: "maas_auto_ipmi_cipher_suite_id": {
        src/maasserver/forms/parameters.py: "maas_auto_ipmi_cipher_suite_id",
        src/maasserver/models/config.py: "maas_auto_ipmi_cipher_suite_id": "3",

Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com>
(cherry picked from commit f06ea636a9466176d29d71e1539c65d7538f41da)

backport-a2d011b-3.3 2023-11-06 08:33:14 UTC
Added an e to the suit

Author: Eline Maaike De Weerd
Author Date: 2023-06-12 16:13:49 UTC

Added an e to the suit

(cherry picked from commit a2d011b8710894a40b5f02fbb12e641388f6be5a)

backport-f06ea63-3.4 2023-11-06 08:21:54 UTC
LP:2040188 - bmc-config: add missing script metadata for parameter maas_auto_...

Author: Mauricio Faria de Oliveira
Author Date: 2023-11-06 08:15:54 UTC

LP:2040188 - bmc-config: add missing script metadata for parameter maas_auto_ipmi_cipher_suite_id

The bmc-config script is passed several parameters from MAAS config options
(e.g. maas_auto_ipmi_{user,user_password,user_privilege_level,k_g_bmc_key}).

But maas_auto_ipmi_cipher_suite_id is not, since it's not in the metadata.

Add it to actually allow users to change the default IPMI cipher suite ID.

Tested on MAAS 3.4.0~rc2 with this debug change to print script arguments:

         def main():
         ...
             args = parser.parse_args()
        + print(args)
         ...

Change MAAS config for IPMI cipher suite ID from 3 to 17:

        $ maas admin maas get-config \
          name=maas_auto_ipmi_cipher_suite_id
        Success.
        Machine-readable output follows:
        "3"

        $ maas admin maas set-config \
          name=maas_auto_ipmi_cipher_suite_id \
          value=17
        Success.
        Machine-readable output follows:
        OK

        $ maas admin maas get-config \
          name=maas_auto_ipmi_cipher_suite_id
        Success.
        Machine-readable output follows:
        "17"

Before:
(17 is not used; source code default of 3 is used, instead)

        Namespace(ipmi_cipher_suite_id='3', ipmi_k_g='', ipmi_privilege_level='ADMIN', password=None, username='maas')

After:
(17 is now used!)

        Namespace(ipmi_cipher_suite_id='17', ipmi_k_g='', ipmi_privilege_level='ADMIN', password=None, username='maas')

Found by comparison with (working) parameter maas_auto_ipmi_user:

        $ grep -r 'maas_auto_ipmi_user[^_]' | grep -vw -e maasui -e maas-offline-docs -e tests
        src/metadataserver/builtin_scripts/commissioning_scripts/bmc_config.py:# maas_auto_ipmi_user:
        src/maasserver/forms/settings.py: "maas_auto_ipmi_user": {
        src/maasserver/forms/parameters.py: "maas_auto_ipmi_user",
        src/maasserver/models/config.py: "maas_auto_ipmi_user": "maas",

        $ grep -r 'maas_auto_ipmi_cipher_suite_id[^_]' | grep -vw -e maasui -e maas-offline-docs -e tests
        src/maasserver/forms/settings.py: "maas_auto_ipmi_cipher_suite_id": {
        src/maasserver/forms/parameters.py: "maas_auto_ipmi_cipher_suite_id",
        src/maasserver/models/config.py: "maas_auto_ipmi_cipher_suite_id": "3",

Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com>
(cherry picked from commit f06ea636a9466176d29d71e1539c65d7538f41da)

power-many-do-not-fail-all 2023-11-03 17:38:41 UTC
refactor: invert if statement, remove else

Author: Anton Troyanov
Author Date: 2023-11-03 10:00:13 UTC

refactor: invert if statement, remove else

refactor-power-wf 2023-11-03 08:16:06 UTC
fixup! chore: rename parameter

Author: Anton Troyanov
Author Date: 2023-11-02 20:34:59 UTC

fixup! chore: rename parameter

checkip-activity-timeout 2023-11-02 09:57:42 UTC
fix: ScheduleToCloseTimeout for checkIP activity

Author: Anton Troyanov
Author Date: 2023-11-02 09:57:42 UTC

fix: ScheduleToCloseTimeout for checkIP activity

We don't want Activities to be retried forever.

> ScheduleToCloseTimeout - The end to end timeout for the local activity including retries.
> This field is required.

power-activity-retry-policy 2023-11-02 09:19:19 UTC
fix: set maximum attempts for power activity

Author: Anton Troyanov
Author Date: 2023-11-02 09:09:45 UTC

fix: set maximum attempts for power activity

We don't want Activities to be retried forever.

> Maximum number of attempts. When exceeded the retries stop even if not expired yet.
> If not set or set to 0, it means unlimited, and rely on activity ScheduleToCloseTimeout to stop.

fix-2042429 2023-11-01 23:32:46 UTC
refactor: add builder to provide KV to logger

Author: Anton Troyanov
Author Date: 2023-11-01 23:32:46 UTC

refactor: add builder to provide KV to logger

Introducing KV builder approach to standardize tag names and make it
harder to miss even number of keyvals (which breaks logging)

Better approach would be to write a linter and use constant tag names.

generate-agent-config-once 2023-11-01 16:47:07 UTC
fixup! feat: setup debug logger for maas-agent with rackd

Author: Anton Troyanov
Author Date: 2023-11-01 16:16:58 UTC

fixup! feat: setup debug logger for maas-agent with rackd

fix-maas-cli-path-for-snap 2023-10-31 15:42:26 UTC
fix: pick different power CLI name when snap/deb

Author: Anton Troyanov
Author Date: 2023-10-31 15:40:31 UTC

fix: pick different power CLI name when snap/deb

unix-socket-for-temporal-region-activities 2023-10-27 21:55:58 UTC
fixup! refactor(temporal): UNIX socket for API activity

Author: Anton Troyanov
Author Date: 2023-10-27 21:55:40 UTC

fixup! refactor(temporal): UNIX socket for API activity

Fix circular import

add-admin-flag-to-sys-user 2023-10-24 14:18:53 UTC
make update-initial-sql

Author: Anton Troyanov
Author Date: 2023-10-24 14:18:53 UTC

make update-initial-sql

fix-temporal-migrations-when-existing-db 2023-10-24 13:08:46 UTC
fix: update db_name in temporal.schema_version

Author: Anton Troyanov
Author Date: 2023-10-24 13:06:10 UTC

fix: update db_name in temporal.schema_version

Temporal stores initial value of the database name in migrations metadata.
When database is being dumped and restored with a different name, then
migrations will fail to apply. This change should fix this.

hide-some-api-endpoints 2023-10-23 13:04:42 UTC
doc(api): hide Switch Boot Order from API docs

Author: Anton Troyanov
Author Date: 2023-10-23 12:16:23 UTC

doc(api): hide Switch Boot Order from API docs

We don't want some API endpoints to be displayed in the documentation,
because they are special handlers for MAAS internals.

bump-lint-go-1.55.0 2023-10-23 06:29:29 UTC
chore(ci): bump golangci-lint to 1.55.0

Author: Anton Troyanov
Author Date: 2023-10-23 06:29:29 UTC

chore(ci): bump golangci-lint to 1.55.0

1100 of 242 results
This repository contains Public information 
Everyone can see this information.

Subscribers