Showing posts with label system maintenance. Show all posts
Showing posts with label system maintenance. Show all posts

Tuesday, October 16, 2007

AutoBash: Improving Configuration Management with Operating System Causality Analysis

Configuration management sucks. Want to automate:
  • Replay mode - automatically search for solution
  • Observation mode - highly interactive problem solving
  • Healthcare mode - make sure things stay working
In observation mode, testing if app now works is tedious. Set up predicates to determine functionality status. Use Speculator (SOSP 2005) to do lightweight checkpointing. Automatically do regression tests after a problem "solved." Use causality tracking to determine which ones need to be run.

Q: How far would just having transactions in Linux get you?
A: mumble.

Q: How well would this work in a distributed file system environment? Also, how important is it to have predicates for every piece of software?
A: Speculator doesn't work on distributed system. Should work on more general distributed systems.

Q: Maybe you could mine installation process for information about what the correct configuration is supposed to be. Now the Q: where can you get the predicates?
A: mumble.

Q: How well would this work with persistent state transactions (rather than speculation)?
A: If only work in persistent state, bad state can become incorporated into the persistent state. That's bad.

Q: What if the things you try only partially fix the problem or just gives you a clue about what to try next?
A: Which predicates work should tell you something about what needs to happen.

Q: What if you need to apply multiple solutions to get it to work? Can the system figure that out?
A: Future work.

Staged Deployment in Mirage, an Integrated Software Upgrade Testing and Distribution System

Authors: Olivier Crameri (EPFL), Nikola Knezevic (EPFL), Dejan Kostic (EPFL), Ricardo Bianchini (Rutgers), and Willy Zwaenepoel (EPFL)

Paper: http://www.sosp2007.org/papers/sosp076-crameri.pdf

This paper seems to focus on the issue of clustering machines that behave identically with respect to an upgrade.

Heuristically categorize dependencies used at runtime. Can be user-defined. Fingerprint resources. Categorize based on set of resources.

How effective is automatic resource classification? Good...no errors, though small single digit number of vendor-specific rules.

Q: Isn't this going to slow things down and make things easier for people to exploit security flaws?
A: As we said, there's a tradeoff

Q: Could this help you narrow down differences in configuration that cause bugs?
A: Hopefully.

Q: Isn't the number of configurations subject to combinatorial explosions?
A: Sure, possible...in practice hopefully not? We're studying this now.