Bug 1069798
| Summary: | puppet requires 2 runs to install ceilometer | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Jason Guiditta <jguiditt> | 
| Component: | mongodb | Assignee: | Flavio Percoco <fpercoco> | 
| Status: | CLOSED DUPLICATE | QA Contact: | Ami Jeain <ajeain> | 
| Severity: | urgent | Docs Contact: | |
| Priority: | high | ||
| Version: | 4.0 | CC: | aberezin, aortega, bugzilla, derekh, eglynn, fpercoco, hbrock, jguiditt, morazi, oblaut, rhos-maint, sgordon, sreichar, yeylon | 
| Target Milestone: | z5 | Keywords: | OtherQA, Reopened, Triaged, ZStream | 
| Target Release: | 4.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1036207 | Environment: | |
| Last Closed: | 2014-04-14 16:16:46 UTC | Type: | Bug | 
| Regression: | --- | Mount Type: | --- | 
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1028690, 1036207 | ||
| Bug Blocks: | 1032769, 1040649 | ||
| 
 
        
          Description
        
        
          Jason Guiditta
        
        
        
        
        
          2014-02-25 16:48:26 UTC
        
       
      
      
      
    So, according to Francesco, there is a race condition, wherein mongo doesnt always start in a timely manner, resulting in systemd killing it. Restart is usually successful. His patch for packstack (linked) updates to use 'smallfiles' flag from mongo, and also changes use of mongo ->mongo::server in the puppet calls. Foreman likely needs the same changes in quickstack, as this seems to have fixed it on the packstack side. Not really sure why the underlying puppet module doesn't just work by default, but that is another issue. Moving to mongodb. This has a high impact on all foreman installs, with likely more complications around the HA ones. I was pretty sure this was due to a bug in the initscript. I'm not happy with shipping mongodb with `smallfiles = true`. This is useful when there are *many* databases with *small* amount of data each. It reduces the size of journal files in order to avoid locking so much space ahead. This is not RHOS case, though. I agree it's useful for development and testing but I don't think it's ideal for production environments. At least not with the throughput we expect to have in Ceilometer. I'd recommend setting this from foreman / puppet if needed. Personally I don't think we want to depend on smallfiles = true to make this work. That is probably a reasonable solution for packstack, but I can't imagine we should be doing that in larger installations. I was hoping we could either confirm/deny that the initscript fully addressed the normal case. We can try retesting via foreman to confirm whether or not the behavior still exists but I don't think it is the right thing to do to have foreman set smallfiles = true if the condition still exists. @Mike, I fully agree! I don't think depending on `smallfiles = true` to make this work is the right thing to do. In other places (devstack) we poll from mongodb (or ceilomenter) and wait until it's up. Does this sound reasonable for the foreman case? As for mongodb's initscript. It currently addresses the normal case, which is smallfiles = false, and as mentioned in the my other comment I think it should stay that way. Thanks Mike! After reading this bug again, it looks a lot like #1066408 The fix proposed for that bug should also fix this one here. The fix makes the initscript wait for mongod to be ready to accept new connections, which makes the need of using smallfiles to go away. I'm closing this bug as a duplicate of #1066408 feel free to open if you think otherwise. *** This bug has been marked as a duplicate of bug 1066408 *** This is indeed now fixed, with a combination of the above BZ and a fix on our side to ensure proper ordering  |