Bug 1609694

Summary: Adding a ceph-external cluster to an already deployed environment.
Product: Red Hat OpenStack Reporter: Eduard Barrera <ebarrera>
Component: rhosp-directorAssignee: RHOS Maint <rhos-maint>
Status: CLOSED NOTABUG QA Contact: Gurenko Alex <agurenko>
Severity: medium Docs Contact:
Priority: medium    
Version: 10.0 (Newton)CC: aschultz, dbecker, ebarrera, geguileo, gfidente, mburns, morazi, mschuppe, pgrist, rhos-maint
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-24 15:21:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Eduard Barrera 2018-07-30 08:05:08 UTC
Description of problem:

We are trying to add an external ceph cluster to an already deployed tripleo installation with the following results:


   Error: resources[7]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 6
  deploy_stdout: |
    Notice: Scope(Class[Tripleo::Firewall::Post]): At this stage, all network traffic is blocked.
    Notice: Compiled catalog for cpt-8.example.com in environment production in 3.70 seconds

    Notice: /Stage[main]/Nova::Compute::Rbd/Exec[get-or-set virsh secret]/returns: executed successfully
    Notice: /Stage[main]/Nova::Compute::Rbd/Exec[set-secret-value virsh]/returns: error: failed to get secret ''XXXd3b00-4aac-XXXX-XXXX-a0f50XXX68ar'
    Notice: /Stage[main]/Nova::Compute::Rbd/Exec[set-secret-value virsh]/returns: error: Secret not found: no secret with matching uuid 'XXXd3b00-4aac-XXXX-XXXX-a0f50XXX68ar'


  deploy_stderr: |
    exception: connect failed


    Error: /usr/bin/virsh secret-set-value --secret 'XXXd3b00-4aac-XXXX-XXXX-a0f50XXX68bar' --base64 <OFUSCATED>
 returned 1 instead of one of [0]
    Error: /Stage[main]/Nova::Compute::Rbd/Exec[set-secret-value virsh]/returns: change from notrun to 0 failed: /usr/bin/virsh secret-set-value --secret 'XXXd3b00-4aac-XXXX-XXXX-a0f50XXX68bd' --base64  <OFUSCATED> returned 1 instead of one of [0]

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Deploy an environment
2. On this environment add an external ceph cluster
3.

Actual results:
Error above

Expected results:
successful

Comment 4 Martin Schuppert 2018-07-30 10:36:49 UTC
103     #Variable name shrinked in favor of removing
104     #the more than 140 chars puppet-lint warning.
105     #variable used in the get-or-set virsh secret
106     #resource.
107     $cm = '/usr/bin/virsh secret-define --file /etc/nova/secret.xml | /usr/bin/awk \'{print $2}\' | sed \'/^$/d\' > /etc/nova/virsh.secret'
108     exec { 'get-or-set virsh secret':
109       command => "${cm}",
110       unless  => "/usr/bin/virsh secret-list | grep -i ${libvirt_rbd_secret_uuid}",
111       require => [File['/etc/nova/secret.xml'], Service['libvirt']],
112     }        
113              
114     if $libvirt_rbd_secret_key { 
115       $libvirt_key = $libvirt_rbd_secret_key
116     } else { 
117       $libvirt_key = "$(ceph auth get-key ${rbd_keyring})"
118     }        
119     exec { 'set-secret-value virsh':
120       command => "/usr/bin/virsh secret-set-value --secret ${libvirt_rbd_secret_uuid} --base64 ${libvirt_key}",                                                                                                                                                                       
121       unless  => "/usr/bin/virsh secret-get-value ${libvirt_rbd_secret_uuid} | grep ${libvirt_key}",
122       require => Exec['get-or-set virsh secret'],
123       before  => Anchor['nova::config::end'],
124     }        
125   }          

* from log 'get-or-set virsh secret' was successfully defined:
    Notice: /Stage[main]/Nova::Compute::Rbd/Exec[get-or-set virsh secret]/returns: executed successfully

* failed in set-secret-value
    Notice: /Stage[main]/Nova::Compute::Rbd/Exec[set-secret-value virsh]/returns: error: failed to get secret ''XXXd3b00-4aac-XXXX-XXXX-a0f50XXX68ar'
    Notice: /Stage[main]/Nova::Compute::Rbd/Exec[set-secret-value virsh]/returns: error: Secret not found: no secret with matching uuid 'XXXd3b00-4aac-XXXX-XXXX-a0f50XXX68ar'

Does 'virsh secret-list' return the defined secret on the compute?

Comment 13 Giulio Fidente 2018-10-24 15:21:14 UTC
As per comment #10, this was caused by the fsid changing on update. Closing as NOTABUG.