Bug 1327460

Summary: Install of Rawhide Atomic installer image fails with 'ostree repos must use HTTP or HTTPS protocol'
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: pykickstartAssignee: Chris Lumens <clumens>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: admiller, bcl, clumens, dennis, jzb, lsedlar, mruckman, pwhalen, walters
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: pykickstart-2.25-2 pykickstart-2.25-2.fc24 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-19 15:36:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Adam Williamson 2016-04-15 07:55:38 UTC
I'm really not sure where to assign this, but starting with pungi.

The Atomic installer image recently started showing up in Rawhide composes. However, it fails to install. When booting the image, anaconda startup fails with a kickstart error: "ostree repos must use HTTP or HTTPS protocol"

you can see a run here: https://openqa.fedoraproject.org/tests/13043 . https://openqa.fedoraproject.org/tests/13043/modules/_boot_to_anaconda/steps/8 shows the error, and you can watch a video of the run from the Logs & Assets tab.

Comment 1 Adam Williamson 2016-04-19 15:22:38 UTC
This is affecting F24 as well. Proposing as a freeze exception issue since it's an install time bug and I know some people do care about the Atomic installer.

Comment 2 Colin Walters 2016-04-19 15:42:35 UTC
We landed some code intending to exclude ftp://, but everyone forgot that we *do* need to support file:// since it's used for the internal content.

Comment 3 Dennis Gilmore 2016-04-19 16:43:01 UTC
exclude ftp where? mirrorlist/metalink will return ftp urls

Comment 4 Colin Walters 2016-04-19 17:08:42 UTC
They shouldn't for OSTree, since it's not supported.

Comment 5 Chris Lumens 2016-04-19 17:34:28 UTC
Easy enough:

diff --git a/pykickstart/commands/ostreesetup.py b/pykickstart/commands/ostreesetup.py
index baa2325..c01f890 100644
--- a/pykickstart/commands/ostreesetup.py
+++ b/pykickstart/commands/ostreesetup.py
@@ -71,8 +71,8 @@ class F21_OSTreeSetup(KickstartCommand):
         if self.remote is None:
             self.remote = self.osname
 
-        if not self.url.startswith(("http:", "https:")):
-            raise KickstartValueError(formatErrorMsg(self.lineno, msg="ostree repos must use HTTP or HTTPS protocol."))
+        if not self.url.startswith(("file:", "http:", "https:")):
+            raise KickstartValueError(formatErrorMsg(self.lineno, msg="ostree repos must use file, HTTP, or HTTPS protocol."))
 
         return self
 
diff --git a/tests/commands/ostreesetup.py b/tests/commands/ostreesetup.py
index dac056f..b0b1533 100644
--- a/tests/commands/ostreesetup.py
+++ b/tests/commands/ostreesetup.py
@@ -29,6 +29,7 @@ class F21_TestCase(CommandTest):
     def runTest(self):
         # pass
         self.assert_parse("ostreesetup --osname=fedora-atomic --url=http://example.com/repo --ref=fedora-atomic/sometest/base/core")
+        self.assert_parse("ostreesetup --osname=local-atomic --url=file:///home/ostree --ref=fedora-atomic/sometest/base/core")
         cmdstr = "ostreesetup --osname=\"fedora-atomic\" --remote=\"fedora-atomic\" --url=\"http://example.com/repo\" --ref=\"fedora-atomic/sometest/base/core\" --nogpg"
         self.assert_parse(cmdstr, cmdstr + '\n')

Comment 6 Dennis Gilmore 2016-04-22 15:18:30 UTC
+1 blocker

Comment 7 Jon Disnard 2016-04-22 15:21:29 UTC
yeah, +1 blocker

Comment 8 Paul Whalen 2016-04-22 15:22:50 UTC
+1 FE

Comment 9 Adam Williamson 2016-04-22 15:23:23 UTC
dgilmore: masta: -10 reading comprehension ;)

Comment 10 Adam Williamson 2016-04-22 15:27:38 UTC
still, that's three votes, counting the acceptedblockers as implicit acceptedFEs, setting acceptedFE.

Comment 11 Mike Ruckman 2016-04-22 16:40:47 UTC
+1 FE

Comment 12 Fedora Update System 2016-04-22 17:35:57 UTC
pykickstart-2.25-2.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-c38dadce8c

Comment 13 Fedora Update System 2016-04-23 23:42:50 UTC
pykickstart-2.25-2.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Adam Williamson 2016-04-25 19:52:20 UTC
Re-opening but dropping the F24 blocker stuff, because the fix wasn't sent to Rawhide yet; Rawhide Atomic installs still fail this way.

Comment 15 Adam Williamson 2016-05-19 15:36:13 UTC
This is fixed in Rawhide now too, I believe.