Skip to content

Commit

Permalink
Merge pull request kubernetes#15950 from sdminonne/mt_loop_initial_co…
Browse files Browse the repository at this point in the history
…ntent

Auto commit by PR queue bot
  • Loading branch information
k8s-merge-robot committed Nov 18, 2015
2 parents 65cdb12 + e2c315e commit 01656fd
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 25 deletions.
1 change: 1 addition & 0 deletions hack/verify-flags/excluded-flags.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ up_to
valid_flag
retry_time
file_content_in_loop
break_on_expected_content
2 changes: 1 addition & 1 deletion test/images/mount-tester-user/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.

FROM gcr.io/google_containers/mounttest:0.5
FROM gcr.io/google_containers/mounttest:0.6
USER 1001
2 changes: 1 addition & 1 deletion test/images/mount-tester-user/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
TAG = 0.3
TAG = 0.4
PREFIX = gcr.io/google_containers

all: push
Expand Down
2 changes: 1 addition & 1 deletion test/images/mount-tester/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
TAG = 0.5
TAG = 0.6
PREFIX = gcr.io/google_containers

all: push
Expand Down
42 changes: 20 additions & 22 deletions test/images/mount-tester/mt.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ var (
readFileContentPath = ""
readFileContentInLoopPath = ""
retryDuration = 180
breakOnExpectedContent = true
)

func init() {
Expand All @@ -51,6 +52,7 @@ func init() {
flag.StringVar(&readFileContentPath, "file_content", "", "Path to read the file content from")
flag.StringVar(&readFileContentInLoopPath, "file_content_in_loop", "", "Path to read the file content in loop from")
flag.IntVar(&retryDuration, "retry_time", 180, "Retry time during the loop")
flag.BoolVar(&breakOnExpectedContent, "break_on_expected_content", true, "Break out of loop on expected content, (use with --file_content_in_loop flag only)")
}

// This program performs some tests on the filesystem as dictated by the
Expand Down Expand Up @@ -120,7 +122,7 @@ func main() {
errs = append(errs, err)
}

err = readFileContentInLoop(readFileContentInLoopPath, retryDuration)
err = readFileContentInLoop(readFileContentInLoopPath, retryDuration, breakOnExpectedContent)
if err != nil {
errs = append(errs, err)
}
Expand Down Expand Up @@ -217,13 +219,14 @@ func readFileContent(path string) error {
return nil
}

const initialContent string = "mount-tester new file\n"

func readWriteNewFile(path string, perm os.FileMode) error {
if path == "" {
return nil
}

content := "mount-tester new file\n"
err := ioutil.WriteFile(path, []byte(content), perm)
err := ioutil.WriteFile(path, []byte(initialContent), perm)
if err != nil {
fmt.Printf("error writing new file %q: %v\n", path, err)
return err
Expand All @@ -232,19 +235,14 @@ func readWriteNewFile(path string, perm os.FileMode) error {
return readFileContent(path)
}

func readFileContentInLoop(path string, retryDuration int) error {
func readFileContentInLoop(path string, retryDuration int, breakOnExpectedContent bool) error {
if path == "" {
return nil
}
var content []byte
content = testFileContent(path, retryDuration)

fmt.Printf("content of file %q: %v\n", path, string(content))

return nil
return testFileContent(path, retryDuration, breakOnExpectedContent)
}

func testFileContent(filePath string, retryDuration int) []byte {
func testFileContent(filePath string, retryDuration int, breakOnExpectedContent bool) error {
var (
contentBytes []byte
err error
Expand All @@ -253,18 +251,18 @@ func testFileContent(filePath string, retryDuration int) []byte {
retryTime := time.Second * time.Duration(retryDuration)
for start := time.Now(); time.Since(start) < retryTime; time.Sleep(2 * time.Second) {
contentBytes, err = ioutil.ReadFile(filePath)
if err == nil {
//Expected content "mount-tester new file\n", length 22
if len(contentBytes) == 22 {
break
} else {
fmt.Printf("Unexpected length of file: found %d, expected %d.Retry", len(contentBytes), 22)
if err != nil {
fmt.Printf("Error reading file %s: %v, retrying\n", filePath, err)
continue
}
fmt.Printf("content of file %q: %v\n", filePath, string(contentBytes))
if breakOnExpectedContent {
if string(contentBytes) != initialContent {
fmt.Printf("Unexpected content. Expected: %s. Retrying", initialContent)
continue
}
} else {
fmt.Printf("Error read file %s: %v, retry", filePath, err)
break
}

}

return contentBytes
return err
}

0 comments on commit 01656fd

Please sign in to comment.