ReleaseEngineering/Mozpool: Difference between revisions

m
No edit summary
m (→‎Release Engineering: scl1 -> scl3)
 
(7 intermediate revisions by 2 users not shown)
Line 72: Line 72:
== Release Engineering ==
== Release Engineering ==


In the scl1 datacenter, we have an initial deployment of 10 racks of Pandaboards.  Each rack holds about 80 Pandas, grouped in custom-built chassis, for a total of about 800 pandas.  Each rack also contains seven "foopies" (proxying between pandas and Buildbot) and one imaging server.  Each rack has a dedicated VLAN, keeping most network traffic local to the rack.  The database backend is MySQL.  See the puppet modules, linked above, for more details of the deployment.
In the scl3 datacenter, we have an initial deployment of 10 racks of Pandaboards.  Each rack holds about 80 Pandas, grouped in custom-built chassis, for a total of about 800 pandas.  Each rack also contains seven "foopies" (proxying between pandas and Buildbot) and one imaging server.  Each rack has a dedicated VLAN, keeping most network traffic local to the rack.  The database backend is MySQL.  See the puppet modules, linked above, for more details of the deployment.


At the BMM and Lifeguard levels, each imaging server is responsible for the pandas in its rack, as assigned in inventory.  At the Mozpool level, each imaging server is responsible for all requests that were initiated locally.  Mozpool uses HTTP to communicate with Lifeguard on other imaging servers when it needs to reserve a non-local device.
At the BMM and Lifeguard levels, each imaging server is responsible for the pandas in its rack, as assigned in inventory.  At the Mozpool level, each imaging server is responsible for all requests that were initiated locally.  Mozpool uses HTTP to communicate with Lifeguard on other imaging servers when it needs to reserve a non-local device.
Line 79: Line 79:
In Release Engineering we use the mozpool client to talk with the Mozpool servers to request panda boards.
In Release Engineering we use the mozpool client to talk with the Mozpool servers to request panda boards.
To do this we install the python package inside of a virtual environment.
To do this we install the python package inside of a virtual environment.
The package is stored in here:
The package is stored in pypi:
http://puppetagain.pub.build.mozilla.org/data/python/packages
* http://pypi.pvt.build.mozilla.org/pub/
* http://pypi.pub.build.mozilla.org/pub/


To create a new packaged version, checkout the mozpool repo and do the following:
To create a new packaged version, checkout the mozpool repo and do the following:
<pre>
# Make your code changes
cd mozpoolclient
# Update the version in [http://hg.mozilla.org/build/mozpool/file/default/mozpoolclient/setup.py#l5 setup.py]
python setup.py sdist
# Add a new line to [http://hg.mozilla.org/build/mozpool/file/default/mozpoolclient/CHANGES.txt CHANGES.txt] with the new version, the date and what is changing
</pre>
# cd mozpoolclient && python setup.py sdist


To deploy to our pypi setup [[ReleaseEngineering:Buildduty:Other_Duties#Python_packages|follow these instructions]].
To deploy to our pypi setup [[ReleaseEngineering:Buildduty:Other_Duties#Python_packages|follow these instructions]].
There is also a "fork" of the client code that lives in the tools repo: http://hg.mozilla.org/build/tools/lib/python/vendor/mozpoolclient-0.1.6
To update this version run the following commands:
OLD=0.1.5
NEW=0.1.6
cd tools/lib/python/vendor
hg move mozpoolclient-${OLD} mozpoolclient-${NEW}
# Assuming mozpool is checked out at the same level as your tools repo.
rsync --recursive --delete ../../../../mozpool/mozpoolclient/* mozpoolclient-${NEW}
#Bump the version in here http://mxr.mozilla.org/build/source/tools/lib/python/vendorlibs.pth
vi ../vendorlibs.pth
hg commit -m"Bumping mozpool client vendor version from ${OLD} to ${NEW}"
hg push
'''NOTE''': if you're making API changes to the mozpool client, you'll need to update the consumers in the tools repo as well before committing.
If you're the pypi package maintainer (armenzg or dustin), you can follow these [??? instructions].
Confirmed users
4,293

edits