Beispiel #1
0
def _instance_to_view(server):
    client = admin_client_set()
    project_link = link_for_project(server.tenant_id)
    flavor = client.compute.flavors.get(server.flavor["id"])
    user_link = link_for_user_id(server.user_id)
    image_link = link_for_image(server.image["id"])
    instancedata = InstanceDataDAO.get(server.id)

    href_for = lambda endpoint: url_for(endpoint, instance_id=server.id)

    result = {
        u"id": server.id,
        u"href": href_for("instances.get_instance"),
        u"name": server.name,
        u"project": project_link,
        u"created-by": user_link,
        u"image": image_link,
        u"instance-type": {
            u"id": flavor.id,
            u"name": flavor.name,
            u"href": url_for("instance_types.get_instance_type", instance_type_id=flavor.id),
        },
        u"created": timestamp_from_openstack(server.created),
        u"state": server.status,
        u"ipv4": [elem["addr"] for val in server.addresses.itervalues() for elem in val if elem["version"] == 4],
        u"links": {
            u"reboot": href_for("instances.reboot_instance"),
            u"reset": href_for("instances.reset_instance"),
            u"remove": href_for("instances.remove_instance"),
            u"vnc": href_for("instances.instance_vnc_console"),
            u"console-output": href_for("instances.instance_console_output"),
            u"fw-rules": href_for("instance_fw_rule_sets" ".list_instance_fw_rule_sets"),
        },
    }
    if instancedata:
        if instancedata.expires_at is not None:
            result[u"expires-at"] = instancedata.expires_at
        if instancedata.remind_at is not None:
            result[u"remind-at"] = instancedata.remind_at
    if g.is_admin and hasattr(server, _HOST_ATTRIBUTE):
        result["node"] = link_for_node(getattr(server, _HOST_ATTRIBUTE))
    return result
Beispiel #2
0
 def test_update_expires_at(self):
     new_expires_at = self.expires_at + timedelta(days=30)
     InstanceDataDAO.update(self.instance_id, expires_at=new_expires_at)
     self.assertEquals(new_expires_at,
                       InstanceDataDAO.get(self.instance_id).expires_at)
Beispiel #3
0
 def test_get_none(self):
     instancedata = InstanceDataDAO.get('non-existing id')
     self.assertEquals(instancedata, None)
Beispiel #4
0
 def test_get(self):
     instancedata = InstanceDataDAO.get(self.instance_id)
     self.assertEquals(self.instance_id, instancedata.instance_id)
     self.assertEquals(self.expires_at, instancedata.expires_at)
     self.assertEquals(self.remind_at, instancedata.remind_at)
Beispiel #5
0
 def test_get(self):
     instancedata = InstanceDataDAO.get(self.instance_id)
     self.assertEquals(self.instance_id, instancedata.instance_id)
     self.assertEquals(self.expires_at, instancedata.expires_at)
     self.assertEquals(self.remind_at, instancedata.remind_at)
Beispiel #6
0
 def test_remind_list(self):
     l = list(InstanceDataDAO.remind_list(self.remind_at))
     self.assertEquals(l, [InstanceDataDAO.get(self.instance_id)])
Beispiel #7
0
 def test_list_all(self):
     l = list(InstanceDataDAO.list_all())
     self.assertEquals(l, [InstanceDataDAO.get(self.instance_id)])
Beispiel #8
0
 def test_update_remind_at(self):
     new_remind_at = self.remind_at + timedelta(days=30)
     InstanceDataDAO.update(self.instance_id, remind_at=new_remind_at)
     self.assertEquals(new_remind_at,
                       InstanceDataDAO.get(self.instance_id).remind_at)
Beispiel #9
0
 def test_update_remind_at_to_none(self):
     InstanceDataDAO.update(self.instance_id, remind_at=None)
     self.assertEquals(None,
                       InstanceDataDAO.get(self.instance_id).remind_at)
Beispiel #10
0
 def test_update_remind_at(self):
     new_remind_at = self.remind_at + timedelta(days=30)
     InstanceDataDAO.update(self.instance_id, remind_at=new_remind_at)
     self.assertEquals(new_remind_at,
                       InstanceDataDAO.get(self.instance_id).remind_at)
Beispiel #11
0
 def test_update_expires_at_to_none(self):
     InstanceDataDAO.update(self.instance_id, expires_at=None)
     self.assertEquals(None,
                       InstanceDataDAO.get(self.instance_id).expires_at)
Beispiel #12
0
 def test_update_expires_not_found(self):
     instance_id = 'OTHER_TEST_VMID'
     InstanceDataDAO.update(instance_id, expires_at=self.expires_at)
     self.assertEquals(self.expires_at,
                       InstanceDataDAO.get(instance_id).expires_at)
Beispiel #13
0
 def test_update_expires_at(self):
     new_expires_at = self.expires_at + timedelta(days=30)
     InstanceDataDAO.update(self.instance_id, expires_at=new_expires_at)
     self.assertEquals(new_expires_at,
                       InstanceDataDAO.get(self.instance_id).expires_at)
Beispiel #14
0
 def test_get_none(self):
     instancedata = InstanceDataDAO.get('non-existing id')
     self.assertEquals(instancedata, None)
Beispiel #15
0
 def test_update_expires_not_found(self):
     instance_id = 'OTHER_TEST_VMID'
     InstanceDataDAO.update(instance_id, expires_at=self.expires_at)
     self.assertEquals(self.expires_at,
                       InstanceDataDAO.get(instance_id).expires_at)
Beispiel #16
0
 def test_update_expires_at_to_none(self):
     InstanceDataDAO.update(self.instance_id, expires_at=None)
     self.assertEquals(None,
                       InstanceDataDAO.get(self.instance_id).expires_at)
Beispiel #17
0
 def test_list_all(self):
     l = list(InstanceDataDAO.list_all())
     self.assertEquals(l, [InstanceDataDAO.get(self.instance_id)])
Beispiel #18
0
 def test_update_remind_at_to_none(self):
     InstanceDataDAO.update(self.instance_id, remind_at=None)
     self.assertEquals(None,
                       InstanceDataDAO.get(self.instance_id).remind_at)
Beispiel #19
0
 def test_expired_list(self):
     l = list(InstanceDataDAO.expired_list(self.expires_at))
     self.assertEquals(l, [InstanceDataDAO.get(self.instance_id)])
Beispiel #20
0
 def test_expired_list(self):
     l = list(InstanceDataDAO.expired_list(self.expires_at))
     self.assertEquals(l, [InstanceDataDAO.get(self.instance_id)])
Beispiel #21
0
 def test_remind_list(self):
     l = list(InstanceDataDAO.remind_list(self.remind_at))
     self.assertEquals(l, [InstanceDataDAO.get(self.instance_id)])
Beispiel #22
0
 def test_delete_deletes(self):
     self.assertTrue(InstanceDataDAO.delete(self.instance_id))
     self.assertEquals(None, InstanceDataDAO.get(self.instance_id))
Beispiel #23
0
 def test_delete_deletes(self):
     self.assertTrue(InstanceDataDAO.delete(self.instance_id))
     self.assertEquals(None, InstanceDataDAO.get(self.instance_id))