lablup / lablup/backend.ai

Deprecate etcd-based announcement management and its CLI commands

Open
#13,763 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
17h 7m
Merged PRs (30d)
358

Description

## Background

The WebUI announcement feature is moving to app config: announcements will be defined and managed through the application's configuration instead of being stored in and served from etcd.

## What to do

Deprecate the manager-side announcement machinery that becomes redundant:

- The etcd-stored announcement settings (the announcement config keys under etcd) and the code paths that read/write them.
- The CLI commands used to manage announcements via etcd (e.g. the `announcement` subcommands that update/get/delete the etcd entry).

## Suggested approach

1. Mark the announcement CLI commands and etcd config keys as deprecated: emit deprecation warnings on use, and note the replacement (app config) in the warning message.
1. Update documentation to point to the app-config-based announcement management.
1. Plan actual removal for a future release after the deprecation period.

## Notes

- Coordinate with the WebUI side, which will handle announcements via its app config.
- Keep backward compatibility during the deprecation window so existing deployments relying on the etcd announcement keep working until removal.

JIRA Issue: BA-7360

Contributor guide

Open the contributing guide

Research direction

Start by locating the `announcement` CLI subcommands and the etcd announcement config keys, then trace the manager-side paths that read and write them. Done means deprecated uses warn about app config, documentation points to the replacement, and existing etcd-based deployments continue working during the deprecation period.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, cli, documentation
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.