예제 #1
0
def vm(bot, update):
    query = update.callback_query
    #nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    nov = novautils.Nova()
    list_servers = []
    keyboard_servers = []
    dict_servers = nov.list_vm()
    #print(dict_servers)
    for dict_server in dict_servers:
        list_servers.append(dict_server)
    #print(list_servers)
    for list_server in list_servers:
        keyboard_servers.append(InlineKeyboardButton
                                (list_server,
                                 callback_data='name_vm' + '_' + list_server))
    print(keyboard_servers)
    keyboard_servers.append(InlineKeyboardButton('<< Back',
                                                  callback_data='back_page_1'))
    reply_markup = InlineKeyboardMarkup([keyboard_servers])
    # update.message.reply_text(u"List VM",
    #                           reply_markup=reply_markup)
    bot.edit_message_reply_markup(
        chat_id=query.message.chat_id,
        message_id=query.message.message_id,
        reply_markup=reply_markup)
    return CHOOSING
예제 #2
0
def start_vm(bot, query):
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    query_data = query.data
    # print('start {}'.format(query_data))
    name_vm = query_data[6:]
    # print(name_vm)
    nov.control(name_vm=name_vm, action_vm='start')
    bot.edit_message_text(text='oke',
                          chat_id=query.message.chat_id,
                          message_id=query.message.message_id)
예제 #3
0
def check_nova(bot, update):
    query = update.callback_query
    query_data = query.data
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    # neu = networkutils.Neutron('192.168.100.114', 'admin', 'locdev', 'admin')
    list_services = nov.service()
    msg = convert_keyboard_inline(list_services)
    # update.message.reply_text("Agent Nova",
    #                               reply_markup=msg)
    bot.edit_message_reply_markup(chat_id=query.message.chat_id,
                                  message_id=query.message.message_id,
                                  reply_markup=msg)
예제 #4
0
def name(bot, update):
    name_vm = update.message.text
    # data['flavor'] = update.callback_query.data
    data['name'] = name_vm
    print(data)
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    nov.create_vm(name=data['name'],
                  image=data['image'],
                  flavor=data['flavor'],
                  nic=data['network'])
    update.message.reply_text(
        'Create VM: {}.'
        '\nPlease go to dashboard to view'.format(name_vm))
예제 #5
0
def third(bot, update):
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    query = update.callback_query
    data["image"] = query.data
    dict_flavors = nov.list_flavors()
    keyboard_flavors = nov.keybroad_items(dict_flavors)
    bot.edit_message_text(chat_id=query.message.chat_id,
                          message_id=query.message.message_id,
                          text=u"select flavor")
    reply_markup = InlineKeyboardMarkup(keyboard_flavors)
    bot.edit_message_reply_markup(chat_id=query.message.chat_id,
                                  message_id=query.message.message_id,
                                  reply_markup=reply_markup)
    return CHOOSE_NAME
예제 #6
0
def status_vm(bot, query):
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    query_data = query.data
    name_vm = query_data[7:]
    # print(name_vm)
    dict_servers = nov.list_vm()
    status = dict_servers[name_vm]
    # print(status)
    # reply_markup = InlineKeyboardMarkup([InlineKeyboardButton(status, callback_data='minhkma')])
    keyboard = [InlineKeyboardButton(str(status), callback_data='status')]
    reply_markup = InlineKeyboardMarkup([keyboard])
    bot.edit_message_text(text='status {0}'.format(name_vm),
                          chat_id=query.message.chat_id,
                          message_id=query.message.message_id,
                          reply_markup=reply_markup)
예제 #7
0
def second(bot, update):
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    query = update.callback_query
    data["network"] = query.data
    dict_images = nov.list_images()
    keyboard_images = nov.keybroad_items(dict_images)
    bot.edit_message_text(chat_id=query.message.chat_id,
                          message_id=query.message.message_id,
                          text=u"select image")
    reply_markup = InlineKeyboardMarkup(keyboard_images)
    print('abc : {0}'.format(reply_markup))
    bot.edit_message_reply_markup(chat_id=query.message.chat_id,
                                  message_id=query.message.message_id,
                                  reply_markup=reply_markup)
    return THIRD
예제 #8
0
def delete_vm(bot, query):
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    query_data = query.data
    # print('start {}'.format(query_data))
    name_vm = query_data[7:]
    print(name_vm)
    nov.control(name_vm=str(name_vm), action_vm='delete')
    keyboard = [InlineKeyboardButton('<< Back',
                                          callback_data='back_page_2_vm')]
    reply_markup = InlineKeyboardMarkup([keyboard])
    bot.edit_message_text(text='oke',
                          chat_id=query.message.chat_id,
                          message_id=query.message.message_id,
                          reply_markup=reply_markup)
    return CHOOSING
예제 #9
0
def name(bot, update):
    query = update.callback_query
    name_vm = update.message.text
    # data['flavor'] = update.callback_query.data
    data['name'] = name_vm
    print(data)
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    nov.create_vm(name=data['name'],
                  image=data['image'],
                  flavor=data['flavor'],
                  nic=data['network'])
    # keyboard = [InlineKeyboardButton('<< Back',
    #                                       callback_data='back_page_2_vm')]
    # reply_markup = InlineKeyboardMarkup([keyboard])
    update.message.reply_text('Create VM: {}.'
                              '\nPlease go to dashboard to view'
                              '\nBye Bye'.format(name_vm))
예제 #10
0
def first(bot, update):
    nov = novautils.Nova('192.168.100.114', 'admin', 'locdev', 'admin')
    query = update.callback_query
    dict_networks = nov.networks()
    print(dict_networks)
    keyboard_networks = nov.keybroad_items(dict_networks)
    print(query.data)
    bot.edit_message_text(chat_id=query.message.chat_id,
                          message_id=query.message.message_id,
                          text=u"Select network")
    reply_markup = InlineKeyboardMarkup(keyboard_networks)

    bot.edit_message_reply_markup(chat_id=query.message.chat_id,
                                  message_id=query.message.message_id,
                                  reply_markup=reply_markup)
    # print(query.data)
    return SECOND