h.0 is using dev repos

Bug #1269856 reported by Chris Ricker
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cisco Openstack
Fix Released
High
Mark T. Voelker
Havana
Fix Released
High
Mark T. Voelker

Bug Description

This is on a fresh h.0 build node, created from:

cd /root && git clone -b havana https://github.com/CiscoSystems/puppet_openstack_builder && cd puppet_openstack_builder && git checkout h.0

# rm /etc/apt/sources.list.d/*
# puppet apply -v -d /etc/puppet/manifests/site.pp
...
# cat /etc/apt/sources.list.d/cisco*
# cisco-openstack-mirror_havana
deb http://openstack-repo.cisco.com/openstack/cisco havana-proposed main
deb-src http://openstack-repo.cisco.com/openstack/cisco havana-proposed main
# cisco_supplemental-openstack-mirror_havana
deb http://openstack-repo.cisco.com/openstack/cisco_supplemental havana-proposed main
deb-src http://openstack-repo.cisco.com/openstack/cisco_supplemental havana-proposed main

Those should be havana for the h.0 release, not havana-proposed

Changed in openstack-cisco:
milestone: none → h.1
Revision history for this message
Mark T. Voelker (mvoelker) wrote :

This looks like an issue in the new coe-base class, which isn't parameterized for repo pocket (but should be).

Changed in openstack-cisco:
status: New → Triaged
importance: Undecided → High
Changed in openstack-cisco:
assignee: nobody → Mark T. Voelker (mvoelker)
Revision history for this message
Mark T. Voelker (mvoelker) wrote :

There are two locations where the repository is set: first in puppet-cobbler (templates/preseed.erb) which sets the repository during preseed installations. Second in puppet-coe (manifests/base.pp) which sets it during the puppet run. Therefore at least a couple of things need to be done:

1.) The static string in the cobbler preseed template needs to be replaced by a parameter allowing the user to set the pocket. This will likely need to be set in puppet-coi, which is what actually calls puppet-cobbler.

2.) The static string in puppet-coe also needs to be replaced with a parameter.

3.) A new user setting should be introduced in the YAML files to set the repository. That variable should be used to feed puppet-cobbler (via puppet-coi) and puppet-coe. It should be set by default to the stable pocket, but exposed such that users can change it to the -proposed pocket.

4.) As part of the release process, we should consider setting the "pocket" to the snapshot repo corresponding to the release.

While not technically part of this bug, this might be a good time set up a second variable to set the repository URL string since the code will be very closely related anyway. This would allow us to absorb any future changes to our repository hosting arrangements as well as allow users to set up local mirrors for no-net installs.

Changed in openstack-cisco:
status: Triaged → In Progress
Revision history for this message
Mark T. Voelker (mvoelker) wrote :

A few further notes:

* Some repository information is actually already specified in data/hiera_data/vendor/cisco_coi_common.yaml and/or
data/hiera_data/enable_ha/true.yaml. However it's specified directly as class params, which is less than ideal since we now need to use this information in the puppet-coi/cobbler modules as well as puppet-coe. Those probably need to go away and be replaced with a more generic nomenclature so that we don't have to set the same information in two separate sets of variables (e.g. to avoid a DRY violation and make the setup less error-prone).

* As I've been working on this I've noticed a really annoying inconsistency in the format used to specify the main repo and supplemental repo URL's. The Cisco supplemental repo is provided as the full URL to the root of the repository. The main repo, however, is specified as a URL that isn't quite complete and a static string '/cisco' is then added to the end within the class. This too will make it harder to reuse this data in other classes if we convert to hiera lookups, and it just plain doesn't make any sense. The two formats need to be rationalized as part of fixing this bug. However, we need to be careful that h.0 installs that get a hold of the new version of the puppet-coe module accidentally (due to this bug) don't immediately break by getting an invalid repo set up, which means we'll need detect and correct the old URL in code (ick, but there it is). A bonus of fixing this is that it makes it easier for early adopters of new-capability branches (e.g. n1k, DFA) to change their repository URLs to EA repos.

Revision history for this message
Mark T. Voelker (mvoelker) wrote :
Revision history for this message
Chris Ricker (chris-ricker) wrote :

PRs merged

Changed in openstack-cisco:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.