Skip to content
This repository has been archived by the owner on Feb 24, 2020. It is now read-only.

standard: basic verification binary #3

Closed
philips opened this issue Nov 12, 2014 · 1 comment
Closed

standard: basic verification binary #3

philips opened this issue Nov 12, 2014 · 1 comment
Assignees
Milestone

Comments

@philips
Copy link
Contributor

philips commented Nov 12, 2014

Built and uploaded on some public http server and runnable under rkt.

@philips philips added this to the MVP milestone Nov 12, 2014
@philips philips modified the milestones: v0.1.0, MVP Nov 26, 2014
@philips
Copy link
Contributor Author

philips commented Nov 26, 2014

We need to host this on the releases page so people can point at https://github.com/coreos/rkt/releases/executor-verification-0.1.0.aci

@philips philips self-assigned this Nov 27, 2014
@philips philips closed this as completed Dec 2, 2014
alban added a commit to alban/rkt that referenced this issue May 21, 2015
Move the pid logic back to stage1/rootfs/enter/enter.c (revert part of
rkt#826), so the pid logic is an implementation detail of stage1,
as it does not appear in Documentation/devel/stage1-implementors-guide.md

See rkt#910 and rkt#826

Tests: there are no functional tests to check that the race in rkt#826 is
correctly fixed. However, I tested manually in the following way:

 * Test rkt#1:
     1. Start a pod:
        sudo bin/rkt  --debug --insecure-skip-verify run --interactive docker://busybox
     2. Pretend that rkt is slow and the ppid file is not yet written:
        cd /var/lib/rkt/pods/run/$uuid && mv ppid ppid-disabled
     3. Enter the pod:
        sudo bin/rkt enter abbc9f3d /bin/sh
     4. Notice that the enter command is waiting (without taking much cpu)
     5. Pretend that rkt finished its job:
        cd /var/lib/rkt/pods/run/$uuid && mv ppid-disabled ppid
     6. Notice that the enter command succeeds

 * Test rkt#2:
     1. Repeat steps 1-4 from test rkt#1
     2. Stop the pod: ^]^]^]
     3. Notice that the enter command stops too

 * Test rkt#3:
     1. patch stage1/init/init.go:
        +       ioutil.WriteFile("/tmp/rkt-waiting", []byte(""), 0644)
        +       for {
        +               if _, err := os.Stat("/tmp/rkt-waiting"); os.IsNotExist(err) {
        +                       break
        +               }
        +               time.Sleep(100 * time.Millisecond)
        +       }
     2. Start a pod
     3. Enter the pod
     4. Notice that the enter command is waiting (without taking much cpu)
     5. Let nspawn start:
        rm /tmp/rkt-waiting
     6. Notice that the enter command succeeds
alban added a commit to alban/rkt that referenced this issue May 21, 2015
Move the pid logic back to stage1/rootfs/enter/enter.c (revert part of
rkt#826), so the pid logic is an implementation detail of stage1,
as it does not appear in Documentation/devel/stage1-implementors-guide.md
Some stage1 might not have pid: stage1 based on virtual machines.

See rkt#910 and rkt#826

Tests: there are no functional tests to check that the race in rkt#826 is
correctly fixed. However, I tested manually in the following way:

 * Test rkt#1:
     1. Start a pod:
        sudo bin/rkt  --debug --insecure-skip-verify run --interactive docker://busybox
     2. Pretend that rkt is slow and the ppid file is not yet written:
        cd /var/lib/rkt/pods/run/$uuid && mv ppid ppid-disabled
     3. Enter the pod:
        sudo bin/rkt enter abbc9f3d /bin/sh
     4. Notice that the enter command is waiting (without taking much cpu)
     5. Pretend that rkt finished its job:
        cd /var/lib/rkt/pods/run/$uuid && mv ppid-disabled ppid
     6. Notice that the enter command succeeds

 * Test rkt#2:
     1. Repeat steps 1-4 from test rkt#1
     2. Stop the pod: ^]^]^]
     3. Notice that the enter command stops too
        FIXME: does not work yet

 * Test rkt#3:
     1. patch stage1/init/init.go:
        +       ioutil.WriteFile("/tmp/rkt-waiting", []byte(""), 0644)
        +       for {
        +               if _, err := os.Stat("/tmp/rkt-waiting"); os.IsNotExist(err) {
        +                       break
        +               }
        +               time.Sleep(100 * time.Millisecond)
        +       }
     2. Start a pod
     3. Enter the pod
     4. Notice that the enter command is waiting (without taking much cpu)
     5. Let nspawn start:
        rm /tmp/rkt-waiting
     6. Notice that the enter command succeeds
alban added a commit to endocode/rkt that referenced this issue May 21, 2015
Move the pid logic back to stage1/rootfs/enter/enter.c (revert part of
rkt#826), so the pid logic is an implementation detail of stage1,
as it does not appear in Documentation/devel/stage1-implementors-guide.md
Some stage1 might not have pid: stage1 based on virtual machines.

See rkt#910 and rkt#826.

Tests: there are no functional tests to check that the race in rkt#826 is
correctly fixed. However, I tested manually in the following way:

 * Test #1:
     1. Start a pod:
        sudo bin/rkt  --debug --insecure-skip-verify run --interactive docker://busybox
     2. Pretend that rkt is slow and the ppid file is not yet written:
        cd /var/lib/rkt/pods/run/$uuid && mv ppid ppid-disabled
     3. Enter the pod:
        sudo bin/rkt enter abbc9f3d /bin/sh
     4. Notice that the enter command is waiting (without taking much cpu)
     5. Pretend that rkt finished its job:
        cd /var/lib/rkt/pods/run/$uuid && mv ppid-disabled ppid
     6. Notice that the enter command succeeds

 * Test rkt#2:
     1. Repeat steps 1-4 from test #1
     2. Stop the pod: ^]^]^]
     3. Notice that the enter command stops too
        FIXME: does not work yet

 * Test rkt#3:
     1. patch stage1/init/init.go:
        +       ioutil.WriteFile("/tmp/rkt-waiting", []byte(""), 0644)
        +       for {
        +               if _, err := os.Stat("/tmp/rkt-waiting"); os.IsNotExist(err) {
        +                       break
        +               }
        +               time.Sleep(100 * time.Millisecond)
        +       }
     2. Start a pod
     3. Enter the pod
     4. Notice that the enter command is waiting (without taking much cpu)
     5. Let nspawn start:
        rm /tmp/rkt-waiting
     6. Notice that the enter command succeeds
alban added a commit to endocode/rkt that referenced this issue May 29, 2015
Move the pid logic back to stage1/rootfs/enter/enter.c (revert part of
rkt#826), so the pid logic is an implementation detail of stage1,
as it does not appear in Documentation/devel/stage1-implementors-guide.md
Some stage1 might not have pid: stage1 based on virtual machines.

See rkt#910 and rkt#826.

Tests: there are no functional tests to check that the race in rkt#826 is
correctly fixed. However, I tested manually in the following way:

 * Test #1:
     1. Start a pod:
        sudo bin/rkt  --debug --insecure-skip-verify run --interactive docker://busybox
     2. Pretend that rkt is slow and the ppid file is not yet written:
        cd /var/lib/rkt/pods/run/$uuid && mv ppid ppid-disabled
     3. Enter the pod:
        sudo bin/rkt enter abbc9f3d /bin/sh
     4. Notice that the enter command is waiting (without taking much cpu)
     5. Pretend that rkt finished its job:
        cd /var/lib/rkt/pods/run/$uuid && mv ppid-disabled ppid
     6. Notice that the enter command succeeds

 * Test rkt#2:
     1. Repeat steps 1-4 from test #1
     2. Stop the pod: ^]^]^]
     3. Notice that the enter command stops too
        FIXME: does not work yet

 * Test rkt#3:
     1. patch stage1/init/init.go:
        +       ioutil.WriteFile("/tmp/rkt-waiting", []byte(""), 0644)
        +       for {
        +               if _, err := os.Stat("/tmp/rkt-waiting"); os.IsNotExist(err) {
        +                       break
        +               }
        +               time.Sleep(100 * time.Millisecond)
        +       }
     2. Start a pod
     3. Enter the pod
     4. Notice that the enter command is waiting (without taking much cpu)
     5. Let nspawn start:
        rm /tmp/rkt-waiting
     6. Notice that the enter command succeeds
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant