Bug 806294
Summary: | API_PROVIDER from /etc/sysconfig/deltacloud-core is by /etc/init.d/deltacloud-core | ||||||
---|---|---|---|---|---|---|---|
Product: | [Retired] CloudForms Cloud Engine | Reporter: | Luigi Toscano <ltoscano> | ||||
Component: | deltacloud-core | Assignee: | Michal Fojtik <mfojtik> | ||||
Status: | CLOSED ERRATA | QA Contact: | Ronelle Landy <rlandy> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 1.0.0 | CC: | cpelland, dajohnso, hbrock, iboverma, jrd, juwu, lutter, matt, morazi, rananda, whayutin | ||||
Target Milestone: | rc | Keywords: | ZStream | ||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: |
The deltacloud-core service did not include the API_PROVIDER variable from /etc/sysconfig/deltacloud-core, which hinders Deltacloud from communicating with provider APIs. This update makes deltacloud-core include API_PROVIDER and provides successful API communication.
|
Story Points: | --- | ||||
Clone Of: | |||||||
: | 827483 (view as bug list) | Environment: | |||||
Last Closed: | 2012-12-04 15:01:03 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 435010, 827483 | ||||||
Attachments: |
|
As a workaround, try putting 'export API_PROVIDER=foo' into the sysconfig file. It looks like that would do the trick. From bug 803895 - Luigi Toscano 2012-04-06 10:45:14 EDT The workaround "export API_PROVIDER=foo" do work. Fixed in deltacloud-core-0.5.0-9: diff --git a/deltacloud-core.init b/deltacloud-core.init old mode 100644 new mode 100755 index c4b5644..f616582 --- a/deltacloud-core.init +++ b/deltacloud-core.init @@ -35,6 +35,8 @@ LOGFILE="${LOGFILE:-/var/log/$prog/$DRIVER.log}" LOCKFILE="${LOCKFILE:-/var/lock/subsys/$prog}" PIDFILE="${PIDFILE:-/var/run/deltacloud/deltacloud-core-$DRIVER.pid}" +[ ! -z "$API_PROVIDER" ] && API_PROVIDER=" -P $API_PROVIDER" + [[ ! -d /var/run/deltacloud ]] && mkdir /var/run/deltacloud chown $DELTACLOUD_USER /var/run/deltacloud [ -r $LOGFILE ] && chown nobody $LOGFILE @@ -45,7 +47,7 @@ start() { USER=${DELTACLOUD_USER} cd / echo -n $"Starting $prog-$DRIVER: " - $exec -i ${DRIVER} -e ${API_ENV} --user ${DELTACLOUD_USER} --daemon --pid ${PIDFILE} --port ${PORT} --host ${HOST} + $exec -i ${DRIVER}${API_PROVIDER} -e ${API_ENV} --user ${DELTACLOUD_USER} --daemon --pid ${PIDFILE} --port ${PORT} --host ${HOST} retval=$? if [ $retval -eq 0 ] && touch $LOCKFILE ; then Tested rpms: >> rpm -qa |grep deltacloud deltacloud-core-rhevm-0.5.0-9.el6_3.noarch deltacloud-core-vsphere-0.5.0-9.el6_3.noarch deltacloud-core-ec2-0.5.0-9.el6_3.noarch deltacloud-core-0.5.0-9.el6_3.noarch rubygem-deltacloud-client-0.5.0-2.el6.noarch which are now available in: brewroot/repos/ce-rhel-6-build/latest/x86_64/pkglist Modified /etc/sysconfig/deltacloud-core as follows: DRIVER="vsphere" PORT=3003 HOST="localhost" DELTACLOUD_USER="nobody" LOGFILE="/var/log/deltacloud-core/$DRIVER.log" API_PROVIDER=<QE vsphere server ip address> Then executed: >> service deltacloud-core start >> curl -X GET --user '<username>:<password>' "http://localhost:3003/api/images?format=xml" returns images available on specified QE vsphere server: <?xml version='1.0' encoding='utf-8' ?> <images> <image href='http://localhost:3003/api/images/AutoImageImport-DoNotDelete' id='AutoImageImport-DoNotDelete'> <name>AutoImageImport-DoNotDelete</name> <owner_id>Axxxxx</owner_id> <description>Other Linux (64-bit)</description> <architecture>x86_64</architecture> <state>AVAILABLE</state> <actions> <link href='http://localhost:3003/api/instances;image_id=AutoImageImport-DoNotDelete' method='post' rel='create_instance' /> </actions> </image> ......... so the /etc/init.d/deltacloud-core looks to be reading API_PROVIDER specified in /etc/sysconfig/deltacloud-core Moving BZ back to MODIFIED - awaiting ok for final z-stream verification ... as per chat comments copied below <dajo> rlandy, we need to see that rpm in a zstream build before moving to verified Reran the verification steps in Comment 7 above using the versions of the deltacloud rpms installed with cloudForm 1.1: >> rpm -qa |grep deltacloud rubygem-deltacloud-client-0.5.0-2.el6.noarch deltacloud-core-vsphere-0.5.0-10.el6_2.noarch deltacloud-core-rhevm-0.5.0-10.el6_2.noarch deltacloud-core-ec2-0.5.0-10.el6_2.noarch deltacloud-core-0.5.0-10.el6_2.noarch Was able to reproduce the same expected results: >> curl -X GET --user 'un:pw' "http://localhost:3003/api/images?format=xml" <?xml version='1.0' encoding='utf-8' ?> <images> <image href='http://localhost:3003/api/images/AutoImageImport-DoNotDelete' id='AutoImageImport-DoNotDelete'> <name>AutoImageImport-DoNotDelete</name> <owner_id>x</owner_id> <description>Other Linux (64-bit)</description> <architecture>x86_64</architecture> <state>AVAILABLE</state> <actions> <link href='http://localhost:3003/api/instances;image_id=AutoImageImport-DoNotDelete' method='post' rel='create_instance' /> </actions> </image> <image href='http://localhost:3003/api/images/factory-image-1b225ff0-b86f-4f8a-a870-5277d48f9bae' id='factory-image-1b225ff0-b86f-4f8a-a870-5277d48f9bae'> <name>factory-image-1b225ff0-b86f-4f8a-a870-5277d48f9bae</name> <owner_id>x</owner_id> <description>Other Linux (64-bit)</description> <architecture>x86_64</architecture> <state>AVAILABLE</state> <actions> <link href='http://localhost:3003/api/instances;image_id=factory-image-1b225ff0-b86f-4f8a-a870-5277d48f9bae' method='post' rel='create_instance' /> </actions> </image> ...... Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHEA-2012-1516.html |
Created attachment 572249 [details] Proposed patch to fix the problem Description of problem: API_PROVIDER specified into /etc/sysconfig/deltacloud-core is not considered by /etc/init.d/deltacloud-core. Version-Release number of selected component (if applicable): deltacloud-core-0.5.0-5 Expected results: This variable should be considered and used when starting deltacloud-core service.