بخش زیر از یک کتاب پخش گسترده تر برای بررسی انطباق سرور، صرفاً با استفاده از اطلاعات OneView آزمایش شده است.
در رابطه با اقدامات SPP کامل است، اما به مقداری سازگاری نیاز دارد زیرا شامل متغیرهایی است که مقادیر آنها از قسمتهای دیگر ارزیابی میشود (مانند wf_spp)
این از پست اصلی BradV الهام گرفته شد و پست بعدی او با اصلاحات گسترده، تفاوت را ایجاد کرد.
امیدوارم برای کسی مفید باشد، زیرا کد اصلی کرل کمک بزرگی به من کرد.
— – میزبان: همه collect_facts: بدون مجموعه: – ansible.builtin vars: oneview_base_url: “{{oneview_base_url}}” oneview_user: “{{oneview_user_name}}” oneview_pass: “{{oneview_password}}” اتصال: وظایف محلی: – نام: دریافت Session Key delegate_to: localhost uri: url: “{{ oneview_base_url }}/login-sessions” روش: POST validate_certs: False force_basic_auth: yes body_format: json body: username: “{{ oneview_user }}” رمز عبور: {{ oneview_pass }}” headers: Content-type: “application/json” register: output tags: always – name: OneView Key set_fact: oneview_key: “{{ output.json.sessionID }}” برچسب ها: همیشه – نام: دریافت تمام جزئیات سخت افزار سرور delegate_to: localhost uri: url: “{{ oneview_base_url }}/server-hardware” روش: GET validate_certs: Fase body_format: json headers: X-Api-Version: 1200 Auth: “{{ oneview_key }}” register : برچسب های خروجی: provision – name: تنظیم واقعیت برای UUID سرور set_fact: fact_server_uuid: “{{ (output.json.members | flatten | selectattr(‘name’, ‘equalto’, wf_bl ade_id) | first).uuid }}” برچسبها: provision – name: دریافت تمام جزئیات سیستم عامل سرور delegate_to: localhost uri: url: “{{ oneview_base_url }}/firmware-drivers” روش: GET validate_certs: Fase body_format: هدرهای json: X-Api -نسخه: 1200 Auth: “{{ oneview_key }}” register: برچسب های خروجی: [provision, survey_update]
– name: تنظیم واقعیت برای SPP UUID set_fact: fact_spp_uuid: “{{ (output.json.members | flatten | selectattr(‘baselineShortName’, ‘equalto’, wf_spp)) | map(attribute=”uuid”) | first }} ” tags: provision – name: فهرست تمام نسخه های SPP بارگذاری شده در OneView delegate_to: localhost set_stats: data: wf_spp_versions: “{{ output.json.members | map(attribute=”baselineShortName”) | list }}” #| join(‘\n’) }}” برچسبها: survey_update – نام: دریافت انطباق سرور delegate_to: localhost uri: url: “{{ oneview_base_url }}/server-hardware/firmware-compliance” روش: POST validate_certs: false body_format: json body: firmwareBaselineId: “{{ fact_spp_uuid }}” serverUUID: “{{ fact_server_uuid }}” headers: X-Api-Version: 1200 Auth: “{{ oneview_key }}” register: output tags: provision – name: print status update delegate_to: اشکال زدایی localhost: msg: “{{ output.json.serverFirmwareUpdateRequired }}” برچسب ها: provision – name: بررسی کنید که آیا سرور به به روز رسانی نیاز دارد set_fact: update_required: “{{ output.json.serverFirmwareUpdateRequired }}” برچسب ها: provision اگر سرور نیاز به بهروزرسانی داشته باشد، شکست میخورد delegate_to: localhost fail: msg: “سرور به بهروزرسانی نیاز دارد” when: update_required == “true” # when: output.json.serverFirmwareUpdateRequired == برچسبها “true”: provision
منبع: https://community.hpe.com/t5/hpe-oneview/checking-firmware-compliance-with-rest-api/m-p/7179164#M7738 تحریریه مجله اچ پی