EX210V13K 問題振り返り ========== ## 環境 * マニュアルに従って試験環境を構築する * 普段使いのPCでは有線・無線ともに認識しなかった * 古いNUC(第6世代)を使ったら有線が認識した * 環境設定で日本語キーボードに設定したのになぜか英語キーボードになってしまった * ~ は半角/全角キー * & はShift+7 * チャットはすべて英語だったがすべて理解できた * ヘッドセット、マスクは外せと言われた * スピーカーはチャットが来たことを知らせるときに鳴るくらい * カメラはキーボードと顔が同時に映る画角に配置する * 試験中は英語のマニュアルが参照できる * https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13 * どこに何があるのかを把握しておく必要がある * desktopサーバに `wget -r` でダウンロードして、`grep -r` で検索しながら参照した * horizon はインストールされていなかった。すべて CLI で操作する ## 出題された問題 ### Director のxxxネットワークのprefix, xxx ### br-exのインターフェース ``` sudo ovs-vsctl list-ifaces br-ex ``` ### Fernet キーのローテーションを有効にする ``` [stack@director ~]$ source ~/stackrc [stack@director ~]$ openstack workflow execution \ > create tripleo.fernet_keys.v1.rotate_fernet_keys '{"container": "overcloud"}' [stack@director ~]$ openstack workflow execution \ > show 58c9c664-b966-4f82-b368-af5ed8de5b47 ``` ### Domain, Project, User Users and Identity Management Guide (CL110 section10) ``` # project openstack project create --domain MyCorp manufacturing # sub project openstack project create --domain MyCorp --parent manufacturing east # user openstack user create --project-domain MyCorp --project manufacturing --domain MyCorp --password redhat user # role openstack role add --user-domain MyCorp --user user --project-domain MyCorp --project manufacturing member # role assignment list openstack role assignment list --user user --user-domain MyCorp --names ``` ``` # quota openstack quota show -c cores -c ram -c instances east openstack quota set --cores 10 --ram 40000 east ``` ### Network, subnet, router (external) (CL110 section3) ``` # network openstack network create production-network4 -f json # subnet openstack subnet create --subnet-range 192.168.10.0/24 --dhcp --dns-nameserver 172.25.250.254 --network production-network4 production-subnet4 -f json ``` (CL110 section7) ``` openstack router create demo-router openstack router set --external-gateway provider-datacentre demo-router openstack router add subnet demo-router demo-subnet openstack floating ip create provider-datacentre openstack server add floating ip demo-instance 172.25.250.118 ``` ``` [student@workstation ~]$ source operator1-production-rc # network [student@workstation ~(operator1-production)]$ openstack network create \ > --external \ > --share \ > --provider-network-type flat \ > --provider-physical-network datacentre \ > provider-datacentre # subnet [student@workstation ~(operator1-production)]$ openstack subnet create \ > --subnet-range 172.25.250.0/24 \ > --gateway 172.25.250.254 \ > --dns-nameserver 172.25.250.254 \ > --allocation-pool start=172.25.250.101,end=172.25.250.189 \ > --no-dhcp \ > --network provider-datacentre \ > provider-subnet-172.25.250 [student@workstation ~(operator1-production)]$ source developer1-production-rc # router [student@workstation ~(developer1-production)]$ openstack router create \ > production-router1 ## subnet [student@workstation ~(developer1-production)]$ openstack router add \ > subnet production-router1 \ > production-subnet1 ## external-gateway [student@workstation ~(developer1-production)]$ openstack router set \ > --external-gateway provider-datacentre \ > production-router1 ``` ### Security group (CL110 section7) ``` [student@workstation ~(developer1-production)]$ openstack security group \ > create production-secgroup1 [student@workstation ~(developer1-production)]$ openstack security group rule \ > create --protocol tcp \ > --dst-port 22 \ > production-secgroup1 [student@workstation ~(developer1-production)]$ openstack security group \ > rule create --protocol tcp \ > --dst-port 80 \ > production-secgroup1 [student@workstation ~(developer1-production)]$ openstack security group \ > rule create --protocol icmp \ > production-secgroup1 ``` ### key-pair ``` [student@workstation ~(developer1-production)]$ openstack keypair create \ > production-keypair1 > /home/student/Downloads/production-keypair1.pem [student@workstation ~(developer1-production)]$ chmod 600 \ > /home/student/Downloads/production-keypair1.pem ``` ### floating ip ``` [student@workstation ~(developer1-production)]$ openstack floating ip \ > create provider-datacentre ``` ``` openstack server add floating ip SERVER IP-ADDR ``` ### Server (CL110 section3) ``` # server openstack server create --image rhel8 --flavor default --network production-network4 --key-name example-keypair production-server4 --wait # compute node openstack server show production-server4 # MAC address openstack port list --server production-server4 ``` ``` openstack server create \ > --image rhel8-web \ > --flavor default \ > --nic net-id=production-network1 \ > --security-group production-secgroup1 \ > --key-name production-keypair1 \ > --wait \ > production-server9 [student@workstation ~(developer1-production)]$ openstack server \ > add floating ip \ > production-server9 172.25.250.154 ``` ``` ovs-ofctl dump-flows br-int | grep fa:16:3e:7b:05:f6 ``` ### block storage ### volume ``` # create openstack volume create --size 1 production-volume1 # volume add openstack server add volume production-server5 production-volume1 # confirmation openstack volume list --> in-use ``` ### volume snapshot ``` openstack server remove volume production-server5 production-volume1 openstack volume snapshot create --volume production-volume1 production-snapshot1 ``` ### vdb としてマウント ``` openstack server add volume finanse-server2 finance-vol2 ssh xxx lsblk ``` ``` [student@workstation ~(operator1-production)]$ ssh 172.25.250.153 \ > sudo /usr/sbin/parted /dev/vdb \ > mklabel msdos \ > mkpart primary 0 1G # /dev/vdb1 に xfsタイプのファイルシステムを作成する [student@workstation ~(operator1-production)]$ ssh 172.25.250.153 \ > sudo /usr/sbin/mkfs -t xfs /dev/vdb1 # /dev/vdb1 を /mnt に一時的にマウントする [student@workstation ~(operator1-production)]$ ssh 172.25.250.153 \ > sudo /usr/bin/mount /dev/vdb1 /mnt ``` ### イメージのカスタマイズ ``` $ virt-customize \ > -a ~/finance-rhel-mail.qcow2 \ > --run-command 'dnf -y install postfix mailx' \ > --run-command 'systemctl enable postfix' \ > --run-command 'postconf -e "relayhost = [workstation.lab.example.com]"' \ > --run-command 'postconf -e "inet_interfaces = all"' \ > --selinux-relabel [student@workstation ~(developer1-finance)]$ openstack image create \ > --disk-format qcow2 \ > --min-disk 10 \ > --min-ram 2048 \ > --file ~/finance-rhel-mail.qcow2 \ > finance-rhel-mail ``` ### external nw に対応する compute ノード上のOVN名前空間名 ``` sudo ip netns ``` ### redis アクセス時のパスワード `/var/lib/config-data` から `grep -r` して見つけた ### RabbitMQでトレースを有効にする CL210 #2 @controller ``` # tracer ユーザー(パスワードは redhat)を作成する podman exec -t rabbitmq-bundle-podman-0 rabbitmqctl add_user tracer redhat # configure, write, read にパーミッションを割り当てる podman exec -t rabbitmq-bundle-podman-0 rabbitmqctl set_permissions tracer ".*" ".*" ".*" # RabbitMQでトレースを有効化する podman exec -t rabbitmq-bundle-podman-0 rabbitmqctl trace_on ``` ### Object Storage ``` openstack container create container1 openstack object create container1 dataset.dat # @vm openstack object save container1 dataset.dat ``` ### heat demo-template.yaml ``` paramteres: web_image_name: rhel8-app1-web web_instance_name: finance-web (snip) ``` ``` [user@demo ~(user-demo)]$ openstack stack create \ > --parameter "instance_name=first-instance" \ > --template demo-template.yaml \ > demo-stack [user@demo ~(user-demo)]$ openstack stack resource list demo-stack -f json [user@demo ~(user-demo)]$ heat event-list demo-stack [user@demo ~(user-demo)]$ openstack stack event show demo-stack server e7327efa-86a5-4f13-9c9f-ce51ac8ed78e [user@demo ~(user-demo)]$ openstack stack update \ > --parameter "instance_name=demo-server1" \ > --template demo-template.yaml \ > demo-stack ``` ### manila ``` [student@workstation ~(operator1-finance)]$ manila type-create cephfstype false [student@workstation ~(developer1-finance)]$ manila create \ > --name finance-share1 --share-type cephfstype cephfs 1 [student@workstation ~(developer1-finance)]$ manila access-allow \ > finance-share1 cephx cloud-user [student@workstation ~(developer1-finance)]$ manila access-list \ > finance-share1 --columns access_to,access_level,state [student@workstation ~(developer1-finance)]$ manila share-export-location-list \ > finance-share1 --columns Path ## mount [root@finance-server6 ~]# ceph-fuse /mnt/ceph/ \ > --id=cloud-user --conf=/home/cloud-user/ceph.conf \ > --keyring=/home/cloud-user/cloud-user.keyring \ > --client-mountpoint=/volumes/_nogroup/cea022a9-c00c-4003-b6f3-8fea2a49bd5f ``` ## 結果 | 項目 | 10/20 | 10/25 | | -------- | --------:| --------:| | Passing score | 210/300 | 210/300 | | Your score | 83 (27%) | 167 (55%) | | Manage an OpenStack undercloud and overcloud | 33% | 33% | | Manage projects and resources | 0% | 25% | | Manage instances | 0% | 0% | | Manage and utilize storage | 0% | 50% | | Use OpenStack orchestration | 0% | 0% | | Managing Authentication | 100% | 100% | | OpenStack Monitoring | 60% | 80% | ### 10/25 * Manage projects and resources がまたしても失敗してしまった模様。どこが間違ってたのか、よく分からん、、 * External NWの作りかたが分かっておらず、Directorからアクセスできず、後続の問題に取り掛かれないものが出ました。たぶん、 openstack router set --external-gateway を実行しなかった気がします。 * ここでしくると、「Manage instances: 0%」という結果になってしまいます。 * 「Use OpenStack orchestration: 0%」は Heat の問題なのですが、 environment.yaml の書きかたが時間内に分からず、時間切れでした。 * 「Manage and utilize storage: 50%」はたぶん、Swiftのブロックストレージを作成した後、VM上にダウンロードする問題があり、VMにアクセスできないので解けませんでした。 ### 池上さん ``` Dear Shuichi Ikegami: The results of your recent EX210 Red Hat Certified Specialist in Cloud Infrastructure Exam are reported below. Exam domain number: 6 Passing score: 210 Your score: 104 Result: NO PASS Performance on exam objectives: OBJECTIVE: SCORE Manage the Red Hat OpenStack Platform control plane: 33% <前回と同> Manage infrastructure security: 0% <前回と同> Manage user security: 25% <前回と同> Manage application deployment resources: 71% <前回+54%> Manage storage in Red Hat OpenStack Platform: 33% <前回+16%> Manage networking: 100% <前回と同> Manage compute node operations: 25% <前回と同> Monitor operations: 50% <前回+25%> Automate cloud application deployment: 0% <前回と同> Troubleshoot operations: 100% <前回+67%> ``` * Manila, Swift 問題は2問ずつ * LBをheatで作る * compute hci上の namespace ### 2023年度 EX210V16K | 項目 | 3/8 | |-----|-----:| | Passing score | 210/300 | | Your score | 81 (27%) | | Manage the Red Hat OpenStack Platform control plane | 0% | | Manage infrastructure security | 0% | | Manage user security | 50% | | Manage application deployment resources | 43% | | Manage storage in Red Hat OpenStack Platform | 33% | | Manage networking | 100% | | Manage compute node oprations | 0% | | Monitor operations | 0% | | Automate cloud application deployment | 0% | | Troubleshoot operations | 67% |