def forwards(self, orm): # Initialise new field 'NodeGroupInterface.name'. This becomes the # identifying name (within a cluster) of a cluster interface, instead # of the network interface name. A network interface may be on # multiple IPv6 networks, each has to be its own cluster interface. # # For pre-existing NodeGroupInterface entries, the name defaults to # a watered-down version of the network interface name. for ngi in orm['maasserver.nodegroupinterface'].objects.all(): ngi.name = make_name_from_interface(ngi.interface) ngi.save() # Removing unique constraint on 'NodeGroupInterface', fields ['interface', 'nodegroup'] db.delete_unique('maasserver_nodegroupinterface', ['interface', 'nodegroup_id']) # Adding unique constraint on 'NodeGroupInterface', fields ['nodegroup', 'name'] db.create_unique('maasserver_nodegroupinterface', ['nodegroup_id', 'name'])
def test__makes_up_unique_name_if_no_interface_given(self): self.assertNotEqual(make_name_from_interface(""), make_name_from_interface(""))
def test__makes_up_name_if_no_interface_given(self): self.assertNotIn(make_name_from_interface(None), (None, "")) self.assertNotIn(make_name_from_interface(""), (None, ""))
def test__escapes_weird_characters(self): self.assertEqual("x--y", make_name_from_interface("x?y")) self.assertEqual("x--y", make_name_from_interface("x y"))
def test__passes_name_unchanged(self): name = factory.make_name("itf9:2") self.assertEqual(name, make_name_from_interface(name))
def test__escapes_weird_characters(self): self.assertEqual('x--y', make_name_from_interface('x?y')) self.assertEqual('x--y', make_name_from_interface('x y'))