diff --git a/404.html b/404.html index c4c0b9d692..a35e394abd 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ Page Not Found | OSISM - + diff --git a/assets/js/08ca43f3.33faca0b.js b/assets/js/08ca43f3.33faca0b.js new file mode 100644 index 0000000000..afb1817cb8 --- /dev/null +++ b/assets/js/08ca43f3.33faca0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkosism=self.webpackChunkosism||[]).push([[5655],{9524:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var o=s(5893),t=s(1151);const i={sidebar_label:"Ceph",sidebar_position:50},r="Ceph operations cheatsheet",a={id:"guides/operations-guide/ceph",title:"Ceph operations cheatsheet",description:"Where to find docs",source:"@site/docs/guides/operations-guide/ceph.md",sourceDirName:"guides/operations-guide",slug:"/guides/operations-guide/ceph",permalink:"/docs/guides/operations-guide/ceph",draft:!1,unlisted:!1,editUrl:"https://github.com/osism/osism.github.io/tree/main/docs/guides/operations-guide/ceph.md",tags:[],version:"current",sidebarPosition:50,frontMatter:{sidebar_label:"Ceph",sidebar_position:50},sidebar:"tutorialSidebar",previous:{title:"Task",permalink:"/docs/guides/operations-guide/manager/task"},next:{title:"OpenStack",permalink:"/docs/guides/operations-guide/openstack/"}},l={},d=[{value:"Where to find docs",id:"where-to-find-docs",level:2},{value:"Advice on Ceph releases",id:"advice-on-ceph-releases",level:2},{value:"General maintenance",id:"general-maintenance",level:2},{value:"60 seconds cluster overview",id:"60-seconds-cluster-overview",level:3},{value:"Mute/Unmute a health warning",id:"muteunmute-a-health-warning",level:3},{value:"Disable/Enable (deep-)scrubbing",id:"disableenable-deep-scrubbing",level:3},{value:"Reboot a single node",id:"reboot-a-single-node",level:3},{value:"Gathering information about block devices",id:"gathering-information-about-block-devices",level:2},{value:"Enumerate typical storage devices and LVM",id:"enumerate-typical-storage-devices-and-lvm",level:3},{value:"SMART data for SATA/SAS and NVME devices",id:"smart-data-for-satasas-and-nvme-devices",level:3},{value:"Check format of a NVME device",id:"check-format-of-a-nvme-device",level:3},{value:"Format a NVME device to a different LBA format using nvme-cli",id:"format-a-nvme-device-to-a-different-lba-format-using-nvme-cli",level:3},{value:"Secure Erase a NVME drive using nvme-cli",id:"secure-erase-a-nvme-drive-using-nvme-cli",level:3},{value:"Secure Erase a SATA/SAS drive using hdparm",id:"secure-erase-a-satasas-drive-using-hdparm",level:3},{value:"OSD maintenance tasks",id:"osd-maintenance-tasks",level:2},{value:"Locate a specific OSD in the cluster",id:"locate-a-specific-osd-in-the-cluster",level:3},{value:"Get OSD metadata (global and single OSD)",id:"get-osd-metadata-global-and-single-osd",level:3},{value:"Add a new OSD",id:"add-a-new-osd",level:3},{value:"Remove a OSD",id:"remove-a-osd",level:3},{value:"Replace a defect OSD",id:"replace-a-defect-osd",level:3},{value:"Remove a single OSD node",id:"remove-a-single-osd-node",level:3},{value:"Remove an OSD (removing it completely, not reprovisioning it again) without double rebalance",id:"remove-an-osd-removing-it-completely-not-reprovisioning-it-again-without-double-rebalance",level:3},{value:"Remove an OSD (temporarily e.g. when replacing a broken disk)",id:"remove-an-osd-temporarily-eg-when-replacing-a-broken-disk",level:3},{value:"Disable backfills/recovery completely",id:"disable-backfillsrecovery-completely",level:3},{value:"Rebalance OSDs",id:"rebalance-osds",level:3},{value:"Placement Group maintenance",id:"placement-group-maintenance",level:2},{value:"Dump placement groups",id:"dump-placement-groups",level:3},{value:"Query a PG about its status",id:"query-a-pg-about-its-status",level:3},{value:"Start (deep-)scrubbing of a placement group",id:"start-deep-scrubbing-of-a-placement-group",level:3},{value:"HEALTH_WARN - Large omap objects found...",id:"health_warn---large-omap-objects-found",level:3},{value:"Instruct a PG to repair in case of scrub errors (inconsistent PG)",id:"instruct-a-pg-to-repair-in-case-of-scrub-errors-inconsistent-pg",level:3},{value:"RADOS Pool maintenance",id:"rados-pool-maintenance",level:2},{value:"Get pools and their configuration",id:"get-pools-and-their-configuration",level:3},{value:"Dump all CRUSH rules",id:"dump-all-crush-rules",level:3},{value:"Get autoscaler status",id:"get-autoscaler-status",level:3},{value:"Create a replicated pool",id:"create-a-replicated-pool",level:3},{value:"Enabling an application on a pool",id:"enabling-an-application-on-a-pool",level:3},{value:"Delete a pool",id:"delete-a-pool",level:3},{value:"Set number of PGs for a pool",id:"set-number-of-pgs-for-a-pool",level:3},{value:"Create CRUSH rules for different storage classes",id:"create-crush-rules-for-different-storage-classes",level:3},{value:"Change CRUSH rule for a pool ("move pool")",id:"change-crush-rule-for-a-pool-move-pool",level:3},{value:"Advanced topics",id:"advanced-topics",level:2},{value:"Validating Ceph using OSISM playbooks",id:"validating-ceph-using-osism-playbooks",level:3},{value:"Shutdown a Ceph cluster",id:"shutdown-a-ceph-cluster",level:3},{value:"Restart a Ceph cluster after manual shutdown",id:"restart-a-ceph-cluster-after-manual-shutdown",level:3},{value:"Where and how to get further help",id:"where-and-how-to-get-further-help",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"ceph-operations-cheatsheet",children:"Ceph operations cheatsheet"}),"\n",(0,o.jsx)(n.h2,{id:"where-to-find-docs",children:"Where to find docs"}),"\n",(0,o.jsxs)(n.p,{children:["The official Ceph documentation is located on ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest",children:"https://docs.ceph.com/en/latest"})]}),"\n",(0,o.jsxs)(n.p,{children:["It is ",(0,o.jsx)(n.strong,{children:"strongly advised"})," to use the documentation for the version being used."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Pacific - ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/pacific",children:"https://docs.ceph.com/en/pacific"})]}),"\n",(0,o.jsxs)(n.li,{children:["Quincy - ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/quincy",children:"https://docs.ceph.com/en/quincy"})]}),"\n",(0,o.jsxs)(n.li,{children:["Reef - ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/reef",children:"https://docs.ceph.com/en/reef"})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["ceph-ansible documentation is located on ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/projects/ceph-ansible/en/latest/",children:"https://docs.ceph.com/projects/ceph-ansible/en/latest/"})]}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsxs)(n.p,{children:["Do not take information in the documentation at face value.\nEspecially when it comes to advanced/rarely used/very new features it is ",(0,o.jsx)(n.strong,{children:"strongly advised"}),"\nto test any claims made in the documentation about any particular feature."]}),(0,o.jsx)(n.p,{children:"Never assume that things will work as written without actually testing it on a test setup\nas close to your real workload scenario as possible."})]}),"\n",(0,o.jsx)(n.h2,{id:"advice-on-ceph-releases",children:"Advice on Ceph releases"}),"\n",(0,o.jsxs)(n.p,{children:["The current Ceph releases and their support status can be found on ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest/releases/",children:"https://docs.ceph.com/en/latest/releases/"})]}),"\n",(0,o.jsxs)(n.p,{children:["When a new Ceph stable version is released you are ",(0,o.jsx)(n.strong,{children:"strongly advised"}),"\nto not roll it out on any production cluster whatsoever.\nEven though its listed as \"stable\" it doesn't mean that this is actually true.\nEspecially avoid using .0 releases on anything remotely production\nunless you really, really now what you're doing and can live with a possible catastrophic failure."]}),"\n",(0,o.jsxs)(n.p,{children:["Be ",(0,o.jsx)(n.strong,{children:"very"})," conservative about what version you run on production systems."]}),"\n",(0,o.jsx)(n.p,{children:"Shiny new features aren't worth the risk of total or partial data loss/corruption."}),"\n",(0,o.jsx)(n.h2,{id:"general-maintenance",children:"General maintenance"}),"\n",(0,o.jsx)(n.h3,{id:"60-seconds-cluster-overview",children:"60 seconds cluster overview"}),"\n",(0,o.jsx)(n.p,{children:"The following commands can be used to quickly check the status of Ceph:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph -s # Print overall cluster status\n$ ceph health detail # Print detailed health information\n$ ceph osd tree # Display current OSD tree\n$ ceph df # Cluster storage usage by pool and storage class\n$ ceph osd pool ls detail # List pools with detailed configuration\n$ ceph osd df {plain|tree} {class e.g. hdd|ssd} # Get usage stats for OSDs\n$ ceph -w # Watch Ceph health messages sequentially\n$ ceph versions # List daemon versions running in the cluster\n"})}),"\n",(0,o.jsx)(n.p,{children:"Also you can run the following on each node running ceph-daemons,\nto provide further debug information about the environment:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# lscpu\n# cat /proc/cpuinfo # if lscpu isn't available\n# free -g\n# ip l\n# ethtool # for each network adapter\n"})}),"\n",(0,o.jsx)(n.h3,{id:"muteunmute-a-health-warning",children:"Mute/Unmute a health warning"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph health mute \n$ ceph health unmute \n"})}),"\n",(0,o.jsx)(n.h3,{id:"disableenable-deep-scrubbing",children:"Disable/Enable (deep-)scrubbing"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd set noscrub\n$ ceph osd set nodeep-scrub\n$ ceph osd unset noscrub\n$ ceph osd unset nodeep-scrub\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Use this sparingly only in emergency situations.\nSetting these flags will cause a HEALTH_WARN status,\nincrease risk of data corruption and also the risk of generating\na HEALTH_WARN due to PGs not being (deep-)scrubbed in time."})}),"\n",(0,o.jsx)(n.h3,{id:"reboot-a-single-node",children:"Reboot a single node"}),"\n",(0,o.jsxs)(n.p,{children:["The traditional way of doing this is by setting the ",(0,o.jsx)(n.code,{children:"noout"})," flag,\ndo the appropriate maintenance work and after the node is back online\nunset the flag like so:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd set noout\n"})}),"\n",(0,o.jsx)(n.p,{children:"After maintenance is done and host is back up:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd unset noout\n"})}),"\n",(0,o.jsx)(n.p,{children:"On versions Luminous or above you can set the flag individually for single\nOSDs or entire CRUSH buckets, which can be a safer option in case of prolonged\nmaintenance periods."}),"\n",(0,o.jsx)(n.p,{children:"Add noout for a OSD:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd add-noout osd.\n"})}),"\n",(0,o.jsx)(n.p,{children:"Remove noout for a OSD:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd rm-noout osd.\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Add noout for CRUSH bucket (e.g. host name as seen in ",(0,o.jsx)(n.code,{children:"ceph osd tree"}),"):"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd set-group noout \n"})}),"\n",(0,o.jsx)(n.p,{children:"Remove noout for CRUSH bucket:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd unset-group noout \n"})}),"\n",(0,o.jsx)(n.h2,{id:"gathering-information-about-block-devices",children:"Gathering information about block devices"}),"\n",(0,o.jsx)(n.h3,{id:"enumerate-typical-storage-devices-and-lvm",children:"Enumerate typical storage devices and LVM"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# lsblk\n# lsblk -S\n# lsscsi\n# nvme list\n# pvs\n# vgs\n# lvs\n"})}),"\n",(0,o.jsx)(n.h3,{id:"smart-data-for-satasas-and-nvme-devices",children:"SMART data for SATA/SAS and NVME devices"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# smartctl -a /dev/sdX\n# nvme smart-log /dev/nvmeXnY\n"})}),"\n",(0,o.jsx)(n.h3,{id:"check-format-of-a-nvme-device",children:"Check format of a NVME device"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# nvme id-ns -H /dev/nvmeXnY\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:'Check the last lines named "LBA Format".\nIt will show which formats are supported,\nwhich format is in use and which format offers the best performance\naccording to the vendor.'})}),"\n",(0,o.jsx)(n.h3,{id:"format-a-nvme-device-to-a-different-lba-format-using-nvme-cli",children:"Format a NVME device to a different LBA format using nvme-cli"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This will destroy all data on the device!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# nvme format --lbaf= /dev/nvmeXnY\n"})}),"\n",(0,o.jsx)(n.h3,{id:"secure-erase-a-nvme-drive-using-nvme-cli",children:"Secure Erase a NVME drive using nvme-cli"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This will destroy all data on the device!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# nvme format -s2 /dev/nvmeXnY\n# blkdiscard /dev/nvmeXnY\n# nvme format -s1 /dev/nvmeXnY\n"})}),"\n",(0,o.jsx)(n.h3,{id:"secure-erase-a-satasas-drive-using-hdparm",children:"Secure Erase a SATA/SAS drive using hdparm"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This will destroy all data on the device!"})}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Gather device info:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# hdparm -I /dev/sdX\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Check that the output says ",(0,o.jsx)(n.strong,{children:'"not frozen"'})," and ",(0,o.jsx)(n.strong,{children:'"not locked"'}),",\nalso it should list support for enhanced erase and list time estimates\nfor ",(0,o.jsx)(n.strong,{children:"SECURITY ERASE UNIT"})," and/or ",(0,o.jsx)(n.strong,{children:"ENHANCED SECURITY ERASE UNIT"})]}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Set a master password for the disk (required, will be automatically removed after wipe)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# hdparm --user-master wipeit --security-set-pass wipeit /dev/sdX\n# hdparm -I /dev/sdX\n"})}),"\n",(0,o.jsxs)(n.p,{children:['Check that "Security level" is now ',(0,o.jsx)(n.strong,{children:'"high"'})," and master password is now\n",(0,o.jsx)(n.strong,{children:'"enabled"'})," instead of ",(0,o.jsx)(n.strong,{children:'"not enabled"'})," before"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Wipe the device"}),"\n",(0,o.jsx)(n.p,{children:"If device supports enhanced security erase (better), use the following:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# hdparm --user-master wipeit --security-erase-enhanced wipeit /dev/sdX\n"})}),"\n",(0,o.jsx)(n.p,{children:"If not, use standard security erase:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# hdparm --user-master wipeit --security-erase wipeit /dev/sdX\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:['On some systems the system firmware might "freeze" the device,\nwhich makes it impossible to issue a secure erase or reformat the device.\nIn that case it might be necessary to either "unfreeze" the drive or\nto install the drive in another system where it can be unfrozen.\nAlso make sure that the device is ',(0,o.jsx)(n.em,{children:"actually"})," wiped. Its recommended to\nat least perform a blanking pass on HDDs with a tool like nwipe."]})}),"\n",(0,o.jsx)(n.h2,{id:"osd-maintenance-tasks",children:"OSD maintenance tasks"}),"\n",(0,o.jsx)(n.h3,{id:"locate-a-specific-osd-in-the-cluster",children:"Locate a specific OSD in the cluster"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd find osd.\n"})}),"\n",(0,o.jsx)(n.h3,{id:"get-osd-metadata-global-and-single-osd",children:"Get OSD metadata (global and single OSD)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd metadata\n$ ceph osd metadata osd.\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"Interesting fields:\nosd_objectstore, rotational, hostname, devices, device_ids, device_paths,\nbluefs_db_rotational, bluefs_wal_rotational,\nbluefs_dedicated_db, bluefs_dedicated_wal,\nbluestore_bdev_rotational"})}),"\n",(0,o.jsx)(n.h3,{id:"add-a-new-osd",children:"Add a new OSD"}),"\n",(0,o.jsx)(n.h3,{id:"remove-a-osd",children:"Remove a OSD"}),"\n",(0,o.jsx)(n.h3,{id:"replace-a-defect-osd",children:"Replace a defect OSD"}),"\n",(0,o.jsx)(n.h3,{id:"remove-a-single-osd-node",children:"Remove a single OSD node"}),"\n",(0,o.jsx)(n.h3,{id:"remove-an-osd-removing-it-completely-not-reprovisioning-it-again-without-double-rebalance",children:"Remove an OSD (removing it completely, not reprovisioning it again) without double rebalance"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd crush reweight osd. 0.0\n... Wait for rebalance to complete, then mark it OUT:\n$ ceph osd out osd.\n# systemctl stop ceph-osd@\n# systemctl disable ceph-osd@\n$ ceph osd purge osd. --yes-i-really-mean-it\n"})}),"\n",(0,o.jsx)(n.h3,{id:"remove-an-osd-temporarily-eg-when-replacing-a-broken-disk",children:"Remove an OSD (temporarily e.g. when replacing a broken disk)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd out osd.\n# systemctl stop ceph-osd@\n# systemctl disable ceph-osd@\n"})}),"\n",(0,o.jsx)(n.h3,{id:"disable-backfillsrecovery-completely",children:"Disable backfills/recovery completely"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Use only in emergency situations!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd set nobackfill\n$ ceph osd set norecovery\n$ ceph osd set norebalance\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Unset the flags with ",(0,o.jsx)(n.code,{children:"ceph osd unset "}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"rebalance-osds",children:"Rebalance OSDs"}),"\n",(0,o.jsx)(n.h2,{id:"placement-group-maintenance",children:"Placement Group maintenance"}),"\n",(0,o.jsx)(n.h3,{id:"dump-placement-groups",children:"Dump placement groups"}),"\n",(0,o.jsx)(n.p,{children:"Usually only useful when parsing it, so here are two ways to get the data:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph pg dump\n$ ceph pg dump --format=json-pretty\n"})}),"\n",(0,o.jsx)(n.h3,{id:"query-a-pg-about-its-status",children:"Query a PG about its status"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph pg query\n"})}),"\n",(0,o.jsx)(n.h3,{id:"start-deep-scrubbing-of-a-placement-group",children:"Start (deep-)scrubbing of a placement group"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph pg scrub \n$ ceph pg deep-scrub \n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"Instructing a PG to (deep-)scrub does not mean that it will do so immediately,\nit can take some time for the scrub to start."})}),"\n",(0,o.jsx)(n.h3,{id:"health_warn---large-omap-objects-found",children:"HEALTH_WARN - Large omap objects found..."}),"\n",(0,o.jsx)(n.p,{children:"Finding PGs which have large OMAP objects:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# ceph pg dump --format=json | jq '.pg_map.pg_stats[] |\nselect(.stat_sum.num_large_omap_objects != 0) |\n(.pgid, .stat_sum.num_large_omap_objects, .up, .acting)'\n"})}),"\n",(0,o.jsxs)(n.p,{children:["(Remove the line breaks between the single quotes or ",(0,o.jsx)(n.code,{children:"jq"})," might act weird!)"]}),"\n",(0,o.jsxs)(n.p,{children:["This will dump all PG IDs with large OMAP objects and their up/acting OSDs.\nYou then can grep the logs of these OSDs for ",(0,o.jsx)(n.strong,{children:'"Large omap object"'}),"\nto find the actual objects causing the health warning."]}),"\n",(0,o.jsx)(n.p,{children:"Also the PG ID before the dot is equal to the pool ID it belongs to."}),"\n",(0,o.jsx)(n.p,{children:"In case the logs have been rotated, instruct those OSDs to do a deep-scrub\nand watch the logs for the message to appear."}),"\n",(0,o.jsx)(n.p,{children:"From there you can investigate the issue further,\nmostly it'll be due to the index of a RGW bucket getting too big due to too many objects,\nthus resharding that bucket's index will be necessary."}),"\n",(0,o.jsx)(n.h3,{id:"instruct-a-pg-to-repair-in-case-of-scrub-errors-inconsistent-pg",children:"Instruct a PG to repair in case of scrub errors (inconsistent PG)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph pg repair \n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsxs)(n.p,{children:["Recovery might not start immediately and might take some time.\nYou can query the status of the recovery through ",(0,o.jsx)(n.code,{children:"ceph pg query"}),".\nBe sure to read the Ceph manual about this topic ",(0,o.jsx)(n.em,{children:"thoroughly"}),":"]}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest/rados/operations/pg-repair/",children:"https://docs.ceph.com/en/latest/rados/operations/pg-repair/"})})]}),"\n",(0,o.jsx)(n.h2,{id:"rados-pool-maintenance",children:"RADOS Pool maintenance"}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsx)(n.p,{children:"Read the RADOS pool operations documentation in detail before playing around with pools.\nEspecially when considering making changes to the CRUSH map.\nWrong decisions there can lead to data loss or other catastrophic failures."}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest/rados/operations/pools/",children:"https://docs.ceph.com/en/latest/rados/operations/pools/"})})]}),"\n",(0,o.jsx)(n.h3,{id:"get-pools-and-their-configuration",children:"Get pools and their configuration"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool ls detail\n"})}),"\n",(0,o.jsx)(n.h3,{id:"dump-all-crush-rules",children:"Dump all CRUSH rules"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd crush rule dump\n"})}),"\n",(0,o.jsx)(n.h3,{id:"get-autoscaler-status",children:"Get autoscaler status"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool autoscale-status\n"})}),"\n",(0,o.jsx)(n.h3,{id:"create-a-replicated-pool",children:"Create a replicated pool"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool create replicated []\n"})}),"\n",(0,o.jsx)(n.h3,{id:"enabling-an-application-on-a-pool",children:"Enabling an application on a pool"}),"\n",(0,o.jsx)(n.p,{children:"Required, otherwise a health warning will be raised after some time."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool application enable # Syntax\n$ ceph osd pool application enable cinder rbd # Example\n"})}),"\n",(0,o.jsx)(n.p,{children:"Typical application names are: rbd, rgw, cephfs"}),"\n",(0,o.jsx)(n.h3,{id:"delete-a-pool",children:"Delete a pool"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This will delete all data in that pool. There is no undo/undelete."})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool delete --yes-i-really-really-mean-it\n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsxs)(n.p,{children:["In order to be able to delete pools, it has to be enabled on the monitors\nby setting the ",(0,o.jsx)(n.code,{children:"mon_allow_pool_delete"})," flag to true. Default is false."]}),(0,o.jsxs)(n.p,{children:["See: ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest/rados/configuration/mon-config-ref",children:"https://docs.ceph.com/en/latest/rados/configuration/mon-config-ref"})]})]}),"\n",(0,o.jsx)(n.h3,{id:"set-number-of-pgs-for-a-pool",children:"Set number of PGs for a pool"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool set pg_num \n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsx)(n.p,{children:"Num PGs must be a power of two! Be careful about changing number of PGs.\nChanging pg_num to a new value will gradually increase pgp_num on newer versions of Ceph."}),(0,o.jsx)(n.p,{children:"In older versions one also has to set pgp_num manually, either in increments or in one big leap."})]}),"\n",(0,o.jsx)(n.h3,{id:"create-crush-rules-for-different-storage-classes",children:"Create CRUSH rules for different storage classes"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd crush rule create-replicated replicated_hdd default host hdd\n$ ceph osd crush rule create-replicated replicated_ssd default host ssd\n$ ceph osd crush rule create-replicated replicated_nvme default host nvme\n"})}),"\n",(0,o.jsx)(n.h3,{id:"change-crush-rule-for-a-pool-move-pool",children:'Change CRUSH rule for a pool ("move pool")'}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool set crush_rule \n"})}),"\n",(0,o.jsx)(n.p,{children:"This can be used to move a pool from e.g. HDD to SSD or NVME class\nor anything else that the new CRUSH rule specifies."}),"\n",(0,o.jsx)(n.h2,{id:"advanced-topics",children:"Advanced topics"}),"\n",(0,o.jsx)(n.h3,{id:"validating-ceph-using-osism-playbooks",children:"Validating Ceph using OSISM playbooks"}),"\n",(0,o.jsxs)(n.p,{children:["For Ceph, special playbooks were added to validate the deployment status of\nthe OSD, MON and MGR services. The commands for use are ",(0,o.jsx)(n.code,{children:"osism validate ceph-osds"}),",\n",(0,o.jsx)(n.code,{children:"osism validate ceph-mons"}),", and ",(0,o.jsx)(n.code,{children:"osism validate ceph-mgrs"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["These playbooks will validate that the deployed Ceph environment matches\nthe configuration and is overall in a healthy state. The playbooks will\ngenerate report files in JSON format on the first manager node in ",(0,o.jsx)(n.code,{children:"/opt/reports/validator"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"shutdown-a-ceph-cluster",children:"Shutdown a Ceph cluster"}),"\n",(0,o.jsx)(n.p,{children:"In order to fully shutdown a Ceph cluster safely, you first do the following steps:"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Take GOOD NOTES of the unit names and OSD IDs running on each node.\nYou will need them to restart the cluster later."})}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Stop the workload that is using the cluster"}),"\n",(0,o.jsx)(n.p,{children:"This will vary depending on your environment and is not covered here."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Pause/Stop operations on the cluster by setting flags"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd set noout\n$ ceph osd set nobackfill\n$ ceph osd set norecover\n$ ceph osd set norebalance\n$ ceph osd set nodown\n$ ceph osd set pause\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Stop and disable the ",(0,o.jsx)(n.code,{children:"radosgw"})," services on all nodes (on each rgw node) (if RGW is used)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the name of the unit (globs not supported for disable) and\nmake a note of the unit name for that node:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-radosgw\n"})}),"\n",(0,o.jsx)(n.p,{children:"Then disable and stop the unit:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable --now ceph-radosgw@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Stop all CephFS file systems (if CephFS is used)"}),"\n",(0,o.jsx)(n.p,{children:"List all Ceph file systems"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph fs ls\n"})}),"\n",(0,o.jsx)(n.p,{children:"For each CephFS do:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph fs down true\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["After that disable and stop all ",(0,o.jsx)(n.code,{children:"ceph-mds"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the name of the unit (globs not supported for disable) and\nmake a note of the unit name for that node:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-mds\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable --now ceph-mds@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Stop and disable the ",(0,o.jsx)(n.code,{children:"ceph-mgr"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the name of the unit (globs not supported for disable) and\nmake a note of the unit name for that node:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-mgr\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable --now ceph-mgr@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Stop and disable the ",(0,o.jsx)(n.code,{children:"ceph-osd"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the names of the units (globs not supported for disable) and\nmake a note of the unit names for that node (best to save it to a file):"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-osd\n"})}),"\n",(0,o.jsx)(n.p,{children:"For each OSD unit execute:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable ceph-osd@.service\n"})}),"\n",(0,o.jsx)(n.p,{children:"Stop all OSDs at once:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl stop ceph-osd\\*.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Finally stop the ",(0,o.jsx)(n.code,{children:"ceph-mon"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the name of the unit (globs not supported for disable) and\nmake a note of the unit name for that node:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-mon\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable --now ceph-mon@.service\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"restart-a-ceph-cluster-after-manual-shutdown",children:"Restart a Ceph cluster after manual shutdown"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["You will need the notes taken during shutdown of the unit names.\nIt ",(0,o.jsx)(n.strong,{children:"can"})," be done without, but then it'll be way more work finding out the names."]})}),"\n",(0,o.jsx)(n.p,{children:"In order to restart a Ceph cluster after performing a manual shutdown like described\nin the section above, you do the following:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"ceph-mon"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-mon@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"ceph-osd"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"For each Ceph OSD on that node do:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-osd@.service\n"})}),"\n",(0,o.jsx)(n.p,{children:"Depending on the number of OSDs on that node it can take a while."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"ceph-mgr"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-mgr@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Check the status of your cluster and wait for all OSDs to come online"}),"\n",(0,o.jsx)(n.p,{children:"You can watch the status periodically by running:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ watch ceph -s\n"})}),"\n",(0,o.jsx)(n.p,{children:"You should wait until all OSDs are up + in again, before removing flags."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Remove flags to unpause operations"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd unset pause\n$ ceph osd unset nodown\n$ ceph osd unset noout\n$ ceph osd unset nobackfill\n$ ceph osd unset norecover\n$ ceph osd unset norebalance\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Wait for cluster to resume operations"}),"\n",(0,o.jsx)(n.p,{children:'See step #4 of this SOP.\nNow you wait until the cluster seems "happy enough" to accept clients.\n(i.e. rebalancing finished etc.)\nMaybe it will complain about MDS being down, but that\'s normal for now.'}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"ceph-mds"})," services on each node (if CephFS is used)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-mds@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Start CephFS file systems again"}),"\n",(0,o.jsx)(n.p,{children:"List all Ceph file systems"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph fs ls\n"})}),"\n",(0,o.jsx)(n.p,{children:"For each CephFS do:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph fs down false\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"radosgw"})," services on each node (if RGW is used)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-radosgw@.service\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"where-and-how-to-get-further-help",children:"Where and how to get further help"}),"\n",(0,o.jsxs)(n.p,{children:["Join the ",(0,o.jsx)(n.strong,{children:"#ceph"})," IRC channel on ",(0,o.jsx)(n.strong,{children:"irc.oftc.net"}),', state the problem with as many details as possible\nincluding information about what steps have already been taken to solve the problem\nalso provide information from the command output from the "60 seconds cluster overview" above\nthrough a pastebin or a similar service. In order for people to be able\nto help, details and some patience are important.']})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>r});var o=s(7294);const t={},i=o.createContext(t);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/08ca43f3.ce3dd527.js b/assets/js/08ca43f3.ce3dd527.js deleted file mode 100644 index 9c6d376c0b..0000000000 --- a/assets/js/08ca43f3.ce3dd527.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkosism=self.webpackChunkosism||[]).push([[5655],{9524:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>d});var o=s(5893),i=s(1151);const t={sidebar_label:"Ceph",sidebar_position:50},a="Ceph operations cheatsheet",r={id:"guides/operations-guide/ceph",title:"Ceph operations cheatsheet",description:"Where to find docs",source:"@site/docs/guides/operations-guide/ceph.md",sourceDirName:"guides/operations-guide",slug:"/guides/operations-guide/ceph",permalink:"/docs/guides/operations-guide/ceph",draft:!1,unlisted:!1,editUrl:"https://github.com/osism/osism.github.io/tree/main/docs/guides/operations-guide/ceph.md",tags:[],version:"current",sidebarPosition:50,frontMatter:{sidebar_label:"Ceph",sidebar_position:50},sidebar:"tutorialSidebar",previous:{title:"Task",permalink:"/docs/guides/operations-guide/manager/task"},next:{title:"OpenStack",permalink:"/docs/guides/operations-guide/openstack/"}},l={},d=[{value:"Where to find docs",id:"where-to-find-docs",level:2},{value:"Advice on Ceph releases",id:"advice-on-ceph-releases",level:2},{value:"General maintenance",id:"general-maintenance",level:2},{value:"60 seconds cluster overview",id:"60-seconds-cluster-overview",level:3},{value:"Mute/Unmute a health warning",id:"muteunmute-a-health-warning",level:3},{value:"Disable/Enable (deep-)scrubbing",id:"disableenable-deep-scrubbing",level:3},{value:"Reboot a single node",id:"reboot-a-single-node",level:3},{value:"Gathering information about block devices",id:"gathering-information-about-block-devices",level:2},{value:"Enumerate typical storage devices and LVM",id:"enumerate-typical-storage-devices-and-lvm",level:3},{value:"SMART data for SATA/SAS and NVME devices",id:"smart-data-for-satasas-and-nvme-devices",level:3},{value:"Check format of a NVME device",id:"check-format-of-a-nvme-device",level:3},{value:"Format a NVME device to a different LBA format using nvme-cli",id:"format-a-nvme-device-to-a-different-lba-format-using-nvme-cli",level:3},{value:"Secure Erase a NVME drive using nvme-cli",id:"secure-erase-a-nvme-drive-using-nvme-cli",level:3},{value:"Secure Erase a SATA/SAS drive using hdparm",id:"secure-erase-a-satasas-drive-using-hdparm",level:3},{value:"OSD maintenance tasks",id:"osd-maintenance-tasks",level:2},{value:"Locate a specific OSD in the cluster",id:"locate-a-specific-osd-in-the-cluster",level:3},{value:"Get OSD metadata (global and single OSD)",id:"get-osd-metadata-global-and-single-osd",level:3},{value:"Add a new OSD using ceph-ansible",id:"add-a-new-osd-using-ceph-ansible",level:3},{value:"Remove a OSD using ceph-ansible",id:"remove-a-osd-using-ceph-ansible",level:3},{value:"Replace a defect OSD",id:"replace-a-defect-osd",level:3},{value:"Remove a single OSD node",id:"remove-a-single-osd-node",level:3},{value:"Remove an OSD (removing it completely, not reprovisioning it again) without double rebalance",id:"remove-an-osd-removing-it-completely-not-reprovisioning-it-again-without-double-rebalance",level:3},{value:"Remove an OSD (temporarily e.g. when replacing a broken disk)",id:"remove-an-osd-temporarily-eg-when-replacing-a-broken-disk",level:3},{value:"Disable backfills/recovery completely",id:"disable-backfillsrecovery-completely",level:3},{value:"Rebalance OSDs",id:"rebalance-osds",level:3},{value:"Placement Group maintenance",id:"placement-group-maintenance",level:2},{value:"Dump placement groups",id:"dump-placement-groups",level:3},{value:"Query a PG about its status",id:"query-a-pg-about-its-status",level:3},{value:"Start (deep-)scrubbing of a placement group",id:"start-deep-scrubbing-of-a-placement-group",level:3},{value:"HEALTH_WARN - Large omap objects found...",id:"health_warn---large-omap-objects-found",level:3},{value:"Instruct a PG to repair in case of scrub errors (inconsistent PG)",id:"instruct-a-pg-to-repair-in-case-of-scrub-errors-inconsistent-pg",level:3},{value:"RADOS Pool maintenance",id:"rados-pool-maintenance",level:2},{value:"Get pools and their configuration",id:"get-pools-and-their-configuration",level:3},{value:"Dump all CRUSH rules",id:"dump-all-crush-rules",level:3},{value:"Get autoscaler status",id:"get-autoscaler-status",level:3},{value:"Create a replicated pool",id:"create-a-replicated-pool",level:3},{value:"Enabling an application on a pool",id:"enabling-an-application-on-a-pool",level:3},{value:"Delete a pool",id:"delete-a-pool",level:3},{value:"Set number of PGs for a pool",id:"set-number-of-pgs-for-a-pool",level:3},{value:"Create CRUSH rules for different storage classes",id:"create-crush-rules-for-different-storage-classes",level:3},{value:"Change CRUSH rule for a pool ("move pool")",id:"change-crush-rule-for-a-pool-move-pool",level:3},{value:"Advanced topics",id:"advanced-topics",level:2},{value:"Validating Ceph using OSISM playbooks",id:"validating-ceph-using-osism-playbooks",level:3},{value:"Shutdown a Ceph cluster",id:"shutdown-a-ceph-cluster",level:3},{value:"Restart a Ceph cluster after manual shutdown",id:"restart-a-ceph-cluster-after-manual-shutdown",level:3},{value:"Where and how to get further help",id:"where-and-how-to-get-further-help",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"ceph-operations-cheatsheet",children:"Ceph operations cheatsheet"}),"\n",(0,o.jsx)(n.h2,{id:"where-to-find-docs",children:"Where to find docs"}),"\n",(0,o.jsxs)(n.p,{children:["The official Ceph documentation is located on ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest",children:"https://docs.ceph.com/en/latest"})]}),"\n",(0,o.jsxs)(n.p,{children:["It is ",(0,o.jsx)(n.strong,{children:"strongly advised"})," to use the documentation for the version being used."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Pacific - ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/pacific",children:"https://docs.ceph.com/en/pacific"})]}),"\n",(0,o.jsxs)(n.li,{children:["Quincy - ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/quincy",children:"https://docs.ceph.com/en/quincy"})]}),"\n",(0,o.jsxs)(n.li,{children:["Reef - ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/reef",children:"https://docs.ceph.com/en/reef"})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["ceph-ansible documentation is located on ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/projects/ceph-ansible/en/latest/",children:"https://docs.ceph.com/projects/ceph-ansible/en/latest/"})]}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsxs)(n.p,{children:["Do not take information in the documentation at face value.\nEspecially when it comes to advanced/rarely used/very new features it is ",(0,o.jsx)(n.strong,{children:"strongly advised"}),"\nto test any claims made in the documentation about any particular feature."]}),(0,o.jsx)(n.p,{children:"Never assume that things will work as written without actually testing it on a test setup\nas close to your real workload scenario as possible."})]}),"\n",(0,o.jsx)(n.h2,{id:"advice-on-ceph-releases",children:"Advice on Ceph releases"}),"\n",(0,o.jsxs)(n.p,{children:["The current Ceph releases and their support status can be found on ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest/releases/",children:"https://docs.ceph.com/en/latest/releases/"})]}),"\n",(0,o.jsxs)(n.p,{children:["When a new Ceph stable version is released you are ",(0,o.jsx)(n.strong,{children:"strongly advised"}),"\nto not roll it out on any production cluster whatsoever.\nEven though its listed as \"stable\" it doesn't mean that this is actually true.\nEspecially avoid using .0 releases on anything remotely production\nunless you really, really now what you're doing and can live with a possible catastrophic failure."]}),"\n",(0,o.jsxs)(n.p,{children:["Be ",(0,o.jsx)(n.strong,{children:"very"})," conservative about what version you run on production systems."]}),"\n",(0,o.jsx)(n.p,{children:"Shiny new features aren't worth the risk of total or partial data loss/corruption."}),"\n",(0,o.jsx)(n.h2,{id:"general-maintenance",children:"General maintenance"}),"\n",(0,o.jsx)(n.h3,{id:"60-seconds-cluster-overview",children:"60 seconds cluster overview"}),"\n",(0,o.jsx)(n.p,{children:"The following commands can be used to quickly check the status of Ceph:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph -s # Print overall cluster status\n$ ceph health detail # Print detailed health information\n$ ceph osd tree # Display current OSD tree\n$ ceph df # Cluster storage usage by pool and storage class\n$ ceph osd pool ls detail # List pools with detailed configuration\n$ ceph osd df {plain|tree} {class e.g. hdd|ssd} # Get usage stats for OSDs\n$ ceph -w # Watch Ceph health messages sequentially\n$ ceph versions # List daemon versions running in the cluster\n"})}),"\n",(0,o.jsx)(n.p,{children:"Also you can run the following on each node running ceph-daemons,\nto provide further debug information about the environment:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# lscpu\n# cat /proc/cpuinfo # if lscpu isn't available\n# free -g\n# ip l\n# ethtool # for each network adapter\n"})}),"\n",(0,o.jsx)(n.h3,{id:"muteunmute-a-health-warning",children:"Mute/Unmute a health warning"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph health mute \n$ ceph health unmute \n"})}),"\n",(0,o.jsx)(n.h3,{id:"disableenable-deep-scrubbing",children:"Disable/Enable (deep-)scrubbing"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd set noscrub\n$ ceph osd set nodeep-scrub\n$ ceph osd unset noscrub\n$ ceph osd unset nodeep-scrub\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Use this sparingly only in emergency situations.\nSetting these flags will cause a HEALTH_WARN status,\nincrease risk of data corruption and also the risk of generating\na HEALTH_WARN due to PGs not being (deep-)scrubbed in time."})}),"\n",(0,o.jsx)(n.h3,{id:"reboot-a-single-node",children:"Reboot a single node"}),"\n",(0,o.jsxs)(n.p,{children:["The traditional way of doing this is by setting the ",(0,o.jsx)(n.code,{children:"noout"})," flag,\ndo the appropriate maintenance work and after the node is back online\nunset the flag like so:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd set noout\n"})}),"\n",(0,o.jsx)(n.p,{children:"After maintenance is done and host is back up:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd unset noout\n"})}),"\n",(0,o.jsx)(n.p,{children:"On versions Luminous or above you can set the flag individually for single\nOSDs or entire CRUSH buckets, which can be a safer option in case of prolonged\nmaintenance periods."}),"\n",(0,o.jsx)(n.p,{children:"Add noout for a OSD:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd add-noout osd.\n"})}),"\n",(0,o.jsx)(n.p,{children:"Remove noout for a OSD:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd rm-noout osd.\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Add noout for CRUSH bucket (e.g. host name as seen in ",(0,o.jsx)(n.code,{children:"ceph osd tree"}),"):"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd set-group noout \n"})}),"\n",(0,o.jsx)(n.p,{children:"Remove noout for CRUSH bucket:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ceph osd unset-group noout \n"})}),"\n",(0,o.jsx)(n.h2,{id:"gathering-information-about-block-devices",children:"Gathering information about block devices"}),"\n",(0,o.jsx)(n.h3,{id:"enumerate-typical-storage-devices-and-lvm",children:"Enumerate typical storage devices and LVM"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# lsblk\n# lsblk -S\n# lsscsi\n# nvme list\n# pvs\n# vgs\n# lvs\n"})}),"\n",(0,o.jsx)(n.h3,{id:"smart-data-for-satasas-and-nvme-devices",children:"SMART data for SATA/SAS and NVME devices"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# smartctl -a /dev/sdX\n# nvme smart-log /dev/nvmeXnY\n"})}),"\n",(0,o.jsx)(n.h3,{id:"check-format-of-a-nvme-device",children:"Check format of a NVME device"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# nvme id-ns -H /dev/nvmeXnY\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:'Check the last lines named "LBA Format".\nIt will show which formats are supported,\nwhich format is in use and which format offers the best performance\naccording to the vendor.'})}),"\n",(0,o.jsx)(n.h3,{id:"format-a-nvme-device-to-a-different-lba-format-using-nvme-cli",children:"Format a NVME device to a different LBA format using nvme-cli"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This will destroy all data on the device!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# nvme format --lbaf= /dev/nvmeXnY\n"})}),"\n",(0,o.jsx)(n.h3,{id:"secure-erase-a-nvme-drive-using-nvme-cli",children:"Secure Erase a NVME drive using nvme-cli"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This will destroy all data on the device!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# nvme format -s2 /dev/nvmeXnY\n# blkdiscard /dev/nvmeXnY\n# nvme format -s1 /dev/nvmeXnY\n"})}),"\n",(0,o.jsx)(n.h3,{id:"secure-erase-a-satasas-drive-using-hdparm",children:"Secure Erase a SATA/SAS drive using hdparm"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This will destroy all data on the device!"})}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Gather device info:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# hdparm -I /dev/sdX\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Check that the output says ",(0,o.jsx)(n.strong,{children:'"not frozen"'})," and ",(0,o.jsx)(n.strong,{children:'"not locked"'}),",\nalso it should list support for enhanced erase and list time estimates\nfor ",(0,o.jsx)(n.strong,{children:"SECURITY ERASE UNIT"})," and/or ",(0,o.jsx)(n.strong,{children:"ENHANCED SECURITY ERASE UNIT"})]}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Set a master password for the disk (required, will be automatically removed after wipe)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# hdparm --user-master wipeit --security-set-pass wipeit /dev/sdX\n# hdparm -I /dev/sdX\n"})}),"\n",(0,o.jsxs)(n.p,{children:['Check that "Security level" is now ',(0,o.jsx)(n.strong,{children:'"high"'})," and master password is now\n",(0,o.jsx)(n.strong,{children:'"enabled"'})," instead of ",(0,o.jsx)(n.strong,{children:'"not enabled"'})," before"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Wipe the device"}),"\n",(0,o.jsx)(n.p,{children:"If device supports enhanced security erase (better), use the following:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# hdparm --user-master wipeit --security-erase-enhanced wipeit /dev/sdX\n"})}),"\n",(0,o.jsx)(n.p,{children:"If not, use standard security erase:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# hdparm --user-master wipeit --security-erase wipeit /dev/sdX\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:['On some systems the system firmware might "freeze" the device,\nwhich makes it impossible to issue a secure erase or reformat the device.\nIn that case it might be necessary to either "unfreeze" the drive or\nto install the drive in another system where it can be unfrozen.\nAlso make sure that the device is ',(0,o.jsx)(n.em,{children:"actually"})," wiped. Its recommended to\nat least perform a blanking pass on HDDs with a tool like nwipe."]})}),"\n",(0,o.jsx)(n.h2,{id:"osd-maintenance-tasks",children:"OSD maintenance tasks"}),"\n",(0,o.jsx)(n.h3,{id:"locate-a-specific-osd-in-the-cluster",children:"Locate a specific OSD in the cluster"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd find osd.\n"})}),"\n",(0,o.jsx)(n.h3,{id:"get-osd-metadata-global-and-single-osd",children:"Get OSD metadata (global and single OSD)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd metadata\n$ ceph osd metadata osd.\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"Interesting fields:\nosd_objectstore, rotational, hostname, devices, device_ids, device_paths,\nbluefs_db_rotational, bluefs_wal_rotational,\nbluefs_dedicated_db, bluefs_dedicated_wal,\nbluestore_bdev_rotational"})}),"\n",(0,o.jsx)(n.h3,{id:"add-a-new-osd-using-ceph-ansible",children:"Add a new OSD using ceph-ansible"}),"\n",(0,o.jsx)(n.h3,{id:"remove-a-osd-using-ceph-ansible",children:"Remove a OSD using ceph-ansible"}),"\n",(0,o.jsx)(n.h3,{id:"replace-a-defect-osd",children:"Replace a defect OSD"}),"\n",(0,o.jsx)(n.h3,{id:"remove-a-single-osd-node",children:"Remove a single OSD node"}),"\n",(0,o.jsx)(n.h3,{id:"remove-an-osd-removing-it-completely-not-reprovisioning-it-again-without-double-rebalance",children:"Remove an OSD (removing it completely, not reprovisioning it again) without double rebalance"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd crush reweight osd. 0.0\n... Wait for rebalance to complete, then mark it OUT:\n$ ceph osd out osd.\n# systemctl stop ceph-osd@\n# systemctl disable ceph-osd@\n$ ceph osd purge osd. --yes-i-really-mean-it\n"})}),"\n",(0,o.jsx)(n.h3,{id:"remove-an-osd-temporarily-eg-when-replacing-a-broken-disk",children:"Remove an OSD (temporarily e.g. when replacing a broken disk)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd out osd.\n# systemctl stop ceph-osd@\n# systemctl disable ceph-osd@\n"})}),"\n",(0,o.jsx)(n.h3,{id:"disable-backfillsrecovery-completely",children:"Disable backfills/recovery completely"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Use only in emergency situations!"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd set nobackfill\n$ ceph osd set norecovery\n$ ceph osd set norebalance\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Unset the flags with ",(0,o.jsx)(n.code,{children:"ceph osd unset "}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"rebalance-osds",children:"Rebalance OSDs"}),"\n",(0,o.jsx)(n.h2,{id:"placement-group-maintenance",children:"Placement Group maintenance"}),"\n",(0,o.jsx)(n.h3,{id:"dump-placement-groups",children:"Dump placement groups"}),"\n",(0,o.jsx)(n.p,{children:"Usually only useful when parsing it, so here are two ways to get the data:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph pg dump\n$ ceph pg dump --format=json-pretty\n"})}),"\n",(0,o.jsx)(n.h3,{id:"query-a-pg-about-its-status",children:"Query a PG about its status"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph pg query\n"})}),"\n",(0,o.jsx)(n.h3,{id:"start-deep-scrubbing-of-a-placement-group",children:"Start (deep-)scrubbing of a placement group"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph pg scrub \n$ ceph pg deep-scrub \n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"Instructing a PG to (deep-)scrub does not mean that it will do so immediately,\nit can take some time for the scrub to start."})}),"\n",(0,o.jsx)(n.h3,{id:"health_warn---large-omap-objects-found",children:"HEALTH_WARN - Large omap objects found..."}),"\n",(0,o.jsx)(n.p,{children:"Finding PGs which have large OMAP objects:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# ceph pg dump --format=json | jq '.pg_map.pg_stats[] |\nselect(.stat_sum.num_large_omap_objects != 0) |\n(.pgid, .stat_sum.num_large_omap_objects, .up, .acting)'\n"})}),"\n",(0,o.jsxs)(n.p,{children:["(Remove the line breaks between the single quotes or ",(0,o.jsx)(n.code,{children:"jq"})," might act weird!)"]}),"\n",(0,o.jsxs)(n.p,{children:["This will dump all PG IDs with large OMAP objects and their up/acting OSDs.\nYou then can grep the logs of these OSDs for ",(0,o.jsx)(n.strong,{children:'"Large omap object"'}),"\nto find the actual objects causing the health warning."]}),"\n",(0,o.jsx)(n.p,{children:"Also the PG ID before the dot is equal to the pool ID it belongs to."}),"\n",(0,o.jsx)(n.p,{children:"In case the logs have been rotated, instruct those OSDs to do a deep-scrub\nand watch the logs for the message to appear."}),"\n",(0,o.jsx)(n.p,{children:"From there you can investigate the issue further,\nmostly it'll be due to the index of a RGW bucket getting too big due to too many objects,\nthus resharding that bucket's index will be necessary."}),"\n",(0,o.jsx)(n.h3,{id:"instruct-a-pg-to-repair-in-case-of-scrub-errors-inconsistent-pg",children:"Instruct a PG to repair in case of scrub errors (inconsistent PG)"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph pg repair \n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsxs)(n.p,{children:["Recovery might not start immediately and might take some time.\nYou can query the status of the recovery through ",(0,o.jsx)(n.code,{children:"ceph pg query"}),".\nBe sure to read the Ceph manual about this topic ",(0,o.jsx)(n.em,{children:"thoroughly"}),":"]}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest/rados/operations/pg-repair/",children:"https://docs.ceph.com/en/latest/rados/operations/pg-repair/"})})]}),"\n",(0,o.jsx)(n.h2,{id:"rados-pool-maintenance",children:"RADOS Pool maintenance"}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsx)(n.p,{children:"Read the RADOS pool operations documentation in detail before playing around with pools.\nEspecially when considering making changes to the CRUSH map.\nWrong decisions there can lead to data loss or other catastrophic failures."}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest/rados/operations/pools/",children:"https://docs.ceph.com/en/latest/rados/operations/pools/"})})]}),"\n",(0,o.jsx)(n.h3,{id:"get-pools-and-their-configuration",children:"Get pools and their configuration"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool ls detail\n"})}),"\n",(0,o.jsx)(n.h3,{id:"dump-all-crush-rules",children:"Dump all CRUSH rules"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd crush rule dump\n"})}),"\n",(0,o.jsx)(n.h3,{id:"get-autoscaler-status",children:"Get autoscaler status"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool autoscale-status\n"})}),"\n",(0,o.jsx)(n.h3,{id:"create-a-replicated-pool",children:"Create a replicated pool"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool create replicated []\n"})}),"\n",(0,o.jsx)(n.h3,{id:"enabling-an-application-on-a-pool",children:"Enabling an application on a pool"}),"\n",(0,o.jsx)(n.p,{children:"Required, otherwise a health warning will be raised after some time."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool application enable # Syntax\n$ ceph osd pool application enable cinder rbd # Example\n"})}),"\n",(0,o.jsx)(n.p,{children:"Typical application names are: rbd, rgw, cephfs"}),"\n",(0,o.jsx)(n.h3,{id:"delete-a-pool",children:"Delete a pool"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This will delete all data in that pool. There is no undo/undelete."})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool delete --yes-i-really-really-mean-it\n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsxs)(n.p,{children:["In order to be able to delete pools, it has to be enabled on the monitors\nby setting the ",(0,o.jsx)(n.code,{children:"mon_allow_pool_delete"})," flag to true. Default is false."]}),(0,o.jsxs)(n.p,{children:["See: ",(0,o.jsx)(n.a,{href:"https://docs.ceph.com/en/latest/rados/configuration/mon-config-ref",children:"https://docs.ceph.com/en/latest/rados/configuration/mon-config-ref"})]})]}),"\n",(0,o.jsx)(n.h3,{id:"set-number-of-pgs-for-a-pool",children:"Set number of PGs for a pool"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool set pg_num \n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsx)(n.p,{children:"Num PGs must be a power of two! Be careful about changing number of PGs.\nChanging pg_num to a new value will gradually increase pgp_num on newer versions of Ceph."}),(0,o.jsx)(n.p,{children:"In older versions one also has to set pgp_num manually, either in increments or in one big leap."})]}),"\n",(0,o.jsx)(n.h3,{id:"create-crush-rules-for-different-storage-classes",children:"Create CRUSH rules for different storage classes"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd crush rule create-replicated replicated_hdd default host hdd\n$ ceph osd crush rule create-replicated replicated_ssd default host ssd\n$ ceph osd crush rule create-replicated replicated_nvme default host nvme\n"})}),"\n",(0,o.jsx)(n.h3,{id:"change-crush-rule-for-a-pool-move-pool",children:'Change CRUSH rule for a pool ("move pool")'}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd pool set crush_rule \n"})}),"\n",(0,o.jsx)(n.p,{children:"This can be used to move a pool from e.g. HDD to SSD or NVME class\nor anything else that the new CRUSH rule specifies."}),"\n",(0,o.jsx)(n.h2,{id:"advanced-topics",children:"Advanced topics"}),"\n",(0,o.jsx)(n.h3,{id:"validating-ceph-using-osism-playbooks",children:"Validating Ceph using OSISM playbooks"}),"\n",(0,o.jsxs)(n.p,{children:["For Ceph, special playbooks were added to validate the deployment status of\nthe OSD, MON and MGR services. The commands for use are ",(0,o.jsx)(n.code,{children:"osism validate ceph-osds"}),",\n",(0,o.jsx)(n.code,{children:"osism validate ceph-mons"}),", and ",(0,o.jsx)(n.code,{children:"osism validate ceph-mgrs"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["These playbooks will validate that the deployed Ceph environment matches\nthe configuration and is overall in a healthy state. The playbooks will\ngenerate report files in JSON format on the first manager node in ",(0,o.jsx)(n.code,{children:"/opt/reports/validator"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"shutdown-a-ceph-cluster",children:"Shutdown a Ceph cluster"}),"\n",(0,o.jsx)(n.p,{children:"In order to fully shutdown a Ceph cluster safely, you first do the following steps:"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Take GOOD NOTES of the unit names and OSD IDs running on each node.\nYou will need them to restart the cluster later."})}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Stop the workload that is using the cluster"}),"\n",(0,o.jsx)(n.p,{children:"This will vary depending on your environment and is not covered here."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Pause/Stop operations on the cluster by setting flags"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd set noout\n$ ceph osd set nobackfill\n$ ceph osd set norecover\n$ ceph osd set norebalance\n$ ceph osd set nodown\n$ ceph osd set pause\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Stop and disable the ",(0,o.jsx)(n.code,{children:"radosgw"})," services on all nodes (on each rgw node) (if RGW is used)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the name of the unit (globs not supported for disable) and\nmake a note of the unit name for that node:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-radosgw\n"})}),"\n",(0,o.jsx)(n.p,{children:"Then disable and stop the unit:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable --now ceph-radosgw@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Stop all CephFS file systems (if CephFS is used)"}),"\n",(0,o.jsx)(n.p,{children:"List all Ceph file systems"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph fs ls\n"})}),"\n",(0,o.jsx)(n.p,{children:"For each CephFS do:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph fs down true\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["After that disable and stop all ",(0,o.jsx)(n.code,{children:"ceph-mds"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the name of the unit (globs not supported for disable) and\nmake a note of the unit name for that node:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-mds\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable --now ceph-mds@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Stop and disable the ",(0,o.jsx)(n.code,{children:"ceph-mgr"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the name of the unit (globs not supported for disable) and\nmake a note of the unit name for that node:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-mgr\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable --now ceph-mgr@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Stop and disable the ",(0,o.jsx)(n.code,{children:"ceph-osd"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the names of the units (globs not supported for disable) and\nmake a note of the unit names for that node (best to save it to a file):"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-osd\n"})}),"\n",(0,o.jsx)(n.p,{children:"For each OSD unit execute:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable ceph-osd@.service\n"})}),"\n",(0,o.jsx)(n.p,{children:"Stop all OSDs at once:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl stop ceph-osd\\*.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Finally stop the ",(0,o.jsx)(n.code,{children:"ceph-mon"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"Get the name of the unit (globs not supported for disable) and\nmake a note of the unit name for that node:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl | grep ceph-mon\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl disable --now ceph-mon@.service\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"restart-a-ceph-cluster-after-manual-shutdown",children:"Restart a Ceph cluster after manual shutdown"}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["You will need the notes taken during shutdown of the unit names.\nIt ",(0,o.jsx)(n.strong,{children:"can"})," be done without, but then it'll be way more work finding out the names."]})}),"\n",(0,o.jsx)(n.p,{children:"In order to restart a Ceph cluster after performing a manual shutdown like described\nin the section above, you do the following:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"ceph-mon"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-mon@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"ceph-osd"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.p,{children:"For each Ceph OSD on that node do:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-osd@.service\n"})}),"\n",(0,o.jsx)(n.p,{children:"Depending on the number of OSDs on that node it can take a while."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"ceph-mgr"})," services on all nodes (do this on each node)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-mgr@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Check the status of your cluster and wait for all OSDs to come online"}),"\n",(0,o.jsx)(n.p,{children:"You can watch the status periodically by running:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ watch ceph -s\n"})}),"\n",(0,o.jsx)(n.p,{children:"You should wait until all OSDs are up + in again, before removing flags."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Remove flags to unpause operations"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph osd unset pause\n$ ceph osd unset nodown\n$ ceph osd unset noout\n$ ceph osd unset nobackfill\n$ ceph osd unset norecover\n$ ceph osd unset norebalance\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Wait for cluster to resume operations"}),"\n",(0,o.jsx)(n.p,{children:'See step #4 of this SOP.\nNow you wait until the cluster seems "happy enough" to accept clients.\n(i.e. rebalancing finished etc.)\nMaybe it will complain about MDS being down, but that\'s normal for now.'}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"ceph-mds"})," services on each node (if CephFS is used)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-mds@.service\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Start CephFS file systems again"}),"\n",(0,o.jsx)(n.p,{children:"List all Ceph file systems"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph fs ls\n"})}),"\n",(0,o.jsx)(n.p,{children:"For each CephFS do:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"$ ceph fs down false\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enable & start the ",(0,o.jsx)(n.code,{children:"radosgw"})," services on each node (if RGW is used)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"# systemctl enable --now ceph-radosgw@.service\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"where-and-how-to-get-further-help",children:"Where and how to get further help"}),"\n",(0,o.jsxs)(n.p,{children:["Join the ",(0,o.jsx)(n.strong,{children:"#ceph"})," IRC channel on ",(0,o.jsx)(n.strong,{children:"irc.oftc.net"}),', state the problem with as many details as possible\nincluding information about what steps have already been taken to solve the problem\nalso provide information from the command output from the "60 seconds cluster overview" above\nthrough a pastebin or a similar service. In order for people to be able\nto help, details and some patience are important.']})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>a});var o=s(7294);const i={},t=o.createContext(i);function a(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.5ce41e84.js b/assets/js/935f2afb.06ed6f0e.js similarity index 82% rename from assets/js/935f2afb.5ce41e84.js rename to assets/js/935f2afb.06ed6f0e.js index e6153c0b3d..eed66a3ccf 100644 --- a/assets/js/935f2afb.5ce41e84.js +++ b/assets/js/935f2afb.06ed6f0e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkosism=self.webpackChunkosism||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Architecture","href":"/docs/intro/architecture","docId":"intro/architecture","unlisted":false}],"href":"/docs/intro/"},{"type":"link","label":"Getting Started","href":"/docs/getting-started","docId":"getting-started","unlisted":false},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Deploy Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Seed","href":"/docs/guides/deploy-guide/seed","docId":"guides/deploy-guide/seed","unlisted":false},{"type":"link","label":"Manager","href":"/docs/guides/deploy-guide/manager","docId":"guides/deploy-guide/manager","unlisted":false},{"type":"link","label":"Provisioning","href":"/docs/guides/deploy-guide/provisioning","docId":"guides/deploy-guide/provisioning","unlisted":false},{"type":"link","label":"Bootstrap","href":"/docs/guides/deploy-guide/bootstrap","docId":"guides/deploy-guide/bootstrap","unlisted":false},{"type":"category","label":"Services","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Infrastructure","href":"/docs/guides/deploy-guide/services/infrastructure","docId":"guides/deploy-guide/services/infrastructure","unlisted":false},{"type":"link","label":"Network","href":"/docs/guides/deploy-guide/services/network","docId":"guides/deploy-guide/services/network","unlisted":false},{"type":"link","label":"Logging & Monitoring","href":"/docs/guides/deploy-guide/services/logging-monitoring","docId":"guides/deploy-guide/services/logging-monitoring","unlisted":false},{"type":"link","label":"Ceph","href":"/docs/guides/deploy-guide/services/ceph","docId":"guides/deploy-guide/services/ceph","unlisted":false},{"type":"link","label":"OpenStack","href":"/docs/guides/deploy-guide/services/openstack","docId":"guides/deploy-guide/services/openstack","unlisted":false}],"href":"/docs/guides/deploy-guide/services/"},{"type":"category","label":"Examples","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Cloud in a Box","href":"/docs/guides/deploy-guide/examples/cloud-in-a-box","docId":"guides/deploy-guide/examples/cloud-in-a-box","unlisted":false},{"type":"link","label":"Testbed","href":"/docs/guides/deploy-guide/examples/testbed","docId":"guides/deploy-guide/examples/testbed","unlisted":false}],"href":"/docs/guides/deploy-guide/examples/"}],"href":"/docs/guides/deploy-guide/"},{"type":"category","label":"Upgrade Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manager","href":"/docs/guides/upgrade-guide/manager","docId":"guides/upgrade-guide/manager","unlisted":false},{"type":"link","label":"Network","href":"/docs/guides/upgrade-guide/network","docId":"guides/upgrade-guide/network","unlisted":false},{"type":"link","label":"Ceph","href":"/docs/guides/upgrade-guide/ceph","docId":"guides/upgrade-guide/ceph","unlisted":false},{"type":"link","label":"Docker","href":"/docs/guides/upgrade-guide/docker","docId":"guides/upgrade-guide/docker","unlisted":false},{"type":"link","label":"Infrastructure","href":"/docs/guides/upgrade-guide/infrastructure","docId":"guides/upgrade-guide/infrastructure","unlisted":false},{"type":"link","label":"Logging & Monitoring","href":"/docs/guides/upgrade-guide/logging-monitoring","docId":"guides/upgrade-guide/logging-monitoring","unlisted":false},{"type":"link","label":"OpenStack","href":"/docs/guides/upgrade-guide/openstack","docId":"guides/upgrade-guide/openstack","unlisted":false}],"href":"/docs/guides/upgrade-guide/"},{"type":"category","label":"Configuration Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration repository","href":"/docs/guides/configuration-guide/configuration-repository","docId":"guides/configuration-guide/configuration-repository","unlisted":false},{"type":"link","label":"Inventory","href":"/docs/guides/configuration-guide/inventory","docId":"guides/configuration-guide/inventory","unlisted":false},{"type":"link","label":"Manager","href":"/docs/guides/configuration-guide/manager","docId":"guides/configuration-guide/manager","unlisted":false},{"type":"category","label":"Commons","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Network","href":"/docs/guides/configuration-guide/commons/network","docId":"guides/configuration-guide/commons/network","unlisted":false},{"type":"link","label":"Packages","href":"/docs/guides/configuration-guide/commons/packages","docId":"guides/configuration-guide/commons/packages","unlisted":false},{"type":"link","label":"Services","href":"/docs/guides/configuration-guide/commons/services","docId":"guides/configuration-guide/commons/services","unlisted":false},{"type":"link","label":"SSH Config","href":"/docs/guides/configuration-guide/commons/sshconfig","docId":"guides/configuration-guide/commons/sshconfig","unlisted":false},{"type":"link","label":"Sysctl","href":"/docs/guides/configuration-guide/commons/sysctl","docId":"guides/configuration-guide/commons/sysctl","unlisted":false},{"type":"link","label":"Timezone","href":"/docs/guides/configuration-guide/commons/timezone","docId":"guides/configuration-guide/commons/timezone","unlisted":false}],"href":"/docs/guides/configuration-guide/commons/"},{"type":"link","label":"Services","href":"/docs/guides/configuration-guide/services/","docId":"guides/configuration-guide/services/index","unlisted":false},{"type":"link","label":"Ceph","href":"/docs/guides/configuration-guide/ceph","docId":"guides/configuration-guide/ceph","unlisted":false},{"type":"category","label":"OpenStack","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Horizon","href":"/docs/guides/configuration-guide/openstack/horizon","docId":"guides/configuration-guide/openstack/horizon","unlisted":false},{"type":"link","label":"Keystone","href":"/docs/guides/configuration-guide/openstack/keystone","docId":"guides/configuration-guide/openstack/keystone","unlisted":false}],"href":"/docs/guides/configuration-guide/openstack/"},{"type":"link","label":"Proxy","href":"/docs/guides/configuration-guide/proxy","docId":"guides/configuration-guide/proxy","unlisted":false},{"type":"link","label":"Self-signed certificates","href":"/docs/guides/configuration-guide/self-signed-certificates","docId":"guides/configuration-guide/self-signed-certificates","unlisted":false}],"href":"/docs/guides/configuration-guide/"},{"type":"category","label":"Operations Guide","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Manager","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Apply","href":"/docs/guides/operations-guide/manager/apply","docId":"guides/operations-guide/manager/apply","unlisted":false},{"type":"link","label":"Logging","href":"/docs/guides/operations-guide/manager/log","docId":"guides/operations-guide/manager/log","unlisted":false},{"type":"link","label":"Console","href":"/docs/guides/operations-guide/manager/console","docId":"guides/operations-guide/manager/console","unlisted":false},{"type":"link","label":"Task","href":"/docs/guides/operations-guide/manager/task","docId":"guides/operations-guide/manager/task","unlisted":false}],"href":"/docs/guides/operations-guide/manager/"},{"type":"link","label":"Ceph","href":"/docs/guides/operations-guide/ceph","docId":"guides/operations-guide/ceph","unlisted":false},{"type":"category","label":"OpenStack","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Cinder","href":"/docs/guides/operations-guide/openstack/cinder","docId":"guides/operations-guide/openstack/cinder","unlisted":false},{"type":"link","label":"Octavia","href":"/docs/guides/operations-guide/openstack/octavia","docId":"guides/operations-guide/openstack/octavia","unlisted":false},{"type":"category","label":"Day-2 Operations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Playbooks","href":"/docs/guides/operations-guide/openstack/day2-operations/playbooks","docId":"guides/operations-guide/openstack/day2-operations/playbooks","unlisted":false},{"type":"link","label":"Image Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/image-manager","docId":"guides/operations-guide/openstack/day2-operations/image-manager","unlisted":false},{"type":"link","label":"Flavor Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/flavor-manager","docId":"guides/operations-guide/openstack/day2-operations/flavor-manager","unlisted":false},{"type":"link","label":"Resource Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/resource-manager","docId":"guides/operations-guide/openstack/day2-operations/resource-manager","unlisted":false},{"type":"link","label":"Project Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/project-manager","docId":"guides/operations-guide/openstack/day2-operations/project-manager","unlisted":false},{"type":"link","label":"Sandbox Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/sandbox-manager","docId":"guides/operations-guide/openstack/day2-operations/sandbox-manager","unlisted":false}],"href":"/docs/guides/operations-guide/openstack/day2-operations/"}],"href":"/docs/guides/operations-guide/openstack/"}],"href":"/docs/guides/operations-guide/"},{"type":"category","label":"Troubleshooting Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manager","href":"/docs/guides/troubleshooting-guide/manager","docId":"guides/troubleshooting-guide/manager","unlisted":false},{"type":"link","label":"OpenStack","href":"/docs/guides/troubleshooting-guide/openstack","docId":"guides/troubleshooting-guide/openstack","unlisted":false}],"href":"/docs/guides/troubleshooting-guide/"},{"type":"category","label":"Other Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Contributor Guide","href":"/docs/guides/other-guides/contributor-guide","docId":"guides/other-guides/contributor-guide","unlisted":false},{"type":"category","label":"Developer Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Releases","href":"/docs/guides/other-guides/developer-guide/releases","docId":"guides/other-guides/developer-guide/releases","unlisted":false},{"type":"link","label":"Scripts","href":"/docs/guides/other-guides/developer-guide/scripts","docId":"guides/other-guides/developer-guide/scripts","unlisted":false},{"type":"link","label":"Zuul Ci","href":"/docs/guides/other-guides/developer-guide/zuul-ci","docId":"guides/other-guides/developer-guide/zuul-ci","unlisted":false}],"href":"/docs/guides/other-guides/developer-guide/"},{"type":"link","label":"Style Guide","href":"/docs/guides/other-guides/style-guide","docId":"guides/other-guides/style-guide","unlisted":false},{"type":"link","label":"Zuul CI","href":"/docs/guides/other-guides/zuul","docId":"guides/other-guides/zuul","unlisted":false}],"href":"/docs/guides/other-guides/"}],"href":"/docs/guides/"},{"type":"category","label":"References","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Command line interface reference","href":"/docs/references/cli","docId":"references/cli","unlisted":false},{"type":"link","label":"Configuration reference","href":"/docs/references/configuration","docId":"references/configuration","unlisted":false},{"type":"link","label":"Parameters reference","href":"/docs/references/parameters","docId":"references/parameters","unlisted":false}],"href":"/docs/references/"},{"type":"category","label":"Release Notes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"OSISM 6.0.0","href":"/docs/release-notes/osism-6","docId":"release-notes/osism-6","unlisted":false}],"href":"/docs/release-notes/"},{"type":"category","label":"Appendix","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Glossary","href":"/docs/appendix/glossary","docId":"appendix/glossary","unlisted":false},{"type":"link","label":"Standards","href":"/docs/appendix/standards","docId":"appendix/standards","unlisted":false}],"href":"/docs/appendix/"}]},"docs":{"appendix/glossary":{"id":"appendix/glossary","title":"Glossary","description":"\ud83d\udca1 This section serves as the central glossary within OSISM. It is intended to clearly define","sidebar":"tutorialSidebar"},"appendix/index":{"id":"appendix/index","title":"Appendix","description":"","sidebar":"tutorialSidebar"},"appendix/standards":{"id":"appendix/standards","title":"Standards","description":"| Name | OSISM Documentation | SCS Standard Track | SCS Standard | SCS Documentation |","sidebar":"tutorialSidebar"},"getting-started":{"id":"getting-started","title":"Getting Started","description":"Deployment","sidebar":"tutorialSidebar"},"guides/configuration-guide/ceph":{"id":"guides/configuration-guide/ceph","title":"Ceph","description":"Unique Identifier","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/index":{"id":"guides/configuration-guide/commons/index","title":"Commons","description":"This section contains the documentation of the Ansible collection osism.commons.","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/network":{"id":"guides/configuration-guide/commons/network","title":"Network","description":"The osism.commons.network role is used for the netwok configuration.","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/packages":{"id":"guides/configuration-guide/commons/packages","title":"Packages","description":"With the osism.commons.packages role, it is possible to add packages on a node","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/services":{"id":"guides/configuration-guide/commons/services","title":"Services","description":"With the osism.commons.services role, it is possible to manage services on a node","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/sshconfig":{"id":"guides/configuration-guide/commons/sshconfig","title":"SSH Config","description":"With the osism.commons.sshconfig role, it is possible to manage a SSH config","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/sysctl":{"id":"guides/configuration-guide/commons/sysctl","title":"Sysctl","description":"With the osism.commons.sysctl role, it is possible to manage the attributes of the kernel","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/timezone":{"id":"guides/configuration-guide/commons/timezone","title":"Timezone","description":"With the osism.commons.timezone role, it is possible to manage the used timezone on a node.","sidebar":"tutorialSidebar"},"guides/configuration-guide/configuration-repository":{"id":"guides/configuration-guide/configuration-repository","title":"Configuration Repository","description":"The configuration required for OSISM is stored in a single Git monorepo, the configuration repository.","sidebar":"tutorialSidebar"},"guides/configuration-guide/index":{"id":"guides/configuration-guide/index","title":"Configuration Guide","description":"","sidebar":"tutorialSidebar"},"guides/configuration-guide/inventory":{"id":"guides/configuration-guide/inventory","title":"Inventory","description":"The inventory used for the environment is located in the inventory directory.","sidebar":"tutorialSidebar"},"guides/configuration-guide/manager":{"id":"guides/configuration-guide/manager","title":"Manager","description":"Stable release","sidebar":"tutorialSidebar"},"guides/configuration-guide/openstack/horizon":{"id":"guides/configuration-guide/openstack/horizon","title":"Horizon","description":"Problems uploading machine images larger than 1 GiB","sidebar":"tutorialSidebar"},"guides/configuration-guide/openstack/index":{"id":"guides/configuration-guide/openstack/index","title":"OpenStack","description":"Network interfaces","sidebar":"tutorialSidebar"},"guides/configuration-guide/openstack/keystone":{"id":"guides/configuration-guide/openstack/keystone","title":"Keystone","description":"Domain manager role","sidebar":"tutorialSidebar"},"guides/configuration-guide/proxy":{"id":"guides/configuration-guide/proxy","title":"Proxy","description":"","sidebar":"tutorialSidebar"},"guides/configuration-guide/self-signed-certificates":{"id":"guides/configuration-guide/self-signed-certificates","title":"Self-signed certificates","description":"OpenStack","sidebar":"tutorialSidebar"},"guides/configuration-guide/services/index":{"id":"guides/configuration-guide/services/index","title":"Services","description":"This section contains the documentation of the Ansible collection osism.services.","sidebar":"tutorialSidebar"},"guides/deploy-guide/bootstrap":{"id":"guides/deploy-guide/bootstrap","title":"Bootstrap","description":"Before the nodes can be bootstrapped, they must all have already been provisioned.","sidebar":"tutorialSidebar"},"guides/deploy-guide/examples/cloud-in-a-box":{"id":"guides/deploy-guide/examples/cloud-in-a-box","title":"Cloud in a Box - CiaB","description":"\ud83d\udca1 Cloud in a Box (CiaB) is a minimalistic installation of the latest stable OSISM release with only services which are needed to","sidebar":"tutorialSidebar"},"guides/deploy-guide/examples/index":{"id":"guides/deploy-guide/examples/index","title":"Examples","description":"","sidebar":"tutorialSidebar"},"guides/deploy-guide/examples/testbed":{"id":"guides/deploy-guide/examples/testbed","title":"Testbed","description":"\ud83d\udca1 With the OSISM Testbed, it is possible to run a full Sovereign Cloud Stack","sidebar":"tutorialSidebar"},"guides/deploy-guide/index":{"id":"guides/deploy-guide/index","title":"Deploy Guide","description":"\ud83d\udca1 The Deploy Guide describe how to provision, bootstrap and deploy nodes and services.","sidebar":"tutorialSidebar"},"guides/deploy-guide/manager":{"id":"guides/deploy-guide/manager","title":"Manager","description":"Change into the configuration/environments/manager directory of the configuration repository.","sidebar":"tutorialSidebar"},"guides/deploy-guide/provisioning":{"id":"guides/deploy-guide/provisioning","title":"Provisioning of management and control plane nodes","description":"For the initial deployment of the management plane and the control plane of OSISM,","sidebar":"tutorialSidebar"},"guides/deploy-guide/seed":{"id":"guides/deploy-guide/seed","title":"Seed","description":"The seed node is used once for the initial bootstrap of the manager node. It is sufficient","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/ceph":{"id":"guides/deploy-guide/services/ceph","title":"Ceph","description":"1. Deploy base services.","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/index":{"id":"guides/deploy-guide/services/index","title":"Services","description":"Getting started","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/infrastructure":{"id":"guides/deploy-guide/services/infrastructure","title":"Infrastructure","description":"Common issues with deploying infrastructure services required by OpenStack","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/logging-monitoring":{"id":"guides/deploy-guide/services/logging-monitoring","title":"Logging & Monitoring","description":"Common issues with deploying logging & monitoring services provided by Kolla","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/network":{"id":"guides/deploy-guide/services/network","title":"Network","description":"Open vSwitch","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/openstack":{"id":"guides/deploy-guide/services/openstack","title":"OpenStack","description":"Common issues with deploying OpenStack services are documented in the","sidebar":"tutorialSidebar"},"guides/index":{"id":"guides/index","title":"Guides","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/ceph":{"id":"guides/operations-guide/ceph","title":"Ceph operations cheatsheet","description":"Where to find docs","sidebar":"tutorialSidebar"},"guides/operations-guide/index":{"id":"guides/operations-guide/index","title":"Operations Guide","description":"Node states","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/apply":{"id":"guides/operations-guide/manager/apply","title":"Apply","description":"List all available plays","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/console":{"id":"guides/operations-guide/manager/console","title":"Console","description":"A console command is available in the OSISM CLI. This allows specific parts of the","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/index":{"id":"guides/operations-guide/manager/index","title":"Manager","description":"OSISM orchestrator","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/log":{"id":"guides/operations-guide/manager/log","title":"Logging","description":"Ansible","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/task":{"id":"guides/operations-guide/manager/task","title":"Task","description":"List","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/cinder":{"id":"guides/operations-guide/openstack/cinder","title":"Cinder","description":"Remove service","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/flavor-manager":{"id":"guides/operations-guide/openstack/day2-operations/flavor-manager","title":"Flavor Manager","description":"Overview","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/image-manager":{"id":"guides/operations-guide/openstack/day2-operations/image-manager","title":"Image Manager","description":"The OpenStack Image Manager is a tool for managing all images on an OpenStack environment","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/index":{"id":"guides/operations-guide/openstack/day2-operations/index","title":"Day-2 Operations","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/playbooks":{"id":"guides/operations-guide/openstack/day2-operations/playbooks","title":"Playbooks","description":"Host aggregates","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/project-manager":{"id":"guides/operations-guide/openstack/day2-operations/project-manager","title":"Project Manager","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/resource-manager":{"id":"guides/operations-guide/openstack/day2-operations/resource-manager","title":"Resource Manager","description":"Octavia","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/sandbox-manager":{"id":"guides/operations-guide/openstack/day2-operations/sandbox-manager","title":"Sandbox Manager","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/index":{"id":"guides/operations-guide/openstack/index","title":"OpenStack","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/octavia":{"id":"guides/operations-guide/openstack/octavia","title":"Octavia","description":"Cleanup of amphora missing from the DB","sidebar":"tutorialSidebar"},"guides/other-guides/contributor-guide":{"id":"guides/other-guides/contributor-guide","title":"Contributor Guide","description":"We welcome any issues, change requests or general feedback. Do not hestiate to open an issue.","sidebar":"tutorialSidebar"},"guides/other-guides/developer-guide/index":{"id":"guides/other-guides/developer-guide/index","title":"Developer Guide","description":"How to add a new service","sidebar":"tutorialSidebar"},"guides/other-guides/developer-guide/releases":{"id":"guides/other-guides/developer-guide/releases","title":"Releases","description":"How we handle releases","sidebar":"tutorialSidebar"},"guides/other-guides/developer-guide/scripts":{"id":"guides/other-guides/developer-guide/scripts","title":"Scripts","description":"Scripts are included in container images to simplify development work and to enable","sidebar":"tutorialSidebar"},"guides/other-guides/developer-guide/zuul-ci":{"id":"guides/other-guides/developer-guide/zuul-ci","title":"Zuul CI","description":"We use Zuul CI for our CI. Our Zuul CI instance is available","sidebar":"tutorialSidebar"},"guides/other-guides/index":{"id":"guides/other-guides/index","title":"Other Guides","description":"","sidebar":"tutorialSidebar"},"guides/other-guides/style-guide":{"id":"guides/other-guides/style-guide","title":"Style Guide","description":"Ansible","sidebar":"tutorialSidebar"},"guides/other-guides/zuul":{"id":"guides/other-guides/zuul","title":"Zuul CI","description":"We use Zuul CI as a CI service for OSISM. The service is not required for","sidebar":"tutorialSidebar"},"guides/troubleshooting-guide/index":{"id":"guides/troubleshooting-guide/index","title":"Troubleshooting Guide","description":"\ud83d\udca1 The Troubleshooting Guide describe how to solve issues.","sidebar":"tutorialSidebar"},"guides/troubleshooting-guide/manager":{"id":"guides/troubleshooting-guide/manager","title":"Manager","description":"Reset","sidebar":"tutorialSidebar"},"guides/troubleshooting-guide/openstack":{"id":"guides/troubleshooting-guide/openstack","title":"OpenStack","description":"Database creation fails","sidebar":"tutorialSidebar"},"guides/upgrade-guide/ceph":{"id":"guides/upgrade-guide/ceph","title":"Ceph","description":"","sidebar":"tutorialSidebar"},"guides/upgrade-guide/docker":{"id":"guides/upgrade-guide/docker","title":"Docker","description":"The Docker version used is defined via the parameter docker_version in the file","sidebar":"tutorialSidebar"},"guides/upgrade-guide/index":{"id":"guides/upgrade-guide/index","title":"Upgrade Guide","description":"In the examples, the pull of images (if supported by a role) is always run first. While","sidebar":"tutorialSidebar"},"guides/upgrade-guide/infrastructure":{"id":"guides/upgrade-guide/infrastructure","title":"Infrastructure","description":"Kubernetes","sidebar":"tutorialSidebar"},"guides/upgrade-guide/logging-monitoring":{"id":"guides/upgrade-guide/logging-monitoring","title":"Logging & Monitoring","description":"OpenSearch","sidebar":"tutorialSidebar"},"guides/upgrade-guide/manager":{"id":"guides/upgrade-guide/manager","title":"Manager","description":"Always read the release notes first to learn what has changed and what","sidebar":"tutorialSidebar"},"guides/upgrade-guide/network":{"id":"guides/upgrade-guide/network","title":"Network","description":"Open vSwitch","sidebar":"tutorialSidebar"},"guides/upgrade-guide/openstack":{"id":"guides/upgrade-guide/openstack","title":"OpenStack","description":"Keystone","sidebar":"tutorialSidebar"},"intro/architecture":{"id":"intro/architecture","title":"Architecture","description":"OSISM total overview","sidebar":"tutorialSidebar"},"intro/index":{"id":"intro/index","title":"Introduction","description":"This documentation is currently under construction and is not yet complete.","sidebar":"tutorialSidebar"},"references/cli":{"id":"references/cli","title":"Command line interface reference","description":"","sidebar":"tutorialSidebar"},"references/configuration":{"id":"references/configuration","title":"Configuration reference","description":"","sidebar":"tutorialSidebar"},"references/index":{"id":"references/index","title":"References","description":"","sidebar":"tutorialSidebar"},"references/parameters":{"id":"references/parameters","title":"Parameters reference","description":"","sidebar":"tutorialSidebar"},"release-notes/index":{"id":"release-notes/index","title":"Release Notes","description":"","sidebar":"tutorialSidebar"},"release-notes/osism-6":{"id":"release-notes/osism-6","title":"OSISM 6.0.0","description":"","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkosism=self.webpackChunkosism||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Architecture","href":"/docs/intro/architecture","docId":"intro/architecture","unlisted":false}],"href":"/docs/intro/"},{"type":"link","label":"Getting Started","href":"/docs/getting-started","docId":"getting-started","unlisted":false},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Deploy Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Seed","href":"/docs/guides/deploy-guide/seed","docId":"guides/deploy-guide/seed","unlisted":false},{"type":"link","label":"Manager","href":"/docs/guides/deploy-guide/manager","docId":"guides/deploy-guide/manager","unlisted":false},{"type":"link","label":"Provisioning","href":"/docs/guides/deploy-guide/provisioning","docId":"guides/deploy-guide/provisioning","unlisted":false},{"type":"link","label":"Bootstrap","href":"/docs/guides/deploy-guide/bootstrap","docId":"guides/deploy-guide/bootstrap","unlisted":false},{"type":"category","label":"Services","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Infrastructure","href":"/docs/guides/deploy-guide/services/infrastructure","docId":"guides/deploy-guide/services/infrastructure","unlisted":false},{"type":"link","label":"Network","href":"/docs/guides/deploy-guide/services/network","docId":"guides/deploy-guide/services/network","unlisted":false},{"type":"link","label":"Logging & Monitoring","href":"/docs/guides/deploy-guide/services/logging-monitoring","docId":"guides/deploy-guide/services/logging-monitoring","unlisted":false},{"type":"link","label":"Ceph","href":"/docs/guides/deploy-guide/services/ceph","docId":"guides/deploy-guide/services/ceph","unlisted":false},{"type":"link","label":"OpenStack","href":"/docs/guides/deploy-guide/services/openstack","docId":"guides/deploy-guide/services/openstack","unlisted":false}],"href":"/docs/guides/deploy-guide/services/"},{"type":"category","label":"Examples","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Cloud in a Box","href":"/docs/guides/deploy-guide/examples/cloud-in-a-box","docId":"guides/deploy-guide/examples/cloud-in-a-box","unlisted":false},{"type":"link","label":"Testbed","href":"/docs/guides/deploy-guide/examples/testbed","docId":"guides/deploy-guide/examples/testbed","unlisted":false}],"href":"/docs/guides/deploy-guide/examples/"}],"href":"/docs/guides/deploy-guide/"},{"type":"category","label":"Upgrade Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manager","href":"/docs/guides/upgrade-guide/manager","docId":"guides/upgrade-guide/manager","unlisted":false},{"type":"link","label":"Network","href":"/docs/guides/upgrade-guide/network","docId":"guides/upgrade-guide/network","unlisted":false},{"type":"link","label":"Ceph","href":"/docs/guides/upgrade-guide/ceph","docId":"guides/upgrade-guide/ceph","unlisted":false},{"type":"link","label":"Docker","href":"/docs/guides/upgrade-guide/docker","docId":"guides/upgrade-guide/docker","unlisted":false},{"type":"link","label":"Infrastructure","href":"/docs/guides/upgrade-guide/infrastructure","docId":"guides/upgrade-guide/infrastructure","unlisted":false},{"type":"link","label":"Logging & Monitoring","href":"/docs/guides/upgrade-guide/logging-monitoring","docId":"guides/upgrade-guide/logging-monitoring","unlisted":false},{"type":"link","label":"OpenStack","href":"/docs/guides/upgrade-guide/openstack","docId":"guides/upgrade-guide/openstack","unlisted":false}],"href":"/docs/guides/upgrade-guide/"},{"type":"category","label":"Configuration Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration repository","href":"/docs/guides/configuration-guide/configuration-repository","docId":"guides/configuration-guide/configuration-repository","unlisted":false},{"type":"link","label":"Inventory","href":"/docs/guides/configuration-guide/inventory","docId":"guides/configuration-guide/inventory","unlisted":false},{"type":"link","label":"Manager","href":"/docs/guides/configuration-guide/manager","docId":"guides/configuration-guide/manager","unlisted":false},{"type":"category","label":"Commons","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Network","href":"/docs/guides/configuration-guide/commons/network","docId":"guides/configuration-guide/commons/network","unlisted":false},{"type":"link","label":"Packages","href":"/docs/guides/configuration-guide/commons/packages","docId":"guides/configuration-guide/commons/packages","unlisted":false},{"type":"link","label":"Services","href":"/docs/guides/configuration-guide/commons/services","docId":"guides/configuration-guide/commons/services","unlisted":false},{"type":"link","label":"SSH Config","href":"/docs/guides/configuration-guide/commons/sshconfig","docId":"guides/configuration-guide/commons/sshconfig","unlisted":false},{"type":"link","label":"Sysctl","href":"/docs/guides/configuration-guide/commons/sysctl","docId":"guides/configuration-guide/commons/sysctl","unlisted":false},{"type":"link","label":"Timezone","href":"/docs/guides/configuration-guide/commons/timezone","docId":"guides/configuration-guide/commons/timezone","unlisted":false}],"href":"/docs/guides/configuration-guide/commons/"},{"type":"link","label":"Services","href":"/docs/guides/configuration-guide/services/","docId":"guides/configuration-guide/services/index","unlisted":false},{"type":"link","label":"Ceph","href":"/docs/guides/configuration-guide/ceph","docId":"guides/configuration-guide/ceph","unlisted":false},{"type":"category","label":"OpenStack","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Horizon","href":"/docs/guides/configuration-guide/openstack/horizon","docId":"guides/configuration-guide/openstack/horizon","unlisted":false},{"type":"link","label":"Keystone","href":"/docs/guides/configuration-guide/openstack/keystone","docId":"guides/configuration-guide/openstack/keystone","unlisted":false}],"href":"/docs/guides/configuration-guide/openstack/"},{"type":"link","label":"Proxy","href":"/docs/guides/configuration-guide/proxy","docId":"guides/configuration-guide/proxy","unlisted":false},{"type":"link","label":"Self-signed certificates","href":"/docs/guides/configuration-guide/self-signed-certificates","docId":"guides/configuration-guide/self-signed-certificates","unlisted":false}],"href":"/docs/guides/configuration-guide/"},{"type":"category","label":"Operations Guide","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Manager","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Apply","href":"/docs/guides/operations-guide/manager/apply","docId":"guides/operations-guide/manager/apply","unlisted":false},{"type":"link","label":"Logging","href":"/docs/guides/operations-guide/manager/log","docId":"guides/operations-guide/manager/log","unlisted":false},{"type":"link","label":"Console","href":"/docs/guides/operations-guide/manager/console","docId":"guides/operations-guide/manager/console","unlisted":false},{"type":"link","label":"Task","href":"/docs/guides/operations-guide/manager/task","docId":"guides/operations-guide/manager/task","unlisted":false}],"href":"/docs/guides/operations-guide/manager/"},{"type":"link","label":"Ceph","href":"/docs/guides/operations-guide/ceph","docId":"guides/operations-guide/ceph","unlisted":false},{"type":"category","label":"OpenStack","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Cinder","href":"/docs/guides/operations-guide/openstack/cinder","docId":"guides/operations-guide/openstack/cinder","unlisted":false},{"type":"link","label":"Octavia","href":"/docs/guides/operations-guide/openstack/octavia","docId":"guides/operations-guide/openstack/octavia","unlisted":false},{"type":"category","label":"Day-2 Operations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Playbooks","href":"/docs/guides/operations-guide/openstack/day2-operations/playbooks","docId":"guides/operations-guide/openstack/day2-operations/playbooks","unlisted":false},{"type":"link","label":"Image Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/image-manager","docId":"guides/operations-guide/openstack/day2-operations/image-manager","unlisted":false},{"type":"link","label":"Flavor Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/flavor-manager","docId":"guides/operations-guide/openstack/day2-operations/flavor-manager","unlisted":false},{"type":"link","label":"Resource Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/resource-manager","docId":"guides/operations-guide/openstack/day2-operations/resource-manager","unlisted":false},{"type":"link","label":"Project Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/project-manager","docId":"guides/operations-guide/openstack/day2-operations/project-manager","unlisted":false},{"type":"link","label":"Sandbox Manager","href":"/docs/guides/operations-guide/openstack/day2-operations/sandbox-manager","docId":"guides/operations-guide/openstack/day2-operations/sandbox-manager","unlisted":false}],"href":"/docs/guides/operations-guide/openstack/day2-operations/"}],"href":"/docs/guides/operations-guide/openstack/"}],"href":"/docs/guides/operations-guide/"},{"type":"category","label":"Troubleshooting Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manager","href":"/docs/guides/troubleshooting-guide/manager","docId":"guides/troubleshooting-guide/manager","unlisted":false},{"type":"link","label":"OpenStack","href":"/docs/guides/troubleshooting-guide/openstack","docId":"guides/troubleshooting-guide/openstack","unlisted":false}],"href":"/docs/guides/troubleshooting-guide/"},{"type":"category","label":"Other Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Contributor Guide","href":"/docs/guides/other-guides/contributor-guide","docId":"guides/other-guides/contributor-guide","unlisted":false},{"type":"category","label":"Developer Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Releases","href":"/docs/guides/other-guides/developer-guide/releases","docId":"guides/other-guides/developer-guide/releases","unlisted":false},{"type":"link","label":"Scripts","href":"/docs/guides/other-guides/developer-guide/scripts","docId":"guides/other-guides/developer-guide/scripts","unlisted":false},{"type":"link","label":"Zuul Ci","href":"/docs/guides/other-guides/developer-guide/zuul-ci","docId":"guides/other-guides/developer-guide/zuul-ci","unlisted":false}],"href":"/docs/guides/other-guides/developer-guide/"},{"type":"link","label":"Style Guide","href":"/docs/guides/other-guides/style-guide","docId":"guides/other-guides/style-guide","unlisted":false},{"type":"link","label":"Zuul CI","href":"/docs/guides/other-guides/zuul","docId":"guides/other-guides/zuul","unlisted":false}],"href":"/docs/guides/other-guides/"}],"href":"/docs/guides/"},{"type":"category","label":"References","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Command line interface reference","href":"/docs/references/cli","docId":"references/cli","unlisted":false},{"type":"link","label":"Configuration reference","href":"/docs/references/configuration","docId":"references/configuration","unlisted":false},{"type":"link","label":"Parameters reference","href":"/docs/references/parameters","docId":"references/parameters","unlisted":false}],"href":"/docs/references/"},{"type":"category","label":"Release Notes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"OSISM 6.0.0","href":"/docs/release-notes/osism-6","docId":"release-notes/osism-6","unlisted":false}],"href":"/docs/release-notes/"},{"type":"category","label":"Appendix","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Glossary","href":"/docs/appendix/glossary","docId":"appendix/glossary","unlisted":false},{"type":"link","label":"Standards","href":"/docs/appendix/standards","docId":"appendix/standards","unlisted":false}],"href":"/docs/appendix/"}]},"docs":{"appendix/glossary":{"id":"appendix/glossary","title":"Glossary","description":"\ud83d\udca1 This section serves as the central glossary within OSISM. It is intended to clearly define","sidebar":"tutorialSidebar"},"appendix/index":{"id":"appendix/index","title":"Appendix","description":"","sidebar":"tutorialSidebar"},"appendix/standards":{"id":"appendix/standards","title":"Standards","description":"| Name | OSISM Documentation | SCS Standard Track | SCS Standard | SCS Documentation |","sidebar":"tutorialSidebar"},"getting-started":{"id":"getting-started","title":"Getting Started","description":"Deployment","sidebar":"tutorialSidebar"},"guides/configuration-guide/ceph":{"id":"guides/configuration-guide/ceph","title":"Ceph","description":"Unique Identifier","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/index":{"id":"guides/configuration-guide/commons/index","title":"Commons","description":"This section contains the documentation of the Ansible collection osism.commons.","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/network":{"id":"guides/configuration-guide/commons/network","title":"Network","description":"The osism.commons.network role is used for the netwok configuration.","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/packages":{"id":"guides/configuration-guide/commons/packages","title":"Packages","description":"With the osism.commons.packages role, it is possible to add packages on a node","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/services":{"id":"guides/configuration-guide/commons/services","title":"Services","description":"With the osism.commons.services role, it is possible to manage services on a node","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/sshconfig":{"id":"guides/configuration-guide/commons/sshconfig","title":"SSH Config","description":"With the osism.commons.sshconfig role, it is possible to manage a SSH config","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/sysctl":{"id":"guides/configuration-guide/commons/sysctl","title":"Sysctl","description":"With the osism.commons.sysctl role, it is possible to manage the attributes of the kernel","sidebar":"tutorialSidebar"},"guides/configuration-guide/commons/timezone":{"id":"guides/configuration-guide/commons/timezone","title":"Timezone","description":"With the osism.commons.timezone role, it is possible to manage the used timezone on a node.","sidebar":"tutorialSidebar"},"guides/configuration-guide/configuration-repository":{"id":"guides/configuration-guide/configuration-repository","title":"Configuration Repository","description":"The configuration required for OSISM is stored in a single Git monorepo, the configuration repository.","sidebar":"tutorialSidebar"},"guides/configuration-guide/index":{"id":"guides/configuration-guide/index","title":"Configuration Guide","description":"","sidebar":"tutorialSidebar"},"guides/configuration-guide/inventory":{"id":"guides/configuration-guide/inventory","title":"Inventory","description":"The inventory used for the environment is located in the inventory directory.","sidebar":"tutorialSidebar"},"guides/configuration-guide/manager":{"id":"guides/configuration-guide/manager","title":"Manager","description":"Stable release","sidebar":"tutorialSidebar"},"guides/configuration-guide/openstack/horizon":{"id":"guides/configuration-guide/openstack/horizon","title":"Horizon","description":"Problems uploading machine images larger than 1 GiB","sidebar":"tutorialSidebar"},"guides/configuration-guide/openstack/index":{"id":"guides/configuration-guide/openstack/index","title":"OpenStack","description":"Network interfaces","sidebar":"tutorialSidebar"},"guides/configuration-guide/openstack/keystone":{"id":"guides/configuration-guide/openstack/keystone","title":"Keystone","description":"Domain manager role","sidebar":"tutorialSidebar"},"guides/configuration-guide/proxy":{"id":"guides/configuration-guide/proxy","title":"Proxy","description":"","sidebar":"tutorialSidebar"},"guides/configuration-guide/self-signed-certificates":{"id":"guides/configuration-guide/self-signed-certificates","title":"Self-signed certificates","description":"OpenStack","sidebar":"tutorialSidebar"},"guides/configuration-guide/services/index":{"id":"guides/configuration-guide/services/index","title":"Services","description":"This section contains the documentation of the Ansible collection osism.services.","sidebar":"tutorialSidebar"},"guides/deploy-guide/bootstrap":{"id":"guides/deploy-guide/bootstrap","title":"Bootstrap","description":"Before the nodes can be bootstrapped, they must all have already been provisioned.","sidebar":"tutorialSidebar"},"guides/deploy-guide/examples/cloud-in-a-box":{"id":"guides/deploy-guide/examples/cloud-in-a-box","title":"Cloud in a Box - CiaB","description":"\ud83d\udca1 Cloud in a Box (CiaB) is a minimalistic installation of the latest stable OSISM release with only services which are needed to","sidebar":"tutorialSidebar"},"guides/deploy-guide/examples/index":{"id":"guides/deploy-guide/examples/index","title":"Examples","description":"","sidebar":"tutorialSidebar"},"guides/deploy-guide/examples/testbed":{"id":"guides/deploy-guide/examples/testbed","title":"Testbed","description":"\ud83d\udca1 With the OSISM Testbed, it is possible to run a full Sovereign Cloud Stack","sidebar":"tutorialSidebar"},"guides/deploy-guide/index":{"id":"guides/deploy-guide/index","title":"Deploy Guide","description":"\ud83d\udca1 The Deploy Guide describe how to provision, bootstrap and deploy nodes and services.","sidebar":"tutorialSidebar"},"guides/deploy-guide/manager":{"id":"guides/deploy-guide/manager","title":"Manager","description":"Change into the configuration/environments/manager directory of the configuration repository.","sidebar":"tutorialSidebar"},"guides/deploy-guide/provisioning":{"id":"guides/deploy-guide/provisioning","title":"Provisioning of management and control plane nodes","description":"For the initial deployment of the management plane and the control plane of OSISM,","sidebar":"tutorialSidebar"},"guides/deploy-guide/seed":{"id":"guides/deploy-guide/seed","title":"Seed","description":"The seed node is used once for the initial bootstrap of the manager node. It is sufficient","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/ceph":{"id":"guides/deploy-guide/services/ceph","title":"Ceph","description":"1. Deploy base services.","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/index":{"id":"guides/deploy-guide/services/index","title":"Services","description":"Getting started","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/infrastructure":{"id":"guides/deploy-guide/services/infrastructure","title":"Infrastructure","description":"Common issues with deploying infrastructure services required by OpenStack","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/logging-monitoring":{"id":"guides/deploy-guide/services/logging-monitoring","title":"Logging & Monitoring","description":"Common issues with deploying logging & monitoring services provided by Kolla","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/network":{"id":"guides/deploy-guide/services/network","title":"Network","description":"Open vSwitch","sidebar":"tutorialSidebar"},"guides/deploy-guide/services/openstack":{"id":"guides/deploy-guide/services/openstack","title":"OpenStack","description":"Common issues with deploying OpenStack services are documented in the","sidebar":"tutorialSidebar"},"guides/index":{"id":"guides/index","title":"Guides","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/ceph":{"id":"guides/operations-guide/ceph","title":"Ceph operations cheatsheet","description":"Where to find docs","sidebar":"tutorialSidebar"},"guides/operations-guide/index":{"id":"guides/operations-guide/index","title":"Operations Guide","description":"Node states","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/apply":{"id":"guides/operations-guide/manager/apply","title":"Apply","description":"List all available plays","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/console":{"id":"guides/operations-guide/manager/console","title":"Console","description":"A console command is available in the OSISM CLI. This allows specific parts of the","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/index":{"id":"guides/operations-guide/manager/index","title":"Manager","description":"OSISM orchestrator","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/log":{"id":"guides/operations-guide/manager/log","title":"Logging","description":"Ansible","sidebar":"tutorialSidebar"},"guides/operations-guide/manager/task":{"id":"guides/operations-guide/manager/task","title":"Task","description":"List","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/cinder":{"id":"guides/operations-guide/openstack/cinder","title":"Cinder","description":"Remove service","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/flavor-manager":{"id":"guides/operations-guide/openstack/day2-operations/flavor-manager","title":"Flavor Manager","description":"Overview","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/image-manager":{"id":"guides/operations-guide/openstack/day2-operations/image-manager","title":"Image Manager","description":"The OpenStack Image Manager is a tool for managing all images on an OpenStack environment","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/index":{"id":"guides/operations-guide/openstack/day2-operations/index","title":"Day-2 Operations","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/playbooks":{"id":"guides/operations-guide/openstack/day2-operations/playbooks","title":"Playbooks","description":"Host aggregates","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/project-manager":{"id":"guides/operations-guide/openstack/day2-operations/project-manager","title":"Project Manager","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/resource-manager":{"id":"guides/operations-guide/openstack/day2-operations/resource-manager","title":"Resource Manager","description":"Octavia","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/day2-operations/sandbox-manager":{"id":"guides/operations-guide/openstack/day2-operations/sandbox-manager","title":"Sandbox Manager","description":"","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/index":{"id":"guides/operations-guide/openstack/index","title":"OpenStack","description":"Add a new compute node","sidebar":"tutorialSidebar"},"guides/operations-guide/openstack/octavia":{"id":"guides/operations-guide/openstack/octavia","title":"Octavia","description":"Cleanup of amphora missing from the DB","sidebar":"tutorialSidebar"},"guides/other-guides/contributor-guide":{"id":"guides/other-guides/contributor-guide","title":"Contributor Guide","description":"We welcome any issues, change requests or general feedback. Do not hestiate to open an issue.","sidebar":"tutorialSidebar"},"guides/other-guides/developer-guide/index":{"id":"guides/other-guides/developer-guide/index","title":"Developer Guide","description":"How to add a new service","sidebar":"tutorialSidebar"},"guides/other-guides/developer-guide/releases":{"id":"guides/other-guides/developer-guide/releases","title":"Releases","description":"How we handle releases","sidebar":"tutorialSidebar"},"guides/other-guides/developer-guide/scripts":{"id":"guides/other-guides/developer-guide/scripts","title":"Scripts","description":"Scripts are included in container images to simplify development work and to enable","sidebar":"tutorialSidebar"},"guides/other-guides/developer-guide/zuul-ci":{"id":"guides/other-guides/developer-guide/zuul-ci","title":"Zuul CI","description":"We use Zuul CI for our CI. Our Zuul CI instance is available","sidebar":"tutorialSidebar"},"guides/other-guides/index":{"id":"guides/other-guides/index","title":"Other Guides","description":"","sidebar":"tutorialSidebar"},"guides/other-guides/style-guide":{"id":"guides/other-guides/style-guide","title":"Style Guide","description":"Ansible","sidebar":"tutorialSidebar"},"guides/other-guides/zuul":{"id":"guides/other-guides/zuul","title":"Zuul CI","description":"We use Zuul CI as a CI service for OSISM. The service is not required for","sidebar":"tutorialSidebar"},"guides/troubleshooting-guide/index":{"id":"guides/troubleshooting-guide/index","title":"Troubleshooting Guide","description":"\ud83d\udca1 The Troubleshooting Guide describe how to solve issues.","sidebar":"tutorialSidebar"},"guides/troubleshooting-guide/manager":{"id":"guides/troubleshooting-guide/manager","title":"Manager","description":"Reset","sidebar":"tutorialSidebar"},"guides/troubleshooting-guide/openstack":{"id":"guides/troubleshooting-guide/openstack","title":"OpenStack","description":"Database creation fails","sidebar":"tutorialSidebar"},"guides/upgrade-guide/ceph":{"id":"guides/upgrade-guide/ceph","title":"Ceph","description":"","sidebar":"tutorialSidebar"},"guides/upgrade-guide/docker":{"id":"guides/upgrade-guide/docker","title":"Docker","description":"The Docker version used is defined via the parameter docker_version in the file","sidebar":"tutorialSidebar"},"guides/upgrade-guide/index":{"id":"guides/upgrade-guide/index","title":"Upgrade Guide","description":"In the examples, the pull of images (if supported by a role) is always run first. While","sidebar":"tutorialSidebar"},"guides/upgrade-guide/infrastructure":{"id":"guides/upgrade-guide/infrastructure","title":"Infrastructure","description":"Kubernetes","sidebar":"tutorialSidebar"},"guides/upgrade-guide/logging-monitoring":{"id":"guides/upgrade-guide/logging-monitoring","title":"Logging & Monitoring","description":"OpenSearch","sidebar":"tutorialSidebar"},"guides/upgrade-guide/manager":{"id":"guides/upgrade-guide/manager","title":"Manager","description":"Always read the release notes first to learn what has changed and what","sidebar":"tutorialSidebar"},"guides/upgrade-guide/network":{"id":"guides/upgrade-guide/network","title":"Network","description":"Open vSwitch","sidebar":"tutorialSidebar"},"guides/upgrade-guide/openstack":{"id":"guides/upgrade-guide/openstack","title":"OpenStack","description":"Keystone","sidebar":"tutorialSidebar"},"intro/architecture":{"id":"intro/architecture","title":"Architecture","description":"OSISM total overview","sidebar":"tutorialSidebar"},"intro/index":{"id":"intro/index","title":"Introduction","description":"This documentation is currently under construction and is not yet complete.","sidebar":"tutorialSidebar"},"references/cli":{"id":"references/cli","title":"Command line interface reference","description":"","sidebar":"tutorialSidebar"},"references/configuration":{"id":"references/configuration","title":"Configuration reference","description":"","sidebar":"tutorialSidebar"},"references/index":{"id":"references/index","title":"References","description":"","sidebar":"tutorialSidebar"},"references/parameters":{"id":"references/parameters","title":"Parameters reference","description":"","sidebar":"tutorialSidebar"},"release-notes/index":{"id":"release-notes/index","title":"Release Notes","description":"","sidebar":"tutorialSidebar"},"release-notes/osism-6":{"id":"release-notes/osism-6","title":"OSISM 6.0.0","description":"","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/a6659507.1016b4a7.js b/assets/js/a6659507.1016b4a7.js deleted file mode 100644 index ea6cdce996..0000000000 --- a/assets/js/a6659507.1016b4a7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkosism=self.webpackChunkosism||[]).push([[9498],{8862:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var o=n(5893),i=n(1151);const s={sidebar_label:"OpenStack",sidebar_position:60},r="OpenStack",a={id:"guides/operations-guide/openstack/index",title:"OpenStack",description:"",source:"@site/docs/guides/operations-guide/openstack/index.md",sourceDirName:"guides/operations-guide/openstack",slug:"/guides/operations-guide/openstack/",permalink:"/docs/guides/operations-guide/openstack/",draft:!1,unlisted:!1,editUrl:"https://github.com/osism/osism.github.io/tree/main/docs/guides/operations-guide/openstack/index.md",tags:[],version:"current",sidebarPosition:60,frontMatter:{sidebar_label:"OpenStack",sidebar_position:60},sidebar:"tutorialSidebar",previous:{title:"Ceph",permalink:"/docs/guides/operations-guide/ceph"},next:{title:"Cinder",permalink:"/docs/guides/operations-guide/openstack/cinder"}},c={},d=[];function u(e){const t={h1:"h1",...(0,i.a)(),...e.components};return(0,o.jsx)(t.h1,{id:"openstack",children:"OpenStack"})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var o=n(7294);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a6659507.feb5b62a.js b/assets/js/a6659507.feb5b62a.js new file mode 100644 index 0000000000..2c2638d36a --- /dev/null +++ b/assets/js/a6659507.feb5b62a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkosism=self.webpackChunkosism||[]).push([[9498],{8862:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>p,toc:()=>r});var s=o(5893),t=o(1151);const i={sidebar_label:"OpenStack",sidebar_position:60},a="OpenStack",p={id:"guides/operations-guide/openstack/index",title:"OpenStack",description:"Add a new compute node",source:"@site/docs/guides/operations-guide/openstack/index.md",sourceDirName:"guides/operations-guide/openstack",slug:"/guides/operations-guide/openstack/",permalink:"/docs/guides/operations-guide/openstack/",draft:!1,unlisted:!1,editUrl:"https://github.com/osism/osism.github.io/tree/main/docs/guides/operations-guide/openstack/index.md",tags:[],version:"current",sidebarPosition:60,frontMatter:{sidebar_label:"OpenStack",sidebar_position:60},sidebar:"tutorialSidebar",previous:{title:"Ceph",permalink:"/docs/guides/operations-guide/ceph"},next:{title:"Cinder",permalink:"/docs/guides/operations-guide/openstack/cinder"}},d={},r=[{value:"Add a new compute node",id:"add-a-new-compute-node",level:2}];function c(e){const n={code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"openstack",children:"OpenStack"}),"\n",(0,s.jsx)(n.h2,{id:"add-a-new-compute-node",children:"Add a new compute node"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"osism apply operator -u osism -l NODE\nosism apply bootstrap -l NODE\nosism apply common -l NODE\nosism apply openvswitch -l NODE\nosism apply ovn -l NODE\nosism apply prometheus -l NODE\nosism apply ceilometer -l NODE\nosism apply neutron -l NODE\nosism apply nova -l NODE\n"})}),"\n",(0,s.jsx)(n.p,{children:"If Scaphandre is used:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"osism apply scaphandre -l NODE\n"})})]})}function l(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1151:(e,n,o)=>{o.d(n,{Z:()=>p,a:()=>a});var s=o(7294);const t={},i=s.createContext(t);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.f0cafbb0.js b/assets/js/runtime~main.89f6881e.js similarity index 97% rename from assets/js/runtime~main.f0cafbb0.js rename to assets/js/runtime~main.89f6881e.js index 20eca217e9..5d3c7037fd 100644 --- a/assets/js/runtime~main.f0cafbb0.js +++ b/assets/js/runtime~main.89f6881e.js @@ -1 +1 @@ -(()=>{"use strict";var e,f,a,c,d,b={},t={};function r(e){var f=t[e];if(void 0!==f)return f.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(f,a,c,d)=>{if(!a){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[a,c,d]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};f=f||[null,a({}),a([]),a(a)];for(var t=2&c&&e;"object"==typeof t&&!~f.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((f=>b[f]=()=>e[f]));return b.default=()=>e,r.d(d,b),d},r.d=(e,f)=>{for(var a in f)r.o(f,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((f,a)=>(r.f[a](e,f),f)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",366:"d0f03c80",453:"30a24c52",533:"b2b675dd",609:"0658869c",770:"3f74a1dc",948:"8717b14a",1033:"3a24b32a",1100:"ccc45f31",1172:"7a4fffdf",1195:"e29aad9d",1336:"f3e1e4c4",1355:"d3108c07",1391:"6c11aa3a",1477:"b2f554cd",1511:"6a1f4bec",1518:"5bc03735",1574:"de57d45c",1628:"807e695f",1633:"031793e1",1713:"a7023ddc",1734:"2f914c76",1748:"8e5f32ed",1757:"3934058b",1914:"d9f32620",1943:"ae934d1a",2018:"c45d899e",2267:"59362658",2309:"0fd4c4b6",2362:"e273c56f",2535:"814f3328",2540:"88884f83",2681:"78b4ae99",2716:"04e17c9d",2753:"2b5b0fc4",2840:"29cf976d",2871:"d03241c9",3085:"1f391b9e",3089:"a6aa9e1f",3188:"e934a396",3205:"a80da1cf",3216:"6fb2b956",3394:"8da03187",3432:"ad26905b",3514:"73664a40",3608:"9e4087bc",3713:"1e80d022",3724:"596b1512",3980:"8352bc95",4013:"01a85c17",4022:"5845507f",4118:"59e4bf9a",4141:"f7ca8893",4195:"c4f5d8e4",4329:"dbbbc829",4368:"a94703ab",4488:"bed2b685",4557:"7d57f1c1",4689:"b4b93543",4744:"b798ea2b",4905:"7c2d5d83",4931:"762b083e",4983:"b614c3e5",5182:"43f3e48b",5322:"c78af355",5655:"08ca43f3",5826:"f7e4724a",5834:"096c7093",5846:"9c2dc5c0",5961:"fb66bc4c",6103:"ccc49370",6236:"02601e42",6299:"07d5b948",6315:"3eec1f83",6330:"dbe528c9",6378:"90342430",6454:"09ec98ee",6537:"db7ff767",6578:"3e117606",6641:"b68de40d",6876:"07742d97",6891:"0f52743c",6938:"608ae6a4",7155:"74b846e2",7162:"d589d3a7",7178:"096bfee4",7414:"393be207",7485:"49278f49",7632:"b88e2faf",7720:"31da1720",7918:"17896441",8019:"15cba8f7",8157:"e0698a94",8172:"f4c1e300",8187:"8ff7deab",8367:"09a97616",8461:"0884bdbc",8518:"a7bd4aaa",8521:"4632ab68",8527:"45fcaf07",8610:"6875c492",8636:"f4f34a3a",8730:"42bbc814",9003:"925b3f96",9035:"4c9e35b1",9174:"456706c7",9183:"326f19e1",9246:"c9821a2e",9372:"2c0b3ec5",9377:"fac2b365",9498:"a6659507",9588:"70acb529",9642:"7661071f",9654:"6f6bf91f",9661:"5e95c892",9700:"e16015ca"}[e]||e)+"."+{53:"5ce41e84",110:"3b251721",366:"79a42e26",453:"a158a92f",533:"90afecae",609:"000fed42",770:"b6260afa",948:"5aad819f",1033:"aa4ed749",1100:"da787644",1172:"7e20c030",1195:"85078301",1336:"a7763d65",1355:"28d0965f",1391:"42693d26",1477:"beaa1832",1511:"c59cf9f2",1518:"7e4acf4d",1574:"6fe9c73b",1628:"af41145b",1633:"ca83e151",1713:"4eea03b9",1734:"48f7f8a5",1748:"8feadc1d",1757:"e78c1df1",1772:"d11fac60",1914:"fb6fa8bc",1943:"accaf241",2018:"634c5327",2196:"2676aaef",2267:"2f157a04",2309:"7ba75290",2362:"42c3ebab",2535:"c38747f3",2540:"4793f9f6",2681:"6855b586",2716:"c38fe0a8",2753:"8ed829fe",2840:"b09370d0",2871:"5b1e7f48",3085:"9f3fe42d",3089:"7a509f3d",3188:"40917de9",3205:"c0c3e967",3216:"88eb4771",3394:"71b5824c",3432:"37ca8a84",3514:"310edf08",3608:"8f60ee35",3713:"7964af5d",3724:"dab3a8bd",3980:"4625bb6c",4013:"d743222a",4022:"c58d485c",4118:"bda3bcd3",4141:"7570e8c8",4195:"129f1776",4329:"07773006",4368:"64e5d53d",4488:"ac881e55",4557:"3a38411b",4689:"d6c476a1",4744:"788aaf4b",4905:"5b298e5d",4931:"2cd763d2",4983:"6e7e1660",5182:"6ca40222",5322:"7ad83d1e",5655:"ce3dd527",5826:"95977404",5834:"7b35c9d1",5846:"bbaa7d21",5961:"c4386f8a",6103:"618fab3b",6236:"798d71a1",6299:"0194666a",6315:"65aad5b1",6330:"38051eff",6378:"c6c2e3da",6454:"cfe48152",6537:"abb7deee",6578:"bf628f1c",6641:"5061f32a",6876:"ac0b276c",6891:"f9bb505b",6938:"ceaf3ae1",7155:"7cf3aae1",7162:"f89e57dc",7178:"5ea2728c",7414:"c11fb6fe",7485:"3647e6fa",7632:"b97b2546",7720:"e5c4c542",7918:"20238007",8019:"1f43f06c",8157:"7d1f772a",8172:"a29c6c79",8187:"bf6ddd36",8367:"8916b6f2",8461:"407e37a2",8518:"89fe4821",8521:"1be78293",8527:"b43c09a6",8610:"bd442cd2",8636:"9bfb60db",8730:"b9aff477",9003:"65eec07f",9035:"004f5649",9174:"b25a763f",9183:"73d01a29",9246:"41010e1f",9372:"e0f92b83",9377:"ad2dc31c",9498:"1016b4a7",9588:"9510824b",9642:"a3969797",9654:"fec9b4df",9661:"52c8da28",9677:"e1301640",9700:"0e006377"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),c={},d="osism:",r.l=(e,f,a,b)=>{if(c[e])c[e].push(f);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(a))),f)return f(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",59362658:"2267",66406991:"110",90342430:"6378","935f2afb":"53",d0f03c80:"366","30a24c52":"453",b2b675dd:"533","0658869c":"609","3f74a1dc":"770","8717b14a":"948","3a24b32a":"1033",ccc45f31:"1100","7a4fffdf":"1172",e29aad9d:"1195",f3e1e4c4:"1336",d3108c07:"1355","6c11aa3a":"1391",b2f554cd:"1477","6a1f4bec":"1511","5bc03735":"1518",de57d45c:"1574","807e695f":"1628","031793e1":"1633",a7023ddc:"1713","2f914c76":"1734","8e5f32ed":"1748","3934058b":"1757",d9f32620:"1914",ae934d1a:"1943",c45d899e:"2018","0fd4c4b6":"2309",e273c56f:"2362","814f3328":"2535","88884f83":"2540","78b4ae99":"2681","04e17c9d":"2716","2b5b0fc4":"2753","29cf976d":"2840",d03241c9:"2871","1f391b9e":"3085",a6aa9e1f:"3089",e934a396:"3188",a80da1cf:"3205","6fb2b956":"3216","8da03187":"3394",ad26905b:"3432","73664a40":"3514","9e4087bc":"3608","1e80d022":"3713","596b1512":"3724","8352bc95":"3980","01a85c17":"4013","5845507f":"4022","59e4bf9a":"4118",f7ca8893:"4141",c4f5d8e4:"4195",dbbbc829:"4329",a94703ab:"4368",bed2b685:"4488","7d57f1c1":"4557",b4b93543:"4689",b798ea2b:"4744","7c2d5d83":"4905","762b083e":"4931",b614c3e5:"4983","43f3e48b":"5182",c78af355:"5322","08ca43f3":"5655",f7e4724a:"5826","096c7093":"5834","9c2dc5c0":"5846",fb66bc4c:"5961",ccc49370:"6103","02601e42":"6236","07d5b948":"6299","3eec1f83":"6315",dbe528c9:"6330","09ec98ee":"6454",db7ff767:"6537","3e117606":"6578",b68de40d:"6641","07742d97":"6876","0f52743c":"6891","608ae6a4":"6938","74b846e2":"7155",d589d3a7:"7162","096bfee4":"7178","393be207":"7414","49278f49":"7485",b88e2faf:"7632","31da1720":"7720","15cba8f7":"8019",e0698a94:"8157",f4c1e300:"8172","8ff7deab":"8187","09a97616":"8367","0884bdbc":"8461",a7bd4aaa:"8518","4632ab68":"8521","45fcaf07":"8527","6875c492":"8610",f4f34a3a:"8636","42bbc814":"8730","925b3f96":"9003","4c9e35b1":"9035","456706c7":"9174","326f19e1":"9183",c9821a2e:"9246","2c0b3ec5":"9372",fac2b365:"9377",a6659507:"9498","70acb529":"9588","7661071f":"9642","6f6bf91f":"9654","5e95c892":"9661",e16015ca:"9700"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(f,a)=>{var c=r.o(e,f)?e[f]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(1303|532)$/.test(f))e[f]=0;else{var d=new Promise(((a,d)=>c=e[f]=[a,d]));a.push(c[2]=d);var b=r.p+r.u(f),t=new Error;r.l(b,(a=>{if(r.o(e,f)&&(0!==(c=e[f])&&(e[f]=void 0),c)){var d=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+f+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+f,f)}},r.O.j=f=>0===e[f];var f=(f,a)=>{var c,d,b=a[0],t=a[1],o=a[2],n=0;if(b.some((f=>0!==e[f]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(f&&f(a);n{"use strict";var e,f,a,c,d,b={},t={};function r(e){var f=t[e];if(void 0!==f)return f.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(f,a,c,d)=>{if(!a){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[a,c,d]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};f=f||[null,a({}),a([]),a(a)];for(var t=2&c&&e;"object"==typeof t&&!~f.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((f=>b[f]=()=>e[f]));return b.default=()=>e,r.d(d,b),d},r.d=(e,f)=>{for(var a in f)r.o(f,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((f,a)=>(r.f[a](e,f),f)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",366:"d0f03c80",453:"30a24c52",533:"b2b675dd",609:"0658869c",770:"3f74a1dc",948:"8717b14a",1033:"3a24b32a",1100:"ccc45f31",1172:"7a4fffdf",1195:"e29aad9d",1336:"f3e1e4c4",1355:"d3108c07",1391:"6c11aa3a",1477:"b2f554cd",1511:"6a1f4bec",1518:"5bc03735",1574:"de57d45c",1628:"807e695f",1633:"031793e1",1713:"a7023ddc",1734:"2f914c76",1748:"8e5f32ed",1757:"3934058b",1914:"d9f32620",1943:"ae934d1a",2018:"c45d899e",2267:"59362658",2309:"0fd4c4b6",2362:"e273c56f",2535:"814f3328",2540:"88884f83",2681:"78b4ae99",2716:"04e17c9d",2753:"2b5b0fc4",2840:"29cf976d",2871:"d03241c9",3085:"1f391b9e",3089:"a6aa9e1f",3188:"e934a396",3205:"a80da1cf",3216:"6fb2b956",3394:"8da03187",3432:"ad26905b",3514:"73664a40",3608:"9e4087bc",3713:"1e80d022",3724:"596b1512",3980:"8352bc95",4013:"01a85c17",4022:"5845507f",4118:"59e4bf9a",4141:"f7ca8893",4195:"c4f5d8e4",4329:"dbbbc829",4368:"a94703ab",4488:"bed2b685",4557:"7d57f1c1",4689:"b4b93543",4744:"b798ea2b",4905:"7c2d5d83",4931:"762b083e",4983:"b614c3e5",5182:"43f3e48b",5322:"c78af355",5655:"08ca43f3",5826:"f7e4724a",5834:"096c7093",5846:"9c2dc5c0",5961:"fb66bc4c",6103:"ccc49370",6236:"02601e42",6299:"07d5b948",6315:"3eec1f83",6330:"dbe528c9",6378:"90342430",6454:"09ec98ee",6537:"db7ff767",6578:"3e117606",6641:"b68de40d",6876:"07742d97",6891:"0f52743c",6938:"608ae6a4",7155:"74b846e2",7162:"d589d3a7",7178:"096bfee4",7414:"393be207",7485:"49278f49",7632:"b88e2faf",7720:"31da1720",7918:"17896441",8019:"15cba8f7",8157:"e0698a94",8172:"f4c1e300",8187:"8ff7deab",8367:"09a97616",8461:"0884bdbc",8518:"a7bd4aaa",8521:"4632ab68",8527:"45fcaf07",8610:"6875c492",8636:"f4f34a3a",8730:"42bbc814",9003:"925b3f96",9035:"4c9e35b1",9174:"456706c7",9183:"326f19e1",9246:"c9821a2e",9372:"2c0b3ec5",9377:"fac2b365",9498:"a6659507",9588:"70acb529",9642:"7661071f",9654:"6f6bf91f",9661:"5e95c892",9700:"e16015ca"}[e]||e)+"."+{53:"06ed6f0e",110:"3b251721",366:"79a42e26",453:"a158a92f",533:"90afecae",609:"000fed42",770:"b6260afa",948:"5aad819f",1033:"aa4ed749",1100:"da787644",1172:"7e20c030",1195:"85078301",1336:"a7763d65",1355:"28d0965f",1391:"42693d26",1477:"beaa1832",1511:"c59cf9f2",1518:"7e4acf4d",1574:"6fe9c73b",1628:"af41145b",1633:"ca83e151",1713:"4eea03b9",1734:"48f7f8a5",1748:"8feadc1d",1757:"e78c1df1",1772:"d11fac60",1914:"fb6fa8bc",1943:"accaf241",2018:"634c5327",2196:"2676aaef",2267:"2f157a04",2309:"7ba75290",2362:"42c3ebab",2535:"c38747f3",2540:"4793f9f6",2681:"6855b586",2716:"c38fe0a8",2753:"8ed829fe",2840:"b09370d0",2871:"5b1e7f48",3085:"9f3fe42d",3089:"7a509f3d",3188:"40917de9",3205:"c0c3e967",3216:"88eb4771",3394:"71b5824c",3432:"37ca8a84",3514:"310edf08",3608:"8f60ee35",3713:"7964af5d",3724:"dab3a8bd",3980:"4625bb6c",4013:"d743222a",4022:"c58d485c",4118:"bda3bcd3",4141:"7570e8c8",4195:"129f1776",4329:"07773006",4368:"64e5d53d",4488:"ac881e55",4557:"3a38411b",4689:"d6c476a1",4744:"788aaf4b",4905:"5b298e5d",4931:"2cd763d2",4983:"6e7e1660",5182:"6ca40222",5322:"7ad83d1e",5655:"33faca0b",5826:"95977404",5834:"7b35c9d1",5846:"bbaa7d21",5961:"c4386f8a",6103:"618fab3b",6236:"798d71a1",6299:"0194666a",6315:"65aad5b1",6330:"38051eff",6378:"c6c2e3da",6454:"cfe48152",6537:"abb7deee",6578:"bf628f1c",6641:"5061f32a",6876:"ac0b276c",6891:"f9bb505b",6938:"ceaf3ae1",7155:"7cf3aae1",7162:"f89e57dc",7178:"5ea2728c",7414:"c11fb6fe",7485:"3647e6fa",7632:"b97b2546",7720:"e5c4c542",7918:"20238007",8019:"1f43f06c",8157:"7d1f772a",8172:"a29c6c79",8187:"bf6ddd36",8367:"8916b6f2",8461:"407e37a2",8518:"89fe4821",8521:"1be78293",8527:"b43c09a6",8610:"bd442cd2",8636:"9bfb60db",8730:"b9aff477",9003:"65eec07f",9035:"004f5649",9174:"b25a763f",9183:"73d01a29",9246:"41010e1f",9372:"e0f92b83",9377:"ad2dc31c",9498:"feb5b62a",9588:"9510824b",9642:"a3969797",9654:"fec9b4df",9661:"52c8da28",9677:"e1301640",9700:"0e006377"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),c={},d="osism:",r.l=(e,f,a,b)=>{if(c[e])c[e].push(f);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(a))),f)return f(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",59362658:"2267",66406991:"110",90342430:"6378","935f2afb":"53",d0f03c80:"366","30a24c52":"453",b2b675dd:"533","0658869c":"609","3f74a1dc":"770","8717b14a":"948","3a24b32a":"1033",ccc45f31:"1100","7a4fffdf":"1172",e29aad9d:"1195",f3e1e4c4:"1336",d3108c07:"1355","6c11aa3a":"1391",b2f554cd:"1477","6a1f4bec":"1511","5bc03735":"1518",de57d45c:"1574","807e695f":"1628","031793e1":"1633",a7023ddc:"1713","2f914c76":"1734","8e5f32ed":"1748","3934058b":"1757",d9f32620:"1914",ae934d1a:"1943",c45d899e:"2018","0fd4c4b6":"2309",e273c56f:"2362","814f3328":"2535","88884f83":"2540","78b4ae99":"2681","04e17c9d":"2716","2b5b0fc4":"2753","29cf976d":"2840",d03241c9:"2871","1f391b9e":"3085",a6aa9e1f:"3089",e934a396:"3188",a80da1cf:"3205","6fb2b956":"3216","8da03187":"3394",ad26905b:"3432","73664a40":"3514","9e4087bc":"3608","1e80d022":"3713","596b1512":"3724","8352bc95":"3980","01a85c17":"4013","5845507f":"4022","59e4bf9a":"4118",f7ca8893:"4141",c4f5d8e4:"4195",dbbbc829:"4329",a94703ab:"4368",bed2b685:"4488","7d57f1c1":"4557",b4b93543:"4689",b798ea2b:"4744","7c2d5d83":"4905","762b083e":"4931",b614c3e5:"4983","43f3e48b":"5182",c78af355:"5322","08ca43f3":"5655",f7e4724a:"5826","096c7093":"5834","9c2dc5c0":"5846",fb66bc4c:"5961",ccc49370:"6103","02601e42":"6236","07d5b948":"6299","3eec1f83":"6315",dbe528c9:"6330","09ec98ee":"6454",db7ff767:"6537","3e117606":"6578",b68de40d:"6641","07742d97":"6876","0f52743c":"6891","608ae6a4":"6938","74b846e2":"7155",d589d3a7:"7162","096bfee4":"7178","393be207":"7414","49278f49":"7485",b88e2faf:"7632","31da1720":"7720","15cba8f7":"8019",e0698a94:"8157",f4c1e300:"8172","8ff7deab":"8187","09a97616":"8367","0884bdbc":"8461",a7bd4aaa:"8518","4632ab68":"8521","45fcaf07":"8527","6875c492":"8610",f4f34a3a:"8636","42bbc814":"8730","925b3f96":"9003","4c9e35b1":"9035","456706c7":"9174","326f19e1":"9183",c9821a2e:"9246","2c0b3ec5":"9372",fac2b365:"9377",a6659507:"9498","70acb529":"9588","7661071f":"9642","6f6bf91f":"9654","5e95c892":"9661",e16015ca:"9700"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(f,a)=>{var c=r.o(e,f)?e[f]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(1303|532)$/.test(f))e[f]=0;else{var d=new Promise(((a,d)=>c=e[f]=[a,d]));a.push(c[2]=d);var b=r.p+r.u(f),t=new Error;r.l(b,(a=>{if(r.o(e,f)&&(0!==(c=e[f])&&(e[f]=void 0),c)){var d=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+f+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+f,f)}},r.O.j=f=>0===e[f];var f=(f,a)=>{var c,d,b=a[0],t=a[1],o=a[2],n=0;if(b.some((f=>0!==e[f]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(f&&f(a);n Archive | OSISM - + diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html index badf4339fa..25af8e6ef9 100644 --- a/blog/first-blog-post/index.html +++ b/blog/first-blog-post/index.html @@ -5,7 +5,7 @@ First Blog Post | OSISM - + diff --git a/blog/index.html b/blog/index.html index 1fca2a6a61..341073db6c 100644 --- a/blog/index.html +++ b/blog/index.html @@ -5,7 +5,7 @@ Blog | OSISM - + diff --git a/blog/long-blog-post/index.html b/blog/long-blog-post/index.html index b3c1e0b5c0..1fa32a554a 100644 --- a/blog/long-blog-post/index.html +++ b/blog/long-blog-post/index.html @@ -5,7 +5,7 @@ Long Blog Post | OSISM - + diff --git a/blog/mdx-blog-post/index.html b/blog/mdx-blog-post/index.html index 5a9d8fdfce..401af5e5af 100644 --- a/blog/mdx-blog-post/index.html +++ b/blog/mdx-blog-post/index.html @@ -5,7 +5,7 @@ MDX Blog Post | OSISM - + diff --git a/blog/tags/docusaurus/index.html b/blog/tags/docusaurus/index.html index f2bc9b5055..2523a15f77 100644 --- a/blog/tags/docusaurus/index.html +++ b/blog/tags/docusaurus/index.html @@ -5,7 +5,7 @@ 4 posts tagged with "docusaurus" | OSISM - + diff --git a/blog/tags/facebook/index.html b/blog/tags/facebook/index.html index 5425d5a733..d0d8ca5b37 100644 --- a/blog/tags/facebook/index.html +++ b/blog/tags/facebook/index.html @@ -5,7 +5,7 @@ One post tagged with "facebook" | OSISM - + diff --git a/blog/tags/hello/index.html b/blog/tags/hello/index.html index fac9964605..e717894b80 100644 --- a/blog/tags/hello/index.html +++ b/blog/tags/hello/index.html @@ -5,7 +5,7 @@ 2 posts tagged with "hello" | OSISM - + diff --git a/blog/tags/hola/index.html b/blog/tags/hola/index.html index 71d1a6e940..95cf603b4c 100644 --- a/blog/tags/hola/index.html +++ b/blog/tags/hola/index.html @@ -5,7 +5,7 @@ One post tagged with "hola" | OSISM - + diff --git a/blog/tags/index.html b/blog/tags/index.html index 4508f54224..b083a73b92 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -5,7 +5,7 @@ Tags | OSISM - + diff --git a/blog/welcome/index.html b/blog/welcome/index.html index 3c110bccbb..73524db5e4 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -5,7 +5,7 @@ Welcome | OSISM - + diff --git a/docs/appendix/glossary/index.html b/docs/appendix/glossary/index.html index 02278a254a..7f925929b5 100644 --- a/docs/appendix/glossary/index.html +++ b/docs/appendix/glossary/index.html @@ -5,7 +5,7 @@ Glossary | OSISM - + diff --git a/docs/appendix/index.html b/docs/appendix/index.html index b8f417287f..28f5be9a9e 100644 --- a/docs/appendix/index.html +++ b/docs/appendix/index.html @@ -5,7 +5,7 @@ Appendix | OSISM - + diff --git a/docs/appendix/standards/index.html b/docs/appendix/standards/index.html index 7c86b8b272..3d8fc878b5 100644 --- a/docs/appendix/standards/index.html +++ b/docs/appendix/standards/index.html @@ -5,7 +5,7 @@ Standards | OSISM - + diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index 71b934c007..1671804447 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -5,7 +5,7 @@ Getting Started | OSISM - + diff --git a/docs/guides/configuration-guide/ceph/index.html b/docs/guides/configuration-guide/ceph/index.html index a936c8875b..a009710958 100644 --- a/docs/guides/configuration-guide/ceph/index.html +++ b/docs/guides/configuration-guide/ceph/index.html @@ -5,7 +5,7 @@ Ceph | OSISM - + diff --git a/docs/guides/configuration-guide/commons/index.html b/docs/guides/configuration-guide/commons/index.html index 7252782c4e..6e46d4d865 100644 --- a/docs/guides/configuration-guide/commons/index.html +++ b/docs/guides/configuration-guide/commons/index.html @@ -5,7 +5,7 @@ Commons | OSISM - + diff --git a/docs/guides/configuration-guide/commons/network/index.html b/docs/guides/configuration-guide/commons/network/index.html index 8284217326..c452e10fce 100644 --- a/docs/guides/configuration-guide/commons/network/index.html +++ b/docs/guides/configuration-guide/commons/network/index.html @@ -5,7 +5,7 @@ Network | OSISM - + diff --git a/docs/guides/configuration-guide/commons/packages/index.html b/docs/guides/configuration-guide/commons/packages/index.html index 5046c0c6e9..2550ab2ad8 100644 --- a/docs/guides/configuration-guide/commons/packages/index.html +++ b/docs/guides/configuration-guide/commons/packages/index.html @@ -5,7 +5,7 @@ Packages | OSISM - + diff --git a/docs/guides/configuration-guide/commons/services/index.html b/docs/guides/configuration-guide/commons/services/index.html index 4b28be9c23..d11e6f4ad5 100644 --- a/docs/guides/configuration-guide/commons/services/index.html +++ b/docs/guides/configuration-guide/commons/services/index.html @@ -5,7 +5,7 @@ Services | OSISM - + diff --git a/docs/guides/configuration-guide/commons/sshconfig/index.html b/docs/guides/configuration-guide/commons/sshconfig/index.html index 9e9c5d9e1a..ec1ad313ae 100644 --- a/docs/guides/configuration-guide/commons/sshconfig/index.html +++ b/docs/guides/configuration-guide/commons/sshconfig/index.html @@ -5,7 +5,7 @@ SSH Config | OSISM - + diff --git a/docs/guides/configuration-guide/commons/sysctl/index.html b/docs/guides/configuration-guide/commons/sysctl/index.html index a0b4b3ac57..9bfb6bc4bb 100644 --- a/docs/guides/configuration-guide/commons/sysctl/index.html +++ b/docs/guides/configuration-guide/commons/sysctl/index.html @@ -5,7 +5,7 @@ Sysctl | OSISM - + diff --git a/docs/guides/configuration-guide/commons/timezone/index.html b/docs/guides/configuration-guide/commons/timezone/index.html index aa6cd356cb..e4727bd9aa 100644 --- a/docs/guides/configuration-guide/commons/timezone/index.html +++ b/docs/guides/configuration-guide/commons/timezone/index.html @@ -5,7 +5,7 @@ Timezone | OSISM - + diff --git a/docs/guides/configuration-guide/configuration-repository/index.html b/docs/guides/configuration-guide/configuration-repository/index.html index de4fc8cb08..cc61d13e2d 100644 --- a/docs/guides/configuration-guide/configuration-repository/index.html +++ b/docs/guides/configuration-guide/configuration-repository/index.html @@ -5,7 +5,7 @@ Configuration Repository | OSISM - + diff --git a/docs/guides/configuration-guide/index.html b/docs/guides/configuration-guide/index.html index c7a410ec05..84c51795d4 100644 --- a/docs/guides/configuration-guide/index.html +++ b/docs/guides/configuration-guide/index.html @@ -5,7 +5,7 @@ Configuration Guide | OSISM - + diff --git a/docs/guides/configuration-guide/inventory/index.html b/docs/guides/configuration-guide/inventory/index.html index cbb66d5b38..e754d3dea8 100644 --- a/docs/guides/configuration-guide/inventory/index.html +++ b/docs/guides/configuration-guide/inventory/index.html @@ -5,7 +5,7 @@ Inventory | OSISM - + diff --git a/docs/guides/configuration-guide/manager/index.html b/docs/guides/configuration-guide/manager/index.html index 9900cc72e6..0b0f3e4902 100644 --- a/docs/guides/configuration-guide/manager/index.html +++ b/docs/guides/configuration-guide/manager/index.html @@ -5,7 +5,7 @@ Manager | OSISM - + diff --git a/docs/guides/configuration-guide/openstack/horizon/index.html b/docs/guides/configuration-guide/openstack/horizon/index.html index 7e3b9b7504..19a49dd9e3 100644 --- a/docs/guides/configuration-guide/openstack/horizon/index.html +++ b/docs/guides/configuration-guide/openstack/horizon/index.html @@ -5,7 +5,7 @@ Horizon | OSISM - + diff --git a/docs/guides/configuration-guide/openstack/index.html b/docs/guides/configuration-guide/openstack/index.html index c819713dd8..6e66470b0b 100644 --- a/docs/guides/configuration-guide/openstack/index.html +++ b/docs/guides/configuration-guide/openstack/index.html @@ -5,7 +5,7 @@ OpenStack | OSISM - + diff --git a/docs/guides/configuration-guide/openstack/keystone/index.html b/docs/guides/configuration-guide/openstack/keystone/index.html index 914421b07f..00c4214620 100644 --- a/docs/guides/configuration-guide/openstack/keystone/index.html +++ b/docs/guides/configuration-guide/openstack/keystone/index.html @@ -5,7 +5,7 @@ Keystone | OSISM - + diff --git a/docs/guides/configuration-guide/proxy/index.html b/docs/guides/configuration-guide/proxy/index.html index 143fe4b238..d86dc6cf6e 100644 --- a/docs/guides/configuration-guide/proxy/index.html +++ b/docs/guides/configuration-guide/proxy/index.html @@ -5,7 +5,7 @@ Proxy | OSISM - + diff --git a/docs/guides/configuration-guide/self-signed-certificates/index.html b/docs/guides/configuration-guide/self-signed-certificates/index.html index 5551a316d2..2148b06e97 100644 --- a/docs/guides/configuration-guide/self-signed-certificates/index.html +++ b/docs/guides/configuration-guide/self-signed-certificates/index.html @@ -5,7 +5,7 @@ Self-signed certificates | OSISM - + diff --git a/docs/guides/configuration-guide/services/index.html b/docs/guides/configuration-guide/services/index.html index 149fc1942c..2b0f811127 100644 --- a/docs/guides/configuration-guide/services/index.html +++ b/docs/guides/configuration-guide/services/index.html @@ -5,7 +5,7 @@ Services | OSISM - + diff --git a/docs/guides/deploy-guide/bootstrap/index.html b/docs/guides/deploy-guide/bootstrap/index.html index 90349482e8..dd84a20f23 100644 --- a/docs/guides/deploy-guide/bootstrap/index.html +++ b/docs/guides/deploy-guide/bootstrap/index.html @@ -5,7 +5,7 @@ Bootstrap | OSISM - + diff --git a/docs/guides/deploy-guide/examples/cloud-in-a-box/index.html b/docs/guides/deploy-guide/examples/cloud-in-a-box/index.html index 727da480c0..8f5e7959e2 100644 --- a/docs/guides/deploy-guide/examples/cloud-in-a-box/index.html +++ b/docs/guides/deploy-guide/examples/cloud-in-a-box/index.html @@ -5,7 +5,7 @@ Cloud in a Box - CiaB | OSISM - + diff --git a/docs/guides/deploy-guide/examples/index.html b/docs/guides/deploy-guide/examples/index.html index e75ffbc482..9cafb6e0a6 100644 --- a/docs/guides/deploy-guide/examples/index.html +++ b/docs/guides/deploy-guide/examples/index.html @@ -5,7 +5,7 @@ Examples | OSISM - + diff --git a/docs/guides/deploy-guide/examples/testbed/index.html b/docs/guides/deploy-guide/examples/testbed/index.html index 89cdc27dc5..14724d99ba 100644 --- a/docs/guides/deploy-guide/examples/testbed/index.html +++ b/docs/guides/deploy-guide/examples/testbed/index.html @@ -5,7 +5,7 @@ Testbed | OSISM - + diff --git a/docs/guides/deploy-guide/index.html b/docs/guides/deploy-guide/index.html index 4f147bcc5e..26028fe1a5 100644 --- a/docs/guides/deploy-guide/index.html +++ b/docs/guides/deploy-guide/index.html @@ -5,7 +5,7 @@ Deploy Guide | OSISM - + diff --git a/docs/guides/deploy-guide/manager/index.html b/docs/guides/deploy-guide/manager/index.html index 74285f8ede..605102b61f 100644 --- a/docs/guides/deploy-guide/manager/index.html +++ b/docs/guides/deploy-guide/manager/index.html @@ -5,7 +5,7 @@ Manager | OSISM - + diff --git a/docs/guides/deploy-guide/provisioning/index.html b/docs/guides/deploy-guide/provisioning/index.html index 4cd00ff386..d9ea38a939 100644 --- a/docs/guides/deploy-guide/provisioning/index.html +++ b/docs/guides/deploy-guide/provisioning/index.html @@ -5,7 +5,7 @@ Provisioning of management and control plane nodes | OSISM - + diff --git a/docs/guides/deploy-guide/seed/index.html b/docs/guides/deploy-guide/seed/index.html index 3b9366e594..3ed550c8d9 100644 --- a/docs/guides/deploy-guide/seed/index.html +++ b/docs/guides/deploy-guide/seed/index.html @@ -5,7 +5,7 @@ Seed | OSISM - + diff --git a/docs/guides/deploy-guide/services/ceph/index.html b/docs/guides/deploy-guide/services/ceph/index.html index c71d87f069..8122abc0da 100644 --- a/docs/guides/deploy-guide/services/ceph/index.html +++ b/docs/guides/deploy-guide/services/ceph/index.html @@ -5,7 +5,7 @@ Ceph | OSISM - + diff --git a/docs/guides/deploy-guide/services/index.html b/docs/guides/deploy-guide/services/index.html index c92fb08f90..fed4f4b99d 100644 --- a/docs/guides/deploy-guide/services/index.html +++ b/docs/guides/deploy-guide/services/index.html @@ -5,7 +5,7 @@ Services | OSISM - + diff --git a/docs/guides/deploy-guide/services/infrastructure/index.html b/docs/guides/deploy-guide/services/infrastructure/index.html index 7e6e07fa0c..fd4b390862 100644 --- a/docs/guides/deploy-guide/services/infrastructure/index.html +++ b/docs/guides/deploy-guide/services/infrastructure/index.html @@ -5,7 +5,7 @@ Infrastructure | OSISM - + diff --git a/docs/guides/deploy-guide/services/logging-monitoring/index.html b/docs/guides/deploy-guide/services/logging-monitoring/index.html index 1ffd0e2773..e8c4be8d01 100644 --- a/docs/guides/deploy-guide/services/logging-monitoring/index.html +++ b/docs/guides/deploy-guide/services/logging-monitoring/index.html @@ -5,7 +5,7 @@ Logging & Monitoring | OSISM - + diff --git a/docs/guides/deploy-guide/services/network/index.html b/docs/guides/deploy-guide/services/network/index.html index ff0080f4f8..b16e414139 100644 --- a/docs/guides/deploy-guide/services/network/index.html +++ b/docs/guides/deploy-guide/services/network/index.html @@ -5,7 +5,7 @@ Network | OSISM - + diff --git a/docs/guides/deploy-guide/services/openstack/index.html b/docs/guides/deploy-guide/services/openstack/index.html index 81d9d09fd6..627372db0c 100644 --- a/docs/guides/deploy-guide/services/openstack/index.html +++ b/docs/guides/deploy-guide/services/openstack/index.html @@ -5,7 +5,7 @@ OpenStack | OSISM - + diff --git a/docs/guides/index.html b/docs/guides/index.html index a36c05eed3..efb0cda3ae 100644 --- a/docs/guides/index.html +++ b/docs/guides/index.html @@ -5,7 +5,7 @@ Guides | OSISM - + diff --git a/docs/guides/operations-guide/ceph/index.html b/docs/guides/operations-guide/ceph/index.html index 8294650a9c..5f27c65a62 100644 --- a/docs/guides/operations-guide/ceph/index.html +++ b/docs/guides/operations-guide/ceph/index.html @@ -5,7 +5,7 @@ Ceph operations cheatsheet | OSISM - + @@ -124,8 +124,8 @@

Add a new OSD using ceph-ansible​

-

Remove a OSD using ceph-ansible​

+

Add a new OSD​

+

Remove a OSD​

Replace a defect OSD​

Remove a single OSD node​

Remove an OSD (removing it completely, not reprovisioning it again) without double rebalance​

@@ -322,6 +322,6 @@

+to help, details and some patience are important.

\ No newline at end of file diff --git a/docs/guides/operations-guide/index.html b/docs/guides/operations-guide/index.html index 2479ab472f..ba580b1a51 100644 --- a/docs/guides/operations-guide/index.html +++ b/docs/guides/operations-guide/index.html @@ -5,7 +5,7 @@ Operations Guide | OSISM - + diff --git a/docs/guides/operations-guide/manager/apply/index.html b/docs/guides/operations-guide/manager/apply/index.html index f0461dc8bf..f363b4043b 100644 --- a/docs/guides/operations-guide/manager/apply/index.html +++ b/docs/guides/operations-guide/manager/apply/index.html @@ -5,7 +5,7 @@ Apply | OSISM - + diff --git a/docs/guides/operations-guide/manager/console/index.html b/docs/guides/operations-guide/manager/console/index.html index 4864da61ed..0b6683aade 100644 --- a/docs/guides/operations-guide/manager/console/index.html +++ b/docs/guides/operations-guide/manager/console/index.html @@ -5,7 +5,7 @@ Console | OSISM - + diff --git a/docs/guides/operations-guide/manager/index.html b/docs/guides/operations-guide/manager/index.html index 9f208b37d0..1e27b88a47 100644 --- a/docs/guides/operations-guide/manager/index.html +++ b/docs/guides/operations-guide/manager/index.html @@ -5,7 +5,7 @@ Manager | OSISM - + diff --git a/docs/guides/operations-guide/manager/log/index.html b/docs/guides/operations-guide/manager/log/index.html index bb8be3bfb7..254e8e8ef6 100644 --- a/docs/guides/operations-guide/manager/log/index.html +++ b/docs/guides/operations-guide/manager/log/index.html @@ -5,7 +5,7 @@ Logging | OSISM - + diff --git a/docs/guides/operations-guide/manager/task/index.html b/docs/guides/operations-guide/manager/task/index.html index 2ec52135b3..a054f1b3fd 100644 --- a/docs/guides/operations-guide/manager/task/index.html +++ b/docs/guides/operations-guide/manager/task/index.html @@ -5,7 +5,7 @@ Task | OSISM - + diff --git a/docs/guides/operations-guide/openstack/cinder/index.html b/docs/guides/operations-guide/openstack/cinder/index.html index 33378d77eb..96cdd6c1dd 100644 --- a/docs/guides/operations-guide/openstack/cinder/index.html +++ b/docs/guides/operations-guide/openstack/cinder/index.html @@ -5,7 +5,7 @@ Cinder | OSISM - + diff --git a/docs/guides/operations-guide/openstack/day2-operations/flavor-manager/index.html b/docs/guides/operations-guide/openstack/day2-operations/flavor-manager/index.html index 44e8ed5a4a..45131bcaa2 100644 --- a/docs/guides/operations-guide/openstack/day2-operations/flavor-manager/index.html +++ b/docs/guides/operations-guide/openstack/day2-operations/flavor-manager/index.html @@ -5,7 +5,7 @@ Flavor Manager | OSISM - + diff --git a/docs/guides/operations-guide/openstack/day2-operations/image-manager/index.html b/docs/guides/operations-guide/openstack/day2-operations/image-manager/index.html index 52da7b284b..1b5057cd55 100644 --- a/docs/guides/operations-guide/openstack/day2-operations/image-manager/index.html +++ b/docs/guides/operations-guide/openstack/day2-operations/image-manager/index.html @@ -5,7 +5,7 @@ Image Manager | OSISM - + diff --git a/docs/guides/operations-guide/openstack/day2-operations/index.html b/docs/guides/operations-guide/openstack/day2-operations/index.html index c6b00fa9c1..e0d87dc5d3 100644 --- a/docs/guides/operations-guide/openstack/day2-operations/index.html +++ b/docs/guides/operations-guide/openstack/day2-operations/index.html @@ -5,7 +5,7 @@ Day-2 Operations | OSISM - + diff --git a/docs/guides/operations-guide/openstack/day2-operations/playbooks/index.html b/docs/guides/operations-guide/openstack/day2-operations/playbooks/index.html index 1697b8eacf..07231ca81e 100644 --- a/docs/guides/operations-guide/openstack/day2-operations/playbooks/index.html +++ b/docs/guides/operations-guide/openstack/day2-operations/playbooks/index.html @@ -5,7 +5,7 @@ Playbooks | OSISM - + diff --git a/docs/guides/operations-guide/openstack/day2-operations/project-manager/index.html b/docs/guides/operations-guide/openstack/day2-operations/project-manager/index.html index bc1a90382d..eceb4defb8 100644 --- a/docs/guides/operations-guide/openstack/day2-operations/project-manager/index.html +++ b/docs/guides/operations-guide/openstack/day2-operations/project-manager/index.html @@ -5,7 +5,7 @@ Project Manager | OSISM - + diff --git a/docs/guides/operations-guide/openstack/day2-operations/resource-manager/index.html b/docs/guides/operations-guide/openstack/day2-operations/resource-manager/index.html index 7403acf95c..72ee8ae80a 100644 --- a/docs/guides/operations-guide/openstack/day2-operations/resource-manager/index.html +++ b/docs/guides/operations-guide/openstack/day2-operations/resource-manager/index.html @@ -5,7 +5,7 @@ Resource Manager | OSISM - + diff --git a/docs/guides/operations-guide/openstack/day2-operations/sandbox-manager/index.html b/docs/guides/operations-guide/openstack/day2-operations/sandbox-manager/index.html index 89d07fbf55..fb0f48d105 100644 --- a/docs/guides/operations-guide/openstack/day2-operations/sandbox-manager/index.html +++ b/docs/guides/operations-guide/openstack/day2-operations/sandbox-manager/index.html @@ -5,7 +5,7 @@ Sandbox Manager | OSISM - + diff --git a/docs/guides/operations-guide/openstack/index.html b/docs/guides/operations-guide/openstack/index.html index 83a17f409b..5494153c78 100644 --- a/docs/guides/operations-guide/openstack/index.html +++ b/docs/guides/operations-guide/openstack/index.html @@ -3,12 +3,16 @@ -OpenStack | OSISM +OpenStack | OSISM - + - +

OpenStack

+

Add a new compute node​

+
osism apply operator -u osism -l NODE
osism apply bootstrap -l NODE
osism apply common -l NODE
osism apply openvswitch -l NODE
osism apply ovn -l NODE
osism apply prometheus -l NODE
osism apply ceilometer -l NODE
osism apply neutron -l NODE
osism apply nova -l NODE
+

If Scaphandre is used:

+
osism apply scaphandre -l NODE
\ No newline at end of file diff --git a/docs/guides/operations-guide/openstack/octavia/index.html b/docs/guides/operations-guide/openstack/octavia/index.html index 14b89581a5..620af25e10 100644 --- a/docs/guides/operations-guide/openstack/octavia/index.html +++ b/docs/guides/operations-guide/openstack/octavia/index.html @@ -5,7 +5,7 @@ Octavia | OSISM - + diff --git a/docs/guides/other-guides/contributor-guide/index.html b/docs/guides/other-guides/contributor-guide/index.html index d251a1732a..46e6aa8aaa 100644 --- a/docs/guides/other-guides/contributor-guide/index.html +++ b/docs/guides/other-guides/contributor-guide/index.html @@ -5,7 +5,7 @@ Contributor Guide | OSISM - + diff --git a/docs/guides/other-guides/developer-guide/index.html b/docs/guides/other-guides/developer-guide/index.html index c0bbaae7a3..b3bc0bffd2 100644 --- a/docs/guides/other-guides/developer-guide/index.html +++ b/docs/guides/other-guides/developer-guide/index.html @@ -5,7 +5,7 @@ Developer Guide | OSISM - + diff --git a/docs/guides/other-guides/developer-guide/releases/index.html b/docs/guides/other-guides/developer-guide/releases/index.html index aec94b1543..8121a7c9db 100644 --- a/docs/guides/other-guides/developer-guide/releases/index.html +++ b/docs/guides/other-guides/developer-guide/releases/index.html @@ -5,7 +5,7 @@ Releases | OSISM - + diff --git a/docs/guides/other-guides/developer-guide/scripts/index.html b/docs/guides/other-guides/developer-guide/scripts/index.html index 42f7b5b6ae..2b6ad03436 100644 --- a/docs/guides/other-guides/developer-guide/scripts/index.html +++ b/docs/guides/other-guides/developer-guide/scripts/index.html @@ -5,7 +5,7 @@ Scripts | OSISM - + diff --git a/docs/guides/other-guides/developer-guide/zuul-ci/index.html b/docs/guides/other-guides/developer-guide/zuul-ci/index.html index d413fee2d4..396b55c082 100644 --- a/docs/guides/other-guides/developer-guide/zuul-ci/index.html +++ b/docs/guides/other-guides/developer-guide/zuul-ci/index.html @@ -5,7 +5,7 @@ Zuul CI | OSISM - + diff --git a/docs/guides/other-guides/index.html b/docs/guides/other-guides/index.html index dcc43e9c20..a3449f9e7c 100644 --- a/docs/guides/other-guides/index.html +++ b/docs/guides/other-guides/index.html @@ -5,7 +5,7 @@ Other Guides | OSISM - + diff --git a/docs/guides/other-guides/style-guide/index.html b/docs/guides/other-guides/style-guide/index.html index 14dc5fe1e4..31094d7419 100644 --- a/docs/guides/other-guides/style-guide/index.html +++ b/docs/guides/other-guides/style-guide/index.html @@ -5,7 +5,7 @@ Style Guide | OSISM - + diff --git a/docs/guides/other-guides/zuul/index.html b/docs/guides/other-guides/zuul/index.html index ca08b32a13..cfad768013 100644 --- a/docs/guides/other-guides/zuul/index.html +++ b/docs/guides/other-guides/zuul/index.html @@ -5,7 +5,7 @@ Zuul CI | OSISM - + diff --git a/docs/guides/troubleshooting-guide/index.html b/docs/guides/troubleshooting-guide/index.html index 2c4ec8ca8f..998ec0bd84 100644 --- a/docs/guides/troubleshooting-guide/index.html +++ b/docs/guides/troubleshooting-guide/index.html @@ -5,7 +5,7 @@ Troubleshooting Guide | OSISM - + diff --git a/docs/guides/troubleshooting-guide/manager/index.html b/docs/guides/troubleshooting-guide/manager/index.html index 93bcbfb4e5..0366d040a2 100644 --- a/docs/guides/troubleshooting-guide/manager/index.html +++ b/docs/guides/troubleshooting-guide/manager/index.html @@ -5,7 +5,7 @@ Manager | OSISM - + diff --git a/docs/guides/troubleshooting-guide/openstack/index.html b/docs/guides/troubleshooting-guide/openstack/index.html index 45c3541019..a082780da6 100644 --- a/docs/guides/troubleshooting-guide/openstack/index.html +++ b/docs/guides/troubleshooting-guide/openstack/index.html @@ -5,7 +5,7 @@ OpenStack | OSISM - + diff --git a/docs/guides/upgrade-guide/ceph/index.html b/docs/guides/upgrade-guide/ceph/index.html index c9fcb02091..7880845aad 100644 --- a/docs/guides/upgrade-guide/ceph/index.html +++ b/docs/guides/upgrade-guide/ceph/index.html @@ -5,7 +5,7 @@ Ceph | OSISM - + diff --git a/docs/guides/upgrade-guide/docker/index.html b/docs/guides/upgrade-guide/docker/index.html index d6ea68c867..ef9e922ea1 100644 --- a/docs/guides/upgrade-guide/docker/index.html +++ b/docs/guides/upgrade-guide/docker/index.html @@ -5,7 +5,7 @@ Docker | OSISM - + diff --git a/docs/guides/upgrade-guide/index.html b/docs/guides/upgrade-guide/index.html index 7fd7493d8d..e77e4ed391 100644 --- a/docs/guides/upgrade-guide/index.html +++ b/docs/guides/upgrade-guide/index.html @@ -5,7 +5,7 @@ Upgrade Guide | OSISM - + diff --git a/docs/guides/upgrade-guide/infrastructure/index.html b/docs/guides/upgrade-guide/infrastructure/index.html index 74e2452e39..9a66a7ebf2 100644 --- a/docs/guides/upgrade-guide/infrastructure/index.html +++ b/docs/guides/upgrade-guide/infrastructure/index.html @@ -5,7 +5,7 @@ Infrastructure | OSISM - + diff --git a/docs/guides/upgrade-guide/logging-monitoring/index.html b/docs/guides/upgrade-guide/logging-monitoring/index.html index c60d3cfe3b..02c0a76627 100644 --- a/docs/guides/upgrade-guide/logging-monitoring/index.html +++ b/docs/guides/upgrade-guide/logging-monitoring/index.html @@ -5,7 +5,7 @@ Logging & Monitoring | OSISM - + diff --git a/docs/guides/upgrade-guide/manager/index.html b/docs/guides/upgrade-guide/manager/index.html index c8ca65537a..19bc4e513a 100644 --- a/docs/guides/upgrade-guide/manager/index.html +++ b/docs/guides/upgrade-guide/manager/index.html @@ -5,7 +5,7 @@ Manager | OSISM - + diff --git a/docs/guides/upgrade-guide/network/index.html b/docs/guides/upgrade-guide/network/index.html index ca86bd7afe..51b3e063a6 100644 --- a/docs/guides/upgrade-guide/network/index.html +++ b/docs/guides/upgrade-guide/network/index.html @@ -5,7 +5,7 @@ Network | OSISM - + diff --git a/docs/guides/upgrade-guide/openstack/index.html b/docs/guides/upgrade-guide/openstack/index.html index ee34ef578b..2b8b332728 100644 --- a/docs/guides/upgrade-guide/openstack/index.html +++ b/docs/guides/upgrade-guide/openstack/index.html @@ -5,7 +5,7 @@ OpenStack | OSISM - + diff --git a/docs/intro/architecture/index.html b/docs/intro/architecture/index.html index ff854d49b5..4021e9dfa2 100644 --- a/docs/intro/architecture/index.html +++ b/docs/intro/architecture/index.html @@ -5,7 +5,7 @@ Architecture | OSISM - + diff --git a/docs/intro/index.html b/docs/intro/index.html index e7effe002e..3eed1ccac2 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -5,7 +5,7 @@ Introduction | OSISM - + diff --git a/docs/references/cli/index.html b/docs/references/cli/index.html index 7de096af49..0dba4cea3d 100644 --- a/docs/references/cli/index.html +++ b/docs/references/cli/index.html @@ -5,7 +5,7 @@ Command line interface reference | OSISM - + diff --git a/docs/references/configuration/index.html b/docs/references/configuration/index.html index d036a3a877..9fc0d68e39 100644 --- a/docs/references/configuration/index.html +++ b/docs/references/configuration/index.html @@ -5,7 +5,7 @@ Configuration reference | OSISM - + diff --git a/docs/references/index.html b/docs/references/index.html index 90e56d36be..0cc43dd6e1 100644 --- a/docs/references/index.html +++ b/docs/references/index.html @@ -5,7 +5,7 @@ References | OSISM - + diff --git a/docs/references/parameters/index.html b/docs/references/parameters/index.html index f9b6879261..e56cb818d0 100644 --- a/docs/references/parameters/index.html +++ b/docs/references/parameters/index.html @@ -5,7 +5,7 @@ Parameters reference | OSISM - + diff --git a/docs/release-notes/index.html b/docs/release-notes/index.html index 82bfa7e737..478d6e6a18 100644 --- a/docs/release-notes/index.html +++ b/docs/release-notes/index.html @@ -5,7 +5,7 @@ Release Notes | OSISM - + diff --git a/docs/release-notes/osism-6/index.html b/docs/release-notes/osism-6/index.html index d28c51b392..0d868f5e7d 100644 --- a/docs/release-notes/osism-6/index.html +++ b/docs/release-notes/osism-6/index.html @@ -5,7 +5,7 @@ OSISM 6.0.0 | OSISM - + diff --git a/index.html b/index.html index 03106f67ec..faf95cf582 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ Hello from OSISM | OSISM - + diff --git a/markdown-page/index.html b/markdown-page/index.html index d572cf70b9..a0b5d59ebe 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -5,7 +5,7 @@ Markdown page example | OSISM - +