2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM watsonx Code Assistant for Red Hat Ansible Lightspeed の Playbook 生成 と 説明の機能確認

Last updated at Posted at 2024-07-16

はじめに

IBM watsonx Code Assistant for Red Hat Ansible Lightspeed に Playbook をチャット形式での生成機能と コードの説明機能が追加(2024/06末頃)されていました。

内容を確認します。


1. Ansible コード全体生成

1-1. Ansible コード全体生成 - 英語入力

① VS Code を開き Ansible 拡張を押します。

" Create Playbook with Ansible Lightspeed" を選びます。

ちなみに Ansible-creator を仮想環境では導入していないのですが、稼働できているようです。

1.png

② 何のplaybook を書きたいかを記入

"What do you want the playbook to accomplish?" という質問と、入力欄があり、そちらに文章を入れます。

今回は、矢印の一例にある、Azure で RHEL VMを作成する内容を記載します。

2.png

③ 分析を実行

"Analyze" を押します

グルグルが表示され、数秒待ちます。

3.png

④ Playbook 生成

実行する内容の提案が一文ずつ表示されました。
"Generate playbook" を実行します。

4.png

⑤ エディターを開く

一瞬で提案の内容のplaybook が表示されました。
"Open editor" を押します。

5.png

⑥ 新たなファイルの作成と保存

新たなタブが開かれ、作成されたAnsible playbook がコピーされています。
こちらを使用する場合は、名前をつけて保存します。

6.png

作成された Playbook の内容です。


--
- name: Create a RHEL 9.2 Azure virtual machine named RHEL-VM in resource group named RH attached to the VNET my-vnet and subnet my-subnet with a public ip address
    and a security group to allow traffic over port 22.
  hosts: localhost
  connection: local
  tasks:
    - name: Create a resource group
      azure.azcollection.azure_rm_resourcegroup:
        name: RH
        location: eastus
    - name: Create a virtual network
      azure.azcollection.azure_rm_virtualnetwork:
        resource_group: RH
        name: my-vnet
        address_prefixes: 10.0.0.60/16
    - name: Create a subnet
      azure.azcollection.azure_rm_subnet:
        resource_group: RH
        name: my-subnet
        address_prefix: 10.0.1.16/24
        virtual_network: my-vnet
    - name: Create a public IP address
      azure.azcollection.azure_rm_publicipaddress:
        resource_group: RH
        name: my-public-ip
        allocation_method: Static
    - name: Create a security group
      azure.azcollection.azure_rm_securitygroup:
        resource_group: RH
        name: my-security-group
        rules:
          - name: SSH
            protocol: Tcp
            destination_port_range: 22
            access: Allow
            priority: 1001
            direction: Inbound
    - name: Create a virtual machine
      azure.azcollection.azure_rm_virtualmachine:
        resource_group: RH
        name: RHEL-VM
        vm_size: Standard_B1ms
        admin_username: azureuser
        ssh_password_enabled: "{{ _ssh_password_enabled_ }}"
        ssh_public_keys:
          - path: /home/ano-user/.ssh/authorized_keys
            key_data: "{{ _key_data_ }}"
              AAAAB3NzaC1yc2EAAAADAQABAAABAQC+432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214
        image: "{{ _image_ }}"

手元に試す環境がないので試していませんが、おそらくここから細かい修正は必要と思われます。


1-2. Ansible コード全体生成 - 日本語入力

何の playbook を生成するか、の箇所で、最初の例では例文の英語入力を実施しましたが、日本語で入力してみます。

"8080と8081のポートを持つ Webサーバーを作成してください。対象ポートのファイアウォールを開いてください"

という文書を入力して Analyze を押します。

2-1.png

作成の提案が表示されます。こちらは英語で出てきました。"Generate playbook" を押します。

2-2.png

以下の playbook が作成されました。

2-3.png


2. Ansible playbook の説明

① アクティブなplaybook から実行

アクティブな Playbook の YAML ファイルから上で、右クリックして、Explain the playbook with Ansible Lightspeed を選択します。

3-1.png

VS Code の右側のパネルが分割されて、Explanation タブで、グルグルと回っています。

3-2.png

英語ですが、サマリーとタスクの説明が表示されました。

3-3.png

② VSCode の Ansible 拡張から "Explain the current playbook" を実行します。

3-4.png

Explanation タブが分割表示され、グルグルが回っています。

3-5.png

同じく英語ですが、サマリーとタスクの説明が表示されました。

3-6.png


おわりに

Box 欄に実行したいことを入力してマルチタスクで設定する playbook が出てくるようになり、便利になりました。

また、Explanation が表示されるようになったことで、理解しやすくなると同時にドキュメンテーションにも便利になりそうです。

以上です。

2
0
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?