Commit Graph

33 Commits

Author SHA1 Message Date
Cole Robinson 4adb1c8c30 pycodestyle: fix W605 invalid escape sequence 2018-09-29 13:59:19 -04:00
Cole Robinson 6063538750 guest: Replace os_variant with set_os_name
And have callers directly access osinfo.name if they need it
2018-09-12 17:24:28 -04:00
Cole Robinson 4e63267a4f urldetect: Rename urldistro to matching_distros
Allow store classes to track multiple matching types, and use this
to ditch the custom urldistro logic in osdict altogether
2018-09-01 13:23:01 -04:00
Cole Robinson 65b33a1377 urldetect: Fix some pylint 2018-05-16 19:31:50 -04:00
Charles Arnold 3fd538ba0f Make SuseDistro a base class for other Suse classes
Remove the PRETTY_NAME for SuseDistro so it isn't included in the allstores.

Add appropriate identifiers to the other Suse classes so that they
are included in allstores.

If cache.treeinfo_family_regex fails to find the family but there is
a .treeinfo file, self.cache.suse_content is set to -1 when a failed
attempt is made to find a content file. Check for -1 in the __init__
function so we will pull the kernel from the location in .treeinfo file.

Signed-off-by: Charles Arnold <carnold@suse.com>
2018-05-16 19:25:32 -04:00
Charles Arnold 26b8bb0f0b Use wildcard to detect 'openSUSE Leap'.
Old versions of the string from the content file end with just "openSUSE".
openSUSE 42.x has a string of "openSUSE Leap ". Cleanup extra whitespace
for old versions of openSUSE.

Signed-off-by: Charles Arnold <carnold@suse.com>
2018-05-16 19:25:32 -04:00
Charles Arnold e6fd723c46 Use split_version method to get version and update
The while loop that follows is similar to rhel code but because the osinfo-db
short id for sles doesn't contain a '.0' for first time releases (eg, sles11,
sles12) we check sle with no update and don't add a '.0' to the string.

Signed-off-by: Charles Arnold <carnold@suse.com>
2018-05-16 19:25:32 -04:00
Charles Arnold ab7209cb6c Create shared function _split_version from _split_rhel_version
This new function will be used for for rhel and sles detection.

Signed-off-by: Charles Arnold <carnold@suse.com>
2018-05-16 19:25:32 -04:00
Daniel P. Berrangé b1460ba065 Chagne most URIs to use https:// instead of http://
All URLs were checked to see if they supported https://, those which did
were converted.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-04-30 13:35:39 -04:00
Cole Robinson d81a9a0bc0 urldetect: suse tumbleweed now has .treeinfo file 2018-04-24 11:56:02 -04:00
Cole Robinson f00601fade urldetect: don't overwrite self.arch with suse content arch
They are different, so label it as tree_arch
2018-04-24 11:34:57 -04:00
Cole Robinson 3b74d3036a urldetect: Split out treeinfo logic from GenericTreeInfo
SUSE distros will be growing treeinfo support soon and trying to handle
this logic through class inheritance is difficult, so separate the
logic into its own function
2018-04-24 11:34:57 -04:00
Cole Robinson a9c5890d72 urldetect: Drop a bunch of RH version integer handling
It's not really required
2018-04-24 11:34:57 -04:00
Cole Robinson 568841835d urldetect: Standardize _detect_version naming
This is the hook that subclasses use to save a detect os_variant value
2018-04-24 11:34:53 -04:00
Cole Robinson dc3e157471 urldetect: Clean up opensuse variant detection
Make the logic easier to follow
2018-04-24 11:33:12 -04:00
Cole Robinson cba909d593 urldetect: Drop unused uses_treeinfo 2018-04-24 11:33:12 -04:00
Daniel P. Berrangé 48e32b429d Fix copyright header to specify GPLv2 or later, not GPLv2 only.
The copyright headers in every file were chjanged in this previous commit

  commit b6dcee8eb7
  Author: Cole Robinson <crobinso@redhat.com>
  Date:   Tue Mar 20 15:00:02 2018 -0400

    Use consistent and minimal license header for every file

Where before this they said "

  "either version 2 of the License, or (at your option) any later version."

Now they just say

  "GNU GPLv2"

This fixes it to say "GNU GPLv2 or later" again.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-04-04 16:51:37 -04:00
Cole Robinson 96645fe3ed urldetect: Remove some unused SUSE bits
Charles confirmed for me that SUMMARY and arch fallback handling
doesn't have any still relevant uses, so we can drop them
2018-04-04 16:46:29 -04:00
Cole Robinson 76c40d6f97 urldetect: Track SUSE regexs in their Distro classes 2018-04-02 18:46:24 -04:00
Cole Robinson 467425fad1 urldetect: Move SUSE content file handling into its own class
Try to untangle the interdependencies and not recalculate everything
for every suse distro
2018-04-02 18:33:07 -04:00
Cole Robinson fb1b26c081 urldetect: Drop RedHatDistro baseclass
Just fold the minimal logic into GenericTreeinfo, since only
RH distros use treeinfo so it's basically the same thing
2018-04-02 17:18:17 -04:00
Cole Robinson eafdaf8b48 tests: test_urls: Add urldetect kernel arg validation 2018-04-02 17:15:05 -04:00
Cole Robinson fb9b82e02d urldetect: Clean up Fedora version checking a bit 2018-04-02 16:47:21 -04:00
Cole Robinson ad13c57dc5 urlfetch: Formalize the failed hostname check
This heuristic is only valid for http connections, everything
else will fail way earlier in the process
2018-03-29 19:45:33 -04:00
Cole Robinson 5055d7bd19 urlfetcher: Clean up RHEL version parsing/handling
Drop SLDistro entirely because it adds nothing, just make it an
alias of Centos. Drop some old RHEL version logic. Tweak test cases
2018-03-29 19:45:33 -04:00
Cole Robinson 9dccd5d52d urlfetch: Add caching layer
Add an external caching layer that handles tracking all data we
need as part of distro URL detection that is also needed during
distro __init__. This way we can make is_valid() static and quick,
and move all the variant hackery cleary into __init__ routines.
This makes the code logic much easier to follow
2018-03-29 19:45:33 -04:00
Cole Robinson b9e72b8609 urldetect: Move treeinfo media checking into Treeinfo class
Rather than in the base Distro class. Simplifies things a bit
2018-03-29 16:23:57 -04:00
Cole Robinson 7dacc8502e urldetect: Move distro checking out of isValidStore
We have a big mix of Distro state checking across __init__,
extrnal treeinfo/content scraping, and isValidStore(). This removes
the latter category
2018-03-29 16:23:57 -04:00
Cole Robinson 54066e1315 urldetect: Drop ubuntu _is_tree_iso
It's not wired up to anything which looks like it got dropped in
an older refactoring. I can't find from the mailing list what
media case this was required for, and my local test suite doesn't
need it, so it might not even be required anymore.
2018-03-29 16:23:57 -04:00
Cole Robinson 1f8b712508 urldetect: Remove the _xen_kernel_paths distinction
Just have one kernel path list, and if type=="xen" and we think
xen might have its own kernel path, prepend that to the list of
pairs to check.

Nowadays xen kernel == hvm kernel for new distros, so we shouldn't
force having a specific xen whitelist
2018-03-29 16:23:57 -04:00
Cole Robinson fddb1de0f4 urldetect: s/name/PRETTY_NAME/g
And use class name in logging instead of the pretty name
2018-03-29 16:23:57 -04:00
Cole Robinson 5aedc0aff7 urldetect: Drop GenericDistro, non-treeinfo redhat bits
non-treeinfo redhat only applies to pre RHEL5.4 and very old
Fedora. It's not worth it anymore to slow down all URL lookups
and maintain code complexity to handle such long out of date
distros.

GenericDistro doesn't actually apply to any public trees that I
can find, except for some with TreeInfo. So turn it into
GenericTreeinfoDistro. If random URL trees want to work with
virt-install, add a treeinfo file
2018-03-29 16:23:57 -04:00
Cole Robinson a8522032eb virtinst: Split out urldetect.py from urlfetcher.py
urldetect.py has all the distro metadata and parsing logic,
urlfetcher.py has the http/ftp/iso/etc. fetching logic
2018-03-28 18:46:07 -04:00