| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
This is now superseded by dashboard/app and syz-ci.
|
| |
|
|
|
| |
Allow to specify per-kernel command line and sysctl values
to more closely mimic the target kernel.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we have unix permissions for new files/dirs
hardcoded throughout the code base. Some places use 0644,
some - 0640, some - 0600 and a variety of other constants.
Introduce osutil.MkdirAll/WriteFile that use the default
permissions and use them throughout the code base.
This makes permissions consistent and also allows to easily
change the permissions later if we change our minds.
Also merge pkg/fileutil into pkg/osutil as they become
dependent on each other. The line between them was poorly
defined anyway as both operate on files.
|
| |
|
|
|
| |
Move the old dashboard API into syz-dash
to get it out of the way of the new dashboard.
|
| |
|
|
|
|
| |
Move partial config functionality into BuildWithPartConfig.
It is used only for syz-gce which will be removed soon.
Provide a better interface for new continuous build system.
|
| |
|
|
| |
kernel.CreateImage does not create output dir.
|
| |
|
|
|
|
|
|
|
|
| |
vm/gce differs from other VM types in that it accepts image
in a weird, GCE-specific format (namely, image named disk.raw
is put into .tar.gz file). This makes it impossible to write
generic code that creates images for any VM types.
Make vm/gce accept just image like e.g. vm/qemu
and handle own specifics internally.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sshkey is a property of image, which is in manager config.
Move sshkey to the same location as image.
The motivation for the move is as follows.
Continuous build produces an image and the key,
both need to be passed manager instance.
Continuous build system should not distinguish
different VM types and mess with their configs.
NOTE FOR USERS: this breaks manager configs again.
Hopefully the last time for now. Docs are updated.
|
| |
|
|
|
|
|
| |
It was useful only for vm/local which was removed.
The param wasn't documented and if one tries to change it,
it will break manager in obscure way (i.e. spurious
"test machine is not executing programs" crashes).
|
| |
|
|
|
|
|
|
|
|
|
| |
We have 2 packages with the same name: pkg/config and syz-manager/config.
This leads to constant clashes. We either rename one to pkgconfig or
another to mgrconfig. This is not good and will become worse when/if
we have another program-specific config in a separate package.
Rename manager config to mgrconfig.
Other program-specific configs can use the same convention
in future -- fooconfig.
|
| | |
|
| |
|
|
|
| |
Normally config is applied on top of defconfig+kvmconfig.
This allows to provide full config that is used unmodified.
|
| |
|
|
| |
gcs_path is now a mandatory parameter.
|
| |
|
|
|
|
|
|
|
|
| |
Currently gce accepts precreated GCE image name as image config param,
while all other VM types accept local file path as image.
This makes it impossible to write generic code that works with all VM types,
i.e. after building a new image it's unclear if it needs to be uploaded
to GCE or not, and what needs to be passed as image in config.
Eliminate this difference by making gce accept local image file as well.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VM infrastructure currently has several problems:
- Config struct is complete mess with a superset of params for all VM types
- verification of Config is mess spread across several places
- there is no place where VM code could do global initialization
like creating GCE connection, uploading GCE image to GCS,
matching adb devices with consoles, etc
- it hard to add private VM implementations
such impl would need to add code to config package
which would lead to constant merge conflicts
- interface for VM implementation is mixed with interface for VM users
this does not allow to provide best interface for both of them
- there is no way to add common code for all VM implementations
This change solves these problems by:
- splitting VM interface for users (vm package) and VM interface
for VM implementations (vmimpl pacakge), this in turn allows
to add common code
- adding Pool concept that allows to do global initialization
and config checking at the right time
- decoupling manager config from VM-specific config
each VM type now defines own config
Note: manager configs need to be changed after this change:
VM-specific parts are moved to own "vm" subobject.
Note: this change also drops "local" VM type.
Its story was long unclear and there is now syz-stress which solves the same problem.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Move GCS-related functionality from syz-gce
to a separate package.
|
| |
|
|
|
| |
Move functionality to build kernel/image
from syz-gce to a separate package.
|
| |
|
|
|
| |
Move few helper git-related functions from syz-gce
to a separate pkg/git package.
|
| |
|
|
|
|
|
|
|
| |
Introduce generic config.Load function that can be
reused across multiple programs (syz-manager, syz-gce, etc).
Move the generic config functionality to pkg/config package.
The idea is to move all helper (non-main) packages to pkg/ dir,
because we have more and more of them and they pollute the top dir.
Move the syz-manager config parts into syz-manager/config package.
|
| |
|
|
|
| |
Helpful understanding that you signed into a wrong account.
Also actuall report incidents.
|
| |
|
|
|
|
|
| |
Older kernels will most likely break if we apply some
upstream patches to them (most patches won't apply,
but some still do). Allow to disable usage of dashboard
patches in config for such kernels.
|
| |
|
|
| |
Checkout only single branch with no history.
|
| |\
| |
| | |
gce: rename MetaGeneration to Metageneration
|
| | | |
|
| |/ |
|
| |
|
|
|
|
| |
We've hit a situation when syz-manager immidiately exits.
This caused too frequent polls and rate limiting errors.
Sleep for at least some time if manager exits immidiately.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
syz-dash is an appengine app that aggregates crashes from multiple managers.
Very early version, still flashing out required functionality.
|
| | |
|
| | |
|
| |
|
|
|
| |
There is nothing else on the syz-gce page,
so show more logs.
|
| |
|
|
|
|
| |
Now that syz-gce rebuilds linux kernel, running for 1 hour
is too short as build takes up to 40 minutes on a weak VM.
Increase the uninterrupted run time to 6 hours.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
One of builders got into error loop:
Jan 16 20:55:45 syz-gce-next syz-gce[15380]: 2017/01/16 20:55:45 failed to run git [pull]: exit status 128
Jan 16 20:55:45 syz-gce-next syz-gce[15380]: error: Pull is not possible because you have unmerged files.
Jan 16 20:55:45 syz-gce-next syz-gce[15380]: hint: Fix them up in the work tree, and then use 'git add/rm <file>'
Jan 16 20:55:45 syz-gce-next syz-gce[15380]: hint: as appropriate to mark resolution and make a commit.
Jan 16 20:55:45 syz-gce-next syz-gce[15380]: fatal: Exiting because of an unresolved conflict.
No local changes were made to the repo. It was somehow caused by too many changed files or something.
Make pull more robust: in case of any errors re-clone the repo.
|
| |
|
|
| |
In local build mode lastImageUpdated is not relevant, don't print it.
|
| |
|
|
|
| |
Add "local" mode in which syz-gce clones, builds and
monitors for updates a linux kernel repo.
|
| | |
|
| |
|
|
| |
50 lines take too much space, there is scroll bar if necessary.
|
| |
|
|
| |
syz-hub is used to exchange programs between syz-managers.
|
| |
|
|
|
| |
If an image supports all GCE fanciness, we don't need a separate ssh key for it.
It should accept the instance private key that we specify during VM creation.
|
| |
|
|
|
| |
Firewall may restrict access to manager, proxy traffic manager requests.
Also choose manager port automatically.
|
| |
|
|
|
|
| |
Name is used for identification on web ui
and included in gce instance names (so that
several managers can coexist in a single project).
|
| |
|
|
|
| |
Storage API seems to have changed.
Switch to the new API.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Implement actual continous testing loop:
syz-gce runs syz-manager on GCE in a continous loop handling image/syzkaller updates.
It downloads test image from GCS, downloads and builds syzkaller, then starts syz-manager
and pulls for image/syzkaller source updates. If image/syzkaller changes,
it stops syz-manager and starts from scratch.
|