Project

Profile

Help

Story #7005

Updated by mdepaulo@redhat.com almost 4 years ago

We should restructure Pulp Installer's Ansible roles: 

 * pulp (common components and pulp-api. pulp-api is actually a boolean) 
 * pulp_redis (depends: pulp) 
 * pulp_database    (depends: pulp) (Has option to install db via external role. Always runs migrations.) 
 * pulp_content (undeclared dep: pulp) 
 * pulp_resource_manager    (depends: pulp_redis, undeclared dep: pulp) 
 * pulp_workers    (depends: pulp_redis, undeclared dep: pulp) 
 * pulp_webserver    (depends: pulp) 
 * pulp_devel    (depends: pulp) (optional) 

 Where users are supposed to run this role list: 
 ``` 
     - pulp_database 
     - pulp_workers 
     - pulp_resource_manager 
     - pulp_webserver 
     - pulp_content 
     - pulp_devel # (optional) 
 ``` 

 Into the following: 
 * **pulp_common** pulp_common (common components)    (calls prereqs roles) 
 * pulp_redis 
 * pulp_database    (depends: pulp) (Has option to install db via external role. Always runs migrations.) 
 * **pulp_api** pulp_api (depends: pulp_common) 
 * pulp_content (depends: pulp_common) 
 * pulp_resource_manager (depends: pulp_common) 
 * pulp_workers    (undeclared dep: pulp) 
 * pulp_webserver    (depends: pulp) 
 * pulp_devel    (depends: pulp) (optional) 
 * **pulp_complete**: (depends: everything except pulp_devel) 

 So then users will just run: 
 ``` 
 * pulp_complete 
 * pulp_devel # (optional) 
 ``` 

 Over time, we can consider adding other meta roles with fewer components. Like one for just the pulp's own services themselves. 

 Users can still emulate the old behavior, but with longer runtime on dynamic include, by running a slightly different list: 
 ``` 
     - pulp_redis** # (New) 
     - pulp_database 
     - pulp_workers 
     - pulp_resource_manager 
     - pulp_webserver 
     - pulp_content 
     - pulp_api # (New) 
     - pulp_devel # (optional) 
 ``` 

 Also, if we ever modify the roles again, users can still just run pulp_complete.

Back