| Summary: | Changes to Toaster setup process | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Toaster | Reporter: | Belen Barros Pena <belen.barros.pena> | ||||
| Component: | toaster | Assignee: | Alexandru Damian <alexandru.damian> | ||||
| Status: | VERIFIED FIXED | QA Contact: | Alexandru Roman <alexandru.costinx.roman> | ||||
| Severity: | enhancement | ||||||
| Priority: | Medium | CC: | alexandru.costinx.roman, alexandru.damian, belen.barros.pena, bluelightning, cristiana.voicu, mhalstead | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 1.8 M3 | ||||||
| Hardware: | All | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||
| Attachments: |
|
||||||
Just one more thing: we might consider changing 'managed' mode and 'interactive' mode to something a bit more explicit, something like 'building' mode and 'analysis only' mode. After running the current set up process by a couple of people, these are the changes I'd like to suggest: 1) Add a requirements check like the one available for the interactive mode. This was not in place when I tested the set up process (or didn't work), but it seems to be part of the Toaster script in poky-contrib/toaster-master:1d5f1bc53b569d06ed6f6b18445a541b22048951 (lines 172 to 182) 2) After starting the web server, Toaster tries to launch the default browser on http://0.0.0/0:8000 If this fails for whatever reason, we don't say anything. One of the testers suggested to print out the URL Toaster is trying to open so that, if it doesn't open, you can recover by copying and pasting it manually in the browser. I believe the 1.6 Toaster script did print the URL 3) Rewrite the clean terminal error message: it seems to suggest a problem with the build directory, and not with the environment. The current text says: "Error: build/ directory detected. Toaster will not start in managed mode if a build environment is detected. Use a clean terminal to start Toaster" Maybe we could say something like this instead: "Error: it looks like an instance of Toaster in analysis mode is still running. Toaster cannot start in build mode while the analysis mode is still running. You can work around this problem by starting Toaster from a new terminal window." 4) After the syncdb and the migration process complete, the script prints: "Verifying the Build Environment type local id 1". It is not clear what "type local id 1" means: maybe we could just remove it and say "Verifying the Build Environment". If no Toaster configuration is detected, maybe we can tell users that they will be asked now to configure their Build Environment by printing something like: "The Build Environment is not configured: you will be asked to configure it now". 5) The Toaster script now prints the following: -- Layer sources checkout directory may not be empty [guessed: " /home/yocto"]: I think this is asking where you want Toaster to check out the layers that will be required by your builds, but the text didn't seem to convey that. Maybe we could change it to: Step 1 of 3: Toaster needs to know in which directory it should check out the layers that will be needed for your builds. Toaster suggests " /home/yocto". If you select this directory, a layer like "meta-yocto" will end up in " /home/yocto/poky/meta-yocto". Press enter to select " /home/yocto" or type the full path to a different directory: If the guess is empty, we should print the following instead: Step 1 of 3: Toaster needs to know in which directory it should check out the layers that will be needed for your builds. Type the full path to the directory (for example: " /home/username/"): If the checkout directory is saved, we should print: "Check out directory saved" 6) After the check out directory step, the Toaster script prints the following: -- Build directory may not be empty [guessed " /home/yocto/poky-dylan-9.0.1/build"]: The "may not be empty" proved confusing. Maybe we should change this to: Step 2 of 3: Toaster needs to know where is your build directory. The build directory is where all the artifacts created by your builds will be stored. Toaster suggests " /home/yocto/poky-dylan-9.0.1/build". Press enter to select " /home/yocto/poky-dylan-9.0.1/build" or type the full path to a different directory: If the guess is empty, we should print the following instead: Step 2 of 3: Toaster needs to know where is your build directory. The build directory is where all the artifacts created by your builds will be stored. Type the full path to the directory (for example: " /home/username/poky/build"): If the build directory is saved, we should print: "Build directory saved" 7) Toaster now prints: -- Do you want to import basic layer configuration from " /home/yocto/poky-contrib" ? (y/N): When trying this, testers selected 'yes', even though they understood the default was 'no'. Their explanation was: I don't know what I am doing, so I would definitely say 'yes' to this. So maybe we can explain a bit what this selection actually does, by printing: Step 3 of 3: Toaster comes with a default configuration that includes support for the master branch and 1.7 release of the Yocto Project, and the OpenEmbedded layer source, i.e. the collection of layers created by the OpenEmbedded community. Would you like to use this default configuration? (Y/n): If you select the default (Y), we print: Updating the information for the OpenEmbedded layer source. Please wait. OpenEmbedded layer source information updated. or The OpenEmbedded layer source information did not update. This could be a connectivity problem. To update the OpenEmbedded layer source information, run /bitbake/lib/toaster/manage.py lsupdates Then Verifying the Build Environment. Starting webserver Running. Stop with Ctrl+C Opening http://0.0.0.0:8000 So a successful Toaster set up will look like this after the db user is set up: Verifying the Build Environment The Build Environment is not configured: you will be asked to configure it now Step 1 of 3: Toaster needs to know in which directory it should check out the layers that will be needed for your builds. Toaster suggests " /home/yocto". If you select this directory, a layer like "meta-yocto" will end up in " /home/yocto/poky/meta-yocto". Press enter to select " /home/yocto" or type the full path to a different directory: Check out directory saved Step 2 of 3: Toaster needs to know where is your build directory. The build directory is where all the artifacts created by your builds will be stored. Toaster suggests " /home/yocto/poky-dylan-9.0.1/build". Press enter to select " /home/yocto/poky-dylan-9.0.1/build" or type the full path to a different directory: Build directory saved Step 3 of 3: Toaster comes with a default configuration that includes support for the master branch and 1.7 release of the Yocto Project, and the OpenEmbedded layer source, i.e. the collection of layers created by the OpenEmbedded community. Would you like to use this default configuration? (Y/n): Updating the information for the OpenEmbedded layer source. Please wait. OpenEmbedded layer source information updated. Verifying the Build Environment. Starting webserver Running. Stop with Ctrl+C Opening http://0.0.0.0:8000 *** Bug 6529 has been marked as a duplicate of this bug. *** Some text changes suggested by ScottR: Change 1 Verifying the Build Environment should change to: Verifying the Build Environment... Change 2 The Build Environment is not configured: you will be asked to configure it now Should change to: The Build Environment is not configured. You will be asked to configure it now. Change 3 Check out directory saved should change to: Checkout directory has been saved. Change 4 Step 2 of 3: Toaster needs to know where is your build directory. The build directory is where all the artifacts created by your builds will be stored. Toaster suggests " /home/yocto/poky/build". Press enter to select " /home/yocto/poky/build" or type the full path to a different directory: should change to: Step 2 of 3: Toaster needs to know the location of your build directory. The build directory is where all the artifacts created by your builds will be stored. Toaster suggests "/home/yocto/poky/build". Press Enter to select "/home/yocto/poky/build" or provide the full path to a different directory: Change 5 Step 3 of 3: Toaster comes with a default configuration that includes support for the master branch and 1.7 release of the Yocto Project, and the OpenEmbedded layer source, i.e. the collection of layers created by the OpenEmbedded community. Would you like to use this default configuration? (Y/n): should change to: Step 3 of 3: Toaster comes with a default configuration that includes support for the master branch, the 1.7 release of the Yocto Project, and the OpenEmbedded layer source (i.e. the collection of layers created by the OpenEmbedded community). Would you like to use this default configuration? (Y/n): Change 6 Updating the information for the OpenEmbedded layer source. Please wait. should change to: Updating the information for the OpenEmbedded layer source. Please wait... Change 7 Starting webserver should change to: Starting the webserver... Change 8 Running. Stop with Ctrl+C should change to: Toaster is now running. You can stop it with Ctrl+C. Fixed, with slight modifications to suit what the code is actually doing. Push for review on adamian/20150127-fiz-6785 (In reply to comment #5) > Fixed, with slight modifications to suit what the code is actually doing. > > Push for review on > > adamian/20150127-fiz-6785 Some additional changes to the messaging can be found in http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=bbarrosp/6785 We also agreed to remove the warnings thrown by the layer index due to duplicate recipes, since users can't really do anything about them. merged to master http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c58c94824b29665f52ae67ceae3f096930c89fe5 Verified. |
Created attachment 2154 [details] Clean terminal message So far, it looks like we need to do the following: * Add a pointer to the Toaster requirements file * Add a Django check similar to the one we have for Toaster 1.6 * Rewrite the 'clean terminal' message (see attached screenshot). It seems to imply the problem is with the build directory, and not with the environment Other issues raised: * Is the superuser creation step really needed? If the superuser will not be used for anything in this release, we might consider skipping that step * The text accompanying the default layer source directory, build directory and configuration is not sufficient to explain what each of those items really mean. However, explaining those fully would make the set up process too verbose. We need to make sure the documentation clearly explains those steps and what the default values mean.