This method is little laborious but helpful if nothing else stated above is working.
Just check that at which stage the error is occurring. I mean, yum checks the repositories in the same order as they are listed in /etc/yum.repos.d/ directory. In my case here it hapened.
rpmfusion-nonfree | 3.3 kB 00:00
rpmfusion-nonfree/primary_db | 91 kB 00:03
rpmfusion-nonfree-updates | 414 B 00:00
Error: requested datatype primary not available
and the next file was
rpmfusion-nonfree-updates-testing.repo. I just edit the file as follows
enabled=0
gpgcheck=0
prior both were set to 1.
now for me, error is resolved. Thought may be helpful to you 2.