Net-OpenStack-Client v0.1.4 Perl 5 v5.41.10 x86_64-linux-ld
- Status
- Pass
- From
- Andreas J. König (ANDK)
- Dist
-
Net-OpenStack-Client v0.1.4
- Platform
- Perl 5 v5.41.10 x86_64-linux-ld
- Date
- 2025-04-18 09:36:30
- ID
- 9be48180-1c38-11f0-99cb-df86e766417c
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear Stijn De Weirdt,
This is a computer-generated report for Net-OpenStack-Client-0.1.4
on perl 5.41.10, created by CPAN-Reporter-1.2020.
Thank you for uploading your work to CPAN. Congratulations!
All tests were successful.
Sections of this report:
* Tester comments
* Program output
* Prerequisites
* Environment and other context
------------------------------
TESTER COMMENTS
------------------------------
Additional comments from tester:
this report is from an automated smoke testing program
and was not reviewed by a human for accuracy
------------------------------
PROGRAM OUTPUT
------------------------------
Output from '/usr/bin/make test':
PERL_DL_NONLAZY=1 "/tmp/basesmoker-reloperl-9UT2/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-import.t ................. ok
t/00-pod.t .................... ok
t/api-convert.t ............... ok
t/api-magic.t ................. ok
t/author-pod-syntax.t ......... skipped: these tests are for testing by the author
t/client-api.t ................ ok
# [DEBUG] Parsed openrc file t/openrc_example: found variables OS_AUTH_URL,OS_IDENTITY_API_VERSION,OS_IMAGE_API_VERSION,OS_PASSWORD,OS_PROJECT_DOMAIN_NAME,OS_PROJECT_NAME,OS_USERNAME,OS_USER_DOMAIN_NAME
# [DEBUG] Parsed openrc file t/openrc_example: found variables OS_AUTH_URL,OS_IDENTITY_API_VERSION,OS_IMAGE_API_VERSION,OS_PASSWORD,OS_PROJECT_DOMAIN_NAME,OS_PROJECT_NAME,OS_USERNAME,OS_USER_DOMAIN_NAME
# [DEBUG] REST POST url http://controller:35357/v3/auth/tokens, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"auth":{"identity":{"methods":["password"],"password":{"user":{"domain":{"name":"Default"},"name":"admin","password":"ADMIN_PASS"}}},"scope":{"project":{"domain":{"name":"Default"},"name":"admin"}}}}
# [VERBOSE] Successful REST POST url http://controller:35357/v3/auth/tokens type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json,X-Subject-Token=mytoken
# [DEBUG] REST POST full response content {"token":{"catalog":[{"endpoints":[{"interface":"internal","url":"somewhere/s/internal"},{"interface":"admin","url":"somewhere/s/admin"}],"type":"super"},{"endpoints":[{"interface":"internal","url":"somewhere/d/internal"},{"interface":"public","url":"somewhere/d/public"}],"type":"duper"}],"user":{"domain":{"id":"default","name":"Default"},"id":"423f19a4ac1e4f48bbb4180756e6eb6c","name":"admin"}}}
# [VERBOSE] login succesful, obtained a token
# [VERBOSE] Added endpoint somewhere/s/admin for service super from catalog
# [VERBOSE] Added endpoint somewhere/d/internal for service duper from catalog
t/client-auth.t ............... ok
t/client-error.t .............. ok
# [DEBUG] Parsed openrc file t/openrc_example: found variables OS_AUTH_URL,OS_IDENTITY_API_VERSION,OS_IMAGE_API_VERSION,OS_PASSWORD,OS_PROJECT_DOMAIN_NAME,OS_PROJECT_NAME,OS_USERNAME,OS_USER_DOMAIN_NAME
# [DEBUG] REST POST url http://controller:35357/v3/auth/tokens, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"auth":{"identity":{"methods":["password"],"password":{"user":{"domain":{"name":"Default"},"name":"admin","password":"ADMIN_PASS"}}},"scope":{"project":{"domain":{"name":"Default"},"name":"admin"}}}}
# POST: no match cmd found for method POST. success=1 response
# [VERBOSE] Successful REST POST url http://controller:35357/v3/auth/tokens type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"success":1}
# [VERBOSE] login succesful, obtained a token
# [DEBUG] REST GET url http://controller:35357/v3/projects?name=tagprojectid, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?name=tagprojectid type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":2}]}
# [VERBOSE] ID 2 found for project with name tagprojectid
# [VERBOSE] Tagstore for tagprojectid intialised (id 2)
# [VERBOSE] fetching tagstore data cache
# [DEBUG] REST GET url http://controller:35357/v3/projects?parent_id=2, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?parent_id=2 type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":6,"name":"tagprojectid_5","tags":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]},{"id":5,"name":"tagprojectid_4","tags":[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169]}]}
# [INFO] flushed tagstore cache and counter
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [INFO] flushed tagstore cache and counter
# [VERBOSE] fetching tagstore data cache
# [DEBUG] REST GET url http://controller:35357/v3/projects?parent_id=2, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?parent_id=2 type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":6,"name":"tagprojectid_5","tags":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]},{"id":5,"name":"tagprojectid_4","tags":[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169]}]}
# [ERROR] No sane tag data to some message: undefined value
# [ERROR] No sane tag data to some message: only scalar allowed, got HASH.
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [VERBOSE] using existing tagstore project 5 for atag
# [DEBUG] REST PUT url http://controller:35357/v3/projects/5/tags/atag, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/5/tags/atag type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added atag to tagstore
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] REST POST url http://controller:35357/v3/projects, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"project":{"name":"tagprojectid_6","parent_id":"2"}}
# [VERBOSE] Successful REST POST url http://controller:35357/v3/projects type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"project":{"id":9,"name":"tagprojectid_6"}}
# [DEBUG] REST PUT url http://controller:35357/v3/projects/9/tags/atag2, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/9/tags/atag2 type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added atag2 to tagstore
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] REST DELETE url http://controller:35357/v3/projects/5/tags/atag, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST DELETE full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# DELETE: no match cmd found for method DELETE. success=1 response
# [VERBOSE] Successful REST DELETE url http://controller:35357/v3/projects/5/tags/atag type application/json
# [DEBUG] REST DELETE full response headers Content-Type=application/json
# [DEBUG] REST DELETE full response content {"success":1}
# [VERBOSE] deleted atag from tagstore
# [DEBUG] REST GET url http://controller:35357/v3/projects?name=tagprojectempty, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?name=tagprojectempty type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":11111}]}
# [VERBOSE] ID 11111 found for project with name tagprojectempty
# [VERBOSE] Tagstore for tagprojectempty intialised (id 11111)
# [VERBOSE] fetching tagstore data cache
# [DEBUG] REST GET url http://controller:35357/v3/projects?parent_id=11111, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?parent_id=11111 type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":11113,"name":"tagprojectempty_2","tags":[]},{"id":11112,"name":"tagprojectempty_1","tags":[1]}]}
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] REST DELETE url http://controller:35357/v3/projects/11112/tags/1, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST DELETE full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# DELETE: no match cmd found for method DELETE. success=1 response
# [VERBOSE] Successful REST DELETE url http://controller:35357/v3/projects/11112/tags/1 type application/json
# [DEBUG] REST DELETE full response headers Content-Type=application/json
# [DEBUG] REST DELETE full response content {"success":1}
# [VERBOSE] deleted 1 from tagstore
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [VERBOSE] Using first empty tagstore project id 11113
# [DEBUG] REST PUT url http://controller:35357/v3/projects/11113/tags/atagempty, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/11113/tags/atagempty type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added atagempty to tagstore
# bless( {
# 'cache' => {
# 'atagempty' => 11113
# },
# 'client' => bless( {
# 'debugapi' => 1,
# 'log' => bless( {}, 'logger' ),
# 'rc' => bless( {
# 'code' => 204,
# 'content' => undef,
# 'headers' => {
# 'Content-Type' => 'application/json'
# },
# 'method' => 'PUT',
# 'opts' => {
# 'useragent' => bless( {
# 'cookie_jar' => bless( {
# 'COOKIES' => {}
# }, 'HTTP::Cookies' ),
# 'cookie_jar_class' => 'HTTP::Cookies',
# 'def_headers' => bless( {
# 'user-agent' => 'libwww-perl/6.78'
# }, 'HTTP::Headers' ),
# 'handlers' => {
# 'request_prepare' => bless( [
# {
# 'callback' => sub { "DUMMY" },
# 'line' => '/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.41.10/5674/lib/site_perl/5.41.10/LWP/UserAgent.pm:835',
# 'owner' => 'LWP::UserAgent::cookie_jar'
# }
# ], 'HTTP::Config' ),
# 'response_done' => bless( [
# {
# 'callback' => sub { "DUMMY" },
# 'line' => '/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.41.10/5674/lib/site_perl/5.41.10/LWP/UserAgent.pm:838',
# 'owner' => 'LWP::UserAgent::cookie_jar'
# }
# ], 'HTTP::Config' ),
# 'response_header' => bless( [
# {
# 'callback' => sub { "DUMMY" },
# 'line' => '/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.41.10/5674/lib/site_perl/5.41.10/LWP/UserAgent.pm:797',
# 'm_media_type' => 'html',
# 'owner' => 'LWP::UserAgent::parse_head'
# }
# ], 'HTTP::Config' )
# },
# 'local_address' => undef,
# 'max_redirect' => 7,
# 'max_size' => undef,
# 'no_proxy' => [],
# 'protocols_allowed' => undef,
# 'protocols_forbidden' => undef,
# 'proxy' => {},
# 'requests_redirectable' => [
# 'GET',
# 'HEAD'
# ],
# 'send_te' => 1,
# 'show_progress' => undef,
# 'ssl_opts' => {
# 'verify_hostname' => 1
# },
# 'timeout' => 180,
# 'use_eval' => 1
# }, 'LWP::UserAgent' )
# },
# 'result' => '{"success":1}',
# 'url' => 'http://controller:35357/v3/projects/11113/tags/atagempty'
# }, 'REST::Client' ),
# 'services' => {
# 'identity' => 'http://controller:35357/v3'
# },
# 'token' => undef,
# 'versions' => {
# 'identity' => bless( {
# 'original' => 'v3',
# 'qv' => 1,
# 'version' => [
# 3,
# 0,
# 0
# ]
# }, 'version' )
# }
# }, 'Net::OpenStack::Client' ),
# 'counter' => 2,
# 'empty' => [
# 11112
# ],
# 'id' => 11111,
# 'log' => $VAR1->{'client'},
# 'project' => 'tagprojectempty',
# 'services' => {},
# 'versions' => {}
# }, 'Net::OpenStack::Client::Identity::Tagstore' )
# mock_rest: current history [
# 'POST http://controller:35357/v3/auth/tokens {"auth":{"identity":{"methods":["password"],"password":{"user":{"domain":{"name":"Default"},"name":"admin","password":"ADMIN_PASS"}}},"scope":{"project":{"domain":{"name":"Default"},"name":"admin"}}}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/projects?name=tagprojectid Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/projects?parent_id=2 Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/projects?parent_id=2 Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/5/tags/atag {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'POST http://controller:35357/v3/projects {"project":{"name":"tagprojectid_6","parent_id":"2"}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/9/tags/atag2 {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'DELETE http://controller:35357/v3/projects/5/tags/atag Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/projects?name=tagprojectempty Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/projects?parent_id=11111 Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'DELETE http://controller:35357/v3/projects/11112/tags/1 Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/11113/tags/atagempty {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json'
# ]
t/client-identity-tagstore.t .. ok
# sort result [
# 'c',
# 'f',
# 'a',
# 'b',
# 'e',
# 'd'
# ]
# [DEBUG] Parsed openrc file t/openrc_example: found variables OS_AUTH_URL,OS_IDENTITY_API_VERSION,OS_IMAGE_API_VERSION,OS_PASSWORD,OS_PROJECT_DOMAIN_NAME,OS_PROJECT_NAME,OS_USERNAME,OS_USER_DOMAIN_NAME
# [DEBUG] REST POST url http://controller:35357/v3/auth/tokens, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"auth":{"identity":{"methods":["password"],"password":{"user":{"domain":{"name":"Default"},"name":"admin","password":"ADMIN_PASS"}}},"scope":{"project":{"domain":{"name":"Default"},"name":"admin"}}}}
# POST: no match cmd found for method POST. success=1 response
# [VERBOSE] Successful REST POST url http://controller:35357/v3/auth/tokens type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"success":1}
# [VERBOSE] login succesful, obtained a token
# [DEBUG] REST GET url http://controller:35357/v3/users?name=existing, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/users?name=existing type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"users":[{"id":2}]}
# [VERBOSE] ID 2 found for user with name existing
# mock_rest: current history [
# 'GET http://controller:35357/v3/users?name=existing Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json'
# ]
# [DEBUG] REST GET url http://controller:35357/v3/users/, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/users/ type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"users":[{"description":"existing user (managed by)","email":"e@b","enabled":1,"id":1,"name":"existing"},{"description":"hooba (managed by)","email":"u@b","enabled":1,"id":2,"name":"update"},{"description":"existing user but not managed","email":"i@b","enabled":1,"id":3,"name":"ignore"},{"description":"existing user to be disabled (managed by)","email":"d@b","enabled":1,"id":4,"name":"disable"},{"description":"already disabled existing (managed by)","email":"d@b","enabled":0,"id":5,"name":"alreadydisabled"}]}
# [INFO] Creating users: anewuser
# [DEBUG] REST GET url http://controller:35357/v3/domains?name=somedomain, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/domains?name=somedomain type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"domains":[{"id":"dom123","name":"somedomain"}]}
# [VERBOSE] ID dom123 found for domain with name somedomain
# [DEBUG] REST POST url http://controller:35357/v3/users/, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"user":{"description":"new user","domain_id":"dom123","email":"a@b","enabled":true,"name":"anewuser"}}
# [VERBOSE] Successful REST POST url http://controller:35357/v3/users/ type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"user":{"id":123}}
# [VERBOSE] sync: created user anewuser
# [INFO] Possibly updating existing users: existing update
# [DEBUG] REST PATCH url http://controller:35357/v3/users/2, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PATCH full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PATCH full body {"user":{"description":"to be updated (managed by)"}}
# [VERBOSE] Successful REST PATCH url http://controller:35357/v3/users/2 type application/json
# [DEBUG] REST PATCH full response headers Content-Type=application/json
# [DEBUG] REST PATCH full response content {"user":{"id":2}}
# [VERBOSE] sync: updated user update
# [INFO] Updated existing users: update
# [INFO] Disabling existing users: alreadydisabled disable
# [VERBOSE] Not disabling already disabled user alreadydisabled (id 5)
# [DEBUG] REST PATCH url http://controller:35357/v3/users/4, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PATCH full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PATCH full body {"user":{"enabled":false}}
# [VERBOSE] Successful REST PATCH url http://controller:35357/v3/users/4 type application/json
# [DEBUG] REST PATCH full response headers Content-Type=application/json
# [DEBUG] REST PATCH full response content {"user":{"id":4}}
# [VERBOSE] sync: deleted user disable
# sync result {
# 'create' => [
# [
# 'anewuser',
# {
# 'id' => 123
# }
# ]
# ],
# 'delete' => [
# [
# 'disable',
# {
# 'id' => 4
# }
# ]
# ],
# 'update' => [
# [
# 'update',
# {
# 'id' => 2
# }
# ]
# ]
# }
# mock_rest: current history [
# 'GET http://controller:35357/v3/users/ Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/domains?name=somedomain Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'POST http://controller:35357/v3/users/ {"user":{"description":"new user","domain_id":"dom123","email":"a@b","enabled":true,"name":"anewuser"}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PATCH http://controller:35357/v3/users/2 {"user":{"description":"to be updated (managed by)"}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PATCH http://controller:35357/v3/users/4 {"user":{"enabled":false}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json'
# ]
# [DEBUG] REST GET url http://controller:35357/v3/projects?name=hoopla, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?name=hoopla type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":2}]}
# [VERBOSE] Found one tagstore project hoopla id 2
# [DEBUG] REST GET url http://controller:35357/v3/projects?name=hoopla, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?name=hoopla type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":2}]}
# [VERBOSE] ID 2 found for project with name hoopla
# [VERBOSE] Tagstore for hoopla intialised (id 2)
# [DEBUG] REST GET url http://controller:35357/v3/regions/, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/regions/ type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"regions":[{"enabled":1,"id":"toremove"},{"enabled":1,"id":"toignore"}]}
# [VERBOSE] fetching tagstore data cache
# [DEBUG] REST GET url http://controller:35357/v3/projects?parent_id=2, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?parent_id=2 type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":10,"name":"hoopla_4","tags":["ID_region_toremove","ID_endpoint_toremove","ID_endpoint_pub2","ID_endpoint_priv3","ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAx","ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAy"]}]}
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [INFO] Creating regions: regone regtwo a2nd
# [DEBUG] REST POST url http://controller:35357/v3/regions/, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"region":{"enabled":true,"id":"regone"}}
# [VERBOSE] Successful REST POST url http://controller:35357/v3/regions/ type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"region":{"id":"regone"}}
# [VERBOSE] sync: created region regone
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [VERBOSE] using existing tagstore project 10 for ID_region_regone
# [DEBUG] REST PUT url http://controller:35357/v3/projects/10/tags/ID_region_regone, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/10/tags/ID_region_regone type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added ID_region_regone to tagstore
# [DEBUG] REST POST url http://controller:35357/v3/regions/, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"region":{"enabled":true,"id":"regtwo"}}
# [VERBOSE] Successful REST POST url http://controller:35357/v3/regions/ type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"region":{"id":"regtwo"}}
# [VERBOSE] sync: created region regtwo
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [VERBOSE] using existing tagstore project 10 for ID_region_regtwo
# [DEBUG] REST PUT url http://controller:35357/v3/projects/10/tags/ID_region_regtwo, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/10/tags/ID_region_regtwo type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added ID_region_regtwo to tagstore
# [DEBUG] REST POST url http://controller:35357/v3/regions/, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"region":{"enabled":true,"id":"a2nd","parent_region_id":"regone"}}
# [VERBOSE] Successful REST POST url http://controller:35357/v3/regions/ type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"region":{"id":"a2nd"}}
# [VERBOSE] sync: created region a2nd
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [VERBOSE] using existing tagstore project 10 for ID_region_a2nd
# [DEBUG] REST PUT url http://controller:35357/v3/projects/10/tags/ID_region_a2nd, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/10/tags/ID_region_a2nd type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added ID_region_a2nd to tagstore
# [VERBOSE] No existing regions to update
# [INFO] Disabling existing regions: toremove
# [DEBUG] REST PATCH url http://controller:35357/v3/regions/toremove, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PATCH full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PATCH full body {"region":{"enabled":false}}
# [VERBOSE] Successful REST PATCH url http://controller:35357/v3/regions/toremove type application/json
# [DEBUG] REST PATCH full response headers Content-Type=application/json
# [DEBUG] REST PATCH full response content {"region":{"id":"toremove"}}
# [VERBOSE] sync: deleted region toremove
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] REST DELETE url http://controller:35357/v3/projects/10/tags/ID_region_toremove, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST DELETE full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# DELETE: no match cmd found for method DELETE. success=1 response
# [VERBOSE] Successful REST DELETE url http://controller:35357/v3/projects/10/tags/ID_region_toremove type application/json
# [DEBUG] REST DELETE full response headers Content-Type=application/json
# [DEBUG] REST DELETE full response content {"success":1}
# [VERBOSE] deleted ID_region_toremove from tagstore
# region result {
# 'create' => [
# [
# 'regone',
# {
# 'id' => 'regone'
# }
# ],
# [
# 'regtwo',
# {
# 'id' => 'regtwo'
# }
# ],
# [
# 'a2nd',
# {
# 'id' => 'a2nd'
# }
# ]
# ],
# 'delete' => [
# [
# 'toremove',
# {
# 'id' => 'toremove'
# }
# ]
# ],
# 'update' => []
# }
# mock_rest: current history [
# 'GET http://controller:35357/v3/projects?name=hoopla Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/projects?name=hoopla Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/regions/ Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/projects?parent_id=2 Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'POST http://controller:35357/v3/regions/ {"region":{"enabled":true,"id":"regone"}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/10/tags/ID_region_regone {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'POST http://controller:35357/v3/regions/ {"region":{"enabled":true,"id":"regtwo"}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/10/tags/ID_region_regtwo {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'POST http://controller:35357/v3/regions/ {"region":{"enabled":true,"id":"a2nd","parent_region_id":"regone"}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/10/tags/ID_region_a2nd {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PATCH http://controller:35357/v3/regions/toremove {"region":{"enabled":false}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'DELETE http://controller:35357/v3/projects/10/tags/ID_region_toremove Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json'
# ]
# [DEBUG] REST GET url http://controller:35357/v3/endpoints/, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/endpoints/ type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"endpoints":[{"enabled":1,"id":"toremove","interface":"pub","url":"url4"},{"enabled":1,"id":"pub2","interface":"pub","region_id":"regtwo","url":"url2"},{"enabled":1,"id":"priv3","interface":"priv","region_id":"regtwo","url":"url3"},{"enabled":1,"id":"toignore","interface":"pub","url":"url5"}]}
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [INFO] Creating endpoints: int_url1
# [DEBUG] REST POST url http://controller:35357/v3/endpoints/, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"endpoint":{"enabled":true,"interface":"int","region_id":"regone","url":"url1"}}
# [VERBOSE] Successful REST POST url http://controller:35357/v3/endpoints/ type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"endpoint":{"id":"pub1"}}
# [VERBOSE] sync: created endpoint int_url1
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [VERBOSE] using existing tagstore project 10 for ID_endpoint_pub1
# [DEBUG] REST PUT url http://controller:35357/v3/projects/10/tags/ID_endpoint_pub1, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/10/tags/ID_endpoint_pub1 type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added ID_endpoint_pub1 to tagstore
# [INFO] Possibly updating existing endpoints: priv_url3 pub_url2
# [DEBUG] REST PATCH url http://controller:35357/v3/endpoints/pub2, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PATCH full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PATCH full body {"endpoint":{"region_id":"regone"}}
# [VERBOSE] Successful REST PATCH url http://controller:35357/v3/endpoints/pub2 type application/json
# [DEBUG] REST PATCH full response headers Content-Type=application/json
# [DEBUG] REST PATCH full response content {"endpoint":{"id":"pub2"}}
# [VERBOSE] sync: updated endpoint pub_url2
# [VERBOSE] sync: nothing to do for tagstore postprocessing during update for pub_url2 id pub2
# [INFO] Updated existing endpoints: pub_url2
# [INFO] Disabling existing endpoints: pub_url4
# [DEBUG] REST PATCH url http://controller:35357/v3/endpoints/toremove, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PATCH full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PATCH full body {"endpoint":{"enabled":false}}
# [VERBOSE] Successful REST PATCH url http://controller:35357/v3/endpoints/toremove type application/json
# [DEBUG] REST PATCH full response headers Content-Type=application/json
# [DEBUG] REST PATCH full response content {"endpoint":{"id":"toremove"}}
# [VERBOSE] sync: deleted endpoint pub_url4
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] REST DELETE url http://controller:35357/v3/projects/10/tags/ID_endpoint_toremove, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST DELETE full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# DELETE: no match cmd found for method DELETE. success=1 response
# [VERBOSE] Successful REST DELETE url http://controller:35357/v3/projects/10/tags/ID_endpoint_toremove type application/json
# [DEBUG] REST DELETE full response headers Content-Type=application/json
# [DEBUG] REST DELETE full response content {"success":1}
# [VERBOSE] deleted ID_endpoint_toremove from tagstore
# endpoint result {
# 'create' => [
# [
# 'int_url1',
# {
# 'id' => 'pub1'
# }
# ]
# ],
# 'delete' => [
# [
# 'pub_url4',
# {
# 'id' => 'toremove'
# }
# ]
# ],
# 'update' => [
# [
# 'pub_url2',
# {
# 'id' => 'pub2'
# }
# ]
# ]
# }
# mock_rest: current history [
# 'GET http://controller:35357/v3/endpoints/ Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'POST http://controller:35357/v3/endpoints/ {"endpoint":{"enabled":true,"interface":"int","region_id":"regone","url":"url1"}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/10/tags/ID_endpoint_pub1 {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PATCH http://controller:35357/v3/endpoints/pub2 {"endpoint":{"region_id":"regone"}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PATCH http://controller:35357/v3/endpoints/toremove {"endpoint":{"enabled":false}} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'DELETE http://controller:35357/v3/projects/10/tags/ID_endpoint_toremove Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json'
# ]
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] REST GET url http://controller:35357/v3/projects?name=someproj, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/projects?name=someproj type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"projects":[{"id":3}]}
# [VERBOSE] ID 3 found for project with name someproj for role sync
# [DEBUG] REST GET url http://controller:35357/v3/users?name=auser, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/users?name=auser type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"users":[{"id":12333}]}
# [VERBOSE] ID 12333 found for user with name auser for role sync
# [DEBUG] REST GET url http://controller:35357/v3/roles?name=garden, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/roles?name=garden type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"roles":[{"id":9903}]}
# [VERBOSE] ID 9903 found for role with name garden for role sync
# [DEBUG] REST GET url http://controller:35357/v3/roles?name=gnome, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/roles?name=gnome type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"roles":[{"id":9902}]}
# [VERBOSE] ID 9902 found for role with name gnome for role sync
# [DEBUG] REST GET url http://controller:35357/v3/domains?name=somedomain, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/domains?name=somedomain type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"domains":[{"id":"dom123","name":"somedomain"}]}
# [VERBOSE] ID dom123 found for domain with name somedomain for role sync
# [DEBUG] REST GET url http://controller:35357/v3/groups?name=agroup, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/groups?name=agroup type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"groups":[{"id":12345}]}
# [VERBOSE] ID 12345 found for group with name agroup for role sync
# [DEBUG] REST GET url http://controller:35357/v3/roles?name=smurfs, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url http://controller:35357/v3/roles?name=smurfs type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json
# [DEBUG] REST GET full response content {"roles":[{"id":9904}]}
# [VERBOSE] ID 9904 found for role with name smurfs for role sync
# [VERBOSE] roles sync: going to add domains/dom123/groups/12345/roles/9904 projects/3/users/12333/roles/9903
# [DEBUG] REST PUT url http://controller:35357/v3/domains/dom123/groups/12345/roles/9904, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/domains/dom123/groups/12345/roles/9904 type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [VERBOSE] using existing tagstore project 10 for ROLE_ZG9tYWlucy9kb20xMjMvZ3JvdXBzLzEyMzQ1L3JvbGVzLzk5MDQ
# [DEBUG] REST PUT url http://controller:35357/v3/projects/10/tags/ROLE_ZG9tYWlucy9kb20xMjMvZ3JvdXBzLzEyMzQ1L3JvbGVzLzk5MDQ, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/10/tags/ROLE_ZG9tYWlucy9kb20xMjMvZ3JvdXBzLzEyMzQ1L3JvbGVzLzk5MDQ type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added ROLE_ZG9tYWlucy9kb20xMjMvZ3JvdXBzLzEyMzQ1L3JvbGVzLzk5MDQ to tagstore
# [DEBUG] REST PUT url http://controller:35357/v3/projects/3/users/12333/roles/9903, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/3/users/12333/roles/9903 type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [VERBOSE] using existing tagstore project 10 for ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAz
# [DEBUG] REST PUT url http://controller:35357/v3/projects/10/tags/ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAz, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST PUT full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST PUT full body {}
# PUT: no match cmd found for method PUT. success=1 response
# [VERBOSE] Successful REST PUT url http://controller:35357/v3/projects/10/tags/ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAz type application/json
# [DEBUG] REST PUT full response headers Content-Type=application/json
# [DEBUG] REST PUT full response content {"success":1}
# [VERBOSE] Added ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAz to tagstore
# [VERBOSE] roles sync: going to delete projects/3/users/12333/roles/9901
# [DEBUG] REST DELETE url http://controller:35357/v3/projects/3/users/12333/roles/9901, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST DELETE full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# DELETE: no match cmd found for method DELETE. success=1 response
# [VERBOSE] Successful REST DELETE url http://controller:35357/v3/projects/3/users/12333/roles/9901 type application/json
# [DEBUG] REST DELETE full response headers Content-Type=application/json
# [DEBUG] REST DELETE full response content {"success":1}
# [DEBUG] fetch: tagstore cache exists, not doing anything
# [DEBUG] REST DELETE url http://controller:35357/v3/projects/10/tags/ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAx, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST DELETE full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# DELETE: no match cmd found for method DELETE. success=1 response
# [VERBOSE] Successful REST DELETE url http://controller:35357/v3/projects/10/tags/ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAx type application/json
# [DEBUG] REST DELETE full response headers Content-Type=application/json
# [DEBUG] REST DELETE full response content {"success":1}
# [VERBOSE] deleted ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAx from tagstore
# mock_rest: current history [
# 'GET http://controller:35357/v3/projects?name=someproj Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/users?name=auser Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/roles?name=garden Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/roles?name=gnome Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/domains?name=somedomain Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/groups?name=agroup Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'GET http://controller:35357/v3/roles?name=smurfs Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/domains/dom123/groups/12345/roles/9904 {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/10/tags/ROLE_ZG9tYWlucy9kb20xMjMvZ3JvdXBzLzEyMzQ1L3JvbGVzLzk5MDQ {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/3/users/12333/roles/9903 {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'PUT http://controller:35357/v3/projects/10/tags/ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAz {} Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'DELETE http://controller:35357/v3/projects/3/users/12333/roles/9901 Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json',
# 'DELETE http://controller:35357/v3/projects/10/tags/ROLE_cHJvamVjdHMvMy91c2Vycy8xMjMzMy9yb2xlcy85OTAx Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json'
# ]
t/client-identity-v3.t ........ ok
t/client-request.t ............ ok
t/client-response.t ........... ok
# [DEBUG] _page method METHOD url some/url
# [DEBUG] _page method METHOD url some/otherurl
t/client-rest.t ............... ok
t/client.t .................... ok
# [DEBUG] REST POST request endpoint /some/{user}/super service theservice has no known service
# [DEBUG] REST POST url /some/auser/super, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"something":{"int":1,"name":"thename"}}
# [VERBOSE] Successful REST POST url /some/auser/super type application/json
# [DEBUG] REST POST full response headers Content-Type=application/json
# [DEBUG] REST POST full response content {"woo":"hoo"}
# [DEBUG] REST POST request endpoint /some/{user}/super service theservice has no known service
# [DEBUG] REST POST url /some/anotheruser/super, body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST POST full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [DEBUG] REST POST full body {"something":{"int":1,"name":"thename"}}
# [ERROR] REST POST failed (url /some/anotheruser/super code 400): {"error":{"message":"fail fail fail"}}
# [DEBUG] REST GET request endpoint /simple?a=1&b=2 service theservice has no known service
# [DEBUG] REST GET url /simple, no body, headers Accept,Accept-Encoding,Content-Type
# [DEBUG] REST GET full headers Accept=application/json, text/plain,Accept-Encoding=identity, gzip, deflate, compress,Content-Type=application/json
# [VERBOSE] Successful REST GET url /simple type application/json
# [DEBUG] REST GET full response headers Content-Type=application/json,Special=123
# [DEBUG] REST GET full response content {"success":1}
t/mock_rest.t ................. ok
All tests successful.
Files=15, Tests=305, 2 wallclock secs ( 0.16 usr 0.04 sys + 1.79 cusr 0.39 csys = 2.38 CPU)
Result: PASS
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
requires:
Module Need Have
------------------- ---- --------
base 0 2.27
Exporter 0 5.79
JSON::XS 0 4.03
LWP::UserAgent 0 6.78
MIME::Base64 0 3.16_01
Module::Load 0 0.36
overload 0 1.40
parent 0 0.244
Readonly 0 2.05
REST::Client 0 281
Set::Scalar 0 1.29
strict 0 1.13
version 0 0.9933
warnings 0 1.74
build_requires:
Module Need Have
------------------- ---- --------
ExtUtils::MakeMaker 0 7.74
File::Basename 0 2.86
FindBin 0 1.54
lib 0 0.65
Test::MockModule 0 0.179.0
Test::More 0 1.302209
Test::Pod 0 1.52
Test::Warnings 0 0.038
configure_requires:
Module Need Have
------------------- ---- --------
ExtUtils::MakeMaker 0 7.74
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
AUTOMATED_TESTING = 1
LANG = en_US.UTF-8
LC_ADDRESS = de_DE.UTF-8
LC_IDENTIFICATION = de_DE.UTF-8
LC_MEASUREMENT = de_DE.UTF-8
LC_MONETARY = de_DE.UTF-8
LC_NAME = de_DE.UTF-8
LC_NUMERIC = de_DE.UTF-8
LC_PAPER = de_DE.UTF-8
LC_TELEPHONE = de_DE.UTF-8
LC_TIME = de_DE.UTF-8
PATH = /home/sand/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/perl/bin:/usr/X11/bin
PERL = /tmp/basesmoker-reloperl-9UT2/bin/perl
PERL5LIB = /tmp/loop_over_bdir-3593637-VVSC4F/AllKnowingDNS-1.7-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/AllKnowingDNS-1.7-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/Debian-Packages-0.03-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/Debian-Packages-0.03-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/downsexta-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/downsexta-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/makepp-1.19-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/makepp-1.19-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/LiquidWeb-Storm-CLI-1.03-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/LiquidWeb-Storm-CLI-1.03-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/Captive-Portal-4.10-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/Captive-Portal-4.10-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/Net-OpenVPN-DDNS-0.1-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/Net-OpenVPN-DDNS-0.1-0/blib/lib
PERL5OPT =
PERL5_CPANPLUS_IS_RUNNING = 3593645
PERL5_CPAN_IS_RUNNING = 3593645
PERL_CANARY_STABILITY_NOPROMPT = 1
PERL_MM_USE_DEFAULT = 1
PERL_USE_UNSAFE_INC = 1
SHELL = /usr/bin/zsh
TERM = screen
Perl special variables (and OS-specific diagnostics, for MSWin32):
$^X = /tmp/basesmoker-reloperl-9UT2/bin/perl
$UID/$EUID = 1005 / 1005
$GID = 1005 1005
$EGID = 1005 1005
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.38
CPAN::Meta 2.150010
Cwd 3.92
ExtUtils::CBuilder 0.280240
ExtUtils::Command 7.74
ExtUtils::Install 2.22
ExtUtils::MakeMaker 7.74
ExtUtils::Manifest 1.75
ExtUtils::ParseXS 3.57
File::Spec 3.93
JSON 4.10
JSON::PP 4.16
Module::Build 0.4234
Module::Signature 0.89
Parse::CPAN::Meta 2.150010
Test2 1.302209
Test::Harness 3.50
Test::More 1.302209
YAML 1.31
YAML::Syck 1.34
version 0.9933
--
Summary of my perl5 (revision 5 version 41 subversion 10) configuration:
Commit id: 6a1cf63fc3f0e8d25b8f3837f9ca46b3bbc65885
Platform:
osname=linux
osvers=6.8.0-52-generic
archname=x86_64-linux-ld
uname='linux k93jammy 6.8.0-52-generic #53~22.04.1-ubuntu smp preempt_dynamic wed jan 15 19:18:46 utc 2 x86_64 x86_64 x86_64 gnulinux '
config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.41.10/5674 -Dmyhostname=k93jammy -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Dlibswanted=cl pthread socket inet nsl gdbm dbm malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat -Uuseithreads -Duselongdouble -DEBUGGING=-g'
hint=recommended
useposix=true
d_sigaction=define
useithreads=undef
usemultiplicity=undef
use64bitint=define
use64bitall=define
uselongdouble=define
usemymalloc=n
default_inc_excludes_dot=define
Compiler:
cc='cc'
ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
optimize='-O2 -g'
cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion=''
gccversion='11.4.0'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='long double'
nvsize=16
Off_t='off_t'
lseeksize=8
alignbytes=16
prototype=define
Linker and Libraries:
ld='cc'
ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/x86_64-linux-gnu /usr/lib /usr/lib64
libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/x86_64-linux-gnu/libc.so.6
so=so
useshrplib=false
libperl=libperl.a
gnulibc_version='2.35'
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags='-Wl,-E'
cccdlflags='-fPIC'
lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options:
HAS_LONG_DOUBLE
HAS_STRTOLD
HAS_TIMES
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_SIPHASH13
PERL_HASH_USE_SBOX32
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
PERL_USE_DEVEL
PERL_USE_SAFE_PUTENV
USE_64_BIT_ALL
USE_64_BIT_INT
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_LONG_DOUBLE
USE_PERLIO
USE_PERL_ATOF
Built under linux
Compiled at Mar 25 2025 14:46:27
%ENV:
PERL="/tmp/basesmoker-reloperl-9UT2/bin/perl"
PERL5LIB="/tmp/loop_over_bdir-3593637-VVSC4F/AllKnowingDNS-1.7-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/AllKnowingDNS-1.7-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/Debian-Packages-0.03-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/Debian-Packages-0.03-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/downsexta-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/downsexta-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/makepp-1.19-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/makepp-1.19-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/LiquidWeb-Storm-CLI-1.03-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/LiquidWeb-Storm-CLI-1.03-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/Captive-Portal-4.10-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/Captive-Portal-4.10-0/blib/lib:/tmp/loop_over_bdir-3593637-VVSC4F/Net-OpenVPN-DDNS-0.1-0/blib/arch:/tmp/loop_over_bdir-3593637-VVSC4F/Net-OpenVPN-DDNS-0.1-0/blib/lib"
PERL5OPT=""
PERL5_CPANPLUS_IS_RUNNING="3593645"
PERL5_CPAN_IS_RUNNING="3593645"
PERL_CANARY_STABILITY_NOPROMPT="1"
PERL_MM_USE_DEFAULT="1"
PERL_USE_UNSAFE_INC="1"
@INC:
/tmp/loop_over_bdir-3593637-VVSC4F/AllKnowingDNS-1.7-0/blib/arch
/tmp/loop_over_bdir-3593637-VVSC4F/AllKnowingDNS-1.7-0/blib/lib
/tmp/loop_over_bdir-3593637-VVSC4F/Debian-Packages-0.03-0/blib/arch
/tmp/loop_over_bdir-3593637-VVSC4F/Debian-Packages-0.03-0/blib/lib
/tmp/loop_over_bdir-3593637-VVSC4F/downsexta-0/blib/arch
/tmp/loop_over_bdir-3593637-VVSC4F/downsexta-0/blib/lib
/tmp/loop_over_bdir-3593637-VVSC4F/makepp-1.19-0/blib/arch
/tmp/loop_over_bdir-3593637-VVSC4F/makepp-1.19-0/blib/lib
/tmp/loop_over_bdir-3593637-VVSC4F/LiquidWeb-Storm-CLI-1.03-0/blib/arch
/tmp/loop_over_bdir-3593637-VVSC4F/LiquidWeb-Storm-CLI-1.03-0/blib/lib
/tmp/loop_over_bdir-3593637-VVSC4F/Captive-Portal-4.10-0/blib/arch
/tmp/loop_over_bdir-3593637-VVSC4F/Captive-Portal-4.10-0/blib/lib
/tmp/loop_over_bdir-3593637-VVSC4F/Net-OpenVPN-DDNS-0.1-0/blib/arch
/tmp/loop_over_bdir-3593637-VVSC4F/Net-OpenVPN-DDNS-0.1-0/blib/lib
/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.41.10/5674/lib/site_perl/5.41.10/x86_64-linux-ld
/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.41.10/5674/lib/site_perl/5.41.10
/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.41.10/5674/lib/5.41.10/x86_64-linux-ld
/home/sand/src/perl/repoperls/installed-perls/host/k93jammy/v5.41.10/5674/lib/5.41.10
.