Ansible Lightspeedを試してみた

# 初めに
2023年11月1日に正式にリリースされた(※1)、Ansible Lightspeed(※2)ですが、2023年11月13日現在はTechPreviewがまだ使用できたので、試してみました。

※1
https://www.redhat.com/en/about/press-releases/red-hat-launches-red-hat-ansible-lightspeed-ibm-watsonx-code-assistant-ai-driven-enterprise-it-automation

※2
Lightspeed: IBM watsonx Code Assistantというコード生成AIを利用した、Playbook作成支援機能
https://www.redhat.com/en/technologies/management/ansible/ansible-lightspeed

# 手順
## 0. 動作環境
Windows 11 Pro(23H2)
WSL + Ubuntu 22.04.02

## 1. 事前準備
### 1-1. VSCodeの導入
※LightspeedはVS CodeのAnsible Extentionとして機能します。
以下のURLよりDownloadをし、導入します。
https://code.visualstudio.com

### 1-2. VSCode Extentionの導入
以下のExtentionを導入します。
・Japanese
・WSL
・Ansible
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/4681e41e-62d1-e513-999b-31503d92f811.png)

### 1-3. VSCodeからWSLに接続
「リモートエクスプローラー」を選択し、「Ubuntu22.04」の「→」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/c723780f-349f-b9d8-eaef-9df549b1b5b7.png)

### 1-4. Ansible ExtentionをWSLのUbuntuに導入
「拡張機能」を選択し、「WSL Ubutu22.04にインストールする」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/bf7a9245-bbcd-d17a-66fd-09e75ac99a5d.png)

### 1-5. Ansible Extention の Lightspeedの有効化
 Ansible Extentionの「歯車」アイコンをクリックし、「拡張機能の設定」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/88a582bd-6885-b5ac-dc96-ff0a44689344.png)

下記図の赤枠の項目のチェックボックスにチェックを付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/e7ed5536-2e30-17ff-e2b4-358b4bbeeed9.png)


### 1-6. WSLのUbuntuにansibleを導入
VSCodeでターミナルを開き、以下のコマンドを実行し、WSLのUbuntuにAnsibleを導入します。
```
$ mkdir lightspeed
$ cd lightspeed
$ apt-get update
$ apt install python3.10-venv
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install ansible
```

### 1-7 . Lightspeedに接続
Ansible Extentionのアイコンをクリックし、「Connect」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/e4eca497-478c-1343-b6c0-ab773a6c4210.png)

サインイン確認画面が出るので、「許可」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/5164558d-b311-7979-5b4a-2e98387babb6.png)

外部Webサイトの表示確認画面が出るので、「開く」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/4ba64b53-74c4-017f-ace9-f6bbead29629.png)

ログイン画面が出てきますが、今回はTechPreviewを使用するので、「Log In to Tech Preview」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/12e8876d-aad0-f5ca-0448-5675166f3e0b.png)

GitHubのログイン画面が出るので、ユーザー名、パスワードを入力し、ログインします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/80e61536-2ce8-70da-f5c5-db51e36c7ec9.png)

Lightspeed Extention がGitHubのユーザー情報へのアクセス許可を求める画面が出るので、「Authorize」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/a66e26ed-dcff-adbf-54ba-27b4adab6697.png)

VS Codeを開くか確認する画面が出るので、「Visual Studio Code を開く」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/41e98078-e461-2361-1bd5-924299ca456b.png)

Ansible ExtentionがURIを開くことを許可するか確認する画面が出るので、「開く」をクリックします。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/5285b14b-c2ba-936e-3d3b-79316ee0eec8.png)

Logged in as xxxxと表示されれば、接続完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/7bbac35c-6bec-50a7-b1d1-04f9bc9e0734.png)

## 2. コード自動生成を試す
VSCodeの「フォルダーを開く」から、先ほどターミナルで作成した「lightspeed」フォルダを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/bece71b8-504e-f9e8-8a70-68bfbf9404f8.png)

ファイルを作成（ここではapahce.yamlとする）し、画面右下の、「YAML」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/73b68e61-1139-9ee1-a1fd-cce49b91aadd.png)

言語選択画面が出てくるので、「Ansible」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/49ea1deb-0619-cd8c-40c0-4c457856d07b.png)

以下のように、taskのnameに処理したい内容を記載し、Enterキーを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/6c0d98ff-aa02-dfee-9c75-71d95449078e.png)

そうすると、コードが生成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/5f4ad029-d14a-dfcc-5388-d8b08f132c4e.png)

生成されたコードを採用するのであれば、「Tab」キーで確定します。
グレーだったのが、色が変わり確定されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740352/e2a34859-3d78-765a-ecbe-9f15798033ac.png)