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-04e4b65-3.5 2024-06-07 07:17:54 UTC
fix(api): allow_dns/allow_proxy accept int and bool

Author: Anton Troyanov
Author Date: 2024-06-07 07:12:26 UTC

fix(api): allow_dns/allow_proxy accept int and bool

Documentation mentions that allow_dns/allow_proxy parameters can be configured
using boolean or integer.

Resolves LP:2068666

(cherry picked from commit 04e4b65caa2906fb0b029e7510203d28a9d280d7)

fix-2068666 2024-06-06 22:53:48 UTC
fix(api): allow_dns/allow_proxy accept int and bool

Author: Anton Troyanov
Author Date: 2024-06-06 21:17:38 UTC

fix(api): allow_dns/allow_proxy accept int and bool

Documentation mentions that allow_dns/allow_proxy parameters can be configured
using boolean or integer.

Resolves LP:2068666

cleanup-main 2024-06-05 08:15:17 UTC
fixup! refactor: refactor agent main

Author: Anton Troyanov
Author Date: 2024-06-05 08:15:17 UTC

fixup! refactor: refactor agent main

backport-54f3e5e-3.5 2024-06-03 14:25:47 UTC
fix: return 0 bytes for non-existing .lst

Author: Anton Troyanov
Author Date: 2024-06-03 06:54:34 UTC

fix: return 0 bytes for non-existing .lst

Resolves LP:2067793

(cherry picked from commit 54f3e5e544d998465ca7fd94b5c3e74b58ccc097)

configure-tweak 2024-06-02 12:46:39 UTC
WIP

Author: Anton Troyanov
Author Date: 2024-06-02 12:46:39 UTC

WIP

fix-2067793 2024-06-01 11:56:53 UTC
fix: return 0 bytes for non-existing .lst

Author: Anton Troyanov
Author Date: 2024-06-01 10:57:03 UTC

fix: return 0 bytes for non-existing .lst

Resolves LP:2067793

backport-2c935cc-3.5 2024-05-31 06:40:58 UTC
fix(cli): maas login can't handle non-ascii cacert

Author: Anton Troyanov
Author Date: 2024-05-30 19:06:08 UTC

fix(cli): maas login can't handle non-ascii cacert

Resolves LP:2067503

(cherry picked from commit 2c935cce3833e308bfbeb15c5e00869ca1f4b8e2)

fix-2067503 2024-05-30 14:17:17 UTC
fix(cli): maas login can't handle non-ascii cacert

Author: Anton Troyanov
Author Date: 2024-05-29 20:35:47 UTC

fix(cli): maas login can't handle non-ascii cacert

Resolves LP:2067503

backport-f500d6c-3.5 2024-05-30 00:08:56 UTC
fix(agent): create runDir if it doesn't exist

Author: Anton Troyanov
Author Date: 2024-05-29 22:28:09 UTC

fix(agent): create runDir if it doesn't exist

(cherry picked from commit f500d6ccfbbdcbdc09674cf97114991a9bcf01be)

configure-interface 2024-05-30 00:08:16 UTC
refactor: change Configure() to return interface{}

Author: Anton Troyanov
Author Date: 2024-05-27 20:05:41 UTC

refactor: change Configure() to return interface{}

This allows to use Configurator interface when registering services,
however each service can define it's own configure method, so we can
pass required parameters when calling the workflow from the Region,
instead of having each service to make a callback via activities.

agent-create-rundir 2024-05-29 20:16:19 UTC
fix(agent): create runDir if it doesn't exist

Author: Anton Troyanov
Author Date: 2024-05-29 19:55:37 UTC

fix(agent): create runDir if it doesn't exist

revert-2923235dfc975a11977460d023b32d2b49a14ff4 2024-05-29 19:21:56 UTC
Revert "fix(snap): create /run/snap.maas with install hook"

Author: Anton Troyanov
Author Date: 2024-05-29 19:21:56 UTC

Revert "fix(snap): create /run/snap.maas with install hook"

This reverts commit 2923235dfc975a11977460d023b32d2b49a14ff4.

revert-d4c47cccef119d0a640be6e0134fc16feec5a282 2024-05-29 19:18:42 UTC
Revert "fix(snap): create /run/snap.maas with install hook"

Author: Anton Troyanov
Author Date: 2024-05-29 19:18:42 UTC

Revert "fix(snap): create /run/snap.maas with install hook"

This reverts commit d4c47cccef119d0a640be6e0134fc16feec5a282.

backport-d4c47cc-3.5 2024-05-29 18:02:41 UTC
fix(snap): create /run/snap.maas with install hook

Author: Anton Troyanov
Author Date: 2024-05-29 17:51:32 UTC

fix(snap): create /run/snap.maas with install hook

Currently this folder is created by `chrony`, because `chrony` will create a
full path as defined for the PID file in the config [0]

We should not rely on `chrony` but rather create if after snap install,
because other services are using it (e.g. maas-agent)

```
if "SNAP" in os.environ:
    run_dir = get_maas_run_path()
    lines.append(f"dumpdir {run_dir / _NTP_DIR_NAME}")
    lines.append(f"pidfile {run_dir / _NTP_PID_NAME}")
    lines.append(f"bindcmdaddress {run_dir / _NTP_SOCK_NAME}")
```

[0]: src/provisioningserver/ntp/config.py

(cherry picked from commit d4c47cccef119d0a640be6e0134fc16feec5a282)

snap-hook-cleanup 2024-05-29 15:45:26 UTC
fix(snap): create /run/snap.maas with install hook

Author: Anton Troyanov
Author Date: 2024-05-29 15:12:23 UTC

fix(snap): create /run/snap.maas with install hook

Currently this folder is created by `chrony`, because `chrony` will create a
full path as defined for the PID file in the config [0]

We should not rely on `chrony` but rather create if after snap install,
because other services are using it (e.g. maas-agent)

```
if "SNAP" in os.environ:
    run_dir = get_maas_run_path()
    lines.append(f"dumpdir {run_dir / _NTP_DIR_NAME}")
    lines.append(f"pidfile {run_dir / _NTP_PID_NAME}")
    lines.append(f"bindcmdaddress {run_dir / _NTP_SOCK_NAME}")
```

[0]: src/provisioningserver/ntp/config.py

backport-91490a9-3.5 2024-05-29 09:10:49 UTC
fix: re-add missing foreign key constraints

Author: Anton Troyanov
Author Date: 2024-05-29 09:01:47 UTC

fix: re-add missing foreign key constraints

f7230326051628a654afe8e2383be6faec05f35e had side-effect that removed
most of the foreign key relations

Resolves LP:2066936

Original fix was provided in 91490a921014dda26edec94689910148de8fc523,
but this commit excludes merge migration.

missing-migrations 2024-05-28 21:12:11 UTC
fixup! Fix test_Commission_starts_commissioning intermittent failure.

Author: Anton Troyanov
Author Date: 2024-05-28 21:12:11 UTC

fixup! Fix test_Commission_starts_commissioning intermittent failure.

backport-012430e-3.5 2024-05-04 09:02:59 UTC
chore(deps): bump pebble to 1.10.2

Author: Anton Troyanov
Author Date: 2024-05-04 08:55:05 UTC

chore(deps): bump pebble to 1.10.2

Resolves LP:2064726

(cherry picked from commit 012430e452b8bd4e1714de51c7d11bb5c5b70e7e)

bump-pebble-1.10.2 2024-05-04 06:54:44 UTC
chore(deps): bump pebble to 1.10.2

Author: Anton Troyanov
Author Date: 2024-05-04 06:54:44 UTC

 chore(deps): bump pebble to 1.10.2

configure-agent-retry 2024-04-30 08:58:11 UTC
refactor: use configure-agent global timeout

Author: Anton Troyanov
Author Date: 2024-04-30 08:58:11 UTC

refactor: use configure-agent global timeout

Use WorkflowExecutionTimeout of configure-agent and let Temporal retry
all the child workflows and activities within this timeout.

backport-915882c-3.5 2024-04-26 21:18:11 UTC
fix(tftp): legacy BIOS mode fails with 0-size cfg

Author: Anton Troyanov
Author Date: 2024-04-26 18:51:09 UTC

fix(tftp): legacy BIOS mode fails with 0-size cfg

The fix for GRUB introduced in a0b47aba48b2ad324c34b42aed9f47a7dfc85b28
lead to an issue with legacy BIOS mode, which is expecting to receive
`Error code 1: File not found` for non existing pxelinux.cfg config
files instead for a 0-size result.

Resolves LP:2063844

(cherry picked from commit 915882cfd7786a68d10a5cf461a29d7690912b80)

fix-2063844 2024-04-26 15:49:16 UTC
fix(tftp): legacy BIOS mode fails with 0-size cfg

Author: Anton Troyanov
Author Date: 2024-04-26 15:42:25 UTC

fix(tftp): legacy BIOS mode fails with 0-size cfg

The fix for GRUB introduced in a0b47aba48b2ad324c34b42aed9f47a7dfc85b28
lead to an issue with legacy BIOS mode, which is expecting to receive
`Error code 1: File not found` for non existing pxelinux.cfg config
files instead for a 0-size result.

Resolves LP:2063844

backport-1759624-3.5 2024-04-24 16:45:53 UTC
fix(agent): check if region endpoints are reachable

Author: Anton Troyanov
Author Date: 2024-04-24 16:37:40 UTC

fix(agent): check if region endpoints are reachable

Region Controller might return IP:PORT that is not reachable by the
Agent (due to firewall configuration or network setup). Hence we should
add check if endpoints are reachable before applying them as targets
when configuring Agent HTTP reverse proxy service.

Resolves LP:2063220

Workflow logic is constrained by deterministic execution requirements.
In Go, Workflow Definition code cannot directly do the following:
- Call an external API, conduct a file I/O operation, talk to another service, etc

Normally we should use Activity for this scenario, however we are
confident and consider that we want to do this I/O inside the workflow.

But by having a blocking I/O you might get the following panic:
```
panic: Potential deadlock detected: workflow goroutine "root" didn't yield for over a second
```

It happens simply because the "root" goroutine was not scheduled for
execution. By using `workflow.Go` we don't mess with the scheduler and
we should worry about logic inside `workflow.Go` not take more than 1
second.

(cherry picked from commit 17596243156a800d060b8c5138798da8eae0950b)

proxy-check-targets 2024-04-24 15:03:07 UTC
test(agent): region endpoints are unreachable

Author: Anton Troyanov
Author Date: 2024-04-24 12:12:32 UTC

test(agent): region endpoints are unreachable

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

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

Subscribers