diff options
Diffstat (limited to 'prototypes')
7 files changed, 46 insertions, 30 deletions
diff --git a/prototypes/bifrost/README.md b/prototypes/bifrost/README.md index f50ffb217..df34f9c87 100644 --- a/prototypes/bifrost/README.md +++ b/prototypes/bifrost/README.md @@ -7,29 +7,31 @@ Please follow that steps: 1. Clone bifrost:: - git clone https://git.openstack.org/openstack/bifrost /opt/bifrost + sudo git clone https://git.openstack.org/openstack/bifrost /opt/bifrost 2. Clone releng:: - git clone https://gerrit.opnfv.org/gerrit/releng /opt/releng + sudo git clone https://gerrit.opnfv.org/gerrit/releng /opt/releng 3. Clone infracloud:: - git clone https://git.openstack.org/openstack-infra/puppet-infracloud /opt/puppet-infracloud + sudo git clone https://git.openstack.org/openstack-infra/puppet-infracloud /opt/puppet-infracloud 4. Combine releng scripts and playbooks with bifrost:: - cp -R /opt/releng/prototypes/bifrost/* /opt/bifrost/ + sudo cp -R /opt/releng/prototypes/bifrost/* /opt/bifrost/ -5. Run destroy script if you need to cleanup previous environment:: +5. If you are on a RHEL/CentOS box, ensure that selinux is disabled + +6. Run destroy script if you need to cleanup previous environment:: cd /opt/bifrost - ./scripts/destroy-env.sh + sudo ./scripts/destroy-env.sh -6. Run deployment script to spin up 3 vms with bifrost: jumphost, controller and compute:: +7. Run deployment script to spin up 3 vms with bifrost: jumphost, controller and compute:: cd /opt/bifrost - ./scripts/test-bifrost-deployment.sh + sudo ./scripts/test-bifrost-deployment.sh It is likely that the script will show some errors due to timeout. Please ignore the errors, and wait until the vms are completely bootstrapped. To verify it you can check with ironic:: @@ -39,10 +41,10 @@ It is likely that the script will show some errors due to timeout. Please ignore And wait until all the vms are in **active** Provisioning State. -7. Check the IPs assigned to each of the VMS. You can check it by looking at inventory: +8. Check the IPs assigned to each of the VMS. You can check it by looking at inventory: cat /tmp/baremetal.csv -8. You can enter into the vms with devuser login/pass: +9. You can enter into the vms with devuser login/pass: ssh devuser@192.168.122.2 diff --git a/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml b/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml index ba548b305..b4dffdccf 100644 --- a/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml +++ b/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml @@ -41,8 +41,21 @@ # NOTE(TheJulia): While the next step creates a ramdisk, some elements # do not support ramdisk-image-create as they invoke steps to cleanup # the ramdisk which causes ramdisk-image-create to believe it failed. - - { role: bifrost-create-dib-image, dib_imagename: "{{ http_boot_folder }}/ipa", build_ramdisk: false, dib_os_element: "{{ ipa_dib_os_element|default('debian') }}", dib_os_release: "jessie", dib_elements: "ironic-agent {{ ipa_extra_dib_elements | default('') }}", when: create_ipa_image | bool == true } - - { role: bifrost-create-dib-image, dib_imagetype: "qcow2", dib_imagename: "{{deploy_image}}", dib_os_element: "ubuntu-minimal", dib_os_release: "trusty", dib_elements: "vm serial-console simple-init devuser infra-cloud-bridge puppet growroot {{ extra_dib_elements|default('') }}", dib_packages: "openssh-server,vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl", when: create_image_via_dib | bool == true and transform_boot_image | bool == false } + - role: bifrost-create-dib-image + dib_imagename: "{{ http_boot_folder }}/ipa" + build_ramdisk: false + dib_os_element: "{{ ipa_dib_os_element|default('debian') }}" + dib_os_release: "jessie" + dib_elements: "ironic-agent {{ ipa_extra_dib_elements | default('') }}" + when: create_ipa_image | bool == true + - role: bifrost-create-dib-image + dib_imagetype: "qcow2" + dib_imagename: "{{deploy_image}}" + dib_os_element: "{{ lookup('env','DIB_OS_ELEMENT') }}" + dib_os_release: "{{ lookup('env', 'DIB_OS_RELEASE') }}" + dib_elements: "vm serial-console simple-init devuser infra-cloud-bridge puppet growroot {{ extra_dib_elements|default('') }}" + dib_packages: "{{ lookup('env', 'DIB_OS_PACKAGES') }}" + when: create_image_via_dib | bool == true and transform_boot_image | bool == false environment: http_proxy: "{{ lookup('env','http_proxy') }}" https_proxy: "{{ lookup('env','https_proxy') }}" diff --git a/prototypes/bifrost/scripts/destroy-env.sh b/prototypes/bifrost/scripts/destroy-env.sh index 4dffee62a..86d7bc487 100755 --- a/prototypes/bifrost/scripts/destroy-env.sh +++ b/prototypes/bifrost/scripts/destroy-env.sh @@ -7,6 +7,13 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## + +# We need to execute everything as root +if [[ $(whoami) != "root" ]]; then + echo "Error: This script must be run as root!" + exit 1 +fi + virsh destroy jumphost.opnfvlocal || true virsh destroy controller00.opnfvlocal || true virsh destroy compute00.opnfvlocal || true @@ -22,11 +29,13 @@ mysql -u root ironic --execute "delete from node_tags;" mysql -u root ironic --execute "delete from nodes;" mysql -u root ironic --execute "delete from conductors;" echo "removing leases" -> /var/lib/dnsmasq/dnsmasq.leases +[[ -e /var/lib/misc/dnsmasq/dnsmasq.leases ]] && > /var/lib/misc/dnsmasq/dnsmasq.leases echo "removing logs" rm -rf /var/log/libvirt/baremetal_logs/*.log # clean up dib images only if requested explicitly +CLEAN_DIB_IMAGES=${CLEAN_DIB_IMAGES:-false} + if [ $CLEAN_DIB_IMAGES = "true" ]; then rm -rf /httpboot/* rm -rf /tftpboot/* @@ -36,6 +45,7 @@ fi rm -rf /var/lib/libvirt/images/*.qcow2 echo "restarting services" +service dnsmasq restart service libvirtd restart service ironic-api restart service ironic-conductor start diff --git a/prototypes/bifrost/scripts/test-bifrost-deployment.sh b/prototypes/bifrost/scripts/test-bifrost-deployment.sh index d796f3509..fb49afc42 100755 --- a/prototypes/bifrost/scripts/test-bifrost-deployment.sh +++ b/prototypes/bifrost/scripts/test-bifrost-deployment.sh @@ -57,6 +57,13 @@ export ELEMENTS_PATH=/usr/share/diskimage-builder/elements:/opt/puppet-infraclou export DIB_DEV_USER_PWDLESS_SUDO=yes export DIB_DEV_USER_PASSWORD=devuser +# settings for distro: trusty/ubuntu-minimal, 7/centos-minimal +export DIB_OS_RELEASE=${DIB_OS_RELEASE:-trusty} +export DIB_OS_ELEMENT=${DIB_OS_ELEMENT:-ubuntu-minimal} + +# for centos 7: "openssh-server,vim,less,bridge-utils,iputils,rsyslog,curl" +export DIB_OS_PACKAGES=${DIB_OS_PACKAGES:-"openssh-server,vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl"} + # Source Ansible # NOTE(TheJulia): Ansible stable-1.9 source method tosses an error deep # under the hood which -x will detect, so for this step, we need to suspend diff --git a/prototypes/puppet-infracloud/hiera/common.yaml b/prototypes/puppet-infracloud/hiera/common.yaml index 7d6b44063..1fcde2f75 100644 --- a/prototypes/puppet-infracloud/hiera/common.yaml +++ b/prototypes/puppet-infracloud/hiera/common.yaml @@ -76,5 +76,5 @@ hosts: compute00.opnfvlocal: ip: 192.168.122.4 -# br-eth0 for debian, br-ens3 for RHEL +# br-eth0 for debian, br_ens3 for RHEL bridge_name: br-eth0 diff --git a/prototypes/puppet-infracloud/modules/opnfv/manifests/compute.pp b/prototypes/puppet-infracloud/modules/opnfv/manifests/compute.pp index 77908c0b8..ca548a5d5 100644 --- a/prototypes/puppet-infracloud/modules/opnfv/manifests/compute.pp +++ b/prototypes/puppet-infracloud/modules/opnfv/manifests/compute.pp @@ -8,14 +8,6 @@ class opnfv::compute ( $controller_public_address, $virt_type = 'kvm', ) { - # disable selinux if needed - if $::osfamily == 'RedHat' { - class { 'selinux': - mode => 'permissive', - before => Class['::infracloud::compute'], - } - } - class { '::infracloud::compute': nova_rabbit_password => $nova_rabbit_password, neutron_rabbit_password => $neutron_rabbit_password, diff --git a/prototypes/puppet-infracloud/modules/opnfv/manifests/controller.pp b/prototypes/puppet-infracloud/modules/opnfv/manifests/controller.pp index 4bae42cf7..7522692c1 100644 --- a/prototypes/puppet-infracloud/modules/opnfv/manifests/controller.pp +++ b/prototypes/puppet-infracloud/modules/opnfv/manifests/controller.pp @@ -30,14 +30,6 @@ class opnfv::controller ( $opnfv_password, $opnfv_email = 'opnfvuser@gmail.com', ) { - # disable selinux if needed - if $::osfamily == 'RedHat' { - class { 'selinux': - mode => 'permissive', - before => Class['::infracloud::controller'], - } - } - class { '::infracloud::controller': keystone_rabbit_password => $keystone_rabbit_password, neutron_rabbit_password => $neutron_rabbit_password, |