Ejemplo n.º 1
0
 def business_owners(self):
     ci = CI.get_by_content_object(self)
     if not ci:
         return []
     owners = CIOwner.objects.filter(
         ciownership__type=CIOwnershipType.business.id, ci=ci)
     return ", ".join([unicode(owner) for owner in owners])
Ejemplo n.º 2
0
def ralph_device_owner_table(device):
    """Renders a table containing owners of a given ralph device object."""
    context = {
        'venture': device.venture,
        'venture_business': [],
        'venture_technical': [],
        'service_business': [],
        'service_technical': [],
    }
    if device.venture:
        venture_ci = CI.get_by_content_object(device.venture)
        venture_ownerships = CIOwnership.objects.filter(ci=venture_ci)
        context['venture_business'] = venture_ownerships.filter(
            type=CIOwnershipType.business,
        )
        context['venture_technical'] = venture_ownerships.filter(
            type=CIOwnershipType.technical,
        )
    if device.service:
        service_ownerships = CIOwnership.objects.filter(ci=device.service)
        context['service_business'] = service_ownerships.filter(
            type=CIOwnershipType.business,
        )
        context['service_technical'] = service_ownerships.filter(
            type=CIOwnershipType.technical,
        )
    return render_to_string('cmdb/ralph_device_owner_table.html', context)
Ejemplo n.º 3
0
 def business_owners(self):
     ci = CI.get_by_content_object(self)
     if not ci:
         return []
     owners = CIOwner.objects.filter(ciownership__type=CIOwnershipType.business.id,
         ci=ci)
     return ", ".join([unicode(owner) for owner in owners])
Ejemplo n.º 4
0
 def business_owners(self):
     ci = CI.get_by_content_object(self)
     if not ci:
         return []
     return CIOwner.objects.filter(
         ci=ci,
         ciownership__type=CIOwnershipType.business.id
     )
Ejemplo n.º 5
0
 def technical_owners(self):
     ci = CI.get_by_content_object(self)
     if not ci:
         return []
     return CIOwner.objects.filter(
         ci=ci,
         ciownership__type=CIOwnershipType.technical.id,
     )
Ejemplo n.º 6
0
 def business_owners(self):
     ci = CI.get_by_content_object(self)
     if not ci:
         return []
     owners = CIOwner.objects.filter(ciownership__type=CIOwnershipType.business.id,
         ci=ci)
     part_url = reverse_lazy('ci_edit', kwargs={'ci_id': str(ci.id)})
     return "<a href=\"{}\">{}</a>".format(part_url,
                 ", ".join([unicode(owner) for owner in owners]))
Ejemplo n.º 7
0
 def business_owners(self):
     ci = CI.get_by_content_object(self)
     if not ci:
         return []
     owners = CIOwner.objects.filter(
         ciownership__type=CIOwnershipType.business.id, ci=ci)
     part_url = reverse_lazy('ci_edit', kwargs={'ci_id': str(ci.id)})
     link_text = ", ".join([unicode(owner)
                            for owner in owners]) if owners else '[add]'
     return "<a href=\"{}\">{}</a>".format(part_url, link_text)
Ejemplo n.º 8
0
 def setUp(self):
     engine = settings.ISSUETRACKERS["default"]["ENGINE"]
     if engine != "":
         raise ImproperlyConfigured("""Expected ISSUETRACKERS['default']['ENGINE']='' got: %r""" % engine)
     # usual stuff
     self.top_venture = Venture(name="top_venture")
     self.top_venture.save()
     self.child_venture = Venture(name="child_venture", parent=self.top_venture)
     self.child_venture.save()
     self.role = VentureRole(name="role", venture=self.child_venture)
     self.role.save()
     self.child_role = VentureRole(name="child_role", venture=self.child_venture, parent=self.role)
     self.child_role.save()
     to = CIOwner(first_name="Bufallo", last_name="Kudłaczek")
     to.save()
     bo = CIOwner(first_name="Bill", last_name="Bąbelek")
     bo.save()
     ct = ContentType.objects.get_for_model(self.top_venture)
     CIImporter().import_all_ci([ct])
     CIOwnership(owner=to, ci=CI.get_by_content_object(self.child_venture), type=CIOwnershipType.technical.id).save()
     CIOwnership(owner=bo, ci=CI.get_by_content_object(self.child_venture), type=CIOwnershipType.business.id).save()
     dm = self.add_model("DC model sample", DeviceType.data_center.id)
     self.dc = Device.create(sn="sn1", model=dm)
     self.dc.name = "dc"
     self.dc.save()
     dm = self.add_model("Rack model sample", DeviceType.rack_server.id)
     self.rack = Device.create(venture=self.child_venture, sn="sn2", model=dm)
     self.rack.parent = self.dc
     self.rack.name = "rack"
     self.rack.save()
     dm = self.add_model("Blade model sample", DeviceType.blade_server.id)
     self.blade = Device.create(venture=self.child_venture, venturerole=self.child_role, sn="sn3", model=dm)
     self.blade.name = "blade"
     self.blade.parent = self.rack
     self.blade.save()
     self.deployment = Deployment()
     self.deployment.hostname = "test_host2"
     self.deployment.device = self.blade
     self.deployment.mac = "10:9a:df:6f:af:01"
     self.deployment.ip = "192.168.1.1"
     self.deployment.hostname = "test"
     self.deployment.save()
Ejemplo n.º 9
0
 def technical_owners(self):
     ci = CI.get_by_content_object(self)
     if not ci:
         return []
     owners = CIOwner.objects.filter(
         ciownership__type=CIOwnershipType.technical.id,
         ci=ci
     )
     part_url = reverse_lazy('ci_edit', kwargs={'ci_id': str(ci.id)})
     link_text = ", ".join([unicode(owner)
                            for owner in owners]) if owners else '[add]'
     return "<a href=\"{}\">{}</a>".format(part_url, link_text)
Ejemplo n.º 10
0
    def setUp(self):
        self.user = create_user(
            'api_user',
            '*****@*****.**',
            'password',
            is_superuser=True
        )
        self.puppet_cv = "v%s" % random.randrange(0, 1000)
        self.post_data_puppet = {
            'configuration_version': self.puppet_cv,
            'host': 's11111.dc2',
            'kind': 'apply',
            'status': 'failed',
            'time': '2012-11-14 13:00:00',
        }

        self.git_changeset = "change:%s" % random.randrange(0, 1000)
        self.git_comment = "comment:%s" % random.randrange(0, 1000)
        self.post_data_git = {
            'author': 'Jan Kowalski',
            'changeset': self.git_changeset,
            'comment': self.git_comment,
            'file_paths': '/some/path',
        }

        temp_venture = Venture.objects.create(name='TempTestVenture')
        if settings.AUTOCI:
            self.ci = CI.get_by_content_object(temp_venture)
        else:
            CIImporter().import_single_object(temp_venture)
            self.ci = CI.objects.create(
                name='TempTestVentureCI',
                uid=CI.get_uid_by_content_object(temp_venture),
                type_id=4,
            )

        self.cmdb_new_value = 'nv_%s' % random.randrange(0, 1000)
        self.cmdb_old_value = 'ov_%s' % random.randrange(0, 1000)
        self.post_data_cmdb_change = {
            'ci': '/api/v0.9/ci/%d/' % self.ci.pk,
            'comment': 'test api',
            'field_name': 'child',
            'new_value': self.cmdb_new_value,
            'old_value': self.cmdb_old_value,
            'time': '2012-11-15 12:00:00',
        }
        cache.clear()
Ejemplo n.º 11
0
    def setUp(self):
        self.user = create_user(
            'api_user',
            '*****@*****.**',
            'password',
            is_superuser=True
        )
        self.puppet_cv = "v%s" % random.randrange(0, 1000)
        self.post_data_puppet = {
            'configuration_version': self.puppet_cv,
            'host': 's11111.dc2',
            'kind': 'apply',
            'status': 'failed',
            'time': '2012-11-14 13:00:00',
        }

        self.git_changeset = "change:%s" % random.randrange(0, 1000)
        self.git_comment = "comment:%s" % random.randrange(0, 1000)
        self.post_data_git = {
            'author': 'Jan Kowalski',
            'changeset': self.git_changeset,
            'comment': self.git_comment,
            'file_paths': '/some/path',
        }

        temp_venture = Venture.objects.create(name='TempTestVenture')
        if settings.AUTOCI:
            self.ci = CI.get_by_content_object(temp_venture)
        else:
            CIImporter().import_single_object(temp_venture)
            self.ci = CI.objects.create(
                name='TempTestVentureCI',
                uid=CI.get_uid_by_content_object(temp_venture),
                type_id=4,
            )

        self.cmdb_new_value = 'nv_%s' % random.randrange(0, 1000)
        self.cmdb_old_value = 'ov_%s' % random.randrange(0, 1000)
        self.post_data_cmdb_change = {
            'ci': '/api/v0.9/ci/%d/' % self.ci.pk,
            'comment': 'test api',
            'field_name': 'child',
            'new_value': self.cmdb_new_value,
            'old_value': self.cmdb_old_value,
            'time': '2012-11-15 12:00:00',
        }
        cache.clear()
Ejemplo n.º 12
0
    def setUp(self):
        self.user = create_user("api_user", "*****@*****.**", "password", is_superuser=True)
        self.puppet_cv = "v%s" % random.randrange(0, 1000)
        self.post_data_puppet = {
            "configuration_version": self.puppet_cv,
            "host": "s11111.dc2",
            "kind": "apply",
            "status": "failed",
            "time": "2012-11-14 13:00:00",
        }

        self.git_changeset = "change:%s" % random.randrange(0, 1000)
        self.git_comment = "comment:%s" % random.randrange(0, 1000)
        self.post_data_git = {
            "author": "Jan Kowalski",
            "changeset": self.git_changeset,
            "comment": self.git_comment,
            "file_paths": "/some/path",
        }

        temp_venture = Venture.objects.create(name="TempTestVenture")
        if settings.AUTOCI:
            self.ci = CI.get_by_content_object(temp_venture)
        else:
            CIImporter().import_single_object(temp_venture)
            self.ci = CI.objects.create(
                name="TempTestVentureCI", uid=CI.get_uid_by_content_object(temp_venture), type_id=4
            )

        self.cmdb_new_value = "nv_%s" % random.randrange(0, 1000)
        self.cmdb_old_value = "ov_%s" % random.randrange(0, 1000)
        self.post_data_cmdb_change = {
            "ci": "/api/v0.9/ci/%d/" % self.ci.pk,
            "comment": "test api",
            "field_name": "child",
            "new_value": self.cmdb_new_value,
            "old_value": self.cmdb_old_value,
            "time": "2012-11-15 12:00:00",
        }
        cache.clear()
Ejemplo n.º 13
0
 def all_ownerships(self):
     ci = CI.get_by_content_object(self)
     if not ci:
         return []
     return CIOwnership.objects.filter(ci=ci)
Ejemplo n.º 14
0
def ralph_obj_all_ownerships(obj):
    ci = CI.get_by_content_object(obj)
    if not ci:
        return []
    return CIOwnership.objects.filter(ci=ci)
Ejemplo n.º 15
0
 def setUp(self):
     engine = settings.ISSUETRACKERS['default']['ENGINE']
     if engine != '':
         raise ImproperlyConfigured(
             '''Expected ISSUETRACKERS['default']['ENGINE']='' got: %r''' %
             engine)
     # usual stuff
     self.top_venture = Venture(name='top_venture')
     self.top_venture.save()
     self.child_venture = Venture(name='child_venture',
                                  parent=self.top_venture)
     self.child_venture.save()
     self.role = VentureRole(name='role', venture=self.child_venture)
     self.role.save()
     self.child_role = VentureRole(
         name='child_role',
         venture=self.child_venture,
         parent=self.role,
     )
     self.child_role.save()
     to = CIOwner(
         first_name='Bufallo',
         last_name='Kudłaczek',
     )
     to.save()
     bo = CIOwner(
         first_name='Bill',
         last_name='Bąbelek',
     )
     bo.save()
     ct = ContentType.objects.get_for_model(self.top_venture)
     CIImporter().import_all_ci([ct])
     CIOwnership(owner=to,
                 ci=CI.get_by_content_object(self.child_venture),
                 type=CIOwnershipType.technical.id).save()
     CIOwnership(owner=bo,
                 ci=CI.get_by_content_object(self.child_venture),
                 type=CIOwnershipType.business.id).save()
     dm = self.add_model('DC model sample', DeviceType.data_center.id)
     self.dc = Device.create(sn='sn1', model=dm)
     self.dc.name = 'dc'
     self.dc.save()
     dm = self.add_model('Rack model sample', DeviceType.rack_server.id)
     self.rack = Device.create(
         venture=self.child_venture,
         sn='sn2',
         model=dm,
     )
     self.rack.parent = self.dc
     self.rack.name = 'rack'
     self.rack.save()
     dm = self.add_model('Blade model sample', DeviceType.blade_server.id)
     self.blade = Device.create(venture=self.child_venture,
                                venturerole=self.child_role,
                                sn='sn3',
                                model=dm)
     self.blade.name = 'blade'
     self.blade.parent = self.rack
     self.blade.save()
     self.deployment = Deployment()
     self.deployment.hostname = 'test_host2'
     self.deployment.device = self.blade
     self.deployment.mac = '10:9a:df:6f:af:01'
     self.deployment.ip = '192.168.1.1'
     self.deployment.hostname = 'test'
     self.deployment.save()