Project

General

Profile

Cleanup #50117

Updated by Sebastian Wagner about 3 years ago

*Current situation* 

 Right now, we have already three different type of things that *ceph orch apply* supports: 

 * Standard services: *service_type: mon|mgr|rgw...* 
 * Host specs: *service_type: host* 
 * Generic Deployments: *service_type: container* 

 *Idea* 

 The idea is to distinguish them better for the user. Make it clear that a host spec is not a service.  

 <pre><code class="yaml"> 
 kind: host 
 hostname: foobar 
 addr: addr; 127.0.0.1 
 </code></pre> 

 is better than 

 <pre><code class="yaml"> 
 service_type: host 
 hostname: foobar 
 addr: addr 127.0.0.1 
 </code></pre> 

 Thus, I propose to add another layer called *kind: host|service|deployment* on top of service_type.  

 Like so: 

 <pre><code class="yaml"> 
 kind: host 
 hostname: myhost1 
 labels: 
 - rgw 
 --- 
 kind: service 
 service_type: rgw 
 service_id: foobar 
 spec: 
   realm: myrealm 
   zone: myzone 
 --- 
 kind: rgw_realm 
 name: realm-a 
 pull_endpoint: http://10.2.105.133:80 
 --- 
 kind: rgw_zone 
 name: zone-a 
 --- 
 kind: deployment 
 service_name: prometheus-webhook-snmp 
 placement: 
     ADD_PLACEMENT_HERE 
 image: hello:latest 
 ports: 
 - 999: 999 
 envs: 
 - args="--debug --snmp-host=ADD_HOST_GATEWAY_HERE --metrics" 
 </code></pre> 

 <pre> 
 ceph orch apply -i cluster.yaml 
 </pre> 

 or 

 <pre> 
 cephadm bootstrap --apply-spec cluster.yaml 
 </pre> 


Back