ConoHaのオブジェクトストレージのコンテナ削除で難儀した件


この記事は ConoHa Advent Calendar 2016 4日目のエントリです。

今日は月末です。月末ということは、来月課金されたくないものは今日中に解約or削除する必要があるってことです。昔ConoHaのオブジェクトストレージを実験で使ったときのゴミが残ってたので削除したのですが、コンパネから消せないコンテナがどうしても1つあって。サポートに問い合わせたところ以下のような回答が。

お問い合わせの件につきまして、コントロールパネルから削除できない
場合、コントロールパネルから正常に認識できない状態となって
おりますので、API経由などからご手配くださいますようお願いいたします。

オブジェクトストレージ操作例:Cyberduck
https://www.conoha.jp/guide/gen1/g-49.html

オブジェクトストレージ操作例:Python-swiftclient
https://www.conoha.jp/guide/gen1/g-48.html

オブジェクトストレージ操作例:cURL
https://www.conoha.jp/guide/gen1/g-47.html

今後ともConoHaをよろしくお願いいたします。

ConoHaのオブジェクトストレージの実体はOpenstack Swiftなので、Swiftに対応したクライアントでAPI叩いて削除せえよとのこと。しかしながら、CyberduckもPython-swiftclientもうまく動いてくれず、curlで直接API叩いて削除できましたとさ。

大体こんな感じです(ほぼリンク先の手順まま)

1.API認証→トークン取得

# curl -i 'https://********.jp/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json"  -d '{"auth": {"tenantName": "1234567", "passwordCredentials": {"username": "1234567", "password": "************"}}}'

2.オブジェクトストレージエンドポイントへ接続

# curl -i -X HEAD -H "X-Auth-Token: トークン" オブジェクトストレージエンドポイント

コンテナリスト表示

# curl -i -X GET -H "X-Auth-Token: トークン" オブジェクトストレージエンドポイント

オブジェクトリスト表示

# curl -i -X GET -H "X-Auth-Token: トークン" オブジェクトストレージエンドポイント/コンテナ名

オブジェクトの削除

# curl -i -X DELETE -H "X-Auth-Token: トークン" オブジェクトストレージエンドポイント/コンテナ名/オブジェクト名

オブジェクトリスト表示(削除されていることを確認)

# curl -i -X GET -H "X-Auth-Token: トークン" オブジェクトストレージエンドポイント/コンテナ名

コンテナ削除

# curl -i -X DELETE -H "X-Auth-Token: トークン" オブジェクトストレージエンドポイント/コンテナ名

コンテナリスト表示(削除されていることを確認)

# curl -i -X GET -H "X-Auth-Token: トークン" オブジェクトストレージエンドポイント

削除はできたので使用量は減っているのですが、オブジェクトストレージのダッシュボードのカウントが減っていないのが気になるところではありますが。。