devplayground
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| devplayground [2025/06/10 17:44] – [Configuring CephFS Mounts] pdonnell | devplayground [2026/09/14 14:23] (current) – djgalloway | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| ^ Name ^ Notes ^ | ^ Name ^ Notes ^ | ||
| - | | [[hardware: | ||
| - | | [[hardware: | ||
| - | | [[hardware: | ||
| | [[hardware: | | [[hardware: | ||
| | [[hardware: | | [[hardware: | ||
| Line 52: | Line 49: | ||
| ==== Configuring CephFS Mounts ==== | ==== Configuring CephFS Mounts ==== | ||
| - | The following ansible playbook can be run to setup CephFS mounts on a new developer playground machines: | + | The following ansible playbook can be run to setup CephFS mounts on a new developer playground machines: |
| - | < | ||
| - | --- | ||
| - | - name: Configure Ceph Client and Mounts | ||
| - | hosts: all | ||
| - | become: true | ||
| - | vars: | ||
| - | admin_node: " | ||
| - | ceph_conf_path: | ||
| - | keyring_path: | ||
| - | secret_path: | ||
| - | mounts: | ||
| - | - { path: "/ | ||
| - | - { path: "/ | ||
| - | - { path: "/ | ||
| - | tasks: | ||
| - | - name: "1. Gather Ceph configuration using raw commands" | ||
| - | delegate_to: | ||
| - | block: | ||
| - | - name: " | ||
| - | ansible.builtin.raw: | ||
| - | env CEPH_KEYRING=/ | ||
| - | register: ceph_conf_content | ||
| - | changed_when: | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.raw: | ||
| - | cat {{ keyring_path }} | ||
| - | register: keyring_content | ||
| - | changed_when: | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.raw: | ||
| - | ceph-authtool {{ keyring_path }} -n client.sepian -p | ||
| - | register: secret_content | ||
| - | changed_when: | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.raw: | ||
| - | env CEPH_KEYRING=/ | ||
| - | register: mon_hosts | ||
| - | changed_when: | ||
| - | |||
| - | - name: "2. Configure Ceph client files" | ||
| - | block: | ||
| - | - name: " | ||
| - | ansible.builtin.file: | ||
| - | path: "/ | ||
| - | state: directory | ||
| - | mode: ' | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.copy: | ||
| - | content: "{{ ceph_conf_content.stdout }}" | ||
| - | dest: "{{ ceph_conf_path }}" | ||
| - | mode: ' | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.copy: | ||
| - | content: "{{ keyring_content.stdout }}" | ||
| - | dest: "{{ keyring_path }}" | ||
| - | mode: ' | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.copy: | ||
| - | content: "{{ secret_content.stdout }}" | ||
| - | dest: "{{ secret_path }}" | ||
| - | mode: ' | ||
| - | |||
| - | - name: "3. Set up CephFS mounts" | ||
| - | block: | ||
| - | - name: " | ||
| - | ansible.posix.mount: | ||
| - | path: "{{ item.path }}" | ||
| - | state: unmounted | ||
| - | loop: "{{ mounts }}" | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.file: | ||
| - | path: "{{ item.path }}" | ||
| - | state: directory | ||
| - | mode: ' | ||
| - | loop: "{{ mounts }}" | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.file: | ||
| - | path: "{{ item.path }}" | ||
| - | attr: +i | ||
| - | register: immutable_file | ||
| - | changed_when: | ||
| - | loop: "{{ mounts }}" | ||
| - | |||
| - | - name: " | ||
| - | ansible.posix.mount: | ||
| - | path: "{{ item.path }}" | ||
| - | src: "{{ mon_hosts.stdout | trim }}:{{ item.src }}" | ||
| - | fstype: "{{ item.fstype }}" | ||
| - | opts: " | ||
| - | state: mounted | ||
| - | dump: 2 | ||
| - | passno: 2 | ||
| - | loop: "{{ mounts }}" | ||
| - | notify: Reload Systemd | ||
| - | |||
| - | - name: " | ||
| - | ansible.builtin.file: | ||
| - | src: "/ | ||
| - | dest: "/ | ||
| - | state: link | ||
| - | force: true | ||
| - | |||
| - | - name: "Force handlers to run before mounting" | ||
| - | ansible.builtin.meta: | ||
| - | |||
| - | handlers: | ||
| - | - name: Reload Systemd | ||
| - | listen: Reload Systemd | ||
| - | ansible.builtin.systemd: | ||
| - | daemon_reload: | ||
| - | </ | ||
| ==== Teuthology scheduling ==== | ==== Teuthology scheduling ==== | ||
| Line 185: | Line 63: | ||
| active_machine_types: | active_machine_types: | ||
| - smithi | - smithi | ||
| + | - trial | ||
| + | - gibba | ||
| EOF | EOF | ||
| </ | </ | ||
| - | Note: killing a run is (generally) still necessary on [[services: | + | Note: killing a run is (generally) still necessary on [[services: |
| ==== Configuring LVM volumes using spare disks ==== | ==== Configuring LVM volumes using spare disks ==== | ||
devplayground.1749577455.txt.gz · Last modified: by pdonnell
