# 4주차 과제 - 권순석 (1)

**URL:** <https://forum.openinfra-kr.org/t/4-1/206>\
**Category:** 컨트리뷰션\
**Tags:** 2025컨트리뷰션, 컨트리뷰션\
**Created:** [8월 11, 2025, 11:57오전 UTC](https://forum.openinfra-kr.org/t/4-1/206 "2025-08-11T11:57:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![doburn](https://forum.openinfra-kr.org/letter_avatar_proxy/v4/letter/d/a587f6/32.png) [@doburn](https://forum.openinfra-kr.org/u/doburn)\
**Post date:** [8월 11, 2025, 11:57오전 UTC](https://forum.openinfra-kr.org/t/4-1/206/1 "2025-08-11T11:57:12Z")

</div>

### `volume_message`

- `openstack volume message` 명령어에 나타나는 메시지들은 블록 스토리지 서비스인 `cinder` 에서 볼륨과 관련된 작업(생성, 삭제, 확장, 연결 등)을 수행하다가 실패했을 때 기록되는 오류 로그들입니다.

- 사용자가 API를 통해 내부 작업을 진행하다가, `cinder` 내부에서 오류가 발생한 경우 이를 알 수 있도록 사용자에게 메시지를 남기는 기능이라고 볼 수 있습니다.

- 보통 `가용 공간 부족, 적합한 스토리지 호스트 없음, 이미지로부터 볼륨 생성 실패, 볼륨 삭제 실패(사용중), 볼륨 확장 실패(사용중), 볼륨 연결 및 해제 실패` 등의 시나리오에서 에러 메시지가 발생합니다.

- 따라서 `volume_message` 에 대해 삭제, 목록 확인, 상세 정보 확인 기능을 제공하는 코드입니다.

* * *

### `volume_message` docs 분석

> [https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/volume-message.html](https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/volume-message.html)

**volume message delete**

```auto
openstack volume message delete <message-id> [<message-id> ...]

```

- volume 실패 메시지의 id를 인자로 입력하여, 해당 메시지를 삭제합니다.

**volume message list**

```auto
openstack volume message list
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--project <project>]
    [--project-domain <project-domain>]
    [--limit <limit>]
    [--marker <marker>]

```

- volume 실패 메시지 리스트를 확인합니다.

**volume message show**

```auto
openstack volume message show <message-id>

```

- volume 실패 메시지의 id를 인자로 입력하여, 해당 메시지를 확인합니다.

* * *

### `volume_message` 코드 분석

- **volume message delete (`DeleteMessage(…)`)**

- **volume message list (`ListMessages(…)`)**

- **volume message show (`ShowMessage(…)`)**

* * *

### `volume_message` 기능 분석

- 기능 실제 테스트를 위해 `cinder` 사용이 필요합니다.

- 우선 NHN 클라우드에서 전용 인스턴스를 생성하여 `devstack` 을 구성합니다.

- volume 에러 메시지를 생성하려고 사용중인 볼륨의 삭제를 시도했습니다.
