Closed
Bug 962686
Opened 11 years ago
Closed 11 years ago
Ensure way to create VM that can generate our current Android 2.3 armv7 emulator
Categories
(Infrastructure & Operations Graveyard :: CIDuty, task)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: armenzg, Assigned: armenzg)
References
Details
This is the information I have.
Documentation on how to create the AVD definitions:
https://wiki.mozilla.org/ReleaseEngineering/Platforms/Android#How_to_generate_the_AVD_definitions
Armen says:
> Graydon created a working emulator which is inside of the avd tar ball.
> What we want to do is have the means to produce the same emulator but
> that requires a method of snapshoting or storing all packages that got
> installed by him.
Dustin says:
> Since this is a very occasional, and very manual process, I think it would be fine to just
> snapshot the VM on which it was last performed. It doesn't seem like things are
> sufficiently well-defined that we could build a puppet manifest describing exactly
> which packages are required, and what kind of local tweaks need to be made, in any
> reasonable amount of time.
> So, perhaps just clean out his AWS VM and capture it into an ami? Then any further
> developments can be captured into subsequent ami's, while keeping the original available
> as well in case there's a need to revert or compare.
> On 14-01-21 07:07 AM, Armen Zambrano G. wrote:
>
>> I want to figure out what you used to create the avds.
>
> I debugged the process on my workstations/laptops and did the final
> builds on comparatively-cleaner AWS machines.
>
>> Did you use your local machine? Did we loan you an AWS build machine? Or
>> a test machine?
>
> AWS machines I rented myself, out of pocket. I needed machines with a
> ton of disk space and CPU, and had to repeatedly re-image / start over.
> Didn't want to bother you with each and every change while I was
> experimenting.
>
>> Do you have documented what packages you installed?
>
> The required packages are all installed by the mozharness script, as are
> all the source checkouts, SDK/NDK URLs and whatnot.
>
>> I tried asking my team and the IT team that supports us on how to best
>> be able to reproduce your setup.
>> However, I have very little insight of what is involved.
>
> Starting from a stock ubuntu 12.04LTS x64 instance and running the
> mozharness script I wrote ought to produce the same AVDs I uploaded, at
> least "currently". That was part of the point of the script: to write
> down all the requirements to build the thing.
>
> The problem isn't so much reproducing it _now_, it's making sure that it
> doesn't bitrot so fast that nobody can reproduce it in the _future_.
> There are a lot of parts involved:
>
> - From Ubuntu:
> - 12.04LTS x64 release + gcc 4.4 32bit cross toolchains
> - A pile of random additional 32 and 64 bit debs
>
> - From AOSP:
> - Android NDK
> - Android SDK
> - The AOSP tree itself (this is enormous -- 30GB to mirror)
> - Goldfish linux kernel
>
> - From Mozilla:
> - Orangutan
> - nightly tests.zip: Watcher and SUTAgent APKs
> - Mozharness
>
> - From Oracle:
> - Official Java 6 JDK (OpenJDK doesn't work)
>
> If any of these drift over time -- and they will -- I am not sure it'll
> be "perfectly reproducible". So I was thinking it might be useful to
> freeze an AMI containing some of the parts. Or mirror some of them. I'm
> not sure what approach is best for archival.
>
> -Graydon
Assignee | ||
Comment 1•11 years ago
|
||
On 14-01-22 10:21 AM, Armen Zambrano G. wrote:
> I've got a question wrt the emulator, when we build the AVDs, are we
> also building the emulator binaries?
Yes. For two reasons:
1. It's necessary to start the AVDs up and do some customization on them
in-tree before archiving them in a tarball. The emulators that the AVDs
are customized-under is the one built in-tree along with the rest of
AOSP (though probably newer emulators would also work for this step).
2. I wasn't sure, during exploration of the problem space, if we'd wind
up needing "custom" (patched or from-specific-dev-branch) emulator
binaries. It turns out that any sufficiently fresh SDK-provided
emulators (such as SDK release 22) are fine, but I didn't know that when
working, so the script does also tar up and deposit an
emulators-<arch>-<tag>-build-<date>.tar.gz file in the output directory
as well. This artifact is not presently useful to us.
-Graydon
Assignee | ||
Comment 2•11 years ago
|
||
The only part that was sometimes a little accident-prone is that the
oracle-java6-installer deb requests interactive acceptance of an oracle
license, and that fights with mozharness over the TTY when prompting for
license-acceptance. So it might be better to install that package
manually first.
> How can I create a VM like yours?
Make a VM with >30GB of scratch space, possibly closer to 50GB, running
ubuntu 12.04LTS, and run the mozharness script. Possibly installing the
oracle-java6-installer from the ppa:webupd8team/java PPA manually, first.
Also be prepared for a long wait, and .. try to run it in a datacenter
with a really fast connection. It has to download a ton of code.
Assignee | ||
Comment 3•11 years ago
|
||
In bug 970324 we managed to create a VM based on graydon's AMI.
Documentation was added in here:
https://wiki.mozilla.org/ReleaseEngineering/Platforms/Android#Create_EC2_instance_based_on_graydon.27s_initial_AMI
Assignee: nobody → armenzg
Assignee | ||
Updated•11 years ago
|
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Updated•7 years ago
|
Component: Platform Support → Buildduty
Product: Release Engineering → Infrastructure & Operations
Updated•5 years ago
|
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•