Quality Criteria Verification Report ==================================== Product: occi Release: ifca.occi.centos7.x86_64-0.3.2 Software Provider: IFCA RT Ticket: 12045 Provider contact: aloga@ifca.unican.es Verifier: Pablo Orviz Hours worked: 1h Date: 17/11/2016 Status: Accepted Summary ======= Mixed automated (OOI) and manual (devstack) deployments. - OpenStack infra deployed using Devstack tool (mitaka) -> manually - OOI deployed using umd-verification tool -> automatically using Puppet * Manifest: https://github.com/egi-qc/umd-verification/blob/redux/etc/puppet/ooi.pp * External modules: https://github.com/egi-qc/puppet-ooi - Testing (manual) * Discovery * Create VM * Show VM * Remove VM * List VMs Related tickets =============== None. Documentation Criteria ====================== * Release notes: https://appdb.egi.eu/store/software/ooi/releases/occi-1.1/0.3.2/ * User Documentation: http://ooi.readthedocs.io/en/stable/ * API Documentation: http://ooi.readthedocs.io/en/stable/ * Admin Documentation: http://ooi.readthedocs.io/en/stable/ * Software License: Apache 2.0 Generic Criteria ================ (Possible Statuses: OK, WARN, FAIL, NA (Not Applicable) or NT (Not Tested)) * Binary Distribution: OK * Upgrade: NT * X.509 Certificate support: OK * SHA-2 Certificates Support: OK * RFC Proxy support: NA * ARGUS Integration: NA * World Writable Files: OK * Passwords in world readable files: OK * GlueSchema 1.3 Support: NA * GlueSchema 2.0 Support: NA * Middleware Version Information: NA * Service Probes: OK * Accounting Records: NA * Bug Tracking System: OK Verification Logs ================= ######################### ## Devstack deployment ## ######################### $ git clone https://github.com/openstack-dev/devstack -b stable/mitaka && cd devstack $ cat < local.conf [[local|localrc]] ADMIN_PASSWORD=secret DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD disable_service n-net enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 enable_service q-meta IP_VERSION=4 NEUTRON_CREATE_INITIAL_NETWORKS=False #FLOATING_RANGE=192.168.1.224/27 #FIXED_RANGE=10.11.12.0/24 #FIXED_NETWORK_SIZE=256 #FLAT_INTERFACE=eth0 EOF $ ./stack.sh $ source openrc ###################### ## devstack testing ## ###################### $ nova list +----+------+--------+------------+-------------+----------+ | ID | Name | Status | Task State | Power State | Networks | +----+------+--------+------------+-------------+----------+ +----+------+--------+------------+-------------+----------+ #################### ## ooi deployment ## #################### $ sudo fab ooi:umd_release=4,openstack_release=mitaka,repository_file=http://admin-repo.egi.eu/sw/unverified/cmd-os-1.ifca.occi.centos7.x86_64/0/3/2/repofiles/IFCA.occi.centos7.x86_64.repo [INFO] Using UMD 4 release repository [INFO] Using UMD verification repository file: ['http://admin-repo.egi.eu/sw/unverified/cmd-os-1.ifca.occi.centos7.x86_64/0/3/2/repofiles/IFCA.occi.centos7.x86_64.repo'] [WARN] No installation type provided: performing installation. UMD verification tool ===================== Quality criteria: http://egi-qc.github.io Codebase: https://github.com/egi-qc/umd-verification Path locations | | log_path /var/tmp/umd-verification | yaim_path etc/yaim | puppet_path etc/puppet Production repositories | | umd_release_pkg http://repository.egi.eu/sw/production/umd/4/centos7/x86_64/base/umd-release-4.0.0-1.el7.noarch.rpm | igtf_repo http://repository.egi.eu/sw/production/cas/1/current/repo-files/EGI-trustanchors.repo | epel_release http://mirror.uv.es/mirror/fedora-epel//epel-release-latest-7.noarch.rpm [INFO] Using the following repository files + http://admin-repo.egi.eu/sw/unverified/cmd-os-1.ifca.occi.centos7.x86_64/0/3/2/repofiles/IFCA.occi.centos7.x86_64.repo [INFO] Running configuration [localhost] local: sudo -E yum -y install puppet [INFO] OOI hiera parameters set: /etc/puppet/hieradata/ooi.yaml [INFO] Adding hiera parameter files: ['ooi', 'umd'] [localhost] local: sudo -E gem install librarian-puppet [localhost] local: sudo -E /usr/local/bin/librarian-puppet install --clean --path=/etc/puppet/modules [localhost] local: sudo -E puppet config print modulepath [localhost] local: sudo -E puppet apply --modulepath /etc/puppet/modules:/usr/share/puppet/modules etc/puppet/ooi.pp --detail-exitcodes [INFO] Log directory '/var/tmp/umd-verification' has been created. [FAIL] Command execution has failed (reason: "") (action: no exit) (log: ['qc_conf.stdout']) [INFO] Puppet execution ended successfully (some warnings though, check logs) [[QC_SEC_2: SHA-2 Certificates Support]] [NA] Product does not need certificates. [[QC_SEC_5: World Writable Files]] [localhost] local: sudo -E find / -not \( -path "/proc" -prune \) -not \( -path "/sys" -prune \) -type f -perm -002 -exec ls -l {} \; [OK] Found no world-writable file. [[QC_INFO_1: GlueSchema 1.3 Support]] [NA] Product does not publish information through BDII. [[QC_INFO_2: GlueSchema 2.0 Support]] [NA] Product does not publish information through BDII. [[QC_INFO_3: Middleware Version Information]] [NA] Product does not publish information through BDII. [[QC_MON_1: Service Probes]] [NA] Product cannot be tested by Nagios. [INFO] No QC-specific ID provided: no specific QC probes will be ran. ############################### ## ooi startup with devstack ## ############################### Manually restart the nova-api service: 1. Get to the screens with `screen -x` 2. Navigate where the `nova-api` service is running to restart it ################# ## ooi testing ## ################# $ nova credentials /usr/local/lib/python2.7/dist-packages/novaclient/v2/shell.py:4258: UserWarning: nova credentials is deprecated, use openstack client instead "nova credentials is deprecated, use openstack client instead") +------------------+-----------------------------------------------+ | User Credentials | Value | +------------------+-----------------------------------------------+ | id | 150473b30d7b4cad933414775a9e36b2 | | name | demo | | roles | [{"name": "anotherrole"}, {"name": "Member"}] | | roles_links | [] | | username | demo | +------------------+-----------------------------------------------+ +-----------+------------------------------------------------------------+ | Token | Value | +-----------+------------------------------------------------------------+ | audit_ids | ["dkI2-NLzSL-ikPl4C9r7Qw"] | | expires | 2016-11-16T17:11:19Z | | id | ee608befa0ec46b9b33857c551f6e09f | | issued_at | 2016-11-16T16:11:19.705040Z | | tenant | {"enabled": true, "description": "", "name": "demo", "id": | | | "f8578c66d71d4e9cb5cf22bfdf558b96"} | +-----------+------------------------------------------------------------+ $ export KID=ee608befa0ec46b9b33857c551f6e09f # -- Discovery -- # $ curl -H "x-auth-token: $KID" http://localhost:8787/occi1.1/-/ Category: entity; scheme="http://schemas.ogf.org/occi/core#"; class="kind"; title="entity"; location="http://localhost:8787/occi1.1/entity/" Category: resource; scheme="http://schemas.ogf.org/occi/core#"; class="kind"; title="resource"; rel="http://schemas.ogf.org/occi/core#entity"; location="http://localhost:8787/occi1.1/resource/" Category: link; scheme="http://schemas.ogf.org/occi/core#"; class="kind"; title="link"; location="http://localhost:8787/occi1.1/link/" Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="compute resource"; rel="http://schemas.ogf.org/occi/core#resource"; location="http://localhost:8787/occi1.1/compute/" Category: start; scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#"; class="action"; title="start compute instance" Category: stop; scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#"; class="action"; title="stop compute instance" Category: restart; scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#"; class="action"; title="restart compute instance" Category: suspend; scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#"; class="action"; title="suspend compute instance" Category: storage; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="storage resource"; rel="http://schemas.ogf.org/occi/core#resource"; location="http://localhost:8787/occi1.1/storage/" Category: storagelink; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="storage link resource"; rel="http://schemas.ogf.org/occi/core#link"; location="http://localhost:8787/occi1.1/storagelink/" Category: online; scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#"; class="action"; title="online storage instance" Category: offline; scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#"; class="action"; title="offline storage instance" Category: backup; scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#"; class="action"; title="backup storage instance" Category: snapshot; scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#"; class="action"; title="snapshot storage instance" Category: resize; scheme="http://schemas.ogf.org/occi/infrastructure/storage/action#"; class="action"; title="resize storage instance" Category: network; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="network resource"; rel="http://schemas.ogf.org/occi/core#resource"; location="http://localhost:8787/occi1.1/network/" Category: up; scheme="http://schemas.ogf.org/occi/infrastructure/network/action#"; class="action"; title="up network instance" Category: down; scheme="http://schemas.ogf.org/occi/infrastructure/network/action#"; class="action"; title="down network instance" Category: neutron; scheme="http://schemas.openstack.org/infrastructure/network#"; class="mixin"; title="Network component" Category: ipnetwork; scheme="http://schemas.ogf.org/occi/infrastructure/network#"; class="mixin"; title="IP Networking Mixin" Category: networkinterface; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="network link resource"; rel="http://schemas.ogf.org/occi/core#link"; location="http://localhost:8787/occi1.1/networklink/" Category: ipnetworkinterface; scheme="http://schemas.ogf.org/occi/infrastructure/networkinterface#"; class="mixin"; title="IP Network interface Mixin" Category: os_tpl; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="mixin"; title="OCCI OS Template"; location="http://localhost:8787/occi1.1/os_tpl/" Category: resource_tpl; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="mixin"; title="OCCI Resource Template"; location="http://localhost:8787/occi1.1/resource_tpl/" Category: 1; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.tiny"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://localhost:8787/occi1.1/resource_tpl/1" Category: 2; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.small"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://localhost:8787/occi1.1/resource_tpl/2" Category: 3; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.medium"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://localhost:8787/occi1.1/resource_tpl/3" Category: 4; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.large"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://localhost:8787/occi1.1/resource_tpl/4" Category: 42; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.nano"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://localhost:8787/occi1.1/resource_tpl/42" Category: 5; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.xlarge"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://localhost:8787/occi1.1/resource_tpl/5" Category: 84; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.micro"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://localhost:8787/occi1.1/resource_tpl/84" Category: 8dc18997-2ce4-45d0-a16d-0e04413bb57c; scheme="http://schemas.openstack.org/template/os#"; class="mixin"; title="cirros-0.3.4-x86_64-uec"; rel="http://schemas.ogf.org/occi/infrastructure#os_tpl"; location="http://localhost:8787/occi1.1/os_tpl/8dc18997-2ce4-45d0-a16d-0e04413bb57c" Category: 1e1830c1-22fb-4b73-9024-68a5aca5ba3f; scheme="http://schemas.openstack.org/template/os#"; class="mixin"; title="cirros-0.3.4-x86_64-uec-ramdisk"; rel="http://schemas.ogf.org/occi/infrastructure#os_tpl"; location="http://localhost:8787/occi1.1/os_tpl/1e1830c1-22fb-4b73-9024-68a5aca5ba3f" Category: acabbd53-2468-429b-b05f-9ee07491a94d; scheme="http://schemas.openstack.org/template/os#"; class="mixin"; title="cirros-0.3.4-x86_64-uec-kernel"; rel="http://schemas.ogf.org/occi/infrastructure#os_tpl"; location="http://localhost:8787/occi1.1/os_tpl/acabbd53-2468-429b-b05f-9ee07491a94d" Category: user_data; scheme="http://schemas.openstack.org/compute/instance#"; class="mixin"; title="Contextualization extension - user_data" Category: public_key; scheme="http://schemas.openstack.org/instance/credentials#"; class="mixin"; title="Contextualization extension - public_key" # -- Create compute -- # $ curl -X POST http://localhost:8787/occi1.1/compute/ \ -H 'X-Auth-Token: '$KID \ -H 'Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"' \ -H 'Category: 8dc18997-2ce4-45d0-a16d-0e04413bb57c; scheme="http://schemas.openstack.org/template/os#"; class="mixin"' \ -H 'Category: 2; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"' \ -H 'Content-Type: text/occi' \ -H 'X-OCCI-Attribute: occi.core.title="OOI_VM_1"' X-OCCI-Location: http://localhost:8787/occi1.1/compute/30842c5c-12ec-41f7-8999-c9add592d611 # -- Show compute -- # $ curl -H 'X-Auth-token: '$KID http://localhost:8787/occi1.1/compute/30842c5c-12ec-41f7-8999-c9add592d611 Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="compute resource"; rel="http://schemas.ogf.org/occi/core#resource"; location="http://localhost:8787/occi1.1/compute/" Category: 8dc18997-2ce4-45d0-a16d-0e04413bb57c; scheme="http://schemas.openstack.org/template/os#"; class="mixin"; title="cirros-0.3.4-x86_64-uec"; rel="http://schemas.ogf.org/occi/infrastructure#os_tpl"; location="http://localhost:8787/occi1.1/os_tpl/8dc18997-2ce4-45d0-a16d-0e04413bb57c" Category: 2; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.small"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://localhost:8787/occi1.1/resource_tpl/2" X-OCCI-Attribute: occi.core.title="OOI_VM_1" X-OCCI-Attribute: occi.compute.state="inactive" X-OCCI-Attribute: occi.compute.memory=2048 X-OCCI-Attribute: occi.compute.cores=1 X-OCCI-Attribute: occi.compute.hostname="OOI_VM_1" X-OCCI-Attribute: occi.core.id="30842c5c-12ec-41f7-8999-c9add592d611" Link: ; rel="http://schemas.ogf.org/occi/infrastructure/compute/action#start" Link: ; rel="http://schemas.ogf.org/occi/infrastructure/compute/action#stop" Link: ; rel="http://schemas.ogf.org/occi/infrastructure/compute/action#restart" Link: ; rel="http://schemas.ogf.org/occi/infrastructure/compute/action#suspend" # -- Delete compute -- # $ curl -X DELETE -H 'X-Auth-token: '$KID http://localhost:8787/occi1.1/compute/30842c5c-12ec-41f7-8999-c9add592d611 # -- List compute -- # $ curl -H "X-Auth-Token: $KID" http://localhost:8787/occi1.1/compute