Description of problem: hammer import activation-key fails to create composite CVs. Import activation-key used to use imported CVs and create composite CV out of them (=grouping base and child channel based CVs togheter). But CV import was broken for sometime so that broken ability to create a composite CV during AK import cannot be simply revealed till now as BZ #1316110 has been fixed. Version-Release number of selected component (if applicable): @Sat6.2.0-Beta-Snap6.2 tfm-rubygem-hammer_cli_import-0.10.23-1.el6sat.noarch How reproducible: always Steps to Reproduce: 0. Import a organization and upload manifest (manually) 1. Run import repository-enable for RH repositories (manually) and sync 'em (rhel-x86_64-server-7 + rhn-tools-rhel-x86_64-server-7) 2. Prepare csv file for AK import # cat activation-keys.csv org_id,token,note,usage_limit,is_disabled,deploys_configs,entitlement,channel_label,base_channel_id,child_channel_id,cfg_channel_pos,server_group,server_group_id,package_name 1,1-key,None,,0,N,enterprise_entitled;monitoring_entitled;provisioning_entitled,rhel-x86_64-server-7;rhn-tools-rhel-x86_64-server-7,103;None,None;106,config-1|1,,, 3. Run AK import # hammer import activation-key --verbose --csv-file activation-keys.csv Importing from activation-keys.csv Creating new activation key: 1-key Creating new ak content view: ak_1 Caught RestClient::InternalServerError:500 Internal Server Error while processing activation key 1 Summary Created 1 activation_key. Actual results: 500 ISE, composite CV not created Expected results: composite CV successfully created Additional info: the error message is the same as with BZ #1316110 - undefined method `composite?' for nil:NilClass
With successive runs you can hit it still: # hammer import activation-key --verbose --csv-file activation-keys.csv Importing from /tmp/exports/activation-keys.csv Activation key [1-key->1] already imported. Creating new ak content view: ak_1 Caught RestClient::InternalServerError:500 Internal Server Error while processing activation key 1 Summary Found 1 activation_key. No action taken. hammer -d show us more: [ INFO 2016-04-08 12:38:15 API] POST /katello/api/organizations/4/content_views [DEBUG 2016-04-08 12:38:15 API] Params: { :name => "ak_1", :label => "ak_1", :composite => true, :description => "Composite content view for activation key 1-key", :component_ids => [ [0] 19, [1] 37 ] } [DEBUG 2016-04-08 12:38:15 API] Headers: {} [DEBUG 2016-04-08 12:38:15 API] 500 Internal Server Error { "displayMessage" => "undefined method `composite?' for nil:NilClass", "errors" => [ [0] "undefined method `composite?' for nil:NilClass" ] } Caught RestClient::InternalServerError:500 Internal Server Error while processing activation key 1 Summary Found 1 activation_key. No action taken.
More descriptive reproducer: 1. # cat users.csv organization_id,organization,user_id,username,last_name,first_name,position,email,role,creation_time,last_login_time,active 1,SatelliteQE,1,admin,Admin,Admin,,root@localhost,Satellite Administrator,2014-09-10 19:39:59,2016-04-07 01:00:14,enabled 2. # hammer import organization --verbose --csv-file users.csv Importing from users.csv Creating new organization: SatelliteQE Summary Created 1 organization. 3. # hammer subscription upload --organization SatelliteQE --file manifest.zip [...................................................................................................................................................] [100%] 4. # cat channels.csv channel_id,channel_label,channel_name,number_of_packages,org_id 103,rhel-x86_64-server-7,Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64),0, 106,rhn-tools-rhel-x86_64-server-7,RHN Tools for RHEL Server (v. 7 for x86_64),25, 5. # hammer import repository-enable --verbose --csv-file channels.csv --synchronize --wait Importing from channels.csv Enabling /content/dist/rhel/server/7/7Server/x86_64/os/Packages for channel rhel-x86_64-server-7 in org 7 Mapping redhat repository [[1, 103]->74]. Registering tasks for uuids: ["b11f9a35-fb4a-4528-957f-20fc92303994"]. Starting thread for async tasks Enabling /content/dist/rhel/server/7/7Server/x86_64/rhn-tools/os/Packages for channel rhn-tools-rhel-x86_64-server-7 in org 7 Mapping redhat repository [[1, 106]->75]. Registering tasks for uuids: ["9b9fb539-e6be-4932-9fe4-195156ce637d"]. Waiting for async tasks to finish Asynchronous tasks: 0 of 2 done (~ 0.25%) ... Condition ["b11f9a35-fb4a-4528-957f-20fc92303994"] met Creating new redhat content view: Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64) Asynchronous tasks: 2 of 2 done (~100.00%) Exiting thread (exit requested, all tasks done). Summary Mapped 2 redhat_repositories. Created 2 redhat_content_views. 6. # cat activation-keys.csv org_id,token,note,usage_limit,is_disabled,deploys_configs,entitlement,channel_label,base_channel_id,child_channel_id,cfg_channel_pos,server_group,server_group_id,package_name 1,1-key,None,,0,N,enterprise_entitled;monitoring_entitled;provisioning_entitled,rhel-x86_64-server-7;rhn-tools-rhel-x86_64-server-7,103;None,None;106,config-1|1,,, 7. # hammer import activation-key --verbose --csv-file activation-keys.csv Importing from activation-keys.csv Creating new activation key: 1-key Creating new ak content view: ak_5 Caught RestClient::InternalServerError:500 Internal Server Error while processing activation key 5 Summary Created 1 activation key.
Created redmine issue http://projects.theforeman.org/issues/14614 from this bug
Upstream bug component is Uncategorized
On a fresh install of Sat-6.2, can I get the full steps and Sat-5 export data? I am not able to reproduce any issues w/ activation keys but I suspect it may be due to my setup not matching. The composite content views created for me have just one CV in them. $ hammer import activation-key --verbose --csv-file /home/thomasmckay/data/1-small/exports/activation-keys.csv Importing from /home/thomasmckay/data/1-small/exports/activation-keys.csv Creating new activation key: 5-key Activation key [4-key->9] already imported. Activation key [3-key->8] already imported. Activation key [1-key->6] already imported. Activation key [2-key->7] already imported. Creating new ak content view: ak_10 Publishing content view: 25 Associating activation key [10] with content view [25] Updating activation key with id: 10 Content view ak_9 already created, reusing. Associating activation key [9] with content view [24] Updating activation key with id: 9 Content view ak_8 already created, reusing. Associating activation key [8] with content view [23] Updating activation key with id: 8 Content view ak_6 already created, reusing. Associating activation key [6] with content view [20] Updating activation key with id: 6 Content view ak_7 already created, reusing. Associating activation key [7] with content view [21] Updating activation key with id: 7 Summary Created 1 activation key. Created 1 ak content view. Found 4 activation_keys.
RE can I get the full steps and Sat-5 export data? Comment #3 provides them all
cut'n'paste friendly format :-) 1) cat > users.csv << EOF organization_id,organization,user_id,username,last_name,first_name,position,email,role,creation_time,last_login_time,active 1,SatelliteQE,1,admin,Admin,Admin,,root@localhost,Satellite Administrator,2014-09-10 19:39:59,2016-04-07 01:00:14,enabled EOF 2) hammer import organization --verbose --csv-file users.csv 3) hammer subscription upload --organization SatelliteQE --file manifest.zip 4) cat > channels.csv << EOF channel_id,channel_label,channel_name,number_of_packages,org_id 103,rhel-x86_64-server-7,Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64),0, 106,rhn-tools-rhel-x86_64-server-7,RHN Tools for RHEL Server (v. 7 for x86_64),25, EOF 5) hammer import repository-enable --verbose --csv-file channels.csv --synchronize --wait 6) cat > activation-keys.csv << EOF org_id,token,note,usage_limit,is_disabled,deploys_configs,entitlement,channel_label,base_channel_id,child_channel_id,cfg_channel_pos,server_group,server_group_id,package_name 1,1-key,None,,0,N,enterprise_entitled;monitoring_entitled;provisioning_entitled,rhel-x86_64-server-7;rhn-tools-rhel-x86_64-server-7,103;None,None;106,config-1|1,,, EOF 7) hammer import activation-key --verbose --csv-file activation-keys.csv
This bug is not hammer import specific, rather it is about that hammer generally is not able to create composite CV: # hammer content-view create --organization-id 3 --composite --name my_ak1 --component-ids 5,6 Could not create the content view: undefined method `composite?' for nil:NilClass This needs to be fixed at model?! As similar BZ 1316110 (undefined method `composite?' for nil:NilClass) was surprisingly fixed that way. See PR https://github.com/Katello/katello/pull/5927
I filed a new bug for the content-view composite bug as that is unrelated to this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1355894 can we have this bug focus entirely on importing activation keys via hammer import? If this is unreproducable I'd consider moving this to ON_QA for a re-test or VERIFIED if we know it works fine in SNAP19+
It was already filed as BZ 1337746 hammer content-view create fails when component-ids are specified OK, once that BZ is fixed we can test if that fix helps to resolve this hammer import BZ.
As this BZ having blocker+ is blocked by BZ 1337746 in sat-backlog we should prioritize the same way the blocking BZ.
BZ 1337746 is VERIFIED now. We can procceed with this one too.
VERIFIED. satellite-6.2.0-20.1.el7sat.noarch # hammer import activation-key --verbose --csv-file activation-keys.csv Importing from activation-keys.csv Creating new activation key: 1-key Creating new ak content view: ak_2 <<< yay it works Publishing content view: 11 Associating activation key [2] with content view [11] Updating activation key with id: 2 Summary Created 1 activation key. Created 1 ak content view. <<< yay it works
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. https://access.redhat.com/errata/RHBA-2016:1501