Add osc project profiles on POWDER to source control to make the profiles consistent...
[it/test.git] / XTesting / powder-profiles / XTesting-Host
1 """Intend to set up a XTesting host on Ubuntu 20.04 on a hardware type of your choice."""
2
3 import geni.portal as portal
4 # Import the ProtoGENI library.
5 import geni.rspec.pg as rspec
6
7 pc = portal.Context()
8
9 pc.defineParameter('hardware_type', 'Hardware type', portal.ParameterType.NODETYPE, '')
10
11 params = pc.bindParameters()
12
13 request = pc.makeRequestRSpec()
14
15 node = request.RawPC('node-0')
16 node.hardware_type = params.hardware_type
17 node.disk_image = 'urn:publicid:IDN+emulab.net+image+emulab-ops//UBUNTU20-64-STD'
18
19 # set up root ssh key access
20 node.addService(rspec.Execute(shell="bash", command="sudo chown osc_int  -R /root && tail -1 ~/.ssh/authorized_keys >> /root/.ssh/authorized_keys && rm /root/.ssh/id_rsa* && sudo chown root -R /root"))
21
22 # check out code from the it/test repo and install the desired dependencies
23 node.addService(rspec.Execute(shell="bash", command="sudo git clone \"https://gerrit.o-ran-sc.org/r/it/test\" /it-test && cd /it-test/XTesting/XTesting-demo && sudo ./install-dependencies.sh 2>&1 | tee /tmp/dep.log"))
24
25 # check out code from POWDER example for the rpc, and install the Python dependencies for the POWDER API access
26 node.addService(rspec.Execute(shell="bash", command="sudo git clone https://gitlab.flux.utah.edu/powder-profiles/powder-control /powder-control && sudo cp /powder-control/powder/rpc.py /it-test/XTesting/powder-control/powder/rpc.py && cd /it-test/XTesting/powder-control/ && sudo pip3 install -r requirements.txt"))
27
28 pc.printRequestRSpec(request)