summaryrefslogtreecommitdiffstats
path: root/foreman/ci
AgeCommit message (Collapse)AuthorFilesLines
2015-07-27Fixes IP/MAC of inventory for lab reconfigTim Rozet1-18/+18
JIRA: OCTO-109 Change-Id: I272a1f9f12454ff71a8a1915ab7b712474b84832 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-07-22Merge "Adds check to make sure subnets are a minimum size per network"Tim Rozet1-0/+50
2015-07-22Adds check to make sure subnets are a minimum size per networkTim Rozet1-0/+50
Verifies that subnets are at least these sizes for deploy: - admin: 5 IPs - private: 10 IPs - public: 25 IPs - storage: 10 IPs JIRA: BGS-71 Change-Id: I0a6c373c9a8737fa9f0c2712851616dc301968f3 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-07-22Fixes clean to remove all VMs and be more effectiveTim Rozet1-19/+50
Now all VMs in the vm_dir (/opt/var/opnfv) will be destroyed and removed. Also, virtual box VMs that are leftover even if Vagrant is stuck will attempted to be gracefully removed first, before forcefully destroying the process. The clean should work for both baremetal and virtual deployments. JIRA: APEX-3 Change-Id: Ib31cf1210651e4413ec8fe918ff91be63f4ad6d4 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-07-16Fixed public IP allocation JIRA: BGS-89randyl1-9/+20
For bare metal deployments, the list IP of the last IP of the subnet and 20 IPs before are reservered for neutron public IPs. A new function to subtract a number from an IP was added. Really fixed the logic for skipping 10 IP for VIPs was flipped to treat no_dhcp with static IPs as a special case. Removed a false print statement that the foreman VM is running. Consolidated two identical print messages with the public IP range. Change-Id: I189b9440dafd98e49d9a147515810e44b97ab256 Signed-off-by: randyl <r.levensalor@cablelabs.com>
2015-07-14Fixes issue where git clone failsTim Rozet1-2/+2
Looks like for some reason GIT_SSL_NO_VERIFY=true is required for the git clone to work in LF lab. I guess git cannot recognize the SSL cert. However, this same git clone command works on another non-LF server that is using the same exact git version without the need for this fix. JIRA: BGS-60 Change-Id: I2a71902b3fe01026644ada29bef67c3db3cda711 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-07-14Fixes syntax error with git clone for genesisTim Rozet1-2/+2
JIRA: BGS-60 Change-Id: I23a004d41ff8fd37a0ddcae1b4831a333000cae8 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-07-14Fixes clean bug where $vm_dir is assumed to existTim Rozet1-10/+12
JIRA: BGS-60 Change-Id: Ida9458cf638eca81e6a3d67941203c605d9e4a8a Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-07-14Migrates from github bgs_vagrant project to genesisTim Rozet2-17/+57
No longer relies on bgs_vagrant github project. Now Foreman VM is created under /var/opt/opnfv/foreman_vm, instead of /tmp/bgs_vagrant for better naming convention and file location. Other VM nodes are also placed in /var/opt/opnfv/. JIRA: BGS-60 Change-Id: I009d907ad777750168b822ab86cd11515e28cdd7 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-07-10Merge "Take care of the subnet on public subnet"Frank Brockners1-4/+24
2015-07-10Take care of the subnet on public subnetarnaudmorin1-4/+24
This patch will take care of the subnet on public range. Instead of having a stoned /24, we can use now use at least /27 subnet (because foreman will try to use 20 IPs for public floating ip pool) This is not the best way to do that, but it's better than the current way. It also add a parameter to set the number of floating IP we want to use from the public subnet in provider network. Change-Id: I467f2a4098d2da3c6f666453cead64e18d0c655c JIRA: BGS-75 Signed-off-by: arnaudmorin <arnaud.morin@gmail.com>
2015-07-09Removes version pinning to khaleesi and other utilsTim Rozet1-3/+2
No longer needed post Arno Change-Id: I24ba94e48658372034e334d413f044f407f2cb72 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-07-07Add a 1 minute pause after ansible playbookarnaudmorin1-0/+1
For the LF pods, it seems that the ansible reload playbook is necessary, in our pod, we also need to wait 1 minute before trying to run shell provisionner in Vagrant VM. This patch adds a 1 minute pause into the ansible playground in order to be sure that the machine will be accessible. This avoid "SSH connection unexpectedly closed" issue. Change-Id: Iab2b47decb0120e8359a175b1f16ccbd1036e91f JIRA: BGS-85 Signed-off-by: arnaudmorin <arnaud.morin@gmail.com>
2015-07-06Fixes networking related constraints for Virtual deploymentsTim Rozet5-102/+654
Patchset fixes the following: - Virtual deployment no longer requires 3 networks, does a lookup of the public interface on the server to bridge to, and then uses internal VirtualBox networks for the other admin and private networks - enable_virtual_dhcp option now allows enabling of Foreman DHCP server. This new default behavior is to use static IP address in virtual deployments. This is more useful in environments where disabling DHCP on the public network is not an option. - static_ip_range argument used to define which IP block to use out of the public network for the deployment. Valid only in virtual deployment. - puppet verification for virtual deployments added - horizon and foreman URLs will now be printed at the end of deployment - fixes and updates to non-HA deployments - ping_site argument now allows users to specify the site to verify VM internet connectivity. Default is google.com which is unreachable in China JIRA: BGS-73 Change-Id: I63b4c91477591d2f9436b5e6f59a2f2ee021d7d7 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-06-24Moved 80% of Foreman deploy.sh into functionsrandyl1-435/+509
To help with readability and troubleshooting, the 80% of the script that was not in a function were added to functions based on logical blocks. Neither functional nor order of execution changes were made to the script. Since most of the file and other Foreman CI scripts use a 2 space indent, that was also applied uniformly across the file. Change-Id: I83b96e231d484813025f6aa900cf2ffc92e94397 Signed-off-by: randyl <r.levensalor@cablelabs.com>
2015-06-17Fixing verification of vbox drivers JIRA: BGS-74randyl1-1/+2
With the foreman install the vboxdrv module is not loaded then the deploy.sh script attempts to load the driver by running ‘/etc/init.d/vboxdrv setup’ and checks the return code for success. However, /etc/init.d/vboxdrv will return 0 as long a valid parameter was passed on the command line. In the case of a failure, a failure message will be logged and the return code will still be 0. For instance if the kvm module is already loaded, the VirtualBox driver will never install. deploy.sh will now check for the VirtualBox kernel module with lsmod after the setup script is installed. The deploy.sh will now exit if the vboxdrv is not loaded. Change-Id: I702819cbf28afb08e0035e08918390af85c07674 Signed-off-by: randyl <r.levensalor@cablelabs.com>
2015-06-02Changes deploy to use frozen Arno release versions for Foreman relatedTim Rozet2-3/+3
tools JIRA: BGS-56 Change-Id: I4af161c7294c7a576920a8400b2d608ccbcbb323 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-06-01Pin software dep versions, various Foreman scriptsDaniel Farrell3-22/+17
Software released under 'Arno' should be pinned to at least the major version, to guarantee API backwards compatibility. I believe this commit covers the remaining dependency installs done by Foreman. JIRA: BGS-54 Change-Id: I616f4d201dab2ebf6c0b38b9a5aaa1510ba59bfd Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2015-06-01Pin software dep versions in Foreman bootstrapDaniel Farrell1-30/+8
Software released under 'Arno' should be pinned to at least the major version, to guarantee API backwards compatibility. This also moves some pip-based installs to yum, for simplicity and consistency. JIRA: BGS-54 Change-Id: If4f20a5740b989bd7e369a2ec5aefd559eb505b1 Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2015-06-01Pin software dependency versions in Foreman deployDaniel Farrell1-12/+7
Software released under 'Arno' should be pinned to at least the major version, to guarantee API backwards compatibility. JIRA: BGS-54 Change-Id: Iad027f1dc40b17c611ef183ffbae834b0dd1b970 Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2015-06-01Copy Foreman deploy logic from bgs_vagrant repoDaniel Farrell7-0/+751
This code was developed in a scratch space GitHub repo, mostly by Tim. As part of the clean-up process for Arno, it should be migrated to Genesis and all future work should be done via Genesis. This is trozet/bgs_vagrant as of f27548. I didn't copy the clean.sh, deploy.sh and build.sh scripts from bgs_vagrant in this commit. They differ from those in Genesis and need more attention for a proper migration. See: https://github.com/trozet/bgs_vagrant JIRA: BGS-53 Change-Id: I512e0ea0d02f8d99048db771221abc88aa60e2d5 Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2015-05-26Merge "Really kill VBoxHeadless process"Dan Radez2-2/+2
2015-05-20Adds external network support for OPNFVTim Rozet2-0/+53
Deploy will now detect and set extra parameters in the ksgen settings file needed in order to configure an external public network for Neutron. The new parameters required are as follows: - external_network_flag: "true" - public_gateway: - public_dns: - public_network: - public_subnet: - public_allocation_start: - public_allocation_end: - deployment_type: public_* parameters are required to create an external network when external_network_flag is "true". deployment_type (three_network or multi_network) is now passed to Foreman. Foreman decides on this value whether to configure 3 interfaces as dhcp+onboot or 4. Change-Id: Ia8af04e82f3854a36adc563c1855d451ddfa9c17 JIRA: BGS-13 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-05-20Really kill VBoxHeadless processarnaudmorin2-2/+2
This correct a small typo that prevent the clean script to kill VBoxHeadless correctly This also add the psmisc package to dependency list in order to have the killall command JIRA: BGS-49 JIRA: BGS-50 Change-Id: I39143bdbc8076318c5a28868c4bb779411742c09 Signed-off-by: arnaudmorin <arnaud.morin@gmail.com>
2015-05-12Adds node virtualization supportTim Rozet1-2/+175
This patch adds the argument "-virtual" which allows one to deploy to Vagrant VMs rather than baremetal. The requirements for the Jumphost become slightly different with VM nodes. The required RAM increases to 24GB when using virtual. Usage: "./deploy.sh -virtual". JIRA: BGS-31 Change-Id: I2e5e60cc7913f4d3efaa405950e1fcbbefd2771b Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-05-11Fix foreman build cache handlingFatih Degirmenci1-1/+0
JIRA: Change-Id: Id6b6cd35e4692a6990c3a4bdb4bab7b7f129dc40 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2015-05-08Merge "Adds clean script for Foreman/QuickStack Install Server"Dan Radez1-0/+151
2015-05-07Merge "Adds NAT capability and other fixes for deploy.sh"Frank Brockners1-6/+48
2015-05-07Merge "Adds inventory directory and inventory file for use with clean.sh and ↵Frank Brockners1-0/+349
deploy.sh"
2015-05-04Adds inventory directory and inventory file for use with clean.sh andTim Rozet1-0/+349
deploy.sh Inventory file holds the information for how foreman should install, and the baremetal info (bmc+mac info) for all of the baremetal nodes. JIRA: BGS-31 Change-Id: Ide06a31b94ea45e4047de5d1225f4f92e2b8ac7b Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-05-04Adds NAT capability and other fixes for deploy.shTim Rozet1-6/+48
Dynamically detects if Admin network interface does not have internet access. If not, then the VM sets up NAT to the public interface so that nodes may PXE boot over the Admin network and download packages during install. Also contains other various fixes. JIRA: BGS-31 Change-Id: I551e0f73e349890e643f477b6b4ac7b3dc84c605 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-05-04Adds clean script for Foreman/QuickStack Install ServerTim Rozet1-0/+151
Script should be executed on the jumphost baremetal to ensure the clean state of a POD. clean.sh will do the following: - IPMI power off all the nodes - Vagrant destroy the VM - Remove VirtualBox Package - Remove VirtualBox kernel modules from the host JIRA: BGS-31 Change-Id: Iaf3dfc65b654cbcd19cc8326f328447ab017717e Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-05-04adding rpmbuild to the Makefile for the foreman buildDan Radez1-7/+8
This will allow content in the genesis repo to be provided to the centos install via rpm Change-Id: Ib84759211c56006007913010fb3f73f84271b57d JIRA: BGS-41 Signed-off-by: Dan Radez <dradez@redhat.com>
2015-04-17Includes fixes that remove need for interface hardcoding and addsTim Rozet1-7/+18
support for Foreman REST API access Changes include: - No more requirement to provide ovs_tunnel_if or storage_iface as hardcoded interface names. private_network and storage_network are now dynamically figured out and resolve to the interface names during puppet module runtime - Adds some code to modify the Foreman API variable. This is used for REST API access to rebuild the nodes and control Foreman via Khaleesi JIRA: BGS-31 Change-Id: I9a3a6590c3b9801e026a6f333782d04d9e2eff6f Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-04-16Adds support for subnets other than /24 and fixes issue where default_gwTim Rozet1-8/+34
was set in the wrong place PATCHSET2: Fixes improper spacing in network_type for .yaml settings Correct subnet is now detected . This was needed for Intel Pod1, but can be used in other environments. Vagrantfile is now updated to add this correct netmask, and variables are updated with correct netmask as well. default_gw was being set before the base_config was copied, so we were losing the value of the variable. Moved this statement to be after base_config. JIRA: BGS-31 Change-Id: I36c69abf5e687fe19a92a9659b2069e1f32275a8 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-04-14Adds deploy.sh for Foreman/QuickStackTim Rozet1-0/+402
PATCHSET2: Fixes whitespace issue and adds default_gw substitution in ksgen settings file Creates a Vagrant VM provisioned with VirtualBox. The Vagrantfile config is modified at runtime with dynamic support for baremetal network setup. IP addresses and other network info are gathered at runtime and passed to the .yaml file which is fed into Khaleesi to install Foreman/QuickStack and provision hosts. For the script usage it is recommended to include the following inside of the yaml file set: - mac_address: "01:23:45:67:89:AB" <-Mac Address of admin interface - bmc_ip: 10.4.17.2 - bmc_mac: "01:23:45:67:88:AB" - bmc_user: root - bmc_pass: root JIRA: BGS-31 Change-Id: I1aa9352d2f5965befabf86119c0c9c5edb82f329 Signed-off-by: Tim Rozet <trozet@redhat.com>
2015-04-01Initial build.sh files for install via foremanDan Radez1-0/+398
build.sh accepts params defined by https://etherpad.opnfv.org/p/BGS_CI Build currently requires that - CentOS-7.0-1406-x86_64-Minimal.iso - VirtualBox-4.3-4.3.26_98988_fedora18-1.x86_64.rpm - vagrant_1.7.2_x86_64.rpm are placed in the build directory Produces a CentOS 7 iso that will be able to install foreman and provision OpenStack JIRA: BGS-15 Change-Id: If9786d9723f7e77b208745e61704b15cba3ae9c0 Signed-off-by: Dan Radez <dradez@redhat.com>
2015-03-01ci: Initial setup of ci treeJoseph Gasparakis2-0/+0
This patch creates some tree structure based on Fatih Deqirmenci's suggestion: genesis ├── common │ ├── manifests │ ├── tools │ └── ci ├── foreman │ ├── tools │ │ └── foo.sh │ └── ci │ ├── deploy.sh │ └── build.sh ├── fuel │ ├── tools │ │ └── foo.sh │ └── ci │ ├── deploy.sh │ └── build.sh └── opensteak ├── tools │ └── foo.sh └── ci ├── deploy.sh └── build.sh So far creating only the deploy and build scripts. Signed-off-by: Joseph Gasparakis <joseph.gasparakis@intel.com>