|  | 1 | == My PLC installation for Orbit == | 
          
            |  | 2 |  | 
          
            |  | 3 | In this document we outline the process for installing the Myplc controller on a Fedora 8 VM. I'm essentially following the instructions from: [http://groups.geni.net/geni/wiki/GpoLab/MyplcReferenceImplementation this page]. | 
          
            |  | 4 |  | 
          
            |  | 5 | === Step 0 === | 
          
            |  | 6 | Populate the "varibles" table with values. | 
          
            |  | 7 |  | 
          
            |  | 8 | === Step 1 === | 
          
            |  | 9 |  | 
          
            |  | 10 | We install Fedora 8 on a vm by booting the vm with an install iso. The general instructions are detailed [wiki:Internal/VMHostSetup here] (see the section on building a client). The main diffrence is that we use the Fedora 8 install iso, instead of ubuntu. The commands I ran as root out of the /root directory on external3 were: | 
          
            |  | 11 | {{{ | 
          
            |  | 12 | wget http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/8/Fedora/x86_64/iso/Fedora-8-x86_64-DVD.iso | 
          
            |  | 13 | ./install_vm ./vm_img/fedora_server.img ./Fedora-8-x86_64-DVD.iso | 
          
            |  | 14 | ... | 
          
            |  | 15 | ./start_vm ./vm_img/fedora8.img 1 | 
          
            |  | 16 | }}} | 
          
            |  | 17 |  | 
          
            |  | 18 | Where ... is this process: | 
          
            |  | 19 | * connect to the vnc session on external3:5900 (you will need a vnc client and possibly and ssh tunnel) | 
          
            |  | 20 | * use the fedora to install the OS mostly this is all defaulted. We even let it do the partitioning, it sets up lvm. The only departures from the defaults were: | 
          
            |  | 21 | * Skipped the CD check (Purely for convenience) | 
          
            |  | 22 | * set the root password to .... | 
          
            |  | 23 | * set the default user to native/.... | 
          
            |  | 24 | * Completely disable the firewall (there are notes in the Myplc documentation about enabling specific firewall ports) | 
          
            |  | 25 | * Completely disable SElinux features. (Myplc requires this as a step in the installation process) | 
          
            |  | 26 | * Power down (don't reboot, as we'll want to start the vm back up with out the install iso, the step immediately following this process.) | 
          
            |  | 27 |  | 
          
            |  | 28 | Once this is done the fedora system should be operational and through the vnc session you should be able to modify settings. I opted to let it preform the 280+ updates, and then edited the sudosers list (by running visudo as root, you will have to su -) to enable the wheel group with out passwords (there was a life for this, I just uncommented it). I then added native to the wheel group, thus giving it sudo privlage. SSHD comes installed by default, so using the native/.... credentials you can ssh into this box. The current Ip given by dhcp was 10.50.250.20. This is useful since you can't copy paste into a vnc window easily. '''Note''' - by default kvm's vnc sessions don't require a password to connect, so they only "lock out" of the machine comes in the form of gdm/console login prompts. | 
          
            |  | 29 |  | 
          
            |  | 30 | === Step 2 === | 
          
            |  | 31 |  | 
          
            |  | 32 | Based on the variables from Step 0 I've modified the the repo creation rules to: | 
          
            |  | 33 |  | 
          
            |  | 34 | {{{ | 
          
            |  | 35 | [native@localhost ~] sudo sh -c 'echo "[myplc]" > /etc/yum.repos.d/myplc.repo' | 
          
            |  | 36 | [native@localhost ~] sudo sh -c 'echo "name= MyPLC" >> /etc/yum.repos.d/myplc.repo' | 
          
            |  | 37 | [native@localhost ~] sudo sh -c 'echo "baseurl=http://build.planet-lab.org/planetlab/f8/pl-f8-i386-5.0-k32-rc-20/RPMS/" >> /etc/yum.repos.d/myplc.repo' | 
          
            |  | 38 | [native@localhost ~] sudo sh -c 'echo "enabled=1" >> /etc/yum.repos.d/myplc.repo' | 
          
            |  | 39 | [native@localhost ~] sudo sh -c 'echo "gpgcheck=0" >> /etc/yum.repos.d/myplc.repo' | 
          
            |  | 40 | }}} | 
          
            |  | 41 |  | 
          
            |  | 42 | Running the update gets us. | 
          
            |  | 43 | {{{ | 
          
            |  | 44 | [native@localhost ~]$ sudo yum update fedora-release | 
          
            |  | 45 | myplc                                                                                                                                                                                   | 1.1 kB     00:00 | 
          
            |  | 46 | myplc/primary                                                                                                                                                                           | 178 kB     00:00 | 
          
            |  | 47 | myplc                                                                                                                                                                                                  101/101 | 
          
            |  | 48 | Setting up Update Process | 
          
            |  | 49 | No Packages marked for Update | 
          
            |  | 50 | }}} | 
          
            |  | 51 |  | 
          
            |  | 52 | Finally the results of installing Myplc is a lot of screen dump and a question about if you are sure you want to install. The end results looks like: | 
          
            |  | 53 | {{{ | 
          
            |  | 54 | [native@localhost ~] sudo yum install myplc | 
          
            |  | 55 | ... | 
          
            |  | 56 |  | 
          
            |  | 57 | Installed: | 
          
            |  | 58 | myplc.noarch 0:5.0-15.planetlab | 
          
            |  | 59 |  | 
          
            |  | 60 | Dependency Installed: | 
          
            |  | 61 | OpenIPMI-tools.x86_64 0:2.0.11-3.fc8               PLCAPI.i386 0:5.0-28.planetlab                          PyXML.x86_64 0:0.8.4-8.fc8                   SOAPpy.noarch 0:0.11.6-7.fc8 | 
          
            |  | 62 | apr-devel.x86_64 0:1.2.11-2                        apr-util-devel.x86_64 0:1.2.10-2.fc8                    bootcd-initscripts.noarch 0:5.0-8.2011.02.17 bootcd-planetlab-f8-i386.noarch 0:5.0-8.2011.02.17 | 
          
            |  | 63 | bootmanager.noarch 0:5.0-16.planetlab              bootstrapfs-planetlab-f8-i386.noarch 0:2.0-9.2011.02.17 createrepo.noarch 0:0.4.11-2.fc8             cyrus-sasl-devel.x86_64 0:2.1.22-8.fc8 | 
          
            |  | 64 | db4-cxx.x86_64 0:4.6.21-3.fc8                      db4-devel.x86_64 0:4.6.21-3.fc8                         distcache.x86_64 0:1.4.5-15                  drupal.noarch 0:4.7-14.planetlab | 
          
            |  | 65 | expat-devel.x86_64 0:2.0.1-2                       expect.x86_64 0:5.43.0-9.fc8                            httpd-devel.x86_64 0:2.2.9-1.fc8             memcached.x86_64 0:1.2.4-2.fc8 | 
          
            |  | 66 | mod_python.x86_64 0:3.3.1-5                        mod_ssl.x86_64 1:2.2.9-1.fc8                            mod_wsgi.x86_64 0:1.3-2.fc8                  monitor-runlevelagent.i386 0:3.0-35.planetlab | 
          
            |  | 67 | mtools.x86_64 0:3.9.11-2.fc8                       mx.x86_64 0:2.0.6-3                                     myplc-config.noarch 0:5.0-15.planetlab       myplc-docs.noarch 0:5.0-15.planetlab | 
          
            |  | 68 | myplc-release.noarch 0:5.0-15.planetlab.2011.02.17 nodeconfig.i386 0:5.0-5.planetlab                       nodeyum.noarch 0:2.0-9.2011.02.17            openldap-devel.x86_64 0:2.3.39-4.fc8 | 
          
            |  | 69 | pcucontrol.i386 0:1.0-10.planetlab                 perl-IO-Socket-SSL.noarch 0:1.18-1.fc8                  perl-Net-LibIDN.x86_64 0:0.10-1.fc8          perl-Net-SSLeay.x86_64 0:1.30-5.fc8.1 | 
          
            |  | 70 | php.x86_64 0:5.2.6-2.fc8                           php-cli.x86_64 0:5.2.6-2.fc8                            php-common.x86_64 0:5.2.6-2.fc8              php-gd.x86_64 0:5.2.6-2.fc8 | 
          
            |  | 71 | php-mbstring.x86_64 0:5.2.6-2.fc8                  php-pdo.x86_64 0:5.2.6-2.fc8                            php-pgsql.x86_64 0:5.2.6-2.fc8               plewww.noarch 0:4.3-59 | 
          
            |  | 72 | plewww-plekit.noarch 0:4.3-59                      postgresql.x86_64 0:8.2.11-1.fc8                        postgresql-libs.x86_64 0:8.2.11-1.fc8        postgresql-python.x86_64 0:8.2.11-1.fc8 | 
          
            |  | 73 | postgresql-server.x86_64 0:8.2.11-1.fc8            pyOpenSSL.x86_64 0:0.6-1.p24.9                          pyaspects.i386 0:0.4.1-1.planetlab           pypcilib.i386 0:0.2-9.planetlab | 
          
            |  | 74 | pyplnet.noarch 0:4.3-9.planetlab                   python-devel.x86_64 0:2.5.1-26.fc8.2                    python-fpconst.noarch 0:0.7.3-3.fc8.1        python-ldap.x86_64 0:2.3.1-1.fc8 | 
          
            |  | 75 | python-memcached.noarch 0:1.39-1.fc8               python-psycopg2.x86_64 0:2.0.7-1.fc8                    python-pycurl.x86_64 0:7.16.4-1.fc8          python-simplejson.x86_64 0:1.9.1-1.fc8 | 
          
            |  | 76 | python-twisted-core.x86_64 0:2.5.0-2.fc8           python-twisted-web.x86_64 0:0.7.0-1.fc8                 python-twisted-words.x86_64 0:0.5.0-1.fc8    python-zope-interface.x86_64 0:3.0.1-8.fc8 | 
          
            |  | 77 | sendmail-cf.x86_64 0:8.14.2-1.fc8                  sharutils.x86_64 0:4.6.3-1.fc7                          syslinux.x86_64 0:3.36-7.fc8                 tcl.x86_64 1:8.4.17-1.fc8 | 
          
            |  | 78 | www-register-wizard.noarch 0:4.3-5.planetlab       xmlsec1.x86_64 0:1.2.9-8.1                              xmlsec1-openssl.x86_64 0:1.2.9-8.1 | 
          
            |  | 79 |  | 
          
            |  | 80 | Complete! | 
          
            |  | 81 | }}} | 
          
            |  | 82 |  | 
          
            |  | 83 | === Step 3 === | 
          
            |  | 84 |  | 
          
            |  | 85 | We are apparently taking Path A. The Answer in step Zero shape our answers to the questions posed by | 
          
            |  | 86 | {{{ | 
          
            |  | 87 | [native@localhost ~] sudo plc-config-tty | 
          
            |  | 88 | }}} |