[ClusterLabs] issue with awscli profile for AWS resource agents

kgaillot at redhat.com kgaillot at redhat.com
Fri Jul 9 11:57:08 EDT 2021


On Thu, 2021-07-08 at 13:18 +0000, Aaron Kennedy wrote:
>  
> Hello,
>  
> I am trying to use AWS resource agents such as ‘awsvip’ and ‘awseip’
> but my awscli profile “could not be found”
>  
> [ec2-user at ip-172-31-43-116 ~]$ sudo pcs resource debug-start --full
> privip                                              
>                                                                 
>  warning: unpack_rsc_op_failure:        Processing failed start of
> privip on ip-172-31-43-84.eu-west-1.compute.internal: not running |
> rc=7
> warning: unpack_rsc_op_failure:        Processing failed start of
> privip on ip-172-31-43-116.eu-west-1.compute.internal: not running |
> rc=7
> warning: unpack_rsc_op_failure:        Processing failed start of
> privip on ip-172-31-45-167.eu-west-1.compute.internal: not running |
> rc=7
> Operation start for privip (ocf:heartbeat:awsvip) returned: 'not
> running' (7)
> >  stderr: + 12:47:21: 45: OCF_RESKEY_awscli_default=/usr/bin/aws
> >  stderr: + 12:47:21: 46: OCF_RESKEY_profile_default=default
> >  stderr: + 12:47:21: 47: OCF_RESKEY_api_delay_default=3
> >  stderr: + 12:47:21: 49: : /usr/bin/aws
> >  stderr: + 12:47:21: 50: : default
> >  stderr: + 12:47:21: 51: : 3
> >  stderr: + 12:47:21: 196: case $__OCF_ACTION in
> >  stderr: + 12:47:21: 203: AWSCLI=/usr/bin/aws
> >  stderr: + 12:47:21: 204: SECONDARY_PRIVATE_IP=172.31.45.5
> >  stderr: ++ 12:47:21: 205: curl -s 
> http://169.254.169.254/latest/meta-data/instance-id
> >  stderr: + 12:47:21: 205: INSTANCE_ID=i-0ea1bfc7adcc6197e
> >  stderr: ++ 12:47:21: 206: /usr/bin/aws --profile default --output
> json ec2 describe-instances --instance-id i-0ea1bfc7adcc6197e
> >  stderr: ++ 12:47:21: 206: awk '-F"' '{print$4}'
> >  stderr: ++ 12:47:21: 206: grep -m 1 eni
> >  stderr:
> >  stderr: The config profile (default) could not be found
> >  stderr: + 12:47:21: 206: NETWORK_ID=
> >  stderr: + 12:47:21: 208: case $__OCF_ACTION in
> >  stderr: + 12:47:21: 210: awsvip_validate
> >  stderr: + 12:47:21: awsvip_validate:181: check_binary /usr/bin/aws
> >  stderr: + 12:47:21: check_binary:56: have_binary /usr/bin/aws
> >  stderr: + 12:47:21: have_binary:68: '[' '' = 1 ']'
> >  stderr: ++ 12:47:21: have_binary:71: echo /usr/bin/aws
> >  stderr: ++ 12:47:21: have_binary:71: sed -e 's/ -.*//'
> >  stderr: + 12:47:21: have_binary:71: local bin=/usr/bin/aws
> >  stderr: ++ 12:47:21: have_binary:72: which /usr/bin/aws
> >  stderr: + 12:47:21: have_binary:72: test -x /usr/bin/aws
> >  stderr: + 12:47:21: awsvip_validate:183: '[' -z default ']'
> >  stderr: + 12:47:21: awsvip_validate:188: '[' -z i-
> 0ea1bfc7adcc6197e ']'
> >  stderr: + 12:47:21: awsvip_validate:193: return 0
> >  stderr: + 12:47:21: 211: awsvip_start
> >  stderr: + 12:47:21: awsvip_start:132: awsvip_monitor
> >  stderr: + 12:47:21: awsvip_monitor:171: /usr/bin/aws --profile
> default ec2 describe-instances --instance-id i-0ea1bfc7adcc6197e
> >  stderr: + 12:47:21: awsvip_monitor:171: grep -q 172.31.45.5
> >  stderr:
> >  stderr: The config profile (default) could not be found
> <truncated>
>  
> But if I simply run the binary with the same options there is no
> issue:
>  
> [ec2-user at ip-172-31-43-116 ~]$ /usr/bin/aws --profile default --
> output json ec2 describe-instances --instance-id i-0ea1bfc7adcc6197e
> {
>     "Reservations": [
>         {
>             "Instances": [
>                 {
>                     "Monitoring": {
>                         "State": "disabled"
>                     },
>                     "PublicDnsName": "ec2-34-243-96-249.eu-west-
> 1.compute.amazonaws.com",
>                     "State": {
>                         "Code": 16,
>                         "Name": "running"
>                     },
>                     "EbsOptimized": true,
>                     "LaunchTime": "2021-07-07T11:10:57.000Z",
>                     "PublicIpAddress": "34.243.96.249",
>                     "PrivateIpAddress": "172.31.43.116",
>                     "ProductCodes": [],
>                     "VpcId": "vpc-58799c3f",
>                    "CpuOptions": {
>                         "CoreCount": 1,
>                         "ThreadsPerCore": 2
>                     },
> <truncated>

If something runs from the command line but not from the cluster, the
first thing I check is SELinux denials. Another possibility is a
missing ordering (in the boot system or the cluster) such that some
required dependency is not yet available when the agent is run.
 
> I’ve tried recreating the awscli profile with a named option (instead
> of default) and create the resource with the same named option
> (instead of default) but I get the same result, eg “The config
> profile (aaron) could not be found.” I’m not sure how to troubleshoot
> this further since the RA is leveraging /usr/bin/aws which is using a
> properly configured profile.
>  
> Thanks for any helpful suggestions!
>  
> Best regards,
> Aaron
-- 
Ken Gaillot <kgaillot at redhat.com>



More information about the Users mailing list